[libpanel/wip/chergert/fix-14: 1/2] dock: rename PanelDockPosition to PanelArea




commit c1724756f4522aa86c0f13614285062864762842
Author: Christian Hergert <chergert redhat com>
Date:   Sat Sep 10 15:21:10 2022 -0700

    dock: rename PanelDockPosition to PanelArea
    
    This has been a longstanding issue with the API that we need to fix before
    we do a 1.0 and commit to some sort of semi-stability. Sorry for the late
    cycle change, but given the amount of things that had to be done across
    a number of modules, this is the best I could do.
    
    Primarily, Builder is the consumer that drives the API, but after our 1.0,
    we can look at how to better serve other applications as well.
    
    Related #14

 example/example-window.ui         |   6 +-
 src/panel-dock-child-private.h    |  34 +++---
 src/panel-dock-child.c            |  50 ++++----
 src/panel-dock-switcher.c         |  82 +++++++------
 src/panel-dock-switcher.h         |   4 +-
 src/panel-dock.c                  | 235 +++++++++++++++++++-------------------
 src/panel-dock.h                  |  24 ++--
 src/panel-drop-controls-private.h |  10 +-
 src/panel-drop-controls.c         |  86 +++++++-------
 src/panel-frame.c                 |  22 ++--
 src/panel-frame.ui                |   2 +-
 src/panel-handle-private.h        |   6 +-
 src/panel-handle.c                |  40 +++----
 src/panel-init.c                  |   4 +
 src/panel-paned.c                 |  16 +--
 src/panel-resizer-private.h       |  20 ++--
 src/panel-resizer.c               |  86 +++++++-------
 src/panel-widget.c                |  12 +-
 18 files changed, 367 insertions(+), 372 deletions(-)
---
diff --git a/example/example-window.ui b/example/example-window.ui
index 0906541..a8d7cb6 100644
--- a/example/example-window.ui
+++ b/example/example-window.ui
@@ -26,7 +26,7 @@
             <child type="start">
               <object class="PanelDockSwitcher">
                 <property name="dock">dock</property>
-                <property name="position">start</property>
+                <property name="area">start</property>
               </object>
             </child>
             <child type="title">
@@ -347,7 +347,7 @@
             <child type="end">
               <object class="PanelDockSwitcher">
                 <property name="dock">dock</property>
-                <property name="position">end</property>
+                <property name="area">end</property>
               </object>
             </child>
           </object>
@@ -790,7 +790,7 @@
             <child type="suffix">
               <object class="PanelDockSwitcher">
                 <property name="dock">dock</property>
-                <property name="position">bottom</property>
+                <property name="area">bottom</property>
               </object>
             </child>
             <child type="suffix">
diff --git a/src/panel-dock-child-private.h b/src/panel-dock-child-private.h
index 4f55d92..9c08baf 100644
--- a/src/panel-dock-child-private.h
+++ b/src/panel-dock-child-private.h
@@ -30,22 +30,22 @@ G_BEGIN_DECLS
 
 G_DECLARE_FINAL_TYPE (PanelDockChild, panel_dock_child, PANEL, DOCK_CHILD, GtkWidget)
 
-GtkWidget         *panel_dock_child_new               (PanelDockPosition   position);
-PanelDockPosition  panel_dock_child_get_position      (PanelDockChild     *self);
-GtkWidget         *panel_dock_child_get_child         (PanelDockChild     *self);
-void               panel_dock_child_set_child         (PanelDockChild     *self,
-                                                       GtkWidget          *child);
-gboolean           panel_dock_child_get_reveal_child  (PanelDockChild     *self);
-void               panel_dock_child_set_reveal_child  (PanelDockChild     *self,
-                                                       gboolean            reveal_child);
-gboolean           panel_dock_child_get_empty         (PanelDockChild     *self);
-gboolean           panel_dock_child_get_dragging      (PanelDockChild     *self);
-void               panel_dock_child_set_dragging      (PanelDockChild     *self,
-                                                       gboolean            dragging);
-void               panel_dock_child_foreach_frame     (PanelDockChild     *self,
-                                                       PanelFrameCallback  callback,
-                                                       gpointer            user_data);
-void               panel_dock_child_set_drag_position (PanelDockChild     *self,
-                                                       int                 drag_position);
+GtkWidget *panel_dock_child_new               (PanelArea   area);
+PanelArea  panel_dock_child_get_area          (PanelDockChild     *self);
+GtkWidget *panel_dock_child_get_child         (PanelDockChild     *self);
+void       panel_dock_child_set_child         (PanelDockChild     *self,
+                                               GtkWidget          *child);
+gboolean   panel_dock_child_get_reveal_child  (PanelDockChild     *self);
+void       panel_dock_child_set_reveal_child  (PanelDockChild     *self,
+                                               gboolean            reveal_child);
+gboolean   panel_dock_child_get_empty         (PanelDockChild     *self);
+gboolean   panel_dock_child_get_dragging      (PanelDockChild     *self);
+void       panel_dock_child_set_dragging      (PanelDockChild     *self,
+                                               gboolean            dragging);
+void       panel_dock_child_foreach_frame     (PanelDockChild     *self,
+                                               PanelFrameCallback  callback,
+                                               gpointer            user_data);
+void       panel_dock_child_set_drag_position (PanelDockChild     *self,
+                                               int                 drag_position);
 
 G_END_DECLS
diff --git a/src/panel-dock-child.c b/src/panel-dock-child.c
index 26941ad..1fec901 100644
--- a/src/panel-dock-child.c
+++ b/src/panel-dock-child.c
@@ -32,11 +32,11 @@
 
 struct _PanelDockChild
 {
-  GtkWidget          parent_instance;
-  GtkRevealer       *revealer;
-  PanelResizer      *resizer;
-  PanelDockPosition  position : 3;
-  guint              dragging : 1;
+  GtkWidget     parent_instance;
+  GtkRevealer  *revealer;
+  PanelResizer *resizer;
+  PanelArea     area : 3;
+  guint         dragging : 1;
 };
 
 G_DEFINE_TYPE (PanelDockChild, panel_dock_child, GTK_TYPE_WIDGET)
@@ -45,7 +45,7 @@ enum {
   PROP_0,
   PROP_CHILD,
   PROP_EMPTY,
-  PROP_POSITION,
+  PROP_AREA,
   PROP_REVEAL_CHILD,
   N_PROPS
 };
@@ -90,8 +90,8 @@ panel_dock_child_get_property (GObject    *object,
       g_value_set_boolean (value, panel_dock_child_get_reveal_child (self));
       break;
 
-    case PROP_POSITION:
-      g_value_set_enum (value, panel_dock_child_get_position (self));
+    case PROP_AREA:
+      g_value_set_enum (value, panel_dock_child_get_area (self));
       break;
 
     default:
@@ -155,12 +155,10 @@ panel_dock_child_class_init (PanelDockChildClass *klass)
                           FALSE,
                           (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
-  properties [PROP_POSITION] =
-    g_param_spec_enum ("position",
-                       "Position",
-                       "The dock edge or center",
-                       PANEL_TYPE_DOCK_POSITION,
-                       PANEL_DOCK_POSITION_START,
+  properties [PROP_AREA] =
+    g_param_spec_enum ("area", NULL, NULL,
+                       PANEL_TYPE_AREA,
+                       PANEL_AREA_START,
                        (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_properties (object_class, N_PROPS, properties);
@@ -175,23 +173,23 @@ panel_dock_child_init (PanelDockChild *self)
 }
 
 GtkWidget *
-panel_dock_child_new (PanelDockPosition position)
+panel_dock_child_new (PanelArea area)
 {
   PanelDockChild *self;
 
   self = g_object_new (PANEL_TYPE_DOCK_CHILD, NULL);
-  self->position = position;
+  self->area = area;
 
   self->revealer = GTK_REVEALER (gtk_revealer_new ());
   gtk_revealer_set_reveal_child (GTK_REVEALER (self->revealer), TRUE);
   gtk_widget_set_parent (GTK_WIDGET (self->revealer), GTK_WIDGET (self));
 
-  self->resizer = PANEL_RESIZER (panel_resizer_new (position));
+  self->resizer = PANEL_RESIZER (panel_resizer_new (area));
   gtk_revealer_set_child (self->revealer, GTK_WIDGET (self->resizer));
 
-  switch (position)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       gtk_widget_set_hexpand (GTK_WIDGET (self), TRUE);
       gtk_widget_set_vexpand (GTK_WIDGET (self), FALSE);
       gtk_revealer_set_transition_type (GTK_REVEALER (self->revealer),
@@ -199,7 +197,7 @@ panel_dock_child_new (PanelDockPosition position)
       gtk_widget_add_css_class (GTK_WIDGET (self), "top");
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       gtk_widget_set_hexpand (GTK_WIDGET (self), TRUE);
       gtk_widget_set_vexpand (GTK_WIDGET (self), FALSE);
       gtk_revealer_set_transition_type (GTK_REVEALER (self->revealer),
@@ -207,7 +205,7 @@ panel_dock_child_new (PanelDockPosition position)
       gtk_widget_add_css_class (GTK_WIDGET (self), "bottom");
       break;
 
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       gtk_widget_set_hexpand (GTK_WIDGET (self), FALSE);
       gtk_widget_set_vexpand (GTK_WIDGET (self), TRUE);
       gtk_revealer_set_transition_type (GTK_REVEALER (self->revealer),
@@ -215,7 +213,7 @@ panel_dock_child_new (PanelDockPosition position)
       gtk_widget_add_css_class (GTK_WIDGET (self), "start");
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       gtk_widget_set_hexpand (GTK_WIDGET (self), FALSE);
       gtk_widget_set_vexpand (GTK_WIDGET (self), TRUE);
       gtk_revealer_set_transition_type (GTK_REVEALER (self->revealer),
@@ -224,7 +222,7 @@ panel_dock_child_new (PanelDockPosition position)
       break;
 
     default:
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
       gtk_widget_set_hexpand (GTK_WIDGET (self), TRUE);
       gtk_widget_set_vexpand (GTK_WIDGET (self), TRUE);
       gtk_revealer_set_transition_type (GTK_REVEALER (self->revealer),
@@ -236,12 +234,12 @@ panel_dock_child_new (PanelDockPosition position)
   return GTK_WIDGET (self);
 }
 
-PanelDockPosition
-panel_dock_child_get_position (PanelDockChild *self)
+PanelArea
+panel_dock_child_get_area (PanelDockChild *self)
 {
   g_return_val_if_fail (PANEL_IS_DOCK_CHILD (self), 0);
 
-  return self->position;
+  return self->area;
 }
 
 static void
diff --git a/src/panel-dock-switcher.c b/src/panel-dock-switcher.c
index 3a449cd..0b6dddc 100644
--- a/src/panel-dock-switcher.c
+++ b/src/panel-dock-switcher.c
@@ -30,15 +30,15 @@
 
 struct _PanelDockSwitcher
 {
-  GtkWidget          parent_instance;
+  GtkWidget        parent_instance;
 
-  PanelDockPosition  position;
+  PanelArea        area;
 
-  PanelDock         *dock;
+  PanelDock       *dock;
 
-  GtkToggleButton   *button;
-  GtkRevealer       *revealer;
-  GBinding          *binding;
+  GtkToggleButton *button;
+  GtkRevealer     *revealer;
+  GBinding        *binding;
 };
 
 G_DEFINE_TYPE (PanelDockSwitcher, panel_dock_switcher, GTK_TYPE_WIDGET)
@@ -46,26 +46,26 @@ G_DEFINE_TYPE (PanelDockSwitcher, panel_dock_switcher, GTK_TYPE_WIDGET)
 enum {
   PROP_0,
   PROP_DOCK,
-  PROP_POSITION,
+  PROP_AREA,
   N_PROPS
 };
 
 static GParamSpec *properties [N_PROPS];
 
 GtkWidget *
-panel_dock_switcher_new (PanelDock         *dock,
-                         PanelDockPosition  position)
+panel_dock_switcher_new (PanelDock *dock,
+                         PanelArea  area)
 {
   g_return_val_if_fail (PANEL_IS_DOCK (dock), NULL);
-  g_return_val_if_fail (position == PANEL_DOCK_POSITION_START ||
-                        position == PANEL_DOCK_POSITION_END ||
-                        position == PANEL_DOCK_POSITION_TOP ||
-                        position == PANEL_DOCK_POSITION_BOTTOM,
+  g_return_val_if_fail (area == PANEL_AREA_START ||
+                        area == PANEL_AREA_END ||
+                        area == PANEL_AREA_TOP ||
+                        area == PANEL_AREA_BOTTOM,
                         NULL);
 
   return g_object_new (PANEL_TYPE_DOCK_SWITCHER,
                        "dock", dock,
-                       "position", position,
+                       "area", area,
                        NULL);
 }
 
@@ -162,7 +162,7 @@ panel_dock_switcher_panel_drag_end_cb (PanelDockSwitcher *self,
 
   gtk_widget_remove_css_class (GTK_WIDGET (self), "drag-active");
 
-  if (!panel_dock_get_can_reveal_edge (dock, self->position))
+  if (!panel_dock_get_can_reveal_area (dock, self->area))
     {
       gtk_revealer_set_reveal_child (self->revealer, FALSE);
       gtk_toggle_button_set_active (self->button, FALSE);
@@ -227,13 +227,13 @@ panel_dock_switcher_set_dock (PanelDockSwitcher *self,
       const char *nick = NULL;
       char *notify = NULL;
 
-      switch (self->position)
+      switch (self->area)
         {
-        case PANEL_DOCK_POSITION_END: nick = "reveal-end"; break;
-        case PANEL_DOCK_POSITION_TOP: nick = "reveal-top"; break;
-        case PANEL_DOCK_POSITION_BOTTOM: nick = "reveal-bottom"; break;
-        case PANEL_DOCK_POSITION_START: nick = "reveal-start"; break;
-        case PANEL_DOCK_POSITION_CENTER:
+        case PANEL_AREA_END: nick = "reveal-end"; break;
+        case PANEL_AREA_TOP: nick = "reveal-top"; break;
+        case PANEL_AREA_BOTTOM: nick = "reveal-bottom"; break;
+        case PANEL_AREA_START: nick = "reveal-start"; break;
+        case PANEL_AREA_CENTER:
         default: break;
         }
 
@@ -241,9 +241,9 @@ panel_dock_switcher_set_dock (PanelDockSwitcher *self,
 
       /* Set default state before binding */
       gtk_toggle_button_set_active (self->button,
-                                    panel_dock_get_reveal_edge (self->dock, self->position));
+                                    panel_dock_get_reveal_area (self->dock, self->area));
       gtk_revealer_set_reveal_child (self->revealer,
-                                     panel_dock_get_can_reveal_edge (self->dock, self->position));
+                                     panel_dock_get_can_reveal_area (self->dock, self->area));
 
       self->binding = g_object_bind_property (self->dock, nick,
                                               self->button, "active",
@@ -277,25 +277,25 @@ panel_dock_switcher_constructed (GObject *object)
 
   G_OBJECT_CLASS (panel_dock_switcher_parent_class)->constructed (object);
 
-  switch (self->position)
+  switch (self->area)
     {
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       g_object_set (self->button, "icon-name", "panel-left-symbolic", NULL);
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       g_object_set (self->button, "icon-name", "panel-right-symbolic", NULL);
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       g_object_set (self->button, "icon-name", "panel-top-symbolic", NULL);
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       g_object_set (self->button, "icon-name", "panel-bottom-symbolic", NULL);
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       break;
     }
@@ -326,8 +326,8 @@ panel_dock_switcher_get_property (GObject    *object,
       g_value_set_object (value, self->dock);
       break;
 
-    case PROP_POSITION:
-      g_value_set_enum (value, self->position);
+    case PROP_AREA:
+      g_value_set_enum (value, self->area);
       break;
 
     default:
@@ -349,8 +349,8 @@ panel_dock_switcher_set_property (GObject      *object,
       panel_dock_switcher_set_dock (self, g_value_get_object (value));
       break;
 
-    case PROP_POSITION:
-      self->position = g_value_get_enum (value);
+    case PROP_AREA:
+      self->area = g_value_get_enum (value);
       break;
 
     default:
@@ -370,18 +370,14 @@ panel_dock_switcher_class_init (PanelDockSwitcherClass *klass)
   object_class->set_property = panel_dock_switcher_set_property;
 
   properties [PROP_DOCK] =
-    g_param_spec_object ("dock",
-                         "Dock",
-                         "The dock for which to toggle edges",
+    g_param_spec_object ("dock", NULL, NULL,
                          PANEL_TYPE_DOCK,
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  properties [PROP_POSITION] =
-    g_param_spec_enum ("position",
-                       "Position",
-                       "The dock position to toggle",
-                       PANEL_TYPE_DOCK_POSITION,
-                       PANEL_DOCK_POSITION_START,
+  properties [PROP_AREA] =
+    g_param_spec_enum ("area", NULL, NULL,
+                       PANEL_TYPE_AREA,
+                       PANEL_AREA_START,
                        (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_properties (object_class, N_PROPS, properties);
@@ -399,7 +395,7 @@ panel_dock_switcher_class_init (PanelDockSwitcherClass *klass)
 static void
 panel_dock_switcher_init (PanelDockSwitcher *self)
 {
-  self->position = PANEL_DOCK_POSITION_START;
+  self->area = PANEL_AREA_START;
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/src/panel-dock-switcher.h b/src/panel-dock-switcher.h
index 2c8f5e0..9a1109e 100644
--- a/src/panel-dock-switcher.h
+++ b/src/panel-dock-switcher.h
@@ -33,7 +33,7 @@ PANEL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (PanelDockSwitcher, panel_dock_switcher, PANEL, DOCK_SWITCHER, GtkWidget)
 
 PANEL_AVAILABLE_IN_ALL
-GtkWidget *panel_dock_switcher_new (PanelDock         *dock,
-                                    PanelDockPosition  position);
+GtkWidget *panel_dock_switcher_new (PanelDock *dock,
+                                    PanelArea  area);
 
 G_END_DECLS
diff --git a/src/panel-dock.c b/src/panel-dock.c
index ba2fa89..58eda5c 100644
--- a/src/panel-dock.c
+++ b/src/panel-dock.c
@@ -89,66 +89,66 @@ panel_dock_new (void)
 }
 
 static void
-notify_can_reveal (PanelDock         *self,
-                   PanelDockPosition  position)
+notify_can_reveal (PanelDock *self,
+                   PanelArea  area)
 {
-  switch (position)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_START]);
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_END]);
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_TOP]);
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_BOTTOM]);
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       break;
     }
 }
 
 static void
-get_grid_positions (PanelDockPosition  position,
-                    int               *left,
-                    int               *top,
-                    int               *width,
-                    int               *height,
-                    GtkOrientation    *orientation)
+get_grid_positions (PanelArea       area,
+                    int            *left,
+                    int            *top,
+                    int            *width,
+                    int            *height,
+                    GtkOrientation *orientation)
 {
 
-  switch (position)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       *left = 0, *top = 0, *width = 1, *height = 3;
       *orientation = GTK_ORIENTATION_VERTICAL;
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       *left = 2, *top = 0, *width = 1, *height = 3;
       *orientation = GTK_ORIENTATION_VERTICAL;
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       *left = 1, *top = 0, *width = 1, *height = 1;
       *orientation = GTK_ORIENTATION_HORIZONTAL;
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       *left = 1, *top = 2, *width = 1, *height = 1;
       *orientation = GTK_ORIENTATION_HORIZONTAL;
       break;
 
     default:
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
       *left = 1, *top = 1, *width = 1, *height = 1;
       *orientation = GTK_ORIENTATION_HORIZONTAL;
       break;
@@ -156,9 +156,9 @@ get_grid_positions (PanelDockPosition  position,
 }
 
 static gboolean
-set_reveal (PanelDock         *self,
-            PanelDockPosition  position,
-            gboolean           value)
+set_reveal (PanelDock *self,
+            PanelArea  area,
+            gboolean   value)
 {
   PanelDockPrivate *priv = panel_dock_get_instance_private (self);
 
@@ -171,7 +171,7 @@ set_reveal (PanelDock         *self,
       if (!PANEL_IS_DOCK_CHILD (child))
         continue;
 
-      if (panel_dock_child_get_position (PANEL_DOCK_CHILD (child)) == position)
+      if (panel_dock_child_get_area (PANEL_DOCK_CHILD (child)) == area)
         {
           if (value != panel_dock_child_get_reveal_child (PANEL_DOCK_CHILD (child)))
             {
@@ -523,49 +523,49 @@ panel_dock_notify_empty_cb (PanelDock      *self,
                             GParamSpec     *pspec,
                             PanelDockChild *child)
 {
-  PanelDockPosition position;
+  PanelArea area;
 
   g_assert (PANEL_IS_DOCK (self));
   g_assert (PANEL_IS_DOCK_CHILD (child));
 
-  position = panel_dock_child_get_position (child);
-  if (position == PANEL_DOCK_POSITION_CENTER)
+  area = panel_dock_child_get_area (child);
+  if (area == PANEL_AREA_CENTER)
     return;
 
   if (panel_dock_child_get_empty (child))
     panel_dock_child_set_reveal_child (child, FALSE);
 
-  switch (panel_dock_child_get_position (child))
+  switch (panel_dock_child_get_area (child))
     {
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_START]);
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_END]);
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_TOP]);
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CAN_REVEAL_BOTTOM]);
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       break;
     }
 }
 
 static GtkWidget *
-get_or_create_dock_child (PanelDock         *self,
-                          PanelDockPosition  position,
-                          int                left,
-                          int                top,
-                          int                width,
-                          int                height)
+get_or_create_dock_child (PanelDock *self,
+                          PanelArea  area,
+                          int        left,
+                          int        top,
+                          int        width,
+                          int        height)
 {
   PanelDockPrivate *priv = panel_dock_get_instance_private (self);
   GtkWidget *child;
@@ -578,12 +578,12 @@ get_or_create_dock_child (PanelDock         *self,
     {
       if (PANEL_IS_DOCK_CHILD (child))
         {
-          if (position == panel_dock_child_get_position (PANEL_DOCK_CHILD (child)))
+          if (area == panel_dock_child_get_area (PANEL_DOCK_CHILD (child)))
             return child;
         }
     }
 
-  child = panel_dock_child_new (position);
+  child = panel_dock_child_new (area);
   panel_dock_child_set_reveal_child (PANEL_DOCK_CHILD (child), FALSE);
   g_signal_connect_object (child,
                            "notify::empty",
@@ -625,7 +625,7 @@ panel_dock_add_child (GtkBuildable *buildable,
 {
   PanelDock *self = (PanelDock *)buildable;
   PanelDockPrivate *priv = panel_dock_get_instance_private (self);
-  PanelDockPosition position = 0;
+  PanelArea area = 0;
   GtkOrientation orientation = 0;
   gboolean reveal;
   int left;
@@ -643,43 +643,43 @@ panel_dock_add_child (GtkBuildable *buildable,
 
   if (g_strcmp0 (type, "start") == 0)
     {
-      position = PANEL_DOCK_POSITION_START;
+      area = PANEL_AREA_START;
       reveal = priv->reveal_start;
       drag_position = priv->start_width;
     }
   else if (g_strcmp0 (type, "end") == 0)
     {
-      position = PANEL_DOCK_POSITION_END;
+      area = PANEL_AREA_END;
       reveal = priv->reveal_end;
       drag_position = priv->end_width;
     }
   else if (g_strcmp0 (type, "top") == 0)
     {
-      position = PANEL_DOCK_POSITION_TOP;
+      area = PANEL_AREA_TOP;
       reveal = priv->reveal_top;
       drag_position = priv->top_height;
     }
   else if (g_strcmp0 (type, "bottom") == 0)
     {
-      position = PANEL_DOCK_POSITION_BOTTOM;
+      area = PANEL_AREA_BOTTOM;
       reveal = priv->reveal_bottom;
       drag_position = priv->bottom_height;
     }
   else
     {
-      position = PANEL_DOCK_POSITION_CENTER;
+      area = PANEL_AREA_CENTER;
       reveal = TRUE;
     }
 
-  get_grid_positions (position, &left, &top, &width, &height, &orientation);
+  get_grid_positions (area, &left, &top, &width, &height, &orientation);
 
   if (!PANEL_IS_DOCK_CHILD (object))
     {
-      GtkWidget *dock_child = get_or_create_dock_child (self, position, left, top, width, height);
+      GtkWidget *dock_child = get_or_create_dock_child (self, area, left, top, width, height);
 
       panel_dock_child_set_drag_position (PANEL_DOCK_CHILD (dock_child), drag_position);
 
-      if (position != PANEL_DOCK_POSITION_CENTER && PANEL_IS_WIDGET (object))
+      if (area != PANEL_AREA_CENTER && PANEL_IS_WIDGET (object))
         {
           GtkWidget *paned = panel_dock_child_get_child (PANEL_DOCK_CHILD (dock_child));
           GtkWidget *frame;
@@ -712,8 +712,8 @@ panel_dock_add_child (GtkBuildable *buildable,
       gtk_grid_attach (priv->grid, GTK_WIDGET (object), left, top, width, height);
     }
 
-  notify_can_reveal (self, position);
-  set_reveal (self, position, reveal);
+  notify_can_reveal (self, area);
+  set_reveal (self, area, reveal);
 }
 
 static void
@@ -755,22 +755,22 @@ panel_dock_get_reveal_top (PanelDock *self)
 }
 
 gboolean
-panel_dock_get_reveal_edge (PanelDock         *self,
-                            PanelDockPosition  edge)
+panel_dock_get_reveal_area (PanelDock *self,
+                            PanelArea  area)
 {
   g_return_val_if_fail (PANEL_IS_DOCK (self), FALSE);
 
-  switch (edge)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       return panel_dock_get_reveal_end (self);
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       return panel_dock_get_reveal_top (self);
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       return panel_dock_get_reveal_bottom (self);
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       return panel_dock_get_reveal_start (self);
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       g_return_val_if_reached (FALSE);
     }
@@ -785,7 +785,7 @@ panel_dock_set_reveal_bottom (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->reveal_bottom = !!reveal_bottom;
-  if (set_reveal (self, PANEL_DOCK_POSITION_BOTTOM, reveal_bottom))
+  if (set_reveal (self, PANEL_AREA_BOTTOM, reveal_bottom))
     g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_REVEAL_BOTTOM]);
 }
 
@@ -798,7 +798,7 @@ panel_dock_set_reveal_end (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->reveal_end = !!reveal_end;
-  if (set_reveal (self, PANEL_DOCK_POSITION_END, reveal_end))
+  if (set_reveal (self, PANEL_AREA_END, reveal_end))
     g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_REVEAL_END]);
 }
 
@@ -811,7 +811,7 @@ panel_dock_set_reveal_start (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->reveal_start = !!reveal_start;
-  if (set_reveal (self, PANEL_DOCK_POSITION_START, reveal_start))
+  if (set_reveal (self, PANEL_AREA_START, reveal_start))
     g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_REVEAL_START]);
 }
 
@@ -824,44 +824,44 @@ panel_dock_set_reveal_top (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->reveal_top = !!reveal_top;
-  if (set_reveal (self, PANEL_DOCK_POSITION_TOP, reveal_top))
+  if (set_reveal (self, PANEL_AREA_TOP, reveal_top))
     g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_REVEAL_TOP]);
 }
 
 void
-panel_dock_set_reveal_edge (PanelDock         *self,
-                            PanelDockPosition  edge,
-                            gboolean           reveal)
+panel_dock_set_reveal_area (PanelDock *self,
+                            PanelArea  area,
+                            gboolean   reveal)
 {
   g_return_if_fail (PANEL_IS_DOCK (self));
 
-  switch (edge)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       panel_dock_set_reveal_end (self, reveal);
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       panel_dock_set_reveal_top (self, reveal);
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       panel_dock_set_reveal_bottom (self, reveal);
       break;
 
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       panel_dock_set_reveal_start (self, reveal);
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       g_return_if_reached ();
     }
 }
 
 static GtkWidget *
-panel_dock_get_child_at_position (PanelDock         *self,
-                                  PanelDockPosition  position)
+panel_dock_get_child_for_area (PanelDock *self,
+                               PanelArea  area)
 {
   PanelDockPrivate *priv = panel_dock_get_instance_private (self);
 
@@ -874,7 +874,7 @@ panel_dock_get_child_at_position (PanelDock         *self,
       if (!PANEL_IS_DOCK_CHILD (child))
         continue;
 
-      if (panel_dock_child_get_position (PANEL_DOCK_CHILD (child)) == position)
+      if (panel_dock_child_get_area (PANEL_DOCK_CHILD (child)) == area)
         return child;
     }
 
@@ -884,36 +884,36 @@ panel_dock_get_child_at_position (PanelDock         *self,
 GtkWidget *
 _panel_dock_get_top_child (PanelDock *self)
 {
-  return panel_dock_get_child_at_position (self, PANEL_DOCK_POSITION_TOP);
+  return panel_dock_get_child_for_area (self, PANEL_AREA_TOP);
 }
 
 GtkWidget *
 _panel_dock_get_bottom_child (PanelDock *self)
 {
-  return panel_dock_get_child_at_position (self, PANEL_DOCK_POSITION_BOTTOM);
+  return panel_dock_get_child_for_area (self, PANEL_AREA_BOTTOM);
 }
 
 GtkWidget *
 _panel_dock_get_start_child (PanelDock *self)
 {
-  return panel_dock_get_child_at_position (self, PANEL_DOCK_POSITION_START);
+  return panel_dock_get_child_for_area (self, PANEL_AREA_START);
 }
 
 GtkWidget *
 _panel_dock_get_end_child (PanelDock *self)
 {
-  return panel_dock_get_child_at_position (self, PANEL_DOCK_POSITION_END);
+  return panel_dock_get_child_for_area (self, PANEL_AREA_END);
 }
 
 gboolean
-panel_dock_get_can_reveal_edge (PanelDock         *self,
-                                PanelDockPosition  position)
+panel_dock_get_can_reveal_area (PanelDock *self,
+                                PanelArea  area)
 {
   GtkWidget *child;
 
   g_return_val_if_fail (PANEL_IS_DOCK (self), FALSE);
 
-  if (!(child = panel_dock_get_child_at_position (self, position)))
+  if (!(child = panel_dock_get_child_for_area (self, area)))
     return FALSE;
 
   return !panel_dock_child_get_empty (PANEL_DOCK_CHILD (child));
@@ -922,45 +922,45 @@ panel_dock_get_can_reveal_edge (PanelDock         *self,
 gboolean
 panel_dock_get_can_reveal_bottom (PanelDock *self)
 {
-  return panel_dock_get_can_reveal_edge (self, PANEL_DOCK_POSITION_BOTTOM);
+  return panel_dock_get_can_reveal_area (self, PANEL_AREA_BOTTOM);
 }
 
 gboolean
 panel_dock_get_can_reveal_top (PanelDock *self)
 {
-  return panel_dock_get_can_reveal_edge (self, PANEL_DOCK_POSITION_TOP);
+  return panel_dock_get_can_reveal_area (self, PANEL_AREA_TOP);
 }
 
 gboolean
 panel_dock_get_can_reveal_start (PanelDock *self)
 {
-  return panel_dock_get_can_reveal_edge (self, PANEL_DOCK_POSITION_START);
+  return panel_dock_get_can_reveal_area (self, PANEL_AREA_START);
 }
 
 gboolean
 panel_dock_get_can_reveal_end (PanelDock *self)
 {
-  return panel_dock_get_can_reveal_edge (self, PANEL_DOCK_POSITION_END);
+  return panel_dock_get_can_reveal_area (self, PANEL_AREA_END);
 }
 
 static void
-prepare_for_drag (PanelDock         *self,
-                  PanelDockPosition  position)
+prepare_for_drag (PanelDock *self,
+                  PanelArea  area)
 {
   GtkWidget *child;
   GtkWidget *paned;
 
   g_assert (PANEL_IS_DOCK (self));
 
-  if (!(child = panel_dock_get_child_at_position (self, position)))
+  if (!(child = panel_dock_get_child_for_area (self, area)))
     {
       GtkOrientation orientation;
       int left, top, width, height;
 
       /* TODO: Add policy to disable creating some panels (like top). */
 
-      get_grid_positions (position, &left, &top, &width, &height, &orientation);
-      child = get_or_create_dock_child (self, position, left, top, width, height);
+      get_grid_positions (area, &left, &top, &width, &height, &orientation);
+      child = get_or_create_dock_child (self, area, left, top, width, height);
       paned = panel_dock_child_get_child (PANEL_DOCK_CHILD (child));
 
       if (paned == NULL)
@@ -981,14 +981,14 @@ prepare_for_drag (PanelDock         *self,
 }
 
 static void
-unprepare_from_drag (PanelDock         *self,
-                     PanelDockPosition  position)
+unprepare_from_drag (PanelDock *self,
+                     PanelArea  area)
 {
   GtkWidget *child;
 
   g_assert (PANEL_IS_DOCK (self));
 
-  if ((child = panel_dock_get_child_at_position (self, position)))
+  if ((child = panel_dock_get_child_for_area (self, area)))
     panel_dock_child_set_dragging (PANEL_DOCK_CHILD (child), FALSE);
 }
 
@@ -1003,10 +1003,10 @@ _panel_dock_begin_drag (PanelDock   *self,
    * make sure that there is a child there that we can expand
    * if necessary.
    */
-  prepare_for_drag (self, PANEL_DOCK_POSITION_START);
-  prepare_for_drag (self, PANEL_DOCK_POSITION_END);
-  prepare_for_drag (self, PANEL_DOCK_POSITION_TOP);
-  prepare_for_drag (self, PANEL_DOCK_POSITION_BOTTOM);
+  prepare_for_drag (self, PANEL_AREA_START);
+  prepare_for_drag (self, PANEL_AREA_END);
+  prepare_for_drag (self, PANEL_AREA_TOP);
+  prepare_for_drag (self, PANEL_AREA_BOTTOM);
 
   g_signal_emit (self, signals [PANEL_DRAG_BEGIN], 0, panel);
 }
@@ -1020,10 +1020,10 @@ _panel_dock_end_drag (PanelDock   *self,
 
   g_signal_emit (self, signals [PANEL_DRAG_END], 0, panel);
 
-  unprepare_from_drag (self, PANEL_DOCK_POSITION_START);
-  unprepare_from_drag (self, PANEL_DOCK_POSITION_END);
-  unprepare_from_drag (self, PANEL_DOCK_POSITION_TOP);
-  unprepare_from_drag (self, PANEL_DOCK_POSITION_BOTTOM);
+  unprepare_from_drag (self, PANEL_AREA_START);
+  unprepare_from_drag (self, PANEL_AREA_END);
+  unprepare_from_drag (self, PANEL_AREA_TOP);
+  unprepare_from_drag (self, PANEL_AREA_BOTTOM);
 }
 
 void
@@ -1108,9 +1108,9 @@ _panel_dock_add_widget (PanelDock      *self,
           int left, top, width, height;
           GtkOrientation orientation;
 
-          get_grid_positions (PANEL_DOCK_POSITION_START, &left, &top, &width, &height, &orientation);
+          get_grid_positions (PANEL_AREA_START, &left, &top, &width, &height, &orientation);
 
-          dock_child = PANEL_DOCK_CHILD (panel_dock_child_new (PANEL_DOCK_POSITION_START));
+          dock_child = PANEL_DOCK_CHILD (panel_dock_child_new (PANEL_AREA_START));
           gtk_orientable_set_orientation (GTK_ORIENTABLE (dock_child), orientation);
           gtk_grid_attach (priv->grid, GTK_WIDGET (dock_child), left, top, width, height);
         }
@@ -1120,11 +1120,10 @@ _panel_dock_add_widget (PanelDock      *self,
 
   if (frame == NULL)
     {
-      PanelDockPosition position = panel_dock_child_get_position (dock_child);
+      PanelArea area = panel_dock_child_get_area (dock_child);
       GtkOrientation orientation;
 
-      if (position == PANEL_DOCK_POSITION_START ||
-          position == PANEL_DOCK_POSITION_END)
+      if (area == PANEL_AREA_START || area == PANEL_AREA_END)
         orientation = GTK_ORIENTATION_VERTICAL;
       else
         orientation = GTK_ORIENTATION_HORIZONTAL;
@@ -1140,8 +1139,8 @@ _panel_dock_add_widget (PanelDock      *self,
   panel_frame_add (frame, widget);
   panel_frame_set_visible_child (frame, widget);
 
-  notify_can_reveal (self, panel_dock_child_get_position (PANEL_DOCK_CHILD (dock_child)));
-  set_reveal (self, panel_dock_child_get_position (PANEL_DOCK_CHILD (dock_child)), TRUE);
+  notify_can_reveal (self, panel_dock_child_get_area (PANEL_DOCK_CHILD (dock_child)));
+  set_reveal (self, panel_dock_child_get_area (PANEL_DOCK_CHILD (dock_child)), TRUE);
 }
 
 void
@@ -1200,9 +1199,9 @@ panel_dock_foreach_frame (PanelDock          *self,
 }
 
 static void
-panel_dock_set_panel_size (PanelDock         *self,
-                           PanelDockPosition  position,
-                           int                size)
+panel_dock_set_panel_size (PanelDock *self,
+                           PanelArea  area,
+                           int        size)
 {
   g_return_if_fail (PANEL_IS_DOCK (self));
 
@@ -1213,7 +1212,7 @@ panel_dock_set_panel_size (PanelDock         *self,
       if (!PANEL_IS_DOCK_CHILD (child))
         continue;
 
-      if (panel_dock_child_get_position (PANEL_DOCK_CHILD (child)) != position)
+      if (panel_dock_child_get_area (PANEL_DOCK_CHILD (child)) != area)
         continue;
 
       panel_dock_child_set_drag_position (PANEL_DOCK_CHILD (child), size);
@@ -1229,7 +1228,7 @@ panel_dock_set_start_width (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->start_width = width;
-  panel_dock_set_panel_size (self, PANEL_DOCK_POSITION_START, width);
+  panel_dock_set_panel_size (self, PANEL_AREA_START, width);
 }
 
 void
@@ -1241,7 +1240,7 @@ panel_dock_set_end_width (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->end_width = width;
-  panel_dock_set_panel_size (self, PANEL_DOCK_POSITION_END, width);
+  panel_dock_set_panel_size (self, PANEL_AREA_END, width);
 }
 
 void
@@ -1253,7 +1252,7 @@ panel_dock_set_top_height (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->top_height = height;
-  panel_dock_set_panel_size (self, PANEL_DOCK_POSITION_TOP, height);
+  panel_dock_set_panel_size (self, PANEL_AREA_TOP, height);
 }
 
 void
@@ -1265,7 +1264,7 @@ panel_dock_set_bottom_height (PanelDock *self,
   g_return_if_fail (PANEL_IS_DOCK (self));
 
   priv->bottom_height = height;
-  panel_dock_set_panel_size (self, PANEL_DOCK_POSITION_BOTTOM, height);
+  panel_dock_set_panel_size (self, PANEL_AREA_BOTTOM, height);
 }
 
 void
diff --git a/src/panel-dock.h b/src/panel-dock.h
index 75df3b9..27d42de 100644
--- a/src/panel-dock.h
+++ b/src/panel-dock.h
@@ -32,12 +32,12 @@ G_BEGIN_DECLS
 
 typedef enum
 {
-  PANEL_DOCK_POSITION_START,
-  PANEL_DOCK_POSITION_END,
-  PANEL_DOCK_POSITION_TOP,
-  PANEL_DOCK_POSITION_BOTTOM,
-  PANEL_DOCK_POSITION_CENTER,
-} PanelDockPosition;
+  PANEL_AREA_START,
+  PANEL_AREA_END,
+  PANEL_AREA_TOP,
+  PANEL_AREA_BOTTOM,
+  PANEL_AREA_CENTER,
+} PanelArea;
 
 typedef void (*PanelFrameCallback) (PanelFrame *frame,
                                     gpointer    user_data);
@@ -58,11 +58,11 @@ struct _PanelDockClass
 PANEL_AVAILABLE_IN_ALL
 GtkWidget *panel_dock_new                   (void);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_reveal_edge       (PanelDock          *self,
-                                             PanelDockPosition   edge);
+gboolean   panel_dock_get_reveal_area       (PanelDock          *self,
+                                             PanelArea           area);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_reveal_edge       (PanelDock          *self,
-                                             PanelDockPosition   position,
+void       panel_dock_set_reveal_area       (PanelDock          *self,
+                                             PanelArea           area,
                                              gboolean            reveal);
 PANEL_AVAILABLE_IN_ALL
 gboolean   panel_dock_get_reveal_start      (PanelDock          *self);
@@ -85,8 +85,8 @@ PANEL_AVAILABLE_IN_ALL
 void       panel_dock_set_reveal_bottom     (PanelDock          *self,
                                              gboolean            reveal_bottom);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_can_reveal_edge   (PanelDock          *self,
-                                             PanelDockPosition   edge);
+gboolean   panel_dock_get_can_reveal_area   (PanelDock          *self,
+                                             PanelArea           area);
 PANEL_AVAILABLE_IN_ALL
 gboolean   panel_dock_get_can_reveal_bottom (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
diff --git a/src/panel-drop-controls-private.h b/src/panel-drop-controls-private.h
index 1e817b1..50c8037 100644
--- a/src/panel-drop-controls-private.h
+++ b/src/panel-drop-controls-private.h
@@ -28,10 +28,10 @@ G_BEGIN_DECLS
 
 G_DECLARE_FINAL_TYPE (PanelDropControls, panel_drop_controls, PANEL, DROP_CONTROLS, GtkWidget)
 
-GtkWidget         *panel_drop_controls_new          (void);
-PanelDockPosition  panel_drop_controls_get_position (PanelDropControls *self);
-void               panel_drop_controls_set_position (PanelDropControls *self,
-                                                     PanelDockPosition  position);
-gboolean           panel_drop_controls_in_drop      (PanelDropControls *self);
+GtkWidget *panel_drop_controls_new      (void);
+PanelArea  panel_drop_controls_get_area (PanelDropControls *self);
+void       panel_drop_controls_set_area (PanelDropControls *self,
+                                         PanelArea          area);
+gboolean   panel_drop_controls_in_drop  (PanelDropControls *self);
 
 G_END_DECLS
diff --git a/src/panel-drop-controls.c b/src/panel-drop-controls.c
index 9ee9eaa..f8dbccd 100644
--- a/src/panel-drop-controls.c
+++ b/src/panel-drop-controls.c
@@ -52,7 +52,7 @@ struct _PanelDropControls
   PanelDock         *dock;
   AdwTabPage        *drop_before_page;
 
-  PanelDockPosition  position;
+  PanelArea          area : 3;
 
   guint              in_drop : 1;
 };
@@ -61,7 +61,7 @@ G_DEFINE_TYPE (PanelDropControls, panel_drop_controls, GTK_TYPE_WIDGET)
 
 enum {
   PROP_0,
-  PROP_POSITION,
+  PROP_AREA,
   N_PROPS
 };
 
@@ -89,18 +89,18 @@ panel_drop_controls_drop_finished (PanelDropControls *self,
 }
 
 void
-panel_drop_controls_set_position (PanelDropControls *self,
-                                  PanelDockPosition  position)
+panel_drop_controls_set_area (PanelDropControls *self,
+                              PanelArea          area)
 {
   g_return_if_fail (PANEL_IS_DROP_CONTROLS (self));
-  g_return_if_fail (position <= PANEL_DOCK_POSITION_CENTER);
+  g_return_if_fail (area <= PANEL_AREA_CENTER);
 
-  self->position = position;
+  self->area = area;
 
-  switch (self->position)
+  switch (self->area)
     {
-    case PANEL_DOCK_POSITION_START:
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_START:
+    case PANEL_AREA_END:
       gtk_widget_show (GTK_WIDGET (self->top));
       gtk_widget_show (GTK_WIDGET (self->bottom));
       gtk_widget_show (GTK_WIDGET (self->center));
@@ -108,8 +108,8 @@ panel_drop_controls_set_position (PanelDropControls *self,
       gtk_widget_hide (GTK_WIDGET (self->right));
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_TOP:
+    case PANEL_AREA_BOTTOM:
       gtk_widget_hide (GTK_WIDGET (self->top));
       gtk_widget_hide (GTK_WIDGET (self->bottom));
       gtk_widget_show (GTK_WIDGET (self->center));
@@ -117,7 +117,7 @@ panel_drop_controls_set_position (PanelDropControls *self,
       gtk_widget_show (GTK_WIDGET (self->right));
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
       gtk_widget_show (GTK_WIDGET (self->center));
       gtk_widget_show (GTK_WIDGET (self->top));
       gtk_widget_show (GTK_WIDGET (self->bottom));
@@ -130,12 +130,12 @@ panel_drop_controls_set_position (PanelDropControls *self,
     }
 }
 
-PanelDockPosition
-panel_drop_controls_get_position (PanelDropControls *self)
+PanelArea
+panel_drop_controls_get_area (PanelDropControls *self)
 {
   g_return_val_if_fail (PANEL_IS_DROP_CONTROLS (self), 0);
 
-  return self->position;
+  return self->area;
 }
 
 static gboolean
@@ -170,7 +170,7 @@ on_drop_target_notify_value_cb (PanelDropControls *self,
       !(header = panel_frame_get_header (PANEL_FRAME (frame))))
     return;
 
-  /* TODO: Actually handle this based on position */
+  /* TODO: Actually handle this based on area */
 
   if (!panel_widget_get_reorderable (panel) ||
       (!panel_frame_header_can_drop (header, panel)))
@@ -286,7 +286,7 @@ on_drop_target_drop_cb (PanelDropControls *self,
                         double             y,
                         GtkDropTarget     *drop_target)
 {
-  PanelDockPosition position;
+  PanelArea area;
   GtkOrientation orientation;
   PanelFrameHeader *header;
   PanelWidget *before_panel = NULL;
@@ -326,17 +326,17 @@ on_drop_target_drop_cb (PanelDropControls *self,
   g_assert (panel_frame_header_can_drop (header, panel));
 
   button = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (drop_target));
-  position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "POSITION"));
+  area = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "AREA"));
   grid = PANEL_GRID (gtk_widget_get_ancestor (GTK_WIDGET (self), PANEL_TYPE_GRID));
   orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (target));
 
-  switch (position)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
       /* Do Nothing */
       break;
 
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       if (grid != NULL)
         {
           PanelGridColumn *grid_column;
@@ -360,7 +360,7 @@ on_drop_target_drop_cb (PanelDropControls *self,
         }
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       if (grid != NULL)
         {
           PanelGridColumn *grid_column;
@@ -382,7 +382,7 @@ on_drop_target_drop_cb (PanelDropControls *self,
         }
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       if (grid != NULL)
         {
           PanelGridColumn *grid_column;
@@ -411,7 +411,7 @@ on_drop_target_drop_cb (PanelDropControls *self,
         }
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       if (grid != NULL)
         {
           PanelGridColumn *grid_column;
@@ -465,9 +465,9 @@ cleanup:
 
 static void
 setup_drop_target (PanelDropControls  *self,
-                   GtkWidget           *widget,
+                   GtkWidget          *widget,
                    GtkDropTarget     **targetptr,
-                   PanelDockPosition   position)
+                   PanelArea           area)
 {
   GType types[] = { PANEL_TYPE_WIDGET };
 
@@ -475,8 +475,8 @@ setup_drop_target (PanelDropControls  *self,
   g_assert (GTK_IS_WIDGET (widget));
 
   g_object_set_data (G_OBJECT (widget),
-                     "POSITION",
-                     GINT_TO_POINTER (position));
+                     "AREA",
+                     GINT_TO_POINTER (area));
 
   *targetptr = gtk_drop_target_new (G_TYPE_INVALID, GDK_ACTION_COPY | GDK_ACTION_MOVE);
   gtk_drop_target_set_gtypes (*targetptr, types, G_N_ELEMENTS (types));
@@ -563,8 +563,8 @@ panel_drop_controls_get_property (GObject    *object,
 
   switch (prop_id)
     {
-    case PROP_POSITION:
-      g_value_set_enum (value, panel_drop_controls_get_position (self));
+    case PROP_AREA:
+      g_value_set_enum (value, panel_drop_controls_get_area (self));
       break;
 
     default:
@@ -582,8 +582,8 @@ panel_drop_controls_set_property (GObject      *object,
 
   switch (prop_id)
     {
-    case PROP_POSITION:
-      panel_drop_controls_set_position (self, g_value_get_enum (value));
+    case PROP_AREA:
+      panel_drop_controls_set_area (self, g_value_get_enum (value));
       break;
 
     default:
@@ -604,12 +604,10 @@ panel_drop_controls_class_init (PanelDropControlsClass *klass)
   widget_class->root = panel_drop_controls_root;
   widget_class->unroot = panel_drop_controls_unroot;
 
-  properties [PROP_POSITION] =
-    g_param_spec_enum ("position",
-                       "Position",
-                       "The position of the drop controls",
-                       PANEL_TYPE_DOCK_POSITION,
-                       PANEL_DOCK_POSITION_CENTER,
+  properties [PROP_AREA] =
+    g_param_spec_enum ("area", NULL, NULL,
+                       PANEL_TYPE_AREA,
+                       PANEL_AREA_CENTER,
                        (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_properties (object_class, N_PROPS, properties);
@@ -631,12 +629,12 @@ panel_drop_controls_init (PanelDropControls *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 
-  setup_drop_target (self, GTK_WIDGET (self->bottom), &self->bottom_target, PANEL_DOCK_POSITION_BOTTOM);
-  setup_drop_target (self, GTK_WIDGET (self->center), &self->center_target, PANEL_DOCK_POSITION_CENTER);
-  setup_drop_target (self, GTK_WIDGET (self->left), &self->left_target, PANEL_DOCK_POSITION_START);
-  setup_drop_target (self, GTK_WIDGET (self->right), &self->right_target, PANEL_DOCK_POSITION_END);
-  setup_drop_target (self, GTK_WIDGET (self->top), &self->top_target, PANEL_DOCK_POSITION_TOP);
-  setup_drop_target (self, GTK_WIDGET (self), &self->drop_target, PANEL_DOCK_POSITION_CENTER);
+  setup_drop_target (self, GTK_WIDGET (self->bottom), &self->bottom_target, PANEL_AREA_BOTTOM);
+  setup_drop_target (self, GTK_WIDGET (self->center), &self->center_target, PANEL_AREA_CENTER);
+  setup_drop_target (self, GTK_WIDGET (self->left), &self->left_target, PANEL_AREA_START);
+  setup_drop_target (self, GTK_WIDGET (self->right), &self->right_target, PANEL_AREA_END);
+  setup_drop_target (self, GTK_WIDGET (self->top), &self->top_target, PANEL_AREA_TOP);
+  setup_drop_target (self, GTK_WIDGET (self), &self->drop_target, PANEL_AREA_CENTER);
 }
 
 gboolean
diff --git a/src/panel-frame.c b/src/panel-frame.c
index 2752012..efeb657 100644
--- a/src/panel-frame.c
+++ b/src/panel-frame.c
@@ -401,20 +401,20 @@ static void
 panel_frame_update_drop (PanelFrame *self)
 {
   PanelFramePrivate *priv = panel_frame_get_instance_private (self);
-  PanelDockPosition position;
+  PanelArea area;
   GtkWidget *grid;
   GtkWidget *child;
 
   g_assert (PANEL_IS_FRAME (self));
 
   if ((grid = gtk_widget_get_ancestor (GTK_WIDGET (self), PANEL_TYPE_GRID)))
-    position = PANEL_DOCK_POSITION_CENTER;
+    area = PANEL_AREA_CENTER;
   else if ((child = gtk_widget_get_ancestor (GTK_WIDGET (self), PANEL_TYPE_DOCK_CHILD)))
-    position = panel_dock_child_get_position (PANEL_DOCK_CHILD (child));
+    area = panel_dock_child_get_area (PANEL_DOCK_CHILD (child));
   else
-    position = PANEL_DOCK_POSITION_CENTER;
+    area = PANEL_AREA_CENTER;
 
-  panel_drop_controls_set_position (priv->drop_controls, position);
+  panel_drop_controls_set_area (priv->drop_controls, area);
 }
 
 static void
@@ -843,27 +843,27 @@ panel_frame_add_before (PanelFrame  *self,
 
   if (dock_child != NULL && dock != NULL)
     {
-      PanelDockPosition dockpos = panel_dock_child_get_position (PANEL_DOCK_CHILD (dock_child));
+      PanelArea dockpos = panel_dock_child_get_area (PANEL_DOCK_CHILD (dock_child));
 
       switch (dockpos)
         {
-        case PANEL_DOCK_POSITION_START:
+        case PANEL_AREA_START:
           g_object_notify (G_OBJECT (dock), "can-reveal-start");
           break;
 
-        case PANEL_DOCK_POSITION_END:
+        case PANEL_AREA_END:
           g_object_notify (G_OBJECT (dock), "can-reveal-end");
           break;
 
-        case PANEL_DOCK_POSITION_TOP:
+        case PANEL_AREA_TOP:
           g_object_notify (G_OBJECT (dock), "can-reveal-top");
           break;
 
-        case PANEL_DOCK_POSITION_BOTTOM:
+        case PANEL_AREA_BOTTOM:
           g_object_notify (G_OBJECT (dock), "can-reveal-bottom");
           break;
 
-        case PANEL_DOCK_POSITION_CENTER:
+        case PANEL_AREA_CENTER:
         default:
           break;
         }
diff --git a/src/panel-frame.ui b/src/panel-frame.ui
index 9116683..764743e 100644
--- a/src/panel-frame.ui
+++ b/src/panel-frame.ui
@@ -9,7 +9,7 @@
         <property name="vexpand">true</property>
         <child type="overlay">
           <object class="PanelDropControls" id="drop_controls">
-            <property name="position">center</property>
+            <property name="area">center</property>
             <property name="hexpand">true</property>
             <property name="vexpand">true</property>
             <property name="visible">false</property>
diff --git a/src/panel-handle-private.h b/src/panel-handle-private.h
index 8448201..1830b7a 100644
--- a/src/panel-handle-private.h
+++ b/src/panel-handle-private.h
@@ -30,8 +30,8 @@ G_BEGIN_DECLS
 
 G_DECLARE_FINAL_TYPE (PanelHandle, panel_handle, PANEL, HANDLE, GtkWidget)
 
-GtkWidget *panel_handle_new             (PanelDockPosition  position);
-void       panel_handle_set_position    (PanelHandle       *self,
-                                         PanelDockPosition  position);
+GtkWidget *panel_handle_new      (PanelArea    area);
+void       panel_handle_set_area (PanelHandle *self,
+                                  PanelArea    area);
 
 G_END_DECLS
diff --git a/src/panel-handle.c b/src/panel-handle.c
index bf72ad9..51f3039 100644
--- a/src/panel-handle.c
+++ b/src/panel-handle.c
@@ -27,9 +27,9 @@
 
 struct _PanelHandle
 {
-  GtkWidget          parent_instance;
-  GtkWidget         *separator;
-  PanelDockPosition  position : 3;
+  GtkWidget parent_instance;
+  GtkWidget *separator;
+  PanelArea  area : 3;
 };
 
 G_DEFINE_TYPE (PanelHandle, panel_handle, GTK_TYPE_WIDGET)
@@ -55,27 +55,27 @@ panel_handle_contains (GtkWidget *widget,
                                   &area))
       return FALSE;
 
-  switch (self->position)
+  switch (self->area)
     {
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       area.origin.x -= EXTRA_SIZE;
       area.size.width = EXTRA_SIZE;
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       area.size.width = EXTRA_SIZE;
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       area.origin.y -= EXTRA_SIZE;
       area.size.height = EXTRA_SIZE;
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       area.size.height = EXTRA_SIZE;
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       g_assert_not_reached ();
       break;
@@ -115,28 +115,28 @@ panel_handle_init (PanelHandle *self)
 }
 
 void
-panel_handle_set_position (PanelHandle       *self,
-                           PanelDockPosition  position)
+panel_handle_set_area (PanelHandle *self,
+                       PanelArea    area)
 {
   g_return_if_fail (PANEL_IS_HANDLE (self));
 
-  self->position = position;
+  self->area = area;
 
-  switch (position)
+  switch (area)
     {
-    case PANEL_DOCK_POSITION_START:
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_START:
+    case PANEL_AREA_END:
       gtk_widget_set_cursor_from_name (GTK_WIDGET (self), "col-resize");
       gtk_orientable_set_orientation (GTK_ORIENTABLE (self->separator), GTK_ORIENTATION_VERTICAL);
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_TOP:
+    case PANEL_AREA_BOTTOM:
       gtk_widget_set_cursor_from_name (GTK_WIDGET (self), "row-resize");
       gtk_orientable_set_orientation (GTK_ORIENTABLE (self->separator), GTK_ORIENTATION_HORIZONTAL);
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       gtk_widget_set_cursor_from_name (GTK_WIDGET (self), "arrow");
       break;
@@ -144,12 +144,12 @@ panel_handle_set_position (PanelHandle       *self,
 }
 
 GtkWidget *
-panel_handle_new (PanelDockPosition position)
+panel_handle_new (PanelArea area)
 {
   PanelHandle *self;
 
   self = g_object_new (PANEL_TYPE_HANDLE, NULL);
-  panel_handle_set_position (self, position);
+  panel_handle_set_area (self, area);
 
   return GTK_WIDGET (self);
 }
diff --git a/src/panel-init.c b/src/panel-init.c
index 767a701..723d48f 100644
--- a/src/panel-init.c
+++ b/src/panel-init.c
@@ -23,7 +23,9 @@
 #include <adwaita.h>
 
 #include "panel-dock.h"
+#include "panel-dock-child-private.h"
 #include "panel-dock-switcher.h"
+#include "panel-enums.h"
 #include "panel-frame.h"
 #include "panel-frame-header.h"
 #include "panel-frame-switcher.h"
@@ -49,7 +51,9 @@ panel_init (void)
 
   g_resources_register (panel_get_resource ());
 
+  g_type_ensure (PANEL_TYPE_AREA);
   g_type_ensure (PANEL_TYPE_DOCK);
+  g_type_ensure (PANEL_TYPE_DOCK_CHILD);
   g_type_ensure (PANEL_TYPE_DOCK_SWITCHER);
   g_type_ensure (PANEL_TYPE_FRAME);
   g_type_ensure (PANEL_TYPE_FRAME_HEADER);
diff --git a/src/panel-paned.c b/src/panel-paned.c
index 8e05b08..b51cc75 100644
--- a/src/panel-paned.c
+++ b/src/panel-paned.c
@@ -63,7 +63,7 @@ static void
 panel_paned_set_orientation (PanelPaned     *self,
                              GtkOrientation  orientation)
 {
-  PanelDockPosition dockpos;
+  PanelArea area;
 
   g_assert (PANEL_IS_PANED (self));
   g_assert (orientation == GTK_ORIENTATION_HORIZONTAL ||
@@ -75,9 +75,9 @@ panel_paned_set_orientation (PanelPaned     *self,
   self->orientation = orientation;
 
   if (self->orientation == GTK_ORIENTATION_HORIZONTAL)
-    dockpos = PANEL_DOCK_POSITION_START;
+    area = PANEL_AREA_START;
   else
-    dockpos = PANEL_DOCK_POSITION_TOP;
+    area = PANEL_AREA_TOP;
 
   for (GtkWidget *child = gtk_widget_get_last_child (GTK_WIDGET (self));
        child != NULL;
@@ -85,7 +85,7 @@ panel_paned_set_orientation (PanelPaned     *self,
     {
       g_assert (PANEL_IS_RESIZER (child));
 
-      panel_resizer_set_position (PANEL_RESIZER (child), dockpos);
+      panel_resizer_set_area (PANEL_RESIZER (child), area);
     }
 
   _panel_dock_update_orientation (GTK_WIDGET (self), self->orientation);
@@ -467,7 +467,7 @@ panel_paned_insert (PanelPaned *self,
                     int         position,
                     GtkWidget  *child)
 {
-  PanelDockPosition dockpos;
+  PanelArea area;
   GtkWidget *resizer;
 
   g_return_if_fail (PANEL_IS_PANED (self));
@@ -475,11 +475,11 @@ panel_paned_insert (PanelPaned *self,
   g_return_if_fail (gtk_widget_get_parent (child) == NULL);
 
   if (self->orientation == GTK_ORIENTATION_HORIZONTAL)
-    dockpos = PANEL_DOCK_POSITION_START;
+    area = PANEL_AREA_START;
   else
-    dockpos = PANEL_DOCK_POSITION_TOP;
+    area = PANEL_AREA_TOP;
 
-  resizer = panel_resizer_new (dockpos);
+  resizer = panel_resizer_new (area);
   panel_resizer_set_child (PANEL_RESIZER (resizer), child);
 
   if (position < 0)
diff --git a/src/panel-resizer-private.h b/src/panel-resizer-private.h
index cdc27b8..fa44f46 100644
--- a/src/panel-resizer-private.h
+++ b/src/panel-resizer-private.h
@@ -30,15 +30,15 @@ G_BEGIN_DECLS
 
 G_DECLARE_FINAL_TYPE (PanelResizer, panel_resizer, PANEL, RESIZER, GtkWidget)
 
-GtkWidget         *panel_resizer_new               (PanelDockPosition  position);
-PanelDockPosition  panel_resizer_get_position      (PanelResizer      *self);
-void               panel_resizer_set_position      (PanelResizer      *self,
-                                                    PanelDockPosition  position);
-GtkWidget         *panel_resizer_get_child         (PanelResizer      *self);
-void               panel_resizer_set_child         (PanelResizer      *self,
-                                                    GtkWidget         *child);
-GtkWidget         *panel_resizer_get_handle        (PanelResizer      *self);
-void               panel_resizer_set_drag_position (PanelResizer      *self,
-                                                    int                drag_position);
+GtkWidget *panel_resizer_new               (PanelArea     area);
+PanelArea  panel_resizer_get_area          (PanelResizer *self);
+void       panel_resizer_set_area          (PanelResizer *self,
+                                            PanelArea     area);
+GtkWidget *panel_resizer_get_child         (PanelResizer *self);
+void       panel_resizer_set_child         (PanelResizer *self,
+                                            GtkWidget    *child);
+GtkWidget *panel_resizer_get_handle        (PanelResizer *self);
+void       panel_resizer_set_drag_position (PanelResizer *self,
+                                            int           drag_position);
 
 G_END_DECLS
diff --git a/src/panel-resizer.c b/src/panel-resizer.c
index d13a958..8e07595 100644
--- a/src/panel-resizer.c
+++ b/src/panel-resizer.c
@@ -29,16 +29,16 @@
 
 struct _PanelResizer
 {
-  GtkWidget          parent_instance;
+  GtkWidget    parent_instance;
 
-  PanelHandle       *handle;
-  GtkWidget         *child;
+  PanelHandle *handle;
+  GtkWidget   *child;
 
-  double             drag_orig_size;
-  double             drag_position;
+  double       drag_orig_size;
+  double       drag_position;
+  guint        drag_position_set : 1;
 
-  guint              drag_position_set : 1;
-  PanelDockPosition  position : 3;
+  PanelArea    area : 3;
 };
 
 G_DEFINE_TYPE (PanelResizer, panel_resizer, GTK_TYPE_WIDGET)
@@ -73,29 +73,29 @@ panel_resizer_drag_begin_cb (PanelResizer   *self,
 
   if (self->child != NULL)
     {
-      switch (self->position)
+      switch (self->area)
         {
-        case PANEL_DOCK_POSITION_START:
+        case PANEL_AREA_START:
           if (start_x > gtk_widget_get_width (GTK_WIDGET (self)) - HANDLE_SIZE)
             goto start_drag;
           break;
 
-        case PANEL_DOCK_POSITION_END:
+        case PANEL_AREA_END:
           if (start_x <= HANDLE_SIZE)
             goto start_drag;
           break;
 
-        case PANEL_DOCK_POSITION_TOP:
+        case PANEL_AREA_TOP:
           if (start_y > gtk_widget_get_height (GTK_WIDGET (self)) - HANDLE_SIZE)
             goto start_drag;
           break;
 
-        case PANEL_DOCK_POSITION_BOTTOM:
+        case PANEL_AREA_BOTTOM:
           if (start_y <= HANDLE_SIZE)
             goto start_drag;
           break;
 
-        case PANEL_DOCK_POSITION_CENTER:
+        case PANEL_AREA_CENTER:
         default:
           break;
         }
@@ -112,8 +112,8 @@ start_drag:
   gtk_widget_get_allocation (self->child, &child_alloc);
   gtk_widget_get_allocation (GTK_WIDGET (self->handle), &handle_alloc);
 
-  if (self->position == PANEL_DOCK_POSITION_START ||
-      self->position == PANEL_DOCK_POSITION_END)
+  if (self->area == PANEL_AREA_START ||
+      self->area == PANEL_AREA_END)
     {
       self->drag_orig_size = child_alloc.width + handle_alloc.width;
       gtk_widget_set_hexpand (self->child, FALSE);
@@ -139,13 +139,13 @@ panel_resizer_drag_update_cb (PanelResizer   *self,
   g_assert (PANEL_IS_RESIZER (self));
   g_assert (GTK_IS_GESTURE_DRAG (drag));
 
-  if (self->position == PANEL_DOCK_POSITION_START)
+  if (self->area == PANEL_AREA_START)
     self->drag_position = self->drag_orig_size + offset_x;
-  else if (self->position == PANEL_DOCK_POSITION_END)
+  else if (self->area == PANEL_AREA_END)
     self->drag_position = gtk_widget_get_width (GTK_WIDGET (self)) - offset_x;
-  else if (self->position == PANEL_DOCK_POSITION_TOP)
+  else if (self->area == PANEL_AREA_TOP)
     self->drag_position = self->drag_orig_size + offset_y;
-  else if (self->position == PANEL_DOCK_POSITION_BOTTOM)
+  else if (self->area == PANEL_AREA_BOTTOM)
     self->drag_position = gtk_widget_get_height (GTK_WIDGET (self)) - offset_y;
 
   gtk_widget_queue_resize (GTK_WIDGET (self));
@@ -162,16 +162,16 @@ panel_resizer_drag_end_cb (PanelResizer   *self,
 }
 
 GtkWidget *
-panel_resizer_new (PanelDockPosition position)
+panel_resizer_new (PanelArea area)
 {
   PanelResizer *self;
 
   self = g_object_new (PANEL_TYPE_RESIZER, NULL);
-  self->position = position;
-  self->handle = PANEL_HANDLE (panel_handle_new (position));
+  self->area = area;
+  self->handle = PANEL_HANDLE (panel_handle_new (area));
   gtk_widget_set_parent (GTK_WIDGET (self->handle), GTK_WIDGET (self));
 
-  if (position == PANEL_DOCK_POSITION_CENTER)
+  if (area == PANEL_AREA_CENTER)
     gtk_widget_hide (GTK_WIDGET (self->handle));
 
   return GTK_WIDGET (self);
@@ -203,11 +203,11 @@ panel_resizer_measure (GtkWidget      *widget,
                         NULL, NULL);
 
   if ((orientation == GTK_ORIENTATION_HORIZONTAL &&
-       (self->position == PANEL_DOCK_POSITION_START ||
-        self->position == PANEL_DOCK_POSITION_END)) ||
+       (self->area == PANEL_AREA_START ||
+        self->area == PANEL_AREA_END)) ||
       (orientation == GTK_ORIENTATION_VERTICAL &&
-       (self->position == PANEL_DOCK_POSITION_TOP ||
-        self->position == PANEL_DOCK_POSITION_BOTTOM)))
+       (self->area == PANEL_AREA_TOP ||
+        self->area == PANEL_AREA_BOTTOM)))
     {
       int handle_min, handle_nat;
 
@@ -246,8 +246,8 @@ panel_resizer_size_allocate (GtkWidget *widget,
 
   g_assert (PANEL_IS_RESIZER (self));
 
-  if (self->position == PANEL_DOCK_POSITION_START ||
-      self->position == PANEL_DOCK_POSITION_END)
+  if (self->area == PANEL_AREA_START ||
+      self->area == PANEL_AREA_END)
     orientation = GTK_ORIENTATION_HORIZONTAL;
   else
     orientation = GTK_ORIENTATION_VERTICAL;
@@ -259,9 +259,9 @@ panel_resizer_size_allocate (GtkWidget *widget,
                         &handle_min, &handle_nat,
                         NULL, NULL);
 
-  switch (self->position)
+  switch (self->area)
     {
-    case PANEL_DOCK_POSITION_START:
+    case PANEL_AREA_START:
       handle_alloc.x = width - handle_min;
       handle_alloc.width = handle_min;
       handle_alloc.y = 0;
@@ -272,7 +272,7 @@ panel_resizer_size_allocate (GtkWidget *widget,
       child_alloc.height = height;
       break;
 
-    case PANEL_DOCK_POSITION_END:
+    case PANEL_AREA_END:
       handle_alloc.x = 0;
       handle_alloc.width = handle_min;
       handle_alloc.y = 0;
@@ -283,7 +283,7 @@ panel_resizer_size_allocate (GtkWidget *widget,
       child_alloc.height = height;
       break;
 
-    case PANEL_DOCK_POSITION_TOP:
+    case PANEL_AREA_TOP:
       handle_alloc.x = 0;
       handle_alloc.width = width;
       handle_alloc.y = height - handle_min;
@@ -294,7 +294,7 @@ panel_resizer_size_allocate (GtkWidget *widget,
       child_alloc.height = height - handle_min;
       break;
 
-    case PANEL_DOCK_POSITION_BOTTOM:
+    case PANEL_AREA_BOTTOM:
       handle_alloc.x = 0;
       handle_alloc.width = width;
       handle_alloc.y = 0;
@@ -305,7 +305,7 @@ panel_resizer_size_allocate (GtkWidget *widget,
       child_alloc.height = height - handle_min;
       break;
 
-    case PANEL_DOCK_POSITION_CENTER:
+    case PANEL_AREA_CENTER:
     default:
       handle_alloc.x = 0;
       handle_alloc.width = 0;
@@ -495,25 +495,25 @@ panel_resizer_set_child (PanelResizer *self,
   g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CHILD]);
 }
 
-PanelDockPosition
-panel_resizer_get_position (PanelResizer *self)
+PanelArea
+panel_resizer_get_area (PanelResizer *self)
 {
   g_return_val_if_fail (PANEL_IS_RESIZER (self), 0);
 
-  return self->position;
+  return self->area;
 }
 
 void
-panel_resizer_set_position (PanelResizer      *self,
-                            PanelDockPosition  position)
+panel_resizer_set_area (PanelResizer *self,
+                        PanelArea     area)
 {
   g_return_if_fail (PANEL_IS_RESIZER (self));
 
-  if (position != self->position)
+  if (area != self->area)
     {
-      self->position = position;
+      self->area = area;
 
-      panel_handle_set_position (self->handle, position);
+      panel_handle_set_area (self->handle, area);
       gtk_widget_queue_resize (GTK_WIDGET (self));
     }
 }
diff --git a/src/panel-widget.c b/src/panel-widget.c
index bcb3efc..fe63139 100644
--- a/src/panel-widget.c
+++ b/src/panel-widget.c
@@ -1162,25 +1162,25 @@ panel_widget_raise (PanelWidget *self)
       if ((dock_child = gtk_widget_get_ancestor (frame, PANEL_TYPE_DOCK_CHILD)) &&
           (dock = gtk_widget_get_ancestor (dock_child, PANEL_TYPE_DOCK)))
         {
-          switch (panel_dock_child_get_position (PANEL_DOCK_CHILD (dock_child)))
+          switch (panel_dock_child_get_area (PANEL_DOCK_CHILD (dock_child)))
             {
-            case PANEL_DOCK_POSITION_END:
+            case PANEL_AREA_END:
               panel_dock_set_reveal_end (PANEL_DOCK (dock), TRUE);
               break;
 
-            case PANEL_DOCK_POSITION_START:
+            case PANEL_AREA_START:
               panel_dock_set_reveal_start (PANEL_DOCK (dock), TRUE);
               break;
 
-            case PANEL_DOCK_POSITION_TOP:
+            case PANEL_AREA_TOP:
               panel_dock_set_reveal_top (PANEL_DOCK (dock), TRUE);
               break;
 
-            case PANEL_DOCK_POSITION_BOTTOM:
+            case PANEL_AREA_BOTTOM:
               panel_dock_set_reveal_bottom (PANEL_DOCK (dock), TRUE);
               break;
 
-            case PANEL_DOCK_POSITION_CENTER:
+            case PANEL_AREA_CENTER:
             default:
               break;
             }


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