Commit Graph

23 Commits

Author SHA1 Message Date
Miguel 1df7a24140 Implement threading optimizations and error handling improvements in MCP server and hydraulic components
- Replaced blocking Dispatcher.Invoke() calls with non-blocking Dispatcher.BeginInvoke() in MainViewModel, osBase, and ObjectManipulationManager to enhance responsiveness during simulations.
- Added checks for Dispatcher availability to prevent crashes during application shutdown.
- Implemented comprehensive error handling with try-catch blocks and logging for better debugging.
- Corrected hydraulic connection logic to use component names instead of IDs for better accuracy in osHydPump.
- Introduced methods for safe Dispatcher invocation with timeout handling in MCPServer.
- Enhanced debug logging for better traceability of errors and server status.
- Documented threading improvements and their impact on MCP stability in new markdown files.
2025-09-11 10:28:26 +02:00
Miguel cad650b3d0 Mejorar la gestión del foco en la interfaz, evitando interferencias con el PLCControl. Se implementaron verificaciones para forzar actualizaciones de bindings sin robar el foco y se añadió un método para buscar controles padres en el árbol visual. 2025-09-02 18:55:48 +02:00
Miguel ac8773ebc7 Se realizaron mejoras en la gestión de objetos visuales en la clase ObjectManipulationManager. Se optimizó la lógica para purgar objetos eliminados y se mejoró la rotación de objetos, permitiendo rotaciones en incrementos de 45 grados al mantener presionada la tecla Shift. Además, se ajustaron espacios en blanco y se mejoró la legibilidad del código en varias secciones. 2025-06-23 21:36:53 +02:00
Miguel 909e438f5b Se añadió la capacidad de gestionar datos de imágenes en la clase DatosDeTrabajo, permitiendo la carga de datos desde archivos JSON y la integración con MainViewModel. Se implementó un nuevo método para establecer el ViewModel principal y se mejoró la lógica de renombrado de imágenes en la interfaz de usuario, incluyendo un comando para renombrar imágenes desde el contexto del ListBox. Además, se incorporó un convertidor para mostrar nombres de imágenes personalizados en la interfaz. 2025-06-18 13:40:49 +02:00
Miguel f85c707cfc Se añadieron mejoras en la gestión de la manipulación de objetos rotados, incluyendo métodos para adaptar los cursores y el comportamiento de los handles según la rotación del objeto. Se implementó la transformación de cambios del mouse en coordenadas locales para un redimensionamiento más intuitivo. Además, se documentaron las nuevas funcionalidades en la clase ObjectManipulationManager. 2025-06-14 22:48:00 +02:00
Miguel 94b11cf068 Se implementó un sistema de gestión de historial de deshacer (undo) en la aplicación, permitiendo capturar y restaurar estados de objetos seleccionados. Se añadieron métodos para limpiar el historial y se mejoró la interfaz de usuario para mostrar información sobre el estado del historial de deshacer. Además, se realizaron ajustes en la lógica de manipulación de objetos para asegurar la correcta captura de estados antes de movimientos y redimensionamientos. 2025-06-14 16:47:25 +02:00
Miguel 380bc14b69 Implementada la función para forzar la actualización de bindings en el PropertyGrid antes de limpiar la selección y al cambiar el objeto seleccionado. Se mejoró la gestión del foco en el PropertyGrid para asegurar la correcta actualización de los datos. 2025-06-13 20:48:48 +02:00
Miguel 0d8780b16f Implementada la funcionalidad de bloqueo de movimiento para objetos: se agregó la propiedad 'lock_movement' en la clase osBase y se modificaron las funciones de manipulación de objetos para respetar este bloqueo, evitando redimensionamientos, movimientos y eliminaciones de objetos bloqueados. 2025-06-13 20:16:12 +02:00
Miguel 20bdad509b Correccion errores de OCR 2025-04-02 17:34:51 +02:00
Miguel fe8f2119ce Mejorado de delete y dumplicate para objetos multiples 2025-03-31 13:40:28 +02:00
Miguel f264efd9ce Cambiado Path de teseract a absoluto en la carpeta de la aplicacion 2025-03-01 23:28:29 +01:00
Miguel 3d70992b1a Creado Control osVisFilter 2025-02-26 11:37:19 +01:00
Miguel 8a5ebe6ac6 Creado un UserControl con los objetos en TreeView para simplificar la seleccion de los objetos 2025-02-24 21:39:15 +01:00
Miguel 621ee8be39 CustomImage con imagen por defecto. Creada visualizcion de tiempo de ciclo. Modificada logica de Preserve_Outside_Transport. Agregada opcion a osFramePlate de showPlate 2025-02-24 16:33:27 +01:00
Miguel 5e95459e3e Agregado un nuevo objeto CustomImage 2025-02-24 11:37:52 +01:00
Miguel d06607ccc6 Rectangulo de seleccion funcionando para seleccionar multiples objetos 2025-02-21 22:25:14 +01:00
Miguel 061007158d Agregada clase de Serializacion para separar la logica del MainViewModel 2025-02-21 15:12:10 +01:00
Miguel 0a52c543e6 Marcado en purpura el objeto tomado de referencia 2025-02-20 13:17:03 +01:00
Miguel 38ca212d9f Agregado movimiento con flechas de los objetos seleccionados 2025-02-19 21:27:33 +01:00
Miguel 326c615887 Agregado EqualWidth, EqualHeight, EqualAngle, JoinHorizontally, JoinVertically 2025-02-19 14:57:15 +01:00
Miguel 5ee91dd26a Mejorado de panning y zoom 2025-02-18 21:52:27 +01:00
Miguel 67c6464ea1 Mejorada la seleccion de objetos multiples 2025-02-18 18:37:46 +01:00
Miguel 3dab570f5d Multiseleccion funcionando 2025-02-18 18:08:55 +01:00