]> git.llucax.com Git - z.facultad/75.42/plaqui.git/commitdiff
* Dialogo About en el Constructor agregado y conectado
authorRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 1 Dec 2003 22:47:08 +0000 (22:47 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 1 Dec 2003 22:47:08 +0000 (22:47 +0000)
 * Logo agregado al constructor
 * Detalles en el cliente

Client/src/principal.cpp
Constructor/dialogs/constructor.glade
Constructor/include/constructor.h
Constructor/pixmaps/Makefile.am
Constructor/src/constructor.cpp

index 9be22792f4acab46c4927d55956cadd6e54efc5d..9fabc78261b259b78750d606e5ae56d59c01346e 100644 (file)
@@ -21,6 +21,7 @@
 Principal::Principal(BaseObjectType *co, const Glib::RefPtr<Gnome::Glade::Xml> &rg):Gtk::Window(co),refXml(rg)
 {
        Gtk::MenuItem *conect=0, *exit=0, *about=0, *mnu_prop=0, *mnu_disconnect=0, *server_stop=0;
+       Gtk::MenuItem *mnu_simular=0, *mnu_pausar=0;
        Gtk::Button *bar_connect=0, *close_about=0;
        Gtk::Image *plaqui_logo;
        Gtk::Label *lbl_plaqui_version;
@@ -59,7 +60,9 @@ Principal::Principal(BaseObjectType *co, const Glib::RefPtr<Gnome::Glade::Xml> &
 
        rg->get_widget("close_about", close_about);
        rg->get_widget("dlgAbout", dlg_about);
+       rg->get_widget("mnu_pausar", mnu_pausar);
        rg->get_widget("btn_pausa", btn_pause);
+       rg->get_widget("mnu_simular", mnu_simular);
        rg->get_widget("btn_simular", btn_simulate);
        rg->get_widget("btn_activar", btn_activar);
        rg->get_widget("color_preview", color_preview);
@@ -92,7 +95,9 @@ Principal::Principal(BaseObjectType *co, const Glib::RefPtr<Gnome::Glade::Xml> &
        exit->signal_activate().connect( SigC::slot(*this, &Principal::on_mnu_file_exit));
        about->signal_activate().connect( SigC::slot(*this, &Principal::on_mnu_help_about));
        btn_activar->signal_clicked().connect( SigC::slot(*this, &Principal::on_btn_activar_clicked) );
+       mnu_simular->signal_activate().connect( SigC::slot(*this, &Principal::on_btn_simulate_clicked) );
        btn_simulate->signal_clicked().connect( SigC::slot(*this, &Principal::on_btn_simulate_clicked) );
+       mnu_pausar->signal_activate().connect( SigC::slot(*this, &Principal::on_btn_pause_clicked) );
        btn_pause->signal_clicked().connect( SigC::slot(*this, &Principal::on_btn_pause_clicked) );
        close_about->signal_clicked().connect( SigC::slot(*dlg_about, &Gtk::Widget::hide) );
        
@@ -107,6 +112,7 @@ Principal::Principal(BaseObjectType *co, const Glib::RefPtr<Gnome::Glade::Xml> &
        color_high = Gdk::Color("red");
        Gtk::Widget::get_default_colormap()->alloc_color(color_low);
        Gtk::Widget::get_default_colormap()->alloc_color(color_high);
+       txt_view->set_editable(false);
 }
 
 Principal::~Principal()
@@ -206,10 +212,12 @@ void Principal::on_dlg_connect_ok()
                        conexion = new PlaQui::Server::ControlClient(dlg_conectar->get_server_name(), dlg_conectar->get_server_port());
                }
                catch (...) {
-                       txt_view->get_buffer()->insert_at_cursor("NO SE PUDO CREAR OBJETO\n");
+                       txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(), "NO SE PUDO CONECTAR\n");
                        //delete conexion; XXX Si no me equivoco, si falla el
                        //constructor, no se reserva la memoria (el delete no va).
+                       delete conexion;
                        conexion = NULL;
+                       dlg_conectar->hide();
                        return;
                }
 
@@ -221,7 +229,7 @@ void Principal::on_dlg_connect_ok()
                conexion->signal_frame_received().connect(SigC::slot(*this, &Principal::on_conexion_frame));
                // Lanzo la conexion!
                conexion->run();
-               txt_view->get_buffer()->insert_at_cursor("CONNECTED\n");
+               txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(),"CONNECTED\n");
                ico_conected->set( Gtk::Stock::YES , Gtk::IconSize(Gtk::ICON_SIZE_LARGE_TOOLBAR));
 
                // Pido la planta por defecto
@@ -302,10 +310,9 @@ void Principal::on_mnu_help_about()
 
 bool Principal::on_item_clicked(GdkEventButton *e, ViewItem *i)
 {
-       
-       txt_view->get_buffer()->insert_at_cursor("Selecciono ");
-       txt_view->get_buffer()->insert_at_cursor(i->get_name());
-       txt_view->get_buffer()->insert_at_cursor("\n");
+       Glib::ustring s;
+       s = "Selecciono "+i->get_name()+"\n";
+       txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(), s);
 
        last_selected = i;
        update_items_prop();
@@ -350,7 +357,7 @@ void Principal::on_conexion_frame(const std::string &frame)
 
 void Principal::on_conexion_finished()
 {
-       txt_view->get_buffer()->insert_at_cursor("HANG UP\n");
+       txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(),"HANG UP\n");
        ico_conected->set( Gtk::Stock::NO , Gtk::IconSize(Gtk::ICON_SIZE_LARGE_TOOLBAR));
        conexion = NULL;
        // Elimino la planta    
@@ -367,14 +374,12 @@ void Principal::on_conexion_ok(const std::string &body)
        /* lo paso a la carga del XML */
        /* verifico que body este completo */
        if ((body.find("</planta>")>0) && (body.find("<planta>")>0)) {
-               //loadXML(body);
                xml_body = body;
                load_xml_dispatch();
        } else {
-               std::cout << body << std::endl;
-               txt_view->get_buffer()->insert_at_cursor("<IN>\n");
-               txt_view->get_buffer()->insert_at_cursor(Glib::locale_to_utf8(body));
-               txt_view->get_buffer()->insert_at_cursor("</IN>\n");
+               Glib::ustring s;
+               s = "<IN>\n"+Glib::locale_to_utf8(body)+"\n</IN>\n";
+               txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(),s);
        }
 }
 
@@ -384,11 +389,9 @@ void Principal::on_conexion_fatal_error(const PlaQui::Server::ControlClient::Err
        std::string s;
        a << code;
        a >> s;
-       txt_view->get_buffer()->insert_at_cursor("Error de red nro. ");
-       txt_view->get_buffer()->insert_at_cursor(s);
-       txt_view->get_buffer()->insert_at_cursor(": ");
-       txt_view->get_buffer()->insert_at_cursor(desc);
-       txt_view->get_buffer()->insert_at_cursor("\n");
+       Glib::ustring st;
+       st = "Error de red nro. "+s+": "+desc+"\n";
+       txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(),st);
 }
 
 void Principal::on_conexion_error(unsigned code, const std::string& desc)
@@ -397,11 +400,9 @@ void Principal::on_conexion_error(unsigned code, const std::string& desc)
        std::string s;
        a << code;
        a >> s;
-       txt_view->get_buffer()->insert_at_cursor("El server dice que hay error nro. ");
-       txt_view->get_buffer()->insert_at_cursor(s);
-       txt_view->get_buffer()->insert_at_cursor(": ");
-       txt_view->get_buffer()->insert_at_cursor(desc);
-       txt_view->get_buffer()->insert_at_cursor("\n");
+       Glib::ustring st;
+       st = "El server dice que hay error nro. "+s+": "+desc+"\n";
+       txt_view->get_buffer()->insert(txt_view->get_buffer()->begin(),st);
 }
 
 void Principal::loadXML()
index 631d18b2929ab4ca9c9bc928fc4745ea4603b309..8d197adf9c755784a1ab2c98c76cb7a70f3656fe 100644 (file)
@@ -49,7 +49,7 @@
                          <signal name="activate" handler="on_main_menu_new_activate" last_modification_time="Tue, 14 Oct 2003 11:17:30 GMT"/>
 
                          <child internal-child="image">
-                           <widget class="GtkImage" id="image20">
+                           <widget class="GtkImage" id="image25">
                              <property name="visible">True</property>
                              <property name="stock">gtk-new</property>
                              <property name="icon_size">1</property>
@@ -70,7 +70,7 @@
                          <signal name="activate" handler="on_main_menu_open_activate" last_modification_time="Tue, 14 Oct 2003 11:17:30 GMT"/>
 
                          <child internal-child="image">
-                           <widget class="GtkImage" id="image21">
+                           <widget class="GtkImage" id="image26">
                              <property name="visible">True</property>
                              <property name="stock">gtk-open</property>
                              <property name="icon_size">1</property>
@@ -91,7 +91,7 @@
                          <signal name="activate" handler="on_main_menu_save_activate" last_modification_time="Tue, 14 Oct 2003 11:17:30 GMT"/>
 
                          <child internal-child="image">
-                           <widget class="GtkImage" id="image22">
+                           <widget class="GtkImage" id="image27">
                              <property name="visible">True</property>
                              <property name="stock">gtk-save-as</property>
                              <property name="icon_size">1</property>
                          <signal name="activate" handler="on_main_menu_quit_activate" last_modification_time="Tue, 14 Oct 2003 11:17:30 GMT"/>
 
                          <child internal-child="image">
-                           <widget class="GtkImage" id="image23">
+                           <widget class="GtkImage" id="image28">
                              <property name="visible">True</property>
                              <property name="stock">gtk-quit</property>
                              <property name="icon_size">1</property>
                          <signal name="activate" handler="on_edit_menu_del_activate" last_modification_time="Tue, 14 Oct 2003 11:17:30 GMT"/>
 
                          <child internal-child="image">
-                           <widget class="GtkImage" id="image24">
+                           <widget class="GtkImage" id="image29">
                              <property name="visible">True</property>
                              <property name="stock">gtk-delete</property>
                              <property name="icon_size">1</property>
                          <signal name="activate" handler="on_delete_all_activate" last_modification_time="Fri, 21 Nov 2003 16:34:12 GMT"/>
 
                          <child internal-child="image">
-                           <widget class="GtkImage" id="image25">
+                           <widget class="GtkImage" id="image30">
                              <property name="visible">True</property>
                              <property name="stock">gtk-clear</property>
                              <property name="icon_size">1</property>
                    <widget class="GtkMenu" id="menuitem4_menu">
 
                      <child>
-                       <widget class="GtkMenuItem" id="about1">
+                       <widget class="GtkImageMenuItem" id="mnu_about">
                          <property name="visible">True</property>
                          <property name="label" translatable="yes">Acerca de...</property>
                          <property name="use_underline">True</property>
                          <signal name="activate" handler="on_about1_activate" last_modification_time="Tue, 14 Oct 2003 11:17:30 GMT"/>
+
+                         <child internal-child="image">
+                           <widget class="GtkImage" id="image31">
+                             <property name="visible">True</property>
+                             <property name="stock">gtk-dialog-info</property>
+                             <property name="icon_size">1</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                         </child>
                        </widget>
                      </child>
                    </widget>
@@ -2174,4 +2186,133 @@ Ingrese un nombre distinto para este elemento</property>
   </child>
 </widget>
 
+<widget class="GtkDialog" id="dlgAbout">
+  <property name="title" translatable="yes">Acerca de ...</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">True</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="has_separator">True</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="vbox5">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+       <widget class="GtkHButtonBox" id="hbuttonbox3">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+         <child>
+           <widget class="GtkButton" id="close_about">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="has_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-close</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="response_id">-7</property>
+             <signal name="clicked" handler="gtk_widget_hide" last_modification_time="Mon, 01 Dec 2003 06:35:10 GMT"/>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkNotebook" id="notebook1">
+         <property name="visible">True</property>
+         <property name="can_focus">True</property>
+         <property name="show_tabs">True</property>
+         <property name="show_border">True</property>
+         <property name="tab_pos">GTK_POS_TOP</property>
+         <property name="scrollable">False</property>
+         <property name="enable_popup">False</property>
+
+         <child>
+           <widget class="GtkVBox" id="vbox6">
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">0</property>
+
+             <child>
+               <widget class="GtkImage" id="plaqui_logo">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="lbl_plaqui_version">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">...</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="padding">10</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="tab_expand">False</property>
+             <property name="tab_fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label33">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">PlaQui</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">tab</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>
index fe3e8178ed32f8b96bb98e087379a72fc1c3cc09..55f1ffd17b720d9c8c63c051ae9b442829715c56 100644 (file)
@@ -83,7 +83,7 @@ class Constructor : public Gtk::Window {
        Gtk::CheckButton *chk_btn_logica;
        Gtk::FileSelection *file_selection, *file_open_selection;
        Gtk::Combo *combo_entry;
-       Gtk::Dialog *dlg_connect;
+       Gtk::Dialog *dlg_connect, *dlg_about;
        Gtk::Label *dlg_label;
        Gtk::Statusbar *status_bar;
        Glib::RefPtr<Gdk::Pixbuf> ico_canio, ico_y, ico_codo, ico_tanque, ico_bomba, ico_exclusa, ico_drain, ico_and, ico_or, ico_not;
index 7e19fb68bbbb00c1c59c2176b2a7ff3f941d94c5..fef4d3b0e3480d38661dba5b36b34f3c8bb87fe4 100644 (file)
@@ -3,6 +3,7 @@ plaquidlgdir = $(datadir)/plaqui-constructor/dialogs
 
 # Imagenes que se cargar "on the fly"
 plaquiimg_DATA = \
+logo.png \
 and_e.png \
 and_n.png \
 and_o.png \
index acf5bc1f2ca8f743d408aac8c1c1419638e15b17..facfd8d1164204df6534c893cf7ba48d62857360 100644 (file)
@@ -5,6 +5,28 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glad
        id = 0;
        saved = false;
        set_title("Constructor");
+       Gtk::Label *lbl_plaqui_version;
+       Gtk::Image *plaqui_logo;
+       Gtk::MenuItem *mnu_about;
+       Gtk::Button *close_about;
+       
+       plaqui_logo = 0;
+       lbl_plaqui_version = 0;
+       refGlade->get_widget("lbl_plaqui_version", lbl_plaqui_version);
+       refGlade->get_widget("plaqui_logo", plaqui_logo);
+       plaqui_logo->set(PACKAGE_DATA_DIR"/plaqui-constructor/pixmaps/logo.png");
+
+       refGlade->get_widget("plaqui_logo", plaqui_logo);
+       // Calculo número de revisión.
+       std::string rev = "$Rev$";
+       rev = rev.substr(6, rev.length() - 8);
+       std::string s = "PlaQui Constructor versión " VERSION " (revisión ";
+       s += rev + ")"; 
+       lbl_plaqui_version->set_text(Glib::locale_to_utf8(s));
+       
+       refGlade->get_widget("dlgAbout", dlg_about);
+       refGlade->get_widget("close_about", close_about);
+       refGlade->get_widget("mnu_about", mnu_about);
        
        // Cargo todas las imagenes de los iconos de los botones
        ico_canio = Gdk::Pixbuf::create_from_file(PACKAGE_DATA_DIR"/plaqui-constructor/pixmaps/canio_n.png");
@@ -59,6 +81,8 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glad
        listTargets.push_back( Gtk::TargetEntry("application/pointer") );
        
        // Le indico cuales son los botones  desde los cuales se puede hacer un drag.
+       mnu_about->signal_activate().connect( SigC::slot(*dlg_about, &Gtk::Widget::show) );
+       close_about->signal_clicked().connect( SigC::slot(*dlg_about, &Gtk::Widget::hide) );
        btn_canio->drag_source_set(listTargets);
        btn_y->drag_source_set(listTargets);
        btn_codo->drag_source_set(listTargets);