From: Nicolás Dimov Date: Wed, 29 Oct 2003 16:06:22 +0000 (+0000) Subject: Creo que esto va a ser presentable para maniana. Luca si podes dale esto a Gonzalo... X-Git-Tag: svn_import~350 X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/commitdiff_plain/235ee3a1e830ab839163ad2585c11d760bcd841c?ds=sidebyside Creo que esto va a ser presentable para maniana. Luca si podes dale esto a Gonzalo, chau --- diff --git a/Constructor/cistern.cpp b/Constructor/cistern.cpp index 0cd46d8..1764a40 100644 --- a/Constructor/cistern.cpp +++ b/Constructor/cistern.cpp @@ -2,6 +2,8 @@ Cistern::Cistern() { + caudal = 56; + fluido_max = 23; imageE = Gdk::Pixbuf::create_from_file("tanque_e.png"); imageO = Gdk::Pixbuf::create_from_file("tanque_o.png"); null = Gdk::Pixbuf::create_from_file("tanque_null.png"); @@ -16,7 +18,7 @@ Cistern::Cistern() catch(const Gnome::Glade::XmlError &ex) { std::cerr << ex.what() << std::endl; } - ref->get_widget_derived("cistern_pty_wnd",property_wnd); + ref->get_widget_derived("cistern_pty_wnd",cistern_pty_wnd); } Cistern::~Cistern() @@ -47,7 +49,7 @@ bool Cistern::on_button_press_event(GdkEventButton *event) } if ((event->type == GDK_2BUTTON_PRESS) && (event->button ==1)){ - property_wnd->show(); + cistern_pty_wnd->show(); } return true; } @@ -62,6 +64,8 @@ void Cistern::on_menu_popup_rotar() void Cistern::on_menu_popup_propiedades() { + cistern_pty_wnd->spin_caudal->set_value(caudal); + cistern_pty_wnd->spin_fluido_max->set_value(fluido_max); GdkEventButton event; event.type = GDK_2BUTTON_PRESS; event.button = 1; diff --git a/Constructor/cistern.h b/Constructor/cistern.h index bad3ff1..52efbae 100644 --- a/Constructor/cistern.h +++ b/Constructor/cistern.h @@ -3,6 +3,7 @@ #define _CISTERN_H_ #include "item.h" +#include "cisternptywnd.h" class Cistern : public CItem { public: @@ -11,11 +12,13 @@ class Cistern : public CItem { virtual bool on_button_press_event(GdkEventButton *event); virtual void on_menu_popup_rotar(); virtual void on_menu_popup_propiedades(); - private: + protected: + double caudal, fluido_max; int imgActual; - Glib::RefPtr imageE; // 0 Glib::RefPtr imageO; // 1 Glib::RefPtr null; + + CisternPtyWnd *cistern_pty_wnd; }; #endif diff --git a/Constructor/cisternptywnd.cpp b/Constructor/cisternptywnd.cpp new file mode 100644 index 0000000..5ef0ec1 --- /dev/null +++ b/Constructor/cisternptywnd.cpp @@ -0,0 +1,16 @@ +#include "cisternptywnd.h" + +CisternPtyWnd::CisternPtyWnd(BaseObjectType* cobject, const Glib::RefPtr& refGlade):PropertyWnd(cobject,refGlade) +{ + refGlade->get_widget("spin_caudal", spin_caudal); + refGlade->get_widget("spin_fluido_max", spin_fluido_max); +} + +CisternPtyWnd::~CisternPtyWnd() +{ +} + +void CisternPtyWnd::on_btn_accept_clicked() +{ + hide(); +} diff --git a/Constructor/cisternptywnd.h b/Constructor/cisternptywnd.h new file mode 100644 index 0000000..e910ac7 --- /dev/null +++ b/Constructor/cisternptywnd.h @@ -0,0 +1,17 @@ +//cisternptywnd.h +#ifndef _CISTERNPTYWND_H_ +#define _CISTERNPTYWND_H_ + +#include "propertywnd.h" + +class CisternPtyWnd : public PropertyWnd { + public: + CisternPtyWnd(BaseObjectType* cobject, const Glib::RefPtr& refGlade); + virtual ~CisternPtyWnd(); + //protected: + Gtk::SpinButton *spin_caudal, *spin_fluido_max; + virtual void on_btn_accept_clicked(); +}; + + +#endif diff --git a/Constructor/conduct.cpp b/Constructor/conduct.cpp index d10c0c5..a28aa79 100644 --- a/Constructor/conduct.cpp +++ b/Constructor/conduct.cpp @@ -16,7 +16,6 @@ Conduct::Conduct() catch(const Gnome::Glade::XmlError &ex) { std::cerr << ex.what() << std::endl; } - //tengo que crear una clase para esta ventana..!!! ref->get_widget_derived("conduct_pty_wnd",property_wnd); } diff --git a/Constructor/constructor.glade b/Constructor/constructor.glade index 9e96c17..9703aa6 100644 --- a/Constructor/constructor.glade +++ b/Constructor/constructor.glade @@ -583,16 +583,16 @@ Empalme 0 - + True True 1 - 0 - False + 1 + True GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 0 0 100 0.1 10 10 1 @@ -604,16 +604,16 @@ Empalme - + True True 1 - 0 - False + 1 + True GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 0 0 100 0.1 10 10 1 @@ -629,12 +629,12 @@ Empalme True True 1 - 0 - False + 1 + True GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 0 0 100 0.1 10 10 1 @@ -806,12 +806,12 @@ Empalme True True 1 - 0 + 1 False GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 0 0 100 0.1 10 10 1 @@ -851,12 +851,12 @@ Empalme True True 1 - 0 + 1 False GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 0 0 100 0.1 10 10 1 @@ -872,12 +872,12 @@ Empalme True True 1 - 0 + 1 False GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 0 0 100 0.1 10 10 1 diff --git a/Constructor/item.cpp b/Constructor/item.cpp index 4caba43..e17038b 100644 --- a/Constructor/item.cpp +++ b/Constructor/item.cpp @@ -5,16 +5,16 @@ CItem::CItem(const char *filename):Gtk::DrawingArea() { image = Gdk::Pixbuf::create_from_file(filename); set_size_request(image->get_width(), image->get_height()); - } CItem::CItem() { + menu_image_propiedades.set(Gtk::Stock::PREFERENCES, Gtk::ICON_SIZE_MENU); menu_image_delete.set(Gtk::Stock::CANCEL, Gtk::ICON_SIZE_MENU); menu_image_rotar.set(Gtk::Stock::REFRESH, Gtk::ICON_SIZE_MENU); Gtk::Menu::MenuList& menulist = menu_popup.items(); - menulist.push_back( Gtk::Menu_Helpers::MenuElem("Propiedades", SigC::slot(*this, &CItem::on_menu_popup_propiedades) ) ); - menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Rotar",Gtk::Menu::AccelKey("r"), menu_image_rotar ,SigC::slot(*this, &CItem::on_menu_popup_rotar) ) ); + menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Propiedades",menu_image_propiedades, SigC::slot(*this, &CItem::on_menu_popup_propiedades) ) ); + menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Rotar", menu_image_rotar ,SigC::slot(*this, &CItem::on_menu_popup_rotar) ) ); menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Eliminar", menu_image_delete,SigC::slot(*this, &CItem::on_menu_popup_eliminar) ) ) ; menu_popup.accelerate(*this); } diff --git a/Constructor/item.h b/Constructor/item.h index 900e335..7a4bd31 100644 --- a/Constructor/item.h +++ b/Constructor/item.h @@ -3,12 +3,14 @@ #include #include +#include #include #include #include #include #include "propertywnd.h" + class CItem:public Gtk::DrawingArea { public: CItem(); @@ -21,7 +23,7 @@ public: Glib::RefPtr get_image() { return image; } protected: Gtk::Menu menu_popup; - Gtk::Image menu_image_delete, menu_image_rotar; + Gtk::Image menu_image_delete, menu_image_rotar, menu_image_propiedades; Glib::RefPtr image; PropertyWnd *property_wnd; }; diff --git a/Constructor/propertywnd.cpp b/Constructor/propertywnd.cpp index 06b2cd6..7c0c000 100644 --- a/Constructor/propertywnd.cpp +++ b/Constructor/propertywnd.cpp @@ -3,7 +3,7 @@ #include "propertywnd.h" PropertyWnd::PropertyWnd() -{ +{ } PropertyWnd::PropertyWnd(BaseObjectType* cobject, const Glib::RefPtr& refGlade): Gtk::Window(cobject) @@ -13,6 +13,7 @@ PropertyWnd::PropertyWnd(BaseObjectType* cobject, const Glib::RefPtrget_widget("btn_accept", btn_accept); btn_cancel->signal_clicked().connect(SigC::slot(*this, &PropertyWnd::on_btn_cancel_clicked)); + btn_accept->signal_clicked().connect(SigC::slot(*this, &PropertyWnd::on_btn_accept_clicked)); } PropertyWnd::~PropertyWnd() @@ -24,3 +25,7 @@ void PropertyWnd::on_btn_cancel_clicked() hide(); //oculto la ventana, tengo que ver como hago para cerrarla del todo. } + +void PropertyWnd::on_btn_accept_clicked() +{ +} diff --git a/Constructor/propertywnd.h b/Constructor/propertywnd.h index c978370..2c068a8 100644 --- a/Constructor/propertywnd.h +++ b/Constructor/propertywnd.h @@ -4,6 +4,7 @@ #include #include +#include #include class PropertyWnd : public Gtk::Window{ @@ -15,6 +16,7 @@ class PropertyWnd : public Gtk::Window{ protected: Gtk::Button *btn_cancel, *btn_accept, *btn_apply; virtual void on_btn_cancel_clicked(); + virtual void on_btn_accept_clicked(); };