[gnome-builder] libide/gui: use libpanel position getters
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide/gui: use libpanel position getters
- Date: Fri, 16 Sep 2022 03:39:24 +0000 (UTC)
commit 315c8dc0a382ff51d985e3bbf007d85d738b5510
Author: Christian Hergert <chergert redhat com>
Date: Thu Sep 15 20:39:11 2022 -0700
libide/gui: use libpanel position getters
Now that we have this in libpanel, we should stop using ours. But just
wrap them for now so we don't have to do a bunch of replacements.
src/libide/gui/ide-frame.c | 39 +------------------------------
src/libide/gui/ide-page.c | 27 +--------------------
src/libide/gui/ide-pane.c | 58 +---------------------------------------------
3 files changed, 3 insertions(+), 121 deletions(-)
---
diff --git a/src/libide/gui/ide-frame.c b/src/libide/gui/ide-frame.c
index eb5462e68..048040a2f 100644
--- a/src/libide/gui/ide-frame.c
+++ b/src/libide/gui/ide-frame.c
@@ -350,44 +350,7 @@ ide_frame_addin_find_by_module_name (IdeFrame *frame,
PanelPosition *
ide_frame_get_position (IdeFrame *self)
{
- PanelPosition *ret;
- PanelGrid *grid;
- guint n_columns;
-
- g_return_val_if_fail (IDE_IS_FRAME (self), NULL);
-
- /* Frames are always in the center grid */
- ret = panel_position_new ();
- panel_position_set_area (ret, PANEL_AREA_CENTER);
-
- /* Implausible but handle it anyway */
- grid = PANEL_GRID (gtk_widget_get_ancestor (GTK_WIDGET (self), PANEL_TYPE_GRID));
- if (grid == NULL)
- return ret;
-
- n_columns = panel_grid_get_n_columns (grid);
-
- for (guint c = 0; c < n_columns; c++)
- {
- PanelGridColumn *grid_column = panel_grid_get_column (grid, c);
- guint n_rows = panel_grid_column_get_n_rows (grid_column);
-
- for (guint r = 0; r < n_rows; r++)
- {
- PanelFrame *frame = panel_grid_column_get_row (grid_column, r);
-
- if (frame == PANEL_FRAME (self))
- {
- panel_position_set_column (ret, c);
- panel_position_set_row (ret, r);
- return ret;
- }
- }
- }
-
- g_critical ("Failed to locate frame within grid");
-
- return ret;
+ return panel_frame_get_position (PANEL_FRAME (self));
}
gboolean
diff --git a/src/libide/gui/ide-page.c b/src/libide/gui/ide-page.c
index 18387aa26..5a5cdabc1 100644
--- a/src/libide/gui/ide-page.c
+++ b/src/libide/gui/ide-page.c
@@ -631,32 +631,7 @@ ide_page_set_progress (IdePage *self,
PanelPosition *
ide_page_get_position (IdePage *self)
{
- PanelPosition *position;
- GtkWidget *frame;
- guint n_pages;
-
- g_return_val_if_fail (IDE_IS_PAGE (self), NULL);
-
- if (!(frame = gtk_widget_get_ancestor (GTK_WIDGET (self), IDE_TYPE_FRAME)))
- return NULL;
-
- if (!(position = ide_frame_get_position (IDE_FRAME (frame))))
- return NULL;
-
- n_pages = panel_frame_get_n_pages (PANEL_FRAME (frame));
-
- for (guint i = 0; i < n_pages; i++)
- {
- if (panel_frame_get_page (PANEL_FRAME (frame), i) == PANEL_WIDGET (self))
- {
- panel_position_set_depth (position, i);
- return position;
- }
- }
-
- g_critical ("Failed to find page within frame");
-
- return position;
+ return panel_widget_get_position (PANEL_WIDGET (self));
}
void
diff --git a/src/libide/gui/ide-pane.c b/src/libide/gui/ide-pane.c
index 0b00045cc..f030292d4 100644
--- a/src/libide/gui/ide-pane.c
+++ b/src/libide/gui/ide-pane.c
@@ -248,61 +248,5 @@ ide_clear_pane (IdePane **location)
PanelPosition *
ide_pane_get_position (IdePane *self)
{
- static GType dock_child_type = G_TYPE_INVALID;
- PanelArea area;
- PanelPosition *ret;
- GtkWidget *frame;
- GtkWidget *paned;
- GtkWidget *child;
- guint n_pages;
- int depth = 0;
- int row_or_column = 0;
-
- g_return_val_if_fail (IDE_IS_PANE (self), NULL);
-
- if (dock_child_type == G_TYPE_INVALID)
- {
- if (!(dock_child_type = g_type_from_name ("PanelDockChild")))
- g_return_val_if_reached (NULL);
- }
-
- if (!(frame = gtk_widget_get_ancestor (GTK_WIDGET (self), PANEL_TYPE_FRAME)))
- g_return_val_if_reached (NULL);
-
- n_pages = panel_frame_get_n_pages (PANEL_FRAME (frame));
-
- for (guint i = 0; i < n_pages; i++)
- {
- if (panel_frame_get_page (PANEL_FRAME (frame), i) == PANEL_WIDGET (self))
- {
- depth = i;
- break;
- }
- }
-
- if (!(paned = gtk_widget_get_ancestor (frame, PANEL_TYPE_PANED)))
- g_return_val_if_reached (NULL);
-
- for (GtkWidget *iter = gtk_widget_get_first_child (paned);
- iter != NULL && !gtk_widget_is_ancestor (frame, iter);
- iter = gtk_widget_get_next_sibling (iter))
- row_or_column++;
-
- if (!(child = gtk_widget_get_ancestor (paned, dock_child_type)))
- g_return_val_if_reached (NULL);
-
- g_object_get (child,
- "area", &area,
- NULL);
-
- ret = panel_position_new ();
- panel_position_set_area (ret, area);
- panel_position_set_depth (ret, depth);
-
- if (area == PANEL_AREA_START || area == PANEL_AREA_END)
- panel_position_set_row (ret, row_or_column);
- else
- panel_position_set_column (ret, row_or_column);
-
- return ret;
+ return panel_widget_get_position (PANEL_WIDGET (self));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]