From 20fc4099b4db2caf4130d3b5d3bb61182167c75b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicol=C3=A1s=20Dimov?= Date: Fri, 21 Nov 2003 22:58:24 +0000 Subject: [PATCH] agrego los menues que faltaban y hago unos pequenios cambios para que al poner new no tome que el archivo esta salvado --- Constructor/dialogs/constructor.glade | 35 ++++++++++++++++++++++++--- Constructor/include/constructor.h | 7 +++--- Constructor/src/constructor.cpp | 22 ++++++++++++++--- 3 files changed, 54 insertions(+), 10 deletions(-) diff --git a/Constructor/dialogs/constructor.glade b/Constructor/dialogs/constructor.glade index 2342aa0..f97ba6b 100644 --- a/Constructor/dialogs/constructor.glade +++ b/Constructor/dialogs/constructor.glade @@ -42,7 +42,7 @@ - + True gtk-new True @@ -104,6 +104,27 @@ + + + + True + Delete All + True + + + + + True + gtk-clear + 1 + 0.5 + 0.5 + 0 + 0 + + + + @@ -148,9 +169,17 @@ True - + + True + gtk-new + True + + + + + True - gtk-clear + gtk-open True diff --git a/Constructor/include/constructor.h b/Constructor/include/constructor.h index 8674c75..d97c50e 100644 --- a/Constructor/include/constructor.h +++ b/Constructor/include/constructor.h @@ -38,8 +38,8 @@ class Constructor : public Gtk::Window { 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, *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; + *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, *file_open_selection; Gtk::Entry *combo_entry; @@ -76,8 +76,9 @@ class Constructor : public Gtk::Window { 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_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& context); diff --git a/Constructor/src/constructor.cpp b/Constructor/src/constructor.cpp index 80d07d2..87a943b 100644 --- a/Constructor/src/constructor.cpp +++ b/Constructor/src/constructor.cpp @@ -29,6 +29,7 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtrget_widget("btn_or", btn_or); refGlade->get_widget("btn_not", btn_not); refGlade->get_widget("main_menu_quit",main_menu_quit); + refGlade->get_widget("main_menu_new",main_menu_new); refGlade->get_widget("main_menu_open",main_menu_open); refGlade->get_widget("main_menu_save",main_menu_save); refGlade->get_widget("edit_menu_del",edit_menu_del); @@ -40,8 +41,10 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtrget_widget("dlg_connect", dlg_connect); refGlade->get_widget("btn_dlg_close", btn_dlg_close); refGlade->get_widget("dlg_label", dlg_label); - refGlade->get_widget("quick_btn_clear", quick_btn_clear); + refGlade->get_widget("quick_btn_new", quick_btn_new); refGlade->get_widget("quick_btn_save", quick_btn_save); + refGlade->get_widget("quick_btn_open", quick_btn_open); + refGlade->get_widget("edit_menu_delete_all", edit_menu_delete_all); refGlade->get_widget_derived("workplace", workplace); //fixed @@ -75,14 +78,17 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtrsignal_clicked().connect(SigC::slot(*this,&Constructor::on_btn_check_clicked)); btn_dlg_close->signal_clicked().connect(SigC::slot(*this,&Constructor::on_btn_dlg_connect_clicked)); chk_btn_logica->signal_clicked().connect(SigC::slot(*this, &Constructor::on_chk_btn_clicked)); - quick_btn_clear->signal_clicked().connect(SigC::slot(*this, &Constructor::on_quick_btn_clear_clicked)); + quick_btn_new->signal_clicked().connect(SigC::slot(*this, &Constructor::on_quick_btn_new_clicked)); quick_btn_save->signal_clicked().connect(SigC::slot(*this, &Constructor::on_quick_btn_save_clicked)); + quick_btn_open->signal_clicked().connect(SigC::slot(*this, &Constructor::on_main_menu_open)); main_menu_quit->signal_activate().connect(SigC::slot(*this, &Constructor::on_main_menu_quit)); + main_menu_new->signal_activate().connect(SigC::slot(*this, &Constructor::on_quick_btn_new_clicked)); main_menu_open->signal_activate().connect(SigC::slot(*this, &Constructor::on_main_menu_open)); main_menu_save->signal_activate().connect(SigC::slot(*this, &Constructor::on_main_menu_save)); edit_menu_del->signal_activate().connect(SigC::slot(*this,&Constructor::on_edit_menu_del)); - + edit_menu_delete_all->signal_activate().connect(SigC::slot(*this,&Constructor::on_quick_btn_delete_all_clicked)); + btn_file_cancel = file_selection->get_cancel_button(); btn_file_ok = file_selection->get_ok_button(); btn_file_ok->signal_clicked().connect(SigC::slot(*this,&Constructor::on_btn_file_ok_clicked)); @@ -203,6 +209,7 @@ void Constructor::on_edit_menu_delete_all() (*i)->workplace->delete_item((*i)->get_id()); i=lista_logic_Items.begin(); } + id = 0; } void Constructor::on_chk_btn_clicked() @@ -213,6 +220,7 @@ void Constructor::on_chk_btn_clicked() void Constructor::on_load_from_xml() { + on_edit_menu_delete_all(); file_name = file_open_selection->get_filename(); /* Parseo de ejemplo de un XML desde archivo */ @@ -313,8 +321,13 @@ void Constructor::on_quick_btn_save_clicked() } } +void Constructor::on_quick_btn_new_clicked() +{ + on_quick_btn_delete_all_clicked(); + saved = false; +} -void Constructor::on_quick_btn_clear_clicked() +void Constructor::on_quick_btn_delete_all_clicked() { std::list::iterator i = listaItems.begin(); while ( i != listaItems.end() ){ @@ -330,6 +343,7 @@ void Constructor::on_quick_btn_clear_clicked() delete temp2; i = lista_logic_Items.begin(); } + id = 0; } void Constructor::on_btn_file_cancel_clicked() -- 2.43.0