[gegl-edit] Cleaned up menubar and implemented 'New' menu item



commit b0ebc696d33d7656f1cc7fe36582326db60f6c7d
Author: Isaac Wagner <isaacbw src gnome org>
Date:   Wed Aug 8 17:11:10 2012 -0400

    Cleaned up menubar and implemented 'New' menu item

 gegl-edit/gegl-edit.c |   34 ++++++++++++++++++++++++++++++++++
 gegl-edit/menubar.ui  |   26 +++-----------------------
 2 files changed, 37 insertions(+), 23 deletions(-)
---
diff --git a/gegl-edit/gegl-edit.c b/gegl-edit/gegl-edit.c
index e880d20..9977c8f 100644
--- a/gegl-edit/gegl-edit.c
+++ b/gegl-edit/gegl-edit.c
@@ -608,6 +608,38 @@ G_MODULE_EXPORT void activated_save(GtkMenuItem *menuitem, gpointer user_data)
   }
 }
 
+G_MODULE_EXPORT void activated_new(GtkMenuItem *menuitem, gpointer user_data)
+{
+  CallbackData *data = user_data;
+  GeglNode* gegl = gegl_node_new();
+
+  while(g_queue_get_length(data->graph_stack) > 0)
+    {
+      GtkWidget *view = GTK_WIDGET(g_queue_pop_head(data->view_stack));
+      gtk_container_remove(GTK_CONTAINER(data->view_box), view);
+      gtk_box_pack_start(GTK_BOX(data->view_box), GTK_WIDGET(g_queue_peek_head(data->view_stack)), TRUE, TRUE, 0);
+      gtk_widget_destroy(view);
+
+      GeglNode *node =   g_queue_pop_head(data->graph_stack);
+    }
+
+  GtkWidget *view = graph_gtk_view_new();
+  gtk_box_pack_start(GTK_BOX(data->view_box), view, TRUE, TRUE, 0);
+  gtk_widget_show(view);
+  load_graph(GRAPH_GTK_VIEW(view), gegl);
+
+  g_queue_push_head(data->view_stack, view);
+  g_queue_push_head(data->graph_stack, gegl);
+
+  g_signal_connect(view, "canvas-rightclicked", G_CALLBACK(canvas_rightclicked), data);
+  g_signal_connect(view, "node-selected", G_CALLBACK(node_selected), data);
+  g_signal_connect(view, "node-deselected", G_CALLBACK(node_deselected), data);
+  g_signal_connect(view, "node-doubleclicked", G_CALLBACK(node_doubleclicked), data);
+  g_signal_connect(view, "node-rightclicked", G_CALLBACK(node_rightclicked), data);
+  g_signal_connect(view, "nodes-connected", G_CALLBACK(nodes_connected), data);
+  g_signal_connect(view, "nodes-disconnected", G_CALLBACK(nodes_disconnected), data);
+}
+
 G_MODULE_EXPORT void activated_delete(GtkMenuItem *menuitem, gpointer user_data)
 {
   CallbackData *data = user_data;
@@ -626,6 +658,7 @@ G_MODULE_EXPORT void activated_delete(GtkMenuItem *menuitem, gpointer user_data)
   graph_gtk_view_remove_selected_nodes(g_queue_peek_head(data->view_stack));
 }
 
+/*
 G_MODULE_EXPORT void activated_process_selected(GtkMenuItem *menuitem, gpointer user_data)
 {
   CallbackData *data = user_data;
@@ -655,6 +688,7 @@ G_MODULE_EXPORT void activated_process_all(GtkMenuItem *menuitem, gpointer user_
       gegl_node_process(node);
     }
 }
+*/
 
 typedef struct {
   GtkWidget *entry;
diff --git a/gegl-edit/menubar.ui b/gegl-edit/menubar.ui
index 517a199..26489c5 100644
--- a/gegl-edit/menubar.ui
+++ b/gegl-edit/menubar.ui
@@ -70,6 +70,7 @@
                 <property name="tooltip_text" translatable="yes">Create a new graph or meta-op</property>
                 <property name="use_underline">True</property>
                 <property name="use_stock">True</property>
+                <signal name="activate" handler="activated_new" swapped="no"/>
               </object>
             </child>
             <child>
@@ -220,6 +221,7 @@
                         <property name="label" translatable="yes">Properties</property>
                         <property name="use_action_appearance">False</property>
                         <property name="visible">True</property>
+                        <property name="sensitive">False</property>
                         <property name="can_focus">False</property>
                         <property name="image">image3</property>
                         <property name="use_stock">False</property>
@@ -255,29 +257,7 @@
                 <signal name="activate" handler="activated_arrange" swapped="no"/>
               </object>
             </child>
-            <child>
-              <object class="GtkImageMenuItem" id="process_selected">
-                <property name="label" translatable="yes">Process Selected</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="image">image7</property>
-                <property name="use_stock">False</property>
-                <signal name="activate" handler="activated_process_selected" swapped="no"/>
-              </object>
-            </child>
-            <child>
-              <object class="GtkImageMenuItem" id="process all">
-                <property name="label" translatable="yes">Process All</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="image">image6</property>
-                <property name="use_stock">False</property>
-                <signal name="activate" handler="activated_process_all" swapped="no"/>
-              </object>
-            </child>
-          </object>
+           </object>
         </child>
       </object>
     </child>



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