X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/667418327423ba116d24751926a95a2f1235849c..33a5f978014e65a402a3d376c7e47bd8ee8ab8ab:/Constructor/src/cisternptywnd.cpp?ds=sidebyside diff --git a/Constructor/src/cisternptywnd.cpp b/Constructor/src/cisternptywnd.cpp index f12867c..c63c57f 100644 --- a/Constructor/src/cisternptywnd.cpp +++ b/Constructor/src/cisternptywnd.cpp @@ -8,15 +8,32 @@ CisternPtyWnd::CisternPtyWnd(BaseObjectType* cobject, const Glib::RefPtrget_widget("txt_cistern_name", txt_cistern_name); refGlade->get_widget("btn_select_color", btn_select_color); refGlade->get_widget("color_preview",color_preview); + refGlade->get_widget("spin_flot_inf", spin_flot_inf); + refGlade->get_widget("spin_flot_sup", spin_flot_sup); Glib::RefPtr ref = Gnome::Glade::Xml::create(PACKAGE_DATA_DIR"/plaqui-constructor/dialogs/constructor.glade", "color_select_dlg"); ref->get_widget("color_select_dlg",color_select_dlg); ref->get_widget("dlg_select_color_cancel",dlg_select_color_cancel); ref->get_widget("dlg_select_color_ok",dlg_select_color_ok); + + Glib::RefPtr ref2 = Gnome::Glade::Xml::create(PACKAGE_DATA_DIR"/plaqui-constructor/dialogs/constructor.glade", "dlg_flot"); + ref2->get_widget("dlg_flot",dlg_flot); + ref2->get_widget("btn_dlg_flot_ok",btn_dlg_flot_ok); + + btn_dlg_flot_ok->signal_clicked().connect(SigC::slot(*this,&CisternPtyWnd::on_btn_dlg_flot_ok_clicked)); btn_select_color->signal_clicked().connect(SigC::slot(*this,&CisternPtyWnd::on_btn_select_color_clicked)); dlg_select_color_cancel->signal_clicked().connect(SigC::slot(*this,&CisternPtyWnd::on_dlg_select_color_cancel_clicked)); dlg_select_color_ok->signal_clicked().connect(SigC::slot(*this,&CisternPtyWnd::on_dlg_select_color_ok_clicked)); + cistern = NULL; +} + +void CisternPtyWnd::show() +{ + if (cistern != NULL) { + color_preview->modify_bg( Gtk::STATE_NORMAL , cistern->get_liquid_color() ); + } + PropertyWnd::show(); } CisternPtyWnd::~CisternPtyWnd() @@ -26,6 +43,7 @@ CisternPtyWnd::~CisternPtyWnd() void CisternPtyWnd::on_btn_accept_clicked() { CisternPtyWnd::on_btn_apply_clicked(); + if ( !cistern->workplace->chek_name(txt_cistern_name->get_text(), cistern->get_id()) && ( spin_flot_inf->get_value() < spin_flot_sup->get_value() ) ) hide(); } @@ -35,6 +53,16 @@ void CisternPtyWnd::on_btn_apply_clicked() cistern->set_contenido_inicial( spin_inicial->get_value() ); cistern->set_name( txt_cistern_name->get_text() ); color_select_dlg->get_colorsel()->set_current_color(cistern->get_liquid_color()); + if ( cistern->workplace->chek_name(txt_cistern_name->get_text(), cistern->get_id()) ) + dlg_name->show(); + else + cistern->set_name( txt_cistern_name->get_text() ); + if ( spin_flot_inf->get_value() >= spin_flot_sup->get_value() ) + dlg_flot->show(); + else { + cistern->set_flotante_inf(spin_flot_inf->get_value() ); + cistern->set_flotante_sup(spin_flot_sup->get_value() ); + } } void CisternPtyWnd::on_btn_select_color_clicked() @@ -54,3 +82,8 @@ void CisternPtyWnd::on_dlg_select_color_ok_clicked() color_preview->modify_bg( Gtk::STATE_NORMAL , cistern->get_liquid_color() ); color_select_dlg->hide(); } + +void CisternPtyWnd::on_btn_dlg_flot_ok_clicked() +{ + dlg_flot->hide(); +}