[gnome-shell/wip/carlosg/cleanup-gtk-usage: 8/12] st: Add StDirectionType enum



commit e91712f0107b01069c64d66b61e2d4234daae39a
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Nov 27 13:58:25 2018 +0100

    st: Add StDirectionType enum
    
    In order to replace GTK+'s GtkDirectionType. It's bit-compatible with it,
    too. All callers have been updated to use it.
    
    This is a purely accessory change in terms of X11 Display usage cleanup,
    but helps see better what is left.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

 js/gdm/loginDialog.js     |  3 +--
 js/ui/appDisplay.js       | 17 ++++++++---------
 js/ui/ctrlAltTab.js       |  3 +--
 js/ui/grabHelper.js       |  3 +--
 js/ui/iconGrid.js         |  7 +++----
 js/ui/lookingGlass.js     |  3 +--
 js/ui/messageTray.js      |  3 +--
 js/ui/panel.js            |  2 +-
 js/ui/panelMenu.js        |  3 +--
 js/ui/popupMenu.js        |  7 +++----
 js/ui/screenShield.js     |  3 +--
 js/ui/search.js           |  9 ++++-----
 js/ui/shellEntry.js       |  3 +--
 js/ui/viewSelector.js     | 21 ++++++++++-----------
 js/ui/windowMenu.js       |  3 +--
 src/shell-stack.c         |  2 +-
 src/st/st-bin.c           |  2 +-
 src/st/st-entry.c         |  2 +-
 src/st/st-focus-manager.c | 16 ++++++++--------
 src/st/st-widget.c        | 38 +++++++++++++++++++-------------------
 src/st/st-widget.h        | 14 ++++++++++++--
 21 files changed, 80 insertions(+), 84 deletions(-)
---
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
index db4d2069a..55ba3801e 100644
--- a/js/gdm/loginDialog.js
+++ b/js/gdm/loginDialog.js
@@ -23,7 +23,6 @@ const Gdm = imports.gi.Gdm;
 const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const Pango = imports.gi.Pango;
 const Shell = imports.gi.Shell;
@@ -183,7 +182,7 @@ var UserList = class {
         if (global.stage.get_key_focus() != this.actor)
             return;
 
-        let focusSet = this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+        let focusSet = this.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
         if (!focusSet) {
             Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
                 this._moveFocusToItems();
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index d888ec305..1a3533cab 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -4,7 +4,6 @@ const Clutter = imports.gi.Clutter;
 const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
 const Meta = imports.gi.Meta;
@@ -175,7 +174,7 @@ class BaseAppView {
 
     _selectAppInternal(id) {
         if (this._items[id])
-            this._items[id].actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+            this._items[id].actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
         else
             log('No such application ' + id);
     }
@@ -1468,18 +1467,18 @@ var AppFolderPopup = class AppFolderPopup {
         let isLtr = Clutter.get_default_text_direction() == Clutter.TextDirection.LTR;
         switch (event.get_key_symbol()) {
             case Clutter.Down:
-                direction = Gtk.DirectionType.TAB_FORWARD;
+                direction = St.DirectionType.TAB_FORWARD;
                 break;
             case Clutter.Right:
-                direction = isLtr ? Gtk.DirectionType.TAB_FORWARD :
-                                    Gtk.DirectionType.TAB_BACKWARD;
+                direction = isLtr ? St.DirectionType.TAB_FORWARD :
+                                    St.DirectionType.TAB_BACKWARD;
                 break;
             case Clutter.Up:
-                direction = Gtk.DirectionType.TAB_BACKWARD;
+                direction = St.DirectionType.TAB_BACKWARD;
                 break;
             case Clutter.Left:
-                direction = isLtr ? Gtk.DirectionType.TAB_BACKWARD :
-                                    Gtk.DirectionType.TAB_FORWARD;
+                direction = isLtr ? St.DirectionType.TAB_BACKWARD :
+                                    St.DirectionType.TAB_FORWARD;
                 break;
             default:
                 return Clutter.EVENT_PROPAGATE;
@@ -1690,7 +1689,7 @@ var AppIcon = class AppIcon {
 
     _onKeyboardPopupMenu() {
         this.popupMenu();
-        this._menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+        this._menu.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
     }
 
     getId() {
diff --git a/js/ui/ctrlAltTab.js b/js/ui/ctrlAltTab.js
index 62e1f3d93..e66e663ff 100644
--- a/js/ui/ctrlAltTab.js
+++ b/js/ui/ctrlAltTab.js
@@ -1,7 +1,6 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 
 const Clutter = imports.gi.Clutter;
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const Shell = imports.gi.Shell;
 const St = imports.gi.St;
@@ -58,7 +57,7 @@ var CtrlAltTabManager = class CtrlAltTabManager {
         if (item.focusCallback)
             item.focusCallback(timestamp);
         else
-            item.root.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+            item.root.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
     }
 
     // Sort the items into a consistent order; panel first, tray last,
diff --git a/js/ui/grabHelper.js b/js/ui/grabHelper.js
index 9f6f188bd..a47b18a33 100644
--- a/js/ui/grabHelper.js
+++ b/js/ui/grabHelper.js
@@ -1,7 +1,6 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 
 const Clutter = imports.gi.Clutter;
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const Shell = imports.gi.Shell;
 const St = imports.gi.St;
@@ -187,7 +186,7 @@ var GrabHelper = class GrabHelper {
         if (params.focus) {
             params.focus.grab_key_focus();
         } else if (newFocus && hadFocus) {
-            if (!newFocus.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false))
+            if (!newFocus.navigate_focus(null, St.DirectionType.TAB_FORWARD, false))
                 newFocus.grab_key_focus();
         }
 
diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js
index 452dc0c96..9e1eb2ac8 100644
--- a/js/ui/iconGrid.js
+++ b/js/ui/iconGrid.js
@@ -2,7 +2,6 @@
 
 const Clutter = imports.gi.Clutter;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
@@ -956,8 +955,8 @@ var PaginatedIconGrid = GObject.registerClass({
             this._translatedChildren = [];
             this.emit('space-opened');
         } else {
-            this._translateChildren(childrenUp, Gtk.DirectionType.UP, nRowsUp);
-            this._translateChildren(childrenDown, Gtk.DirectionType.DOWN, nRowsDown);
+            this._translateChildren(childrenUp, St.DirectionType.UP, nRowsUp);
+            this._translateChildren(childrenDown, St.DirectionType.DOWN, nRowsDown);
             this._translatedChildren = childrenUp.concat(childrenDown);
         }
     }
@@ -967,7 +966,7 @@ var PaginatedIconGrid = GObject.registerClass({
         if (translationY == 0)
             return;
 
-        if (direction == Gtk.DirectionType.UP)
+        if (direction == St.DirectionType.UP)
             translationY *= -1;
 
         for (let i = 0; i < children.length; i++) {
diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js
index 8c5e29402..185ed421a 100644
--- a/js/ui/lookingGlass.js
+++ b/js/ui/lookingGlass.js
@@ -5,7 +5,6 @@ const Cogl = imports.gi.Cogl;
 const GLib = imports.gi.GLib;
 const Gio = imports.gi.Gio;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const Pango = imports.gi.Pango;
 const St = imports.gi.St;
@@ -187,7 +186,7 @@ var Notebook = class Notebook {
 
         // Focus the new tab before unmapping the old one
         let tabData = this._tabs[index];
-        if (!tabData.scrollView.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false))
+        if (!tabData.scrollView.navigate_focus(null, St.DirectionType.TAB_FORWARD, false))
             this.actor.grab_key_focus();
 
         this._unselect();
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 97452275f..2d6994ad3 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -4,7 +4,6 @@ const Clutter = imports.gi.Clutter;
 const GLib = imports.gi.GLib;
 const Gio = imports.gi.Gio;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Atk = imports.gi.Atk;
 const Mainloop = imports.mainloop;
 const Meta = imports.gi.Meta;
@@ -87,7 +86,7 @@ var FocusGrabber = class FocusGrabber {
 
         this._focusActorChangedId = global.stage.connect('notify::key-focus', 
this._focusActorChanged.bind(this));
 
-        if (!this._actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false))
+        if (!this._actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false))
             this._actor.grab_key_focus();
 
         this._focused = true;
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 3e3f4d4d8..9b264d9b0 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -989,7 +989,7 @@ class Panel extends St.Widget {
 
         menu.toggle();
         if (menu.isOpen)
-            menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+            menu.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
     }
 
     toggleAppMenu() {
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index 13cc72f7b..72fcae4c1 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -3,7 +3,6 @@
 const Clutter = imports.gi.Clutter;
 const Gio = imports.gi.Gio;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
 const St = imports.gi.St;
@@ -163,7 +162,7 @@ var Button = GObject.registerClass({
         if (symbol == Clutter.KEY_Left || symbol == Clutter.KEY_Right) {
             let group = global.focus_manager.get_group(this.actor);
             if (group) {
-                let direction = (symbol == Clutter.KEY_Left) ? Gtk.DirectionType.LEFT : 
Gtk.DirectionType.RIGHT;
+                let direction = (symbol == Clutter.KEY_Left) ? St.DirectionType.LEFT : 
St.DirectionType.RIGHT;
                 group.navigate_focus(this.actor, direction, false);
                 return Clutter.EVENT_STOP;
             }
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index 81508bac3..a824eaecc 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1,7 +1,6 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 
 const Clutter = imports.gi.Clutter;
-const Gtk = imports.gi.Gtk;
 const Gio = imports.gi.Gio;
 const GObject = imports.gi.GObject;
 const Shell = imports.gi.Shell;
@@ -543,7 +542,7 @@ var PopupMenuBase = class {
             let sensitive = menuItem.getSensitive();
             if (!sensitive && this._activeMenuItem == menuItem) {
                 if (!this.actor.navigate_focus(menuItem.actor,
-                                               Gtk.DirectionType.TAB_FORWARD,
+                                               St.DirectionType.TAB_FORWARD,
                                                true))
                     this.actor.grab_key_focus();
             } else if (sensitive && this._activeMenuItem == null) {
@@ -829,7 +828,7 @@ var PopupMenu = class extends PopupMenuBase {
         } else if (symbol == navKey) {
             if (!this.isOpen)
                 this.toggle();
-            this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+            this.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
             return Clutter.EVENT_STOP;
         } else
             return Clutter.EVENT_PROPAGATE;
@@ -1150,7 +1149,7 @@ var PopupSubMenuMenuItem = class extends PopupBaseMenuItem {
 
         if (symbol == Clutter.KEY_Right) {
             this._setOpenState(true);
-            this.menu.actor.navigate_focus(null, Gtk.DirectionType.DOWN, false);
+            this.menu.actor.navigate_focus(null, St.DirectionType.DOWN, false);
             return Clutter.EVENT_STOP;
         } else if (symbol == Clutter.KEY_Left && this._getOpenState()) {
             this._setOpenState(false);
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 829ca51db..4f3bee84c 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -8,7 +8,6 @@ const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
 const GnomeDesktop = imports.gi.GnomeDesktop;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Mainloop = imports.mainloop;
 const Meta = imports.gi.Meta;
 const Shell = imports.gi.Shell;
@@ -921,7 +920,7 @@ var ScreenShield = class {
 
         if (this._dialog) {
             this._dialog.actor.grab_key_focus();
-            this._dialog.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+            this._dialog.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
         }
     }
 
diff --git a/js/ui/search.js b/js/ui/search.js
index cf1e5d325..c53761fc8 100644
--- a/js/ui/search.js
+++ b/js/ui/search.js
@@ -4,7 +4,6 @@ const Clutter = imports.gi.Clutter;
 const GLib = imports.gi.GLib;
 const Gio = imports.gi.Gio;
 const GObject = imports.gi.GObject;
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const Signals = imports.signals;
 const Shell = imports.gi.Shell;
@@ -686,10 +685,10 @@ var SearchResults = class {
 
     navigateFocus(direction) {
         let rtl = this.actor.get_text_direction() == Clutter.TextDirection.RTL;
-        if (direction == Gtk.DirectionType.TAB_BACKWARD ||
-            direction == (rtl ? Gtk.DirectionType.RIGHT
-                              : Gtk.DirectionType.LEFT) ||
-            direction == Gtk.DirectionType.UP) {
+        if (direction == St.DirectionType.TAB_BACKWARD ||
+            direction == (rtl ? St.DirectionType.RIGHT
+                              : St.DirectionType.LEFT) ||
+            direction == St.DirectionType.UP) {
             this.actor.navigate_focus(null, direction, false);
             return;
         }
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
index 642762fe2..0b733eb65 100644
--- a/js/ui/shellEntry.js
+++ b/js/ui/shellEntry.js
@@ -1,7 +1,6 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 
 const Clutter = imports.gi.Clutter;
-const Gtk = imports.gi.Gtk;
 const St = imports.gi.St;
 
 const BoxPointer = imports.ui.boxpointer;
@@ -68,7 +67,7 @@ var EntryMenu = class extends PopupMenu.PopupMenu {
         super.open(animate);
         this._entry.add_style_pseudo_class('focus');
 
-        let direction = Gtk.DirectionType.TAB_FORWARD;
+        let direction = St.DirectionType.TAB_FORWARD;
         if (!this.actor.navigate_focus(null, direction, false))
             this.actor.grab_key_focus();
     }
diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
index b902eb364..f19d67b12 100644
--- a/js/ui/viewSelector.js
+++ b/js/ui/viewSelector.js
@@ -3,7 +3,6 @@
 const Clutter = imports.gi.Clutter;
 const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
-const Gtk = imports.gi.Gtk;
 const Mainloop = imports.mainloop;
 const Meta = imports.gi.Meta;
 const Signals = imports.signals;
@@ -34,8 +33,8 @@ var ViewPage = {
 var FocusTrap = GObject.registerClass(
 class FocusTrap extends St.Widget {
     vfunc_navigate_focus(from, direction) {
-        if (direction == Gtk.DirectionType.TAB_FORWARD ||
-            direction == Gtk.DirectionType.TAB_BACKWARD)
+        if (direction == St.DirectionType.TAB_FORWARD ||
+            direction == St.DirectionType.TAB_BACKWARD)
             return super.vfunc_navigate_focus(from, direction);
         return false;
     }
@@ -397,7 +396,7 @@ var ViewSelector = class {
 
     _a11yFocusPage(page) {
         this._showAppsButton.checked = page == this._appsPage;
-        page.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+        page.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
     }
 
     _onShowAppsButtonToggled() {
@@ -426,10 +425,10 @@ var ViewSelector = class {
             this.startSearch(event);
         } else if (!this._searchActive && !global.stage.key_focus) {
             if (symbol == Clutter.Tab || symbol == Clutter.Down) {
-                this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+                this._activePage.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
                 return Clutter.EVENT_STOP;
             } else if (symbol == Clutter.ISO_Left_Tab) {
-                this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_BACKWARD, false);
+                this._activePage.navigate_focus(null, St.DirectionType.TAB_BACKWARD, false);
                 return Clutter.EVENT_STOP;
             }
         }
@@ -557,22 +556,22 @@ var ViewSelector = class {
             let arrowNext, nextDirection;
             if (entry.get_text_direction() == Clutter.TextDirection.RTL) {
                 arrowNext = Clutter.Left;
-                nextDirection = Gtk.DirectionType.LEFT;
+                nextDirection = St.DirectionType.LEFT;
             } else {
                 arrowNext = Clutter.Right;
-                nextDirection = Gtk.DirectionType.RIGHT;
+                nextDirection = St.DirectionType.RIGHT;
             }
 
             if (symbol == Clutter.Tab) {
-                this._searchResults.navigateFocus(Gtk.DirectionType.TAB_FORWARD);
+                this._searchResults.navigateFocus(St.DirectionType.TAB_FORWARD);
                 return Clutter.EVENT_STOP;
             } else if (symbol == Clutter.ISO_Left_Tab) {
                 this._focusTrap.can_focus = false;
-                this._searchResults.navigateFocus(Gtk.DirectionType.TAB_BACKWARD);
+                this._searchResults.navigateFocus(St.DirectionType.TAB_BACKWARD);
                 this._focusTrap.can_focus = true;
                 return Clutter.EVENT_STOP;
             } else if (symbol == Clutter.Down) {
-                this._searchResults.navigateFocus(Gtk.DirectionType.DOWN);
+                this._searchResults.navigateFocus(St.DirectionType.DOWN);
                 return Clutter.EVENT_STOP;
             } else if (symbol == arrowNext && this._text.position == -1) {
                 this._searchResults.navigateFocus(nextDirection);
diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js
index 939ba15d2..b272b3a80 100644
--- a/js/ui/windowMenu.js
+++ b/js/ui/windowMenu.js
@@ -1,6 +1,5 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*
 
-const Gtk = imports.gi.Gtk;
 const Meta = imports.gi.Meta;
 const St = imports.gi.St;
 const Shell = imports.gi.Shell;
@@ -220,7 +219,7 @@ var WindowMenuManager = class {
         this._sourceActor.show();
 
         menu.open(BoxPointer.PopupAnimation.NONE);
-        menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+        menu.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
         menu.connect('open-state-changed', (menu_, isOpen) => {
             if (isOpen)
                 return;
diff --git a/src/shell-stack.c b/src/shell-stack.c
index f04bb58df..7fc760925 100644
--- a/src/shell-stack.c
+++ b/src/shell-stack.c
@@ -146,7 +146,7 @@ shell_stack_get_preferred_width (ClutterActor *actor,
 static gboolean
 shell_stack_navigate_focus (StWidget         *widget,
                             ClutterActor     *from,
-                            GtkDirectionType  direction)
+                            StDirectionType   direction)
 {
   ClutterActor *top_actor;
 
diff --git a/src/st/st-bin.c b/src/st/st-bin.c
index 21b36876a..f013909e8 100644
--- a/src/st/st-bin.c
+++ b/src/st/st-bin.c
@@ -200,7 +200,7 @@ st_bin_popup_menu (StWidget *widget)
 static gboolean
 st_bin_navigate_focus (StWidget         *widget,
                        ClutterActor     *from,
-                       GtkDirectionType  direction)
+                       StDirectionType   direction)
 {
   StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (widget));
   ClutterActor *bin_actor = CLUTTER_ACTOR (widget);
diff --git a/src/st/st-entry.c b/src/st/st-entry.c
index d23eeb2c7..4fdfda0e3 100644
--- a/src/st/st-entry.c
+++ b/src/st/st-entry.c
@@ -330,7 +330,7 @@ st_entry_style_changed (StWidget *self)
 static gboolean
 st_entry_navigate_focus (StWidget         *widget,
                          ClutterActor     *from,
-                         GtkDirectionType  direction)
+                         StDirectionType   direction)
 {
   StEntryPrivate *priv = ST_ENTRY_PRIV (widget);
 
diff --git a/src/st/st-focus-manager.c b/src/st/st-focus-manager.c
index 93f74157e..0753d7902 100644
--- a/src/st/st-focus-manager.c
+++ b/src/st/st-focus-manager.c
@@ -75,7 +75,7 @@ st_focus_manager_stage_event (ClutterActor *stage,
                              gpointer      user_data)
 {
   StFocusManager *manager = user_data;
-  GtkDirectionType direction;
+  StDirectionType direction;
   gboolean wrap_around = FALSE;
   ClutterActor *focused, *group;
 
@@ -85,26 +85,26 @@ st_focus_manager_stage_event (ClutterActor *stage,
   switch (event->key.keyval)
     {
     case CLUTTER_KEY_Up:
-      direction = GTK_DIR_UP;
+      direction = ST_DIR_UP;
       break;
     case CLUTTER_KEY_Down:
-      direction = GTK_DIR_DOWN;
+      direction = ST_DIR_DOWN;
       break;
     case CLUTTER_KEY_Left:
-      direction = GTK_DIR_LEFT;
+      direction = ST_DIR_LEFT;
       break;
     case CLUTTER_KEY_Right:
-      direction = GTK_DIR_RIGHT;
+      direction = ST_DIR_RIGHT;
       break;
     case CLUTTER_KEY_Tab:
       if (event->key.modifier_state & CLUTTER_SHIFT_MASK)
-        direction = GTK_DIR_TAB_BACKWARD;
+        direction = ST_DIR_TAB_BACKWARD;
       else
-        direction = GTK_DIR_TAB_FORWARD;
+        direction = ST_DIR_TAB_FORWARD;
       wrap_around = TRUE;
       break;
     case CLUTTER_KEY_ISO_Left_Tab:
-      direction = GTK_DIR_TAB_BACKWARD;
+      direction = ST_DIR_TAB_BACKWARD;
       wrap_around = TRUE;
       break;
 
diff --git a/src/st/st-widget.c b/src/st/st-widget.c
index 38a078c02..9f0ab0a7e 100644
--- a/src/st/st-widget.c
+++ b/src/st/st-widget.c
@@ -136,7 +136,7 @@ static void st_widget_recompute_style (StWidget    *widget,
                                        StThemeNode *old_theme_node);
 static gboolean st_widget_real_navigate_focus (StWidget         *widget,
                                                ClutterActor     *from,
-                                               GtkDirectionType  direction);
+                                               StDirectionType   direction);
 
 static AtkObject * st_widget_get_accessible (ClutterActor *actor);
 
@@ -1848,7 +1848,7 @@ st_widget_popup_menu (StWidget *self)
 static GList *
 filter_by_position (GList            *children,
                     ClutterActorBox  *rbox,
-                    GtkDirectionType  direction)
+                    StDirectionType   direction)
 {
   ClutterActorBox cbox;
   ClutterVertex abs_vertices[4];
@@ -1868,28 +1868,28 @@ filter_by_position (GList            *children,
        */
       switch (direction)
         {
-        case GTK_DIR_UP:
+        case ST_DIR_UP:
           if (cbox.y2 > rbox->y1 + 0.1)
             continue;
           break;
 
-        case GTK_DIR_DOWN:
+        case ST_DIR_DOWN:
           if (cbox.y1 < rbox->y2 - 0.1)
             continue;
           break;
 
-        case GTK_DIR_LEFT:
+        case ST_DIR_LEFT:
           if (cbox.x2 > rbox->x1 + 0.1)
             continue;
           break;
 
-        case GTK_DIR_RIGHT:
+        case ST_DIR_RIGHT:
           if (cbox.x1 < rbox->x2 - 0.1)
             continue;
           break;
 
-        case GTK_DIR_TAB_BACKWARD:
-        case GTK_DIR_TAB_FORWARD:
+        case ST_DIR_TAB_BACKWARD:
+        case ST_DIR_TAB_FORWARD:
         default:
           g_return_val_if_reached (NULL);
         }
@@ -1946,7 +1946,7 @@ sort_by_distance (gconstpointer  a,
 static gboolean
 st_widget_real_navigate_focus (StWidget         *widget,
                                ClutterActor     *from,
-                               GtkDirectionType  direction)
+                               StDirectionType   direction)
 {
   StWidgetPrivate *priv = st_widget_get_instance_private (widget);
   ClutterActor *widget_actor, *focus_child;
@@ -1998,15 +1998,15 @@ st_widget_real_navigate_focus (StWidget         *widget,
     }
 
   children = st_widget_get_focus_chain (widget);
-  if (direction == GTK_DIR_TAB_FORWARD ||
-      direction == GTK_DIR_TAB_BACKWARD)
+  if (direction == ST_DIR_TAB_FORWARD ||
+      direction == ST_DIR_TAB_BACKWARD)
     {
       /* At this point we know that we want to navigate focus to one of
        * @widget's immediate children; the next one after @focus_child, or the
        * first one if @focus_child is %NULL. (With "next" and "first" being
        * determined by @direction.)
        */
-      if (direction == GTK_DIR_TAB_BACKWARD)
+      if (direction == ST_DIR_TAB_BACKWARD)
         children = g_list_reverse (children);
 
       if (focus_child)
@@ -2044,20 +2044,20 @@ st_widget_real_navigate_focus (StWidget         *widget,
           clutter_actor_box_from_vertices (&sort_box, abs_vertices);
           switch (direction)
             {
-            case GTK_DIR_UP:
+            case ST_DIR_UP:
               sort_box.y1 = sort_box.y2;
               break;
-            case GTK_DIR_DOWN:
+            case ST_DIR_DOWN:
               sort_box.y2 = sort_box.y1;
               break;
-            case GTK_DIR_LEFT:
+            case ST_DIR_LEFT:
               sort_box.x1 = sort_box.x2;
               break;
-            case GTK_DIR_RIGHT:
+            case ST_DIR_RIGHT:
               sort_box.x2 = sort_box.x1;
               break;
-            case GTK_DIR_TAB_FORWARD:
-            case GTK_DIR_TAB_BACKWARD:
+            case ST_DIR_TAB_FORWARD:
+            case ST_DIR_TAB_BACKWARD:
             default:
               g_warn_if_reached ();
             }
@@ -2127,7 +2127,7 @@ st_widget_real_navigate_focus (StWidget         *widget,
 gboolean
 st_widget_navigate_focus (StWidget         *widget,
                           ClutterActor     *from,
-                          GtkDirectionType  direction,
+                          StDirectionType   direction,
                           gboolean          wrap_around)
 {
   g_return_val_if_fail (ST_IS_WIDGET (widget), FALSE);
diff --git a/src/st/st-widget.h b/src/st/st-widget.h
index 4f351ea9e..36a632567 100644
--- a/src/st/st-widget.h
+++ b/src/st/st-widget.h
@@ -38,6 +38,16 @@ G_BEGIN_DECLS
 #define ST_TYPE_WIDGET                 (st_widget_get_type ())
 G_DECLARE_DERIVABLE_TYPE (StWidget, st_widget, ST, WIDGET, ClutterActor)
 
+typedef enum
+{
+  ST_DIR_TAB_FORWARD,
+  ST_DIR_TAB_BACKWARD,
+  ST_DIR_UP,
+  ST_DIR_DOWN,
+  ST_DIR_LEFT,
+  ST_DIR_RIGHT,
+} StDirectionType;
+
 typedef struct _StWidgetClass          StWidgetClass;
 
 /**
@@ -64,7 +74,7 @@ struct _StWidgetClass
    */
   gboolean (* navigate_focus)      (StWidget         *self,
                                     ClutterActor     *from,
-                                    GtkDirectionType  direction);
+                                    StDirectionType   direction);
   GType    (* get_accessible_type) (void);
 
   GList *  (* get_focus_chain)     (StWidget         *widget);
@@ -113,7 +123,7 @@ void                  st_widget_set_can_focus             (StWidget        *widg
 gboolean              st_widget_get_can_focus             (StWidget        *widget);
 gboolean              st_widget_navigate_focus            (StWidget        *widget,
                                                            ClutterActor    *from,
-                                                           GtkDirectionType direction,
+                                                           StDirectionType  direction,
                                                            gboolean         wrap_around);
 
 ClutterActor *        st_widget_get_label_actor           (StWidget        *widget);


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