[gcalctool/gcalctool-newui2] ...



commit 4a2e8a1a3b76361c587bff7a338f16f8c2779932
Author: Robert Ancell <robert ancell gmail com>
Date:   Sat Aug 22 11:20:50 2009 -0700

    ...

 data/gcalctool.ui |   96 +++++++++++++++++++++--------------------------------
 src/display.h     |    6 ++--
 src/gtk.c         |   73 ++--------------------------------------
 3 files changed, 45 insertions(+), 130 deletions(-)
---
diff --git a/data/gcalctool.ui b/data/gcalctool.ui
index 02e2dd1..ababdbc 100644
--- a/data/gcalctool.ui
+++ b/data/gcalctool.ui
@@ -34,8 +34,6 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <property name="accel_group">accelgroup1</property>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="quit_cb"/>
                       </object>
                     </child>
@@ -58,8 +56,6 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <property name="accel_group">accelgroup1</property>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="copy_cb"/>
                       </object>
                     </child>
@@ -71,8 +67,6 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <property name="accel_group">accelgroup1</property>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="paste_cb"/>
                       </object>
                     </child>
@@ -85,8 +79,6 @@
                         <property name="use_stock">True</property>
                         <property name="accel_group">accelgroup1</property>
                         <accelerator key="Z" signal="activate" modifiers="GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="undo_cb"/>
                       </object>
                     </child>
@@ -99,8 +91,6 @@
                         <property name="use_stock">True</property>
                         <property name="accel_group">accelgroup1</property>
                         <accelerator key="Z" signal="activate" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="redo_cb"/>
                       </object>
                     </child>
@@ -137,8 +127,6 @@
                         <property name="use_underline">True</property>
                         <property name="active">True</property>
                         <accelerator key="B" signal="activate" modifiers="GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="mode_radio_cb"/>
                       </object>
                     </child>
@@ -150,8 +138,6 @@
                         <property name="use_underline">True</property>
                         <property name="group">view_basic_menu</property>
                         <accelerator key="A" signal="activate" modifiers="GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="mode_radio_cb"/>
                       </object>
                     </child>
@@ -163,8 +149,6 @@
                         <property name="use_underline">True</property>
                         <property name="group">view_basic_menu</property>
                         <accelerator key="F" signal="activate" modifiers="GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="mode_radio_cb"/>
                       </object>
                     </child>
@@ -176,8 +160,6 @@
                         <property name="use_underline">True</property>
                         <property name="group">view_basic_menu</property>
                         <accelerator key="S" signal="activate" modifiers="GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="mode_radio_cb"/>
                       </object>
                     </child>
@@ -189,8 +171,6 @@
                         <property name="use_underline">True</property>
                         <property name="group">view_basic_menu</property>
                         <accelerator key="P" signal="activate" modifiers="GDK_CONTROL_MASK"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="mode_radio_cb"/>
                       </object>
                     </child>
@@ -215,8 +195,6 @@
                         <property name="use_stock">False</property>
                         <property name="accel_group">accelgroup1</property>
                         <accelerator key="F1" signal="activate"/>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="help_cb"/>
                       </object>
                     </child>
@@ -228,8 +206,6 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <property name="accel_group">accelgroup1</property>
-                        <signal name="select" handler="menu_item_select_cb"/>
-                        <signal name="deselect" handler="menu_item_deselect_cb"/>
                         <signal name="activate" handler="about_cb"/>
                       </object>
                     </child>
@@ -255,23 +231,46 @@
                 <property name="vscrollbar_policy">never</property>
                 <property name="shadow_type">in</property>
                 <child>
-                  <object class="GtkTextView" id="displayitem">
+                  <object class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
-                    <property name="border_width">1</property>
-                    <property name="pixels_above_lines">8</property>
-                    <property name="pixels_below_lines">8</property>
-                    <property name="editable">False</property>
-                    <property name="justification">right</property>
-                    <property name="right_margin">6</property>
-                    <property name="buffer">display_buffer</property>
-                    <child internal-child="accessible">
-                      <object class="AtkObject" id="displayitem-atkobject">
-                        <property name="AtkObject::accessible-description" translatable="yes">Result Region</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkTextView" id="displayitem">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="pixels_above_lines">8</property>
+                        <property name="pixels_below_lines">2</property>
+                        <property name="editable">False</property>
+                        <property name="justification">right</property>
+                        <property name="right_margin">6</property>
+                        <property name="buffer">display_buffer</property>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="displayitem-atkobject">
+                            <property name="AtkObject::accessible-description" translatable="yes">Result Region</property>
+                          </object>
+                        </child>
+                        <signal name="populate_popup" handler="buffer_populate_popup_cb"/>
+                        <signal name="button_release_event" handler="middle_click_paste_cb"/>
+                        <signal name="paste_clipboard" handler="paste_cb"/>
+                      </object>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkTextView" id="info_textview">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="editable">False</property>
+                        <property name="justification">right</property>
+                        <property name="right_margin">6</property>
+                        <property name="cursor_visible">False</property>
+                        <property name="buffer">info_buffer</property>
                       </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
-                    <signal name="populate_popup" handler="buffer_populate_popup_cb"/>
-                    <signal name="button_release_event" handler="middle_click_paste_cb"/>
-                    <signal name="paste_clipboard" handler="paste_cb"/>
                   </object>
                 </child>
               </object>
@@ -4122,26 +4121,6 @@
             <property name="position">3</property>
           </packing>
         </child>
-        <child>
-          <object class="GtkStatusbar" id="statusbar">
-            <property name="visible">True</property>
-            <property name="has_resize_grip">False</property>
-            <child>
-              <object class="GtkImage" id="status_image">
-                <property name="visible">True</property>
-                <property name="stock">gtk-missing-image</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">4</property>
-          </packing>
-        </child>
       </object>
     </child>
   </object>
@@ -4938,4 +4917,5 @@
       <action-widget response="0">button1</action-widget>
     </action-widgets>
   </object>
+  <object class="GtkTextBuffer" id="info_buffer"/>
 </interface>
diff --git a/src/display.h b/src/display.h
index deb6328..3e2ff2f 100644
--- a/src/display.h
+++ b/src/display.h
@@ -49,9 +49,9 @@ typedef enum { ENG, FIX, SCI, MAXDISPMODES } DisplayFormat;
 
 typedef struct
 {
-    GCDisplayHistory h;   /* History of expression mode states */
-    int show_tsep;        /* Set if the thousands separator should be shown. */
-    int show_zeroes;      /* Set if trailing zeroes should be shown. */
+    GCDisplayHistory h;    /* History of expression mode states */
+    int show_tsep;         /* Set if the thousands separator should be shown. */
+    int show_zeroes;       /* Set if trailing zeroes should be shown. */
     DisplayFormat format;  /* Number display mode. */
     int base;
 } GCDisplay;
diff --git a/src/gtk.c b/src/gtk.c
index 1b1ad23..5ed9ed1 100644
--- a/src/gtk.c
+++ b/src/gtk.c
@@ -165,14 +165,12 @@ typedef struct {
     GtkWidget *bit_panel;
     GtkWidget *bit_labels[MAXBITS];
 
-    GtkWidget *status_image;           /* Statusbar image */
-    GtkWidget *statusbar; 
-
     GtkWidget *ascii_dialog;
     GtkWidget *ascii_entry;
 
     GtkWidget *display_item;           /* Calculator display. */
     GtkTextBuffer *display_buffer;     /* Buffer used in display */
+    GtkTextBuffer *info_buffer;        /* Buffer used in info messages */    
     GtkWidget *scrolledwindow;         /* Scrolled window for display_item. */
 
     GtkWidget *bas_panel;      /* Panel containing basic mode widgets. */
@@ -497,15 +495,8 @@ ui_set_mode(ModeType mode)
 void 
 ui_set_statusbar(const gchar *text, const gchar *imagename)
 {
-    GtkImage *image = GTK_IMAGE(X.status_image);
-
-    assert(text);
-    assert(imagename);
-    assert(image);
-
-    gtk_image_set_from_stock(image, imagename, GTK_ICON_SIZE_BUTTON);
-    gtk_statusbar_pop(GTK_STATUSBAR(X.statusbar), 0);
-    gtk_statusbar_push(GTK_STATUSBAR(X.statusbar), 0, text); 
+    //gtk_image_set_from_stock(image, imagename, GTK_ICON_SIZE_BUTTON);    
+    gtk_text_buffer_set_text(X.info_buffer, text, -1);
 }
 
 
@@ -845,47 +836,6 @@ set_subscript_cb(GtkWidget *widget)
 }
 
 
-G_MODULE_EXPORT
-void
-menu_item_select_cb(GtkWidget *widget)
-{
-    GtkStatusbar *statusbar = GTK_STATUSBAR(X.statusbar);
-    gchar *tooltip;
-    guint context_id;
-
-    context_id = gtk_statusbar_get_context_id(statusbar, "menuhelp");
-
-    tooltip = (gchar *)g_object_get_data(G_OBJECT(widget), "tooltip");
-    if (tooltip)
-        gtk_statusbar_push(statusbar, context_id, tooltip);
-}
-
-
-G_MODULE_EXPORT
-void
-menu_item_deselect_cb(GtkWidget *widget)
-{
-    GtkStatusbar *statusbar = GTK_STATUSBAR(X.statusbar);
-    guint context_id;
-
-    context_id = gtk_statusbar_get_context_id(statusbar, "menuhelp");
-    gtk_statusbar_pop(statusbar, context_id);
-}
-
-
-static void
-set_menubar_tooltip(gchar *menu_name)
-{
-    GtkWidget *menu;
-    gchar *tooltip;
-    
-    menu = GET_WIDGET(menu_name);
-    tooltip = gtk_widget_get_tooltip_text(menu);
-    g_object_set_data(G_OBJECT(menu), "tooltip", tooltip);
-    gtk_widget_set_tooltip_text(menu, NULL);
-}
-
-
 static void
 update_memory_menus()
 {
@@ -1418,10 +1368,10 @@ create_main_window()
     X.adv_panel        = GET_WIDGET("advanced_panel");
     X.fin_panel        = GET_WIDGET("financial_panel");
     X.bit_panel        = GET_WIDGET("bit_panel");
-    X.statusbar        = GET_WIDGET("statusbar");
     X.superscript_toggle = GET_WIDGET("superscript_togglebutton");
     X.subscript_toggle   = GET_WIDGET("subscript_togglebutton");
     X.preferences_dialog = GET_WIDGET("preferences_dialog");
+    X.info_buffer = GTK_TEXT_BUFFER(GET_OBJECT("info_buffer"));
        
     /* Connect text to buttons */
     for (i = 0; button_data[i].widget_name != NULL; i++) {
@@ -1473,19 +1423,6 @@ create_main_window()
         SNPRINTF(name, MAXLINE, "bit_eventbox_%d", i);
         set_int_data(X.ui, name, "bit_index", i);
     }
-    
-    /* Make menu tooltips displayed in the status bar */
-    set_menubar_tooltip("quit_menu");
-    set_menubar_tooltip("copy_menu");
-    set_menubar_tooltip("paste_menu");
-    set_menubar_tooltip("undo_menu");
-    set_menubar_tooltip("redo_menu");
-    set_menubar_tooltip("view_basic_menu");
-    set_menubar_tooltip("view_advanced_menu");
-    set_menubar_tooltip("view_financial_menu");
-    set_menubar_tooltip("view_scientific_menu");
-    set_menubar_tooltip("help_menu");
-    set_menubar_tooltip("about_menu");
 
     /* Make dialogs transient of the main window */
     gtk_window_set_transient_for(GTK_WINDOW(X.ascii_dialog), GTK_WINDOW(X.main_window));
@@ -1502,8 +1439,6 @@ create_main_window()
 
     gtk_widget_realize(X.main_window);
 
-    X.status_image = GET_WIDGET("status_image");
-
     /* Set modes for menu items */
     for (i = 1; i < 16; i++) {
         SNPRINTF(name, MAXLINE, "shift_left%d_menu", i);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]