X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/667418327423ba116d24751926a95a2f1235849c..24ac99bd21e4562a6ae028e0a84d8c09da07058b:/Constructor/include/constructor.h?ds=sidebyside diff --git a/Constructor/include/constructor.h b/Constructor/include/constructor.h index b406ce5..8674c75 100644 --- a/Constructor/include/constructor.h +++ b/Constructor/include/constructor.h @@ -24,6 +24,7 @@ #include "and.h" #include "or.h" #include "not.h" +#include "libxml/parser.h" class Constructor : public Gtk::Window { public: @@ -31,14 +32,16 @@ class Constructor : public Gtk::Window { virtual ~Constructor(); private: FILE *archivo; + bool saved; + std::string file_name; protected: int id; // / 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; - Gtk::ImageMenuItem *main_menu_quit, *edit_menu_del, *main_menu_save; + *btn_and, *btn_or, *btn_not, *btn_open_ok, *btn_open_cancel, *quick_btn_clear, *quick_btn_save; + Gtk::ImageMenuItem *main_menu_quit, *edit_menu_del, *main_menu_save, *main_menu_open; Gtk::CheckButton *chk_btn_logica; - Gtk::FileSelection *file_selection; + Gtk::FileSelection *file_selection, *file_open_selection; Gtk::Entry *combo_entry; Gtk::Dialog *dlg_connect; Gtk::Label *dlg_label; @@ -49,8 +52,8 @@ class Constructor : public Gtk::Window { WorkPlace *workplace; bool logica; bool can_drop(CItem *, int , int); + // /señales de control para los elementos de la ventana. - virtual void on_btn_canio_drag_get(const Glib::RefPtr& context, GtkSelectionData* selection_data, guint info, guint time); virtual void on_btn_y_drag_get(const Glib::RefPtr& context, GtkSelectionData* selection_data, guint info, guint time); virtual void on_btn_codo_drag_get(const Glib::RefPtr& context, GtkSelectionData* selection_data, guint info, guint time); @@ -62,14 +65,20 @@ class Constructor : public Gtk::Window { virtual void on_btn_or_drag_get(const Glib::RefPtr& context, GtkSelectionData* selection_data, guint info, guint time); virtual void on_btn_not_drag_get(const Glib::RefPtr& context, GtkSelectionData* selection_data, guint info, guint time); virtual void on_main_menu_quit(); + virtual void on_main_menu_open(); virtual void on_main_menu_save(); virtual void on_edit_menu_del(); + virtual void on_edit_menu_delete_all(); virtual void on_chk_btn_clicked(); + virtual void on_btn_open_cancel_clicked(); virtual void on_btn_file_ok_clicked(); virtual void on_btn_file_cancel_clicked(); virtual void on_btn_check_clicked(); virtual void on_btn_dlg_connect_clicked(); - + virtual void on_load_from_xml(); + virtual void on_quick_btn_clear_clicked(); + virtual void on_quick_btn_save_clicked(); + // señales para cambiar el icono. virtual void on_canio_drag_begin(const Glib::RefPtr& context); virtual void on_y_drag_begin(const Glib::RefPtr& context); @@ -86,5 +95,14 @@ class Constructor : public Gtk::Window { virtual void on_item_drag_data_get(const Glib::RefPtr& context, GtkSelectionData* selection_data, guint info, guint time); virtual void on_item_drop_drag_received(const Glib::RefPtr& context, int x, int y, GtkSelectionData* selection_data, guint info, guint time); + + // Carga desde un XML + Pump *loadBomba(xmlNodePtr nodo); + Conduct *loadConduct(xmlNodePtr nodo); + Exclusa *loadExclusa(xmlNodePtr nodo); + Cistern *loadTank(xmlNodePtr nodo); + Union *loadUnion(xmlNodePtr nodo); + Drain *loadDrain(xmlNodePtr nodo); + Splitter *loadCodo(xmlNodePtr nodo); }; #endif