]> git.sur5r.net Git - glabels/commitdiff
Rearranged app menus.
authorJim Evins <evins@snaught.com>
Fri, 6 Sep 2002 02:20:58 +0000 (02:20 +0000)
committerJim Evins <evins@snaught.com>
Fri, 6 Sep 2002 02:20:58 +0000 (02:20 +0000)
Added "Object properties" and "raise/lower selection" to app menus.
Some cleanup of view.[ch]

git-svn-id: https://glabels.svn.sourceforge.net/svnroot/glabels/trunk@93 f5e0f49d-192f-0410-a22d-a8d8700d0965

glabels2/src/glabels-ui.xml
glabels2/src/menus.c
glabels2/src/tools.c
glabels2/src/tools.h
glabels2/src/view.c
glabels2/src/view.h

index ea48326de050b6f319a4b0794b358e09305de5d3..a823bc29512806150169c9357ee2ef5735f3bece 100644 (file)
@@ -76,7 +76,6 @@
 
        <cmd name="BonoboCustomize" _label="Customize" _tip="Customize toolbars"/>
 
-
        <cmd name="ToolsArrow"
             _tip="Select, move and modify objects"
              pixtype="stock" pixname="gl_stock_arrow"/>
             _tip="Edit merge properties"
              pixtype="stock" pixname="gl_stock_merge"/>
        
+       <cmd name="ToolsObjectProperties"
+            _tip="Edit object properties"
+             pixtype="stock" pixname="gtk-properties"/>
+       
+       <cmd name="ToolsRaiseObjects"
+            _tip="Raise object to top"/>
+       
+       <cmd name="ToolsLowerObjects"
+            _tip="Lower object to bottom"/>
        
        <cmd name="HelpContents" _label="Contents" _tip="Open the gedit manual"
        accel="F1" pixtype="stock" pixname="gtk-help"/>
 
        </submenu>
 
+       <separator/>
+
+        <menuitem name="ToolsZoomIn" verb="" _label="Zoom In"/>
+        <menuitem name="ToolsZoomOut" verb="" _label="Zoom Out"/>
+        <menuitem name="ToolsZoom1to1" verb="" _label="Zoom 1:1"/>
+
        <placeholder name="ViewOps" delimit="top"/>
 
 </submenu>
 
 
-<submenu name="Tools" _label="_Tools" hidden="0">
+<submenu name="Objects" _label="_Objects" hidden="0">
 
-        <menuitem name="ToolsArrow" verb="" _label="Select"/>
+        <menuitem name="ToolsArrow" verb="" _label="Select mode"/>
         
        <separator/>
 
 
        <separator/>
 
-        <menuitem name="ToolsZoomIn" verb="" _label="Zoom In"/>
-        <menuitem name="ToolsZoomOut" verb="" _label="Zoom Out"/>
-        <menuitem name="ToolsZoom1to1" verb="" _label="Zoom 1:1"/>
+        <menuitem name="ToolsObjectProperties" verb="" _label="Object properties..."/>
+        <menuitem name="ToolsRaiseObjects" verb="" _label="Raise to top"/>
+        <menuitem name="ToolsLowerObjects" verb="" _label="Lower to bottom"/>
 
        <separator/>
 
-        <menuitem name="ToolsMergeProperties" verb="" _label="Merge Properties"/>
+        <menuitem name="ToolsMergeProperties" verb="" _label="Merge Properties..."/>
 
 </submenu>
 
index f2c05e7d7d5562b5e95aa00db0850ff55a35ad0a..68e673fee59f5b57a04714d3dbfd2d194359acd4 100644 (file)
@@ -60,6 +60,9 @@ BonoboUIVerb gl_verbs [] = {
        BONOBO_UI_VERB ("ToolsZoomOut", gl_tools_zoomout),
        BONOBO_UI_VERB ("ToolsZoom1to1", gl_tools_zoom1to1),
        BONOBO_UI_VERB ("ToolsMergeProperties", gl_tools_merge_properties),
+       BONOBO_UI_VERB ("ToolsObjectProperties", gl_tools_object_properties),
+       BONOBO_UI_VERB ("ToolsRaiseObjects", gl_tools_raise_objects),
+       BONOBO_UI_VERB ("ToolsLowerObjects", gl_tools_lower_objects),
        BONOBO_UI_VERB ("SettingsPreferences", gl_cmd_settings_preferences),
        BONOBO_UI_VERB ("HelpContents", gl_cmd_help_contents),
        BONOBO_UI_VERB ("About", gl_cmd_help_about),
@@ -93,6 +96,9 @@ gchar* gl_menus_no_docs_sensible_verbs [] = {
        "/commands/ToolsZoomOut",
        "/commands/ToolsZoom1to1",
        "/commands/ToolsMergeProperties",
+       "/commands/ToolsObjectProperties",
+       "/commands/ToolsRaiseObjects",
+       "/commands/ToolsLowerObjects",
 
        NULL
 };
index d93aafe4202f41d8219ad903a8ea105897de3220..ca271c2a0acc8cf4e54c3a65608ac8919c854bda 100644 (file)
@@ -228,3 +228,54 @@ gl_tools_merge_properties (BonoboUIComponent *uic,
        }
 }
 
+/*****************************************************************************/
+/* edit object properties callback.                                          */
+/*****************************************************************************/
+void
+gl_tools_object_properties (BonoboUIComponent *uic,
+                           gpointer user_data,
+                           const gchar* verbname)
+
+{
+       glView *view;
+
+       view = glabels_get_active_view ();
+       if (view != NULL) {
+               gl_view_edit_object_props (view);
+       }
+}
+
+/*****************************************************************************/
+/* Raise objects to top callback.                                            */
+/*****************************************************************************/
+void
+gl_tools_raise_objects (BonoboUIComponent *uic,
+                       gpointer user_data,
+                       const gchar* verbname)
+
+{
+       glView *view;
+
+       view = glabels_get_active_view ();
+       if (view != NULL) {
+               gl_view_raise_selection (view);
+       }
+}
+
+/*****************************************************************************/
+/* Lower objects to bottom callback.                                         */
+/*****************************************************************************/
+void
+gl_tools_lower_objects (BonoboUIComponent *uic,
+                       gpointer user_data,
+                       const gchar* verbname)
+
+{
+       glView *view;
+
+       view = glabels_get_active_view ();
+       if (view != NULL) {
+               gl_view_lower_selection (view);
+       }
+}
+
index 955c513e23edb4e66dd09b061de39cf41afd9d56..62c3c4ae38603287ae50c51d2f0d59d5b5ea9938 100644 (file)
@@ -68,4 +68,16 @@ extern void gl_tools_merge_properties (BonoboUIComponent *uic,
                                       gpointer user_data,
                                       const gchar* verbname);
 
+extern void gl_tools_object_properties (BonoboUIComponent *uic,
+                                       gpointer user_data,
+                                       const gchar* verbname);
+
+extern void gl_tools_raise_objects (BonoboUIComponent *uic,
+                                   gpointer user_data,
+                                   const gchar* verbname);
+
+extern void gl_tools_lower_objects (BonoboUIComponent *uic,
+                                   gpointer user_data,
+                                   const gchar* verbname);
+
 #endif
index 28f6849b38b0880787a9b70a71019a2d8fae14fc..3fd1e7401629e705e995c5a2c46e88913228b404 100644 (file)
@@ -97,7 +97,6 @@ static void      unselect_object            (glViewObject *view_object);
 static gboolean  object_at                  (glView *view,
                                             gdouble x, gdouble y);
 static gboolean  object_selected            (glViewObject *view_object);
-static gboolean  multiple_items_selected    (glView *view);
 
 static int       item_event_arrow_mode      (GnomeCanvasItem *item,
                                             GdkEvent        *event,
@@ -114,9 +113,6 @@ static void      move_selected_items        (glView *view,
 static void      move_item                  (GnomeCanvasItem *item,
                                             gdouble dx, gdouble dy);
 
-static void      raise_selection_cb         (GtkWidget *widget, glView *view);
-static void      lower_selection_cb         (GtkWidget *widget, glView *view);
-
 static void      selection_clear_cb         (GtkWidget         *widget,
                                             GdkEventSelection *event,
                                             gpointer          data);
@@ -202,6 +198,9 @@ gl_view_finalize (GObject *object)
        gl_debug (DEBUG_VIEW, "END");
 }
 
+/****************************************************************************/
+/* NEW view object.                                                         */
+/****************************************************************************/
 GtkWidget *
 gl_view_new (glLabel *label)
 {
@@ -359,7 +358,7 @@ gl_view_construct_canvas (glView *view)
 }
 
 /*---------------------------------------------------------------------------*/
-/* PRIVATE.  Create selection targets.                                       */
+/* PRIVATE.  Create clipboard selection targets.                             */
 /*---------------------------------------------------------------------------*/
 static void
 gl_view_construct_selection (glView *view)
@@ -942,6 +941,128 @@ gl_view_unselect_all (glView *view)
        gl_debug (DEBUG_VIEW, "END");
 }
 
+/*****************************************************************************/
+/* Is our current selection empty?                                           */
+/*****************************************************************************/
+gboolean
+gl_view_is_selection_empty (glView *view)
+{
+       gl_debug (DEBUG_VIEW, "");
+
+       g_return_val_if_fail (GL_IS_VIEW (view), FALSE);
+
+       if (view->selected_object_list == NULL) {
+               return TRUE;
+       } else {
+               return FALSE;
+       }
+}
+
+/*****************************************************************************/
+/* Is our current selection atomic?  I.e. only one item selected.            */
+/*****************************************************************************/
+gboolean
+gl_view_is_selection_atomic (glView *view)
+{
+       gl_debug (DEBUG_VIEW, "");
+
+       g_return_val_if_fail (GL_IS_VIEW (view), FALSE);
+
+       if (view->selected_object_list == NULL)
+               return FALSE;
+       if (view->selected_object_list->next == NULL)
+               return TRUE;
+       return FALSE;
+}
+
+/*****************************************************************************/
+/* Delete selected objects. (Bypass clipboard)                               */
+/*****************************************************************************/
+void
+gl_view_delete_selection (glView *view)
+{
+       GList *p, *p_next;
+
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+
+       for (p = view->selected_object_list; p != NULL; p = p_next) {
+               p_next = p->next;
+               g_object_unref (G_OBJECT (p->data));
+       }
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
+/*****************************************************************************/
+/* Edit properties of selected object.                                       */
+/*****************************************************************************/
+void
+gl_view_edit_object_props (glView *view)
+{
+       glViewObject *view_object;
+
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+
+       if (gl_view_is_selection_atomic (view)) {
+
+               view_object = GL_VIEW_OBJECT(view->selected_object_list->data);
+               gl_view_object_show_dialog (view_object);
+
+       }
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
+/*****************************************************************************/
+/* Raise selected items to top.                                              */
+/*****************************************************************************/
+void
+gl_view_raise_selection (glView *view)
+{
+       GList *p;
+       glViewObject *view_object;
+       glLabelObject *label_object;
+
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+
+       for (p = view->selected_object_list; p != NULL; p = p->next) {
+               view_object = GL_VIEW_OBJECT (p->data);
+               label_object = gl_view_object_get_object (view_object);
+               gl_label_object_raise_to_top (label_object);
+       }
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
+/*****************************************************************************/
+/* Lower selected items to bottom.                                           */
+/*****************************************************************************/
+void
+gl_view_lower_selection (glView *view)
+{
+       GList *p;
+       glViewObject *view_object;
+       glLabelObject *label_object;
+
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+
+       for (p = view->selected_object_list; p != NULL; p = p->next) {
+               view_object = GL_VIEW_OBJECT (p->data);
+               label_object = gl_view_object_get_object (view_object);
+               gl_label_object_lower_to_bottom (label_object);
+       }
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
 /*****************************************************************************/
 /* "Cut" selected items and place in clipboard selections.                   */
 /*****************************************************************************/
@@ -1045,6 +1166,104 @@ gl_view_paste (glView *view)
        gl_debug (DEBUG_VIEW, "END");
 }
 
+/*****************************************************************************/
+/* Zoom in one "notch"                                                       */
+/*****************************************************************************/
+void
+gl_view_zoom_in (glView *view)
+{
+       gint i, i_min;
+       gdouble dist, dist_min;
+
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+
+       /* Find index of current scale (or best match) */
+       i_min = 1;              /* start with 2nd largest scale */
+       dist_min = fabs (scales[1] - view->scale);
+       for (i = 2; scales[i] != 0.0; i++) {
+               dist = fabs (scales[i] - view->scale);
+               if (dist < dist_min) {
+                       i_min = i;
+                       dist_min = dist;
+               }
+       }
+
+       /* zoom in one "notch" */
+       i = MAX (0, i_min - 1);
+       gl_view_set_zoom (view, scales[i] / HOME_SCALE);
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
+/*****************************************************************************/
+/* Zoom out one "notch"                                                      */
+/*****************************************************************************/
+void
+gl_view_zoom_out (glView *view)
+{
+       gint i, i_min;
+       gdouble dist, dist_min;
+
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+
+       /* Find index of current scale (or best match) */
+       i_min = 0;              /* start with largest scale */
+       dist_min = fabs (scales[0] - view->scale);
+       for (i = 1; scales[i] != 0.0; i++) {
+               dist = fabs (scales[i] - view->scale);
+               if (dist < dist_min) {
+                       i_min = i;
+                       dist_min = dist;
+               }
+       }
+
+       /* zoom out one "notch" */
+       if (scales[i_min] == 0.0)
+               return;
+       i = i_min + 1;
+       if (scales[i] == 0.0)
+               return;
+       gl_view_set_zoom (view, scales[i] / HOME_SCALE);
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
+/*****************************************************************************/
+/* Set current zoom factor to explicit value.                                */
+/*****************************************************************************/
+void
+gl_view_set_zoom (glView  *view,
+                 gdouble scale)
+{
+       gl_debug (DEBUG_VIEW, "START");
+
+       g_return_if_fail (GL_IS_VIEW (view));
+       g_return_if_fail (scale > 0.0);
+
+       view->scale = scale * HOME_SCALE;
+       gnome_canvas_set_pixels_per_unit (GNOME_CANVAS (view->canvas),
+                                         scale * HOME_SCALE);
+
+       gl_debug (DEBUG_VIEW, "END");
+}
+
+/*****************************************************************************/
+/* Get current zoom factor.                                                  */
+/*****************************************************************************/
+gdouble
+gl_view_get_zoom (glView *view)
+{
+       gl_debug (DEBUG_VIEW, "");
+
+       g_return_val_if_fail (GL_IS_VIEW (view), 1.0);
+
+       return view->scale / HOME_SCALE;
+}
+
 /*---------------------------------------------------------------------------*/
 /* PRIVATE.  Canvas event handler.                                           */
 /*---------------------------------------------------------------------------*/
@@ -1391,23 +1610,6 @@ object_selected (glViewObject *view_object)
        return TRUE;
 }
 
-/*---------------------------------------------------------------------------*/
-/* PRIVATE.  Are there multiple objects in our current selection?            */
-/*---------------------------------------------------------------------------*/
-static gboolean
-multiple_items_selected (glView *view)
-{
-       gl_debug (DEBUG_VIEW, "");
-
-       g_return_val_if_fail (GL_IS_VIEW (view), FALSE);
-
-       if (view->selected_object_list == NULL)
-               return FALSE;
-       if (view->selected_object_list->next == NULL)
-               return FALSE;
-       return TRUE;
-}
-
 /*****************************************************************************/
 /* Item event handler.                                                       */
 /*****************************************************************************/
@@ -1601,14 +1803,14 @@ new_selection_menu (glView *view)
        menuitem = gtk_menu_item_new_with_label (_("Bring to front"));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
        gtk_widget_show (menuitem);
-       g_signal_connect (G_OBJECT (menuitem), "activate",
-                         G_CALLBACK (raise_selection_cb), view);
+       g_signal_connect_swapped (G_OBJECT (menuitem), "activate",
+                                 G_CALLBACK (gl_view_raise_selection), view);
 
        menuitem = gtk_menu_item_new_with_label (_("Send to back"));
        gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
        gtk_widget_show (menuitem);
-       g_signal_connect (G_OBJECT (menuitem), "activate",
-                         G_CALLBACK (lower_selection_cb), view);
+       g_signal_connect_swapped (G_OBJECT (menuitem), "activate",
+                                 G_CALLBACK (gl_view_lower_selection), view);
 
        gl_debug (DEBUG_VIEW, "END");
 
@@ -1630,14 +1832,7 @@ popup_selection_menu (glView       *view,
        g_return_if_fail (GL_IS_VIEW (view));
        g_return_if_fail (GL_IS_VIEW_OBJECT (view_object));
 
-       if (multiple_items_selected (view)) {
-               if (view->menu != NULL) {
-                       gtk_menu_popup (GTK_MENU (view->menu),
-                                       NULL, NULL, NULL, NULL,
-                                       event->button.button,
-                                       event->button.time);
-               }
-       } else {
+       if (gl_view_is_selection_atomic (view)) {
 
                menu = gl_view_object_get_menu (view_object);
                if (menu != NULL) {
@@ -1647,66 +1842,15 @@ popup_selection_menu (glView       *view,
                                        event->button.time);
                }
 
-       }
-
-       gl_debug (DEBUG_VIEW, "END");
-}
-
-/*---------------------------------------------------------------------------*/
-/* Delete selected objects.                                                  */
-/*---------------------------------------------------------------------------*/
-void
-gl_view_delete_selection (glView *view)
-{
-       GList *p, *p_next;
-
-       gl_debug (DEBUG_VIEW, "START");
-
-       g_return_if_fail (GL_IS_VIEW (view));
-
-       for (p = view->selected_object_list; p != NULL; p = p_next) {
-               p_next = p->next;
-               g_object_unref (G_OBJECT (p->data));
-       }
-
-       gl_debug (DEBUG_VIEW, "END");
-}
-
-/*---------------------------------------------------------------------------*/
-/* PRIVATE.  raise item to front callback.                                   */
-/*---------------------------------------------------------------------------*/
-static void
-raise_selection_cb (GtkWidget *widget,
-                   glView    *view)
-{
-       GList *p;
-
-       gl_debug (DEBUG_VIEW, "START");
-
-       g_return_if_fail (GL_IS_VIEW (view));
-
-       for (p = view->selected_object_list; p != NULL; p = p->next) {
-               gl_label_object_raise_to_top (GL_LABEL_OBJECT (p->data));
-       }
-
-       gl_debug (DEBUG_VIEW, "END");
-}
-
-/*---------------------------------------------------------------------------*/
-/* PRIVATE.  lower item to back callback.                                    */
-/*---------------------------------------------------------------------------*/
-static void
-lower_selection_cb (GtkWidget *widget,
-                   glView    *view)
-{
-       GList *p;
-
-       gl_debug (DEBUG_VIEW, "START");
+       } else {
 
-       g_return_if_fail (GL_IS_VIEW (view));
+               if (view->menu != NULL) {
+                       gtk_menu_popup (GTK_MENU (view->menu),
+                                       NULL, NULL, NULL, NULL,
+                                       event->button.button,
+                                       event->button.time);
+               }
 
-       for (p = view->selected_object_list; p != NULL; p = p->next) {
-               gl_label_object_lower_to_bottom (GL_LABEL_OBJECT (p->data));
        }
 
        gl_debug (DEBUG_VIEW, "END");
@@ -1857,100 +2001,3 @@ selection_received_cb (GtkWidget        *widget,
        gl_debug (DEBUG_VIEW, "END");
 }
 
-/*****************************************************************************/
-/* Zoom in one "notch"                                                       */
-/*****************************************************************************/
-void
-gl_view_zoom_in (glView *view)
-{
-       gint i, i_min;
-       gdouble dist, dist_min;
-
-       gl_debug (DEBUG_VIEW, "START");
-
-       g_return_if_fail (GL_IS_VIEW (view));
-
-       /* Find index of current scale (or best match) */
-       i_min = 1;              /* start with 2nd largest scale */
-       dist_min = fabs (scales[1] - view->scale);
-       for (i = 2; scales[i] != 0.0; i++) {
-               dist = fabs (scales[i] - view->scale);
-               if (dist < dist_min) {
-                       i_min = i;
-                       dist_min = dist;
-               }
-       }
-
-       /* zoom in one "notch" */
-       i = MAX (0, i_min - 1);
-       gl_view_set_zoom (view, scales[i] / HOME_SCALE);
-
-       gl_debug (DEBUG_VIEW, "END");
-}
-
-/*****************************************************************************/
-/* Zoom out one "notch"                                                      */
-/*****************************************************************************/
-void
-gl_view_zoom_out (glView *view)
-{
-       gint i, i_min;
-       gdouble dist, dist_min;
-
-       gl_debug (DEBUG_VIEW, "START");
-
-       g_return_if_fail (GL_IS_VIEW (view));
-
-       /* Find index of current scale (or best match) */
-       i_min = 0;              /* start with largest scale */
-       dist_min = fabs (scales[0] - view->scale);
-       for (i = 1; scales[i] != 0.0; i++) {
-               dist = fabs (scales[i] - view->scale);
-               if (dist < dist_min) {
-                       i_min = i;
-                       dist_min = dist;
-               }
-       }
-
-       /* zoom out one "notch" */
-       if (scales[i_min] == 0.0)
-               return;
-       i = i_min + 1;
-       if (scales[i] == 0.0)
-               return;
-       gl_view_set_zoom (view, scales[i] / HOME_SCALE);
-
-       gl_debug (DEBUG_VIEW, "END");
-}
-
-/*****************************************************************************/
-/* Set current zoom factor to explicit value.                                */
-/*****************************************************************************/
-void
-gl_view_set_zoom (glView  *view,
-                 gdouble scale)
-{
-       gl_debug (DEBUG_VIEW, "START");
-
-       g_return_if_fail (GL_IS_VIEW (view));
-       g_return_if_fail (scale > 0.0);
-
-       view->scale = scale * HOME_SCALE;
-       gnome_canvas_set_pixels_per_unit (GNOME_CANVAS (view->canvas),
-                                         scale * HOME_SCALE);
-
-       gl_debug (DEBUG_VIEW, "END");
-}
-
-/*****************************************************************************/
-/* Get current zoom factor.                                                  */
-/*****************************************************************************/
-gdouble
-gl_view_get_zoom (glView *view)
-{
-       gl_debug (DEBUG_VIEW, "");
-
-       g_return_val_if_fail (GL_IS_VIEW (view), 1.0);
-
-       return view->scale / HOME_SCALE;
-}
index 1b3647ae09cc190d5a02dc2cd1046602d6324eb6..f1a0d563f2682368ac83e966bad9a85d01c87b43 100644 (file)
@@ -59,9 +59,10 @@ struct _glView {
        glViewState       state;
        glLabelObjectType create_type;
 
-       GList             *object_list;
-       GList             *selected_object_list;
+       GList             *object_list;           /* glViewObjects */
+       GList             *selected_object_list;  /* glViewObjects */
 
+       /* Clipboard selection stuff */
        gint              have_selection;
        glLabel           *selection_data;
        GtkWidget         *invisible;
@@ -71,6 +72,8 @@ struct _glView {
 
 struct _glViewClass {
        GtkVBoxClass      parent_class;
+
+       void (*selection_changed) (glView *view, gpointer user_data);
 };
 
 extern guint     gl_view_get_type           (void);
@@ -87,12 +90,14 @@ extern void      gl_view_select_object      (glView *view,
                                             glViewObject *view_object);
 extern void      gl_view_select_all         (glView *view);
 extern void      gl_view_unselect_all       (glView *view);
-extern void      gl_view_delete_selection   (glView *view);
 
+extern gboolean  gl_view_is_selection_empty (glView *view);
+extern gboolean  gl_view_is_selection_atomic(glView *view);
 
-extern int       gl_view_item_event_handler (GnomeCanvasItem *item,
-                                            GdkEvent        *event,
-                                            glViewObject    *view_object);
+extern void      gl_view_delete_selection   (glView *view);
+extern void      gl_view_edit_object_props  (glView *view);
+extern void      gl_view_raise_selection    (glView *view);
+extern void      gl_view_lower_selection    (glView *view);
 
 extern void      gl_view_cut                (glView *view);
 extern void      gl_view_copy               (glView *view);
@@ -103,4 +108,8 @@ extern void      gl_view_zoom_out           (glView *view);
 extern void      gl_view_set_zoom           (glView *view, gdouble scale);
 extern gdouble   gl_view_get_zoom           (glView *view);
 
+extern int       gl_view_item_event_handler (GnomeCanvasItem *item,
+                                            GdkEvent        *event,
+                                            glViewObject    *view_object);
+
 #endif