]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/include/constructor.h
Se termina de poner prolijo Runnable:
[z.facultad/75.42/plaqui.git] / Constructor / include / constructor.h
index b406ce5c376bb0bf5fab829fa56438d64da675a7..d97c50e1d02bcb5c85db8a13222d62ca1b331494 100644 (file)
@@ -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, *quick_btn_open, *quick_btn_new;
+       Gtk::ImageMenuItem *main_menu_quit,*main_menu_new, *edit_menu_del, *edit_menu_delete_all, *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<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
        virtual void on_btn_y_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
        virtual void on_btn_codo_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
@@ -62,14 +65,21 @@ class Constructor : public Gtk::Window {
        virtual void on_btn_or_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
        virtual void on_btn_not_drag_get(const Glib::RefPtr<Gdk::DragContext>& 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_delete_all_clicked();
+       virtual void on_quick_btn_save_clicked();
+       virtual void on_quick_btn_new_clicked();
+       
        // señales para cambiar el icono.
        virtual void on_canio_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
        virtual void on_y_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
@@ -86,5 +96,14 @@ class Constructor : public Gtk::Window {
        virtual void on_item_drag_data_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
 
        virtual void on_item_drop_drag_received(const Glib::RefPtr<Gdk::DragContext>& 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