Code

Make sure gdl-dock-items created with
authorgustav_b <gustav_b@users.sourceforge.net>
Fri, 31 Aug 2007 18:57:25 +0000 (18:57 +0000)
committergustav_b <gustav_b@users.sourceforge.net>
Fri, 31 Aug 2007 18:57:25 +0000 (18:57 +0000)
GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER won't dock with center placement.
Clean up.

src/libgdl/gdl-dock-placeholder.c
src/libgdl/gdl-dock.c
src/libgdl/layout.glade [deleted file]
src/ui/widget/dock-item.h

index df068d03f6f1dffd9b14eedf72fd625dfdbd587b..11c0d3127f23dd50585408c8ffd15060429ccf38 100644 (file)
@@ -338,6 +338,9 @@ gdl_dock_placeholder_add (GtkContainer *container,
     g_return_if_fail (GDL_IS_DOCK_PLACEHOLDER (container));
     g_return_if_fail (GDL_IS_DOCK_ITEM (widget));
 
+    if (GDL_DOCK_ITEM (widget)->behavior & GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER)
+        pos = GDL_DOCK_TOP;
+
     ph = GDL_DOCK_PLACEHOLDER (container);
     if (ph->_priv->placement_stack)
         pos = (GdlDockPlacement) ph->_priv->placement_stack->data;
index 131a7bbd1a814736f3fc6f727f2fc4d249b50cc7..cb3e1b3725695577441626799988bfdfc41f5693 100644 (file)
@@ -1077,12 +1077,14 @@ gdl_dock_refine_placement (GdlDock *dock, GdlDockItem *dock_item,
 
     if (placement == GDL_DOCK_LEFT || placement == GDL_DOCK_RIGHT) {
         /* Check if dock_object touches center in terms of width */
-        if (GTK_WIDGET (dock)->allocation.width/2 > object_size.width) {
+        if (GTK_WIDGET (dock)->allocation.width/2 > object_size.width &&
+            !(dock_item->behavior & GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER)) {
             return GDL_DOCK_CENTER;
         }
     } else if (placement == GDL_DOCK_TOP || placement == GDL_DOCK_BOTTOM) {
         /* Check if dock_object touches center in terms of height */
-        if (GTK_WIDGET (dock)->allocation.height/2 > object_size.height) {
+        if (GTK_WIDGET (dock)->allocation.height/2 > object_size.height  && 
+            !(dock_item->behavior & GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER)) {
             return GDL_DOCK_CENTER;
         }
     }
diff --git a/src/libgdl/layout.glade b/src/libgdl/layout.glade
deleted file mode 100644 (file)
index 87b7f9f..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="layout_dialog">
-  <property name="border_width">4</property>
-  <property name="title" translatable="yes">Layout Managment</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</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="dialog-vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">8</property>
-
-      <child internal-child="action_area">
-       <widget class="GtkHButtonBox" id="dialog-action_area1">
-         <property name="visible">True</property>
-         <property name="layout_style">GTK_BUTTONBOX_END</property>
-       </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="layout_container">
-         <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="items_vbox">
-             <property name="visible">True</property>
-             <property name="homogeneous">False</property>
-             <property name="spacing">6</property>
-
-             <child>
-               <widget class="GtkScrolledWindow" id="scrolledwindow3">
-                 <property name="height_request">100</property>
-                 <property name="visible">True</property>
-                 <property name="can_focus">True</property>
-                 <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-                 <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                 <property name="shadow_type">GTK_SHADOW_IN</property>
-                 <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-                 <child>
-                   <widget class="GtkTreeView" id="items_list">
-                     <property name="visible">True</property>
-                     <property name="can_focus">True</property>
-                     <property name="headers_visible">True</property>
-                     <property name="rules_hint">True</property>
-                     <property name="reorderable">False</property>
-                     <property name="enable_search">True</property>
-                   </widget>
-                 </child>
-               </widget>
-               <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">True</property>
-                 <property name="fill">True</property>
-               </packing>
-             </child>
-
-             <child>
-               <widget class="GtkCheckButton" id="locked_check">
-                 <property name="visible">True</property>
-                 <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">_Lock dock items</property>
-                 <property name="use_underline">True</property>
-                 <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <property name="active">False</property>
-                 <property name="inconsistent">False</property>
-                 <property name="draw_indicator">True</property>
-               </widget>
-               <packing>
-                 <property name="padding">0</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="label1">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">Dock items</property>
-             <property name="use_underline">False</property>
-             <property name="use_markup">False</property>
-             <property name="justify">GTK_JUSTIFY_CENTER</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>
-
-         <child>
-           <widget class="GtkVBox" id="layouts_vbox">
-             <property name="visible">True</property>
-             <property name="homogeneous">False</property>
-             <property name="spacing">6</property>
-
-             <child>
-               <widget class="GtkScrolledWindow" id="scrolledwindow4">
-                 <property name="height_request">100</property>
-                 <property name="visible">True</property>
-                 <property name="can_focus">True</property>
-                 <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-                 <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                 <property name="shadow_type">GTK_SHADOW_IN</property>
-                 <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-                 <child>
-                   <widget class="GtkTreeView" id="layouts_list">
-                     <property name="visible">True</property>
-                     <property name="can_focus">True</property>
-                     <property name="headers_visible">True</property>
-                     <property name="rules_hint">False</property>
-                     <property name="reorderable">False</property>
-                     <property name="enable_search">True</property>
-                   </widget>
-                 </child>
-               </widget>
-               <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">True</property>
-                 <property name="fill">True</property>
-               </packing>
-             </child>
-
-             <child>
-               <widget class="GtkHButtonBox" id="hbuttonbox1">
-                 <property name="visible">True</property>
-                 <property name="layout_style">GTK_BUTTONBOX_END</property>
-                 <property name="spacing">6</property>
-
-                 <child>
-                   <widget class="GtkButton" id="delete_button">
-                     <property name="visible">True</property>
-                     <property name="can_default">True</property>
-                     <property name="can_focus">True</property>
-                     <property name="label">gtk-delete</property>
-                     <property name="use_stock">True</property>
-                     <property name="relief">GTK_RELIEF_NORMAL</property>
-                     <signal name="clicked" handler="on_delete_button_clicked" last_modification_time="Thu, 29 May 2003 18:32:55 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkButton" id="load_button">
-                     <property name="visible">True</property>
-                     <property name="can_default">True</property>
-                     <property name="can_focus">True</property>
-                     <property name="relief">GTK_RELIEF_NORMAL</property>
-                     <signal name="clicked" handler="on_load_button_clicked" last_modification_time="Fri, 30 May 2003 11:34:24 GMT"/>
-
-                     <child>
-                       <widget class="GtkAlignment" id="alignment2">
-                         <property name="visible">True</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xscale">0</property>
-                         <property name="yscale">0</property>
-
-                         <child>
-                           <widget class="GtkHBox" id="hbox3">
-                             <property name="visible">True</property>
-                             <property name="homogeneous">False</property>
-                             <property name="spacing">2</property>
-
-                             <child>
-                               <widget class="GtkImage" id="image2">
-                                 <property name="visible">True</property>
-                                 <property name="stock">gtk-open</property>
-                                 <property name="icon_size">4</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">False</property>
-                                 <property name="fill">False</property>
-                               </packing>
-                             </child>
-
-                             <child>
-                               <widget class="GtkLabel" id="label4">
-                                 <property name="visible">True</property>
-                                 <property name="label" translatable="yes">_Load</property>
-                                 <property name="use_underline">True</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">0</property>
-                                 <property name="expand">False</property>
-                                 <property name="fill">False</property>
-                               </packing>
-                             </child>
-                           </widget>
-                         </child>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-               <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">False</property>
-                 <property name="fill">True</property>
-               </packing>
-             </child>
-           </widget>
-           <packing>
-             <property name="tab_expand">False</property>
-             <property name="tab_fill">True</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkLabel" id="label2">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">Saved layouts</property>
-             <property name="use_underline">False</property>
-             <property name="use_markup">False</property>
-             <property name="justify">GTK_JUSTIFY_CENTER</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 38d13a5799479ddd42c9d95edb6d79a8450df927..55a2807678191a6980ee3aac4dd1c7f1163ca59d 100644 (file)
@@ -118,8 +118,6 @@ private:
     void _onStateChanged(State prev_state, State new_state);
     bool _onDeleteEvent(GdkEventAny *event);
 
-    void _onFoo();
-
     sigc::connection _signal_key_press_event_connection;
 
     /** GdlDockItem signal proxy structures */