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