X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/26a40f607344c63baa4b00f41fc88e02d5084817..bd44412f26558b9df2a4f382eaf0f0b737baafb8:/Constructor/include/constructor.h diff --git a/Constructor/include/constructor.h b/Constructor/include/constructor.h index 5ba90be..6f16237 100644 --- a/Constructor/include/constructor.h +++ b/Constructor/include/constructor.h @@ -25,51 +25,58 @@ #include "or.h" #include "not.h" #include "libxml/parser.h" -/**La clase principal de esta aplicación es la clase - * Constructor. Ella es la encargada de obtener e - * inicializar todos los elementos de la ventana - * principal, ya sean botones, cuadros de diálogo, barras - * de herramientas, etc. - * - * Para cada botón referenciado por esta clase, es - * conectado a ellos una señal, que será el método que - * deben invocar al ser presionados. - * - * Uno de los métodos mas importantes de esta clase es - * on_item_drop_drag_recived() que es la encargada de - * crear un nuevo elemento si es arrastrado desde la barra - * de elementos, o de moverlo dentro del área de trabajo - * si este ya estaba creado. - * - * Para facilitar el diseño y disminuir la complejidad, la - * grilla fue dividida en sectores de 32x32 pixels, lo que - * permite que el usuario no tenga que ser muy preciso a - * la hora de soltar un item en el área de trabajo. - * - * Cada nuevo elemento creado es almacenado en una lista - * de elementos ( listaItems ) de transporte o - * almacenamiento de fluido, o de elementos lógicos, según - * cual sea ( lista_logic_items). +/** + * Clase principal de esta aplicación. + * Esta clase se encargada de obtener e + * inicializar todos los elementos de la ventana + * principal, ya sean botones, cuadros de diálogo, barras + * de herramientas, etc. + * + * Para cada botón referenciado por esta clase, es + * conectado a ellos una señal, que será el método que + * deben invocar al ser presionados. + * + * Uno de los métodos mas importantes de esta clase es + * on_item_drop_drag_recived() que es la encargada de + * crear un nuevo elemento si es arrastrado desde la barra + * de elementos, o de moverlo dentro del + * \ref WorkPlace "área de trabajo" si este ya estaba creado. * - * Otra de las funciones principales es "check_connection()" + * Para facilitar el diseño y disminuir la complejidad, la + * grilla fue dividida en sectores de 32x32 píxels, lo que + * permite que el usuario no tenga que ser muy preciso a + * la hora de soltar un item en el + * \ref WorkPlace "área de trabajo". + * + * Cada nuevo elemento creado es almacenado en una + * \ref listaItems "lista de elementos de transporte o almacenamiento de fluido", + * o en una \ref lista_logic_items "lista de elementos lógicos". + * + * Otra de las funciones principales es check_connection() * que recorre todos los items de ambas listas y verifica - * que se haya formado en el momento del diseño un + * que se haya formado en el momento del diseño un * circuito posible. * - * Esta clase contiene los métodos necesarios para guardar - * y cargar un archivo XML cuyo formato se explica mas adelante. + * Esta clase contiene los métodos necesarios para guardar + * y cargar un archivo XML cuyo formato se explica más adelante. */ class Constructor : public Gtk::Window { public: Constructor(BaseObjectType* cobject, const Glib::RefPtr& refGlade); virtual ~Constructor(); private: + ///Archivo donde se guarda el trabajo. FILE *archivo; + + ///Variable que indica si el trabajo fue guardado. bool saved; + + ///Ruta al archivo. std::string file_name; protected: + /// Contador para los id de los items. int id; - // / defino los elementos de la ventana. + /// Defino los elementos de la ventana. Gtk::Button *btn_canio, *btn_codo, *btn_y, *btn_tanque, *btn_bomba, *btn_exclusa, *btn_drain, *btn_file_ok, *btn_file_cancel, *btn_check, *btn_dlg_close, *btn_and, *btn_or, *btn_not, *btn_open_ok, *btn_open_cancel, *quick_btn_clear, *quick_btn_save, *quick_btn_open, *quick_btn_new, *btn_find; Gtk::ImageMenuItem *main_menu_quit,*main_menu_new, *edit_menu_del, *edit_menu_delete_all, *main_menu_save, *main_menu_open; @@ -116,6 +123,7 @@ class Constructor : public Gtk::Window { virtual void on_quick_btn_new_clicked(); virtual void on_btn_find_clicked(); + ///Verifica la conexion de todos los items iterando en la listaItems. bool check_connection(Glib::ustring& name); // señales para cambiar el icono.