[libpanel/wip/chergert/fix-14] types: add panel-types.h and use it



commit e052b397a3b1bfac7c14449decd9bd1aa224f6cd
Author: Christian Hergert <chergert redhat com>
Date:   Mon Sep 12 20:52:05 2022 -0700

    types: add panel-types.h and use it
    
    This allows us more flexibility with coordinating objects and how they
    can reference each others types. It also tends to be a faster way of
    dealing with header inclusions, but that's beside-the-point for now.
    
    This uses the panel-types.h from headers, but also fixes the sources to
    contain the include for the actual type definition, functions, etc.

 src/libpanel.h                    |  5 ++-
 src/meson.build                   |  3 +-
 src/panel-dock-child-private.h    |  2 +-
 src/panel-dock-child.c            |  1 +
 src/panel-dock.h                  | 90 +++++++++++++++++----------------------
 src/panel-drop-controls-private.h |  4 +-
 src/panel-drop-controls.c         |  2 +
 src/panel-frame-header-bar.c      |  9 ++--
 src/panel-frame-header-bar.h      |  2 +-
 src/panel-frame-header.c          |  1 +
 src/panel-frame-header.h          |  3 +-
 src/panel-frame-switcher.h        |  3 +-
 src/panel-frame-tab-bar.c         |  2 +
 src/panel-frame-tab-bar.h         |  2 +-
 src/panel-frame.h                 |  4 +-
 src/panel-grid-column.c           |  1 +
 src/panel-grid-column.h           |  5 +--
 src/panel-grid-private.h          |  2 -
 src/panel-grid.c                  |  3 ++
 src/panel-grid.h                  |  4 +-
 src/panel-handle-private.h        |  2 +-
 src/panel-handle.c                |  1 +
 src/panel-init.h                  |  4 +-
 src/panel-layout-item.h           |  6 +--
 src/panel-layout.h                |  5 +--
 src/panel-omni-bar.h              |  2 +-
 src/panel-paned.h                 |  2 +-
 src/panel-resizer-private.h       |  2 +-
 src/panel-save-delegate.h         |  2 +-
 src/panel-save-dialog.c           |  4 +-
 src/panel-save-dialog.h           |  3 +-
 src/panel-statusbar.h             |  2 +-
 src/panel-theme-selector.h        |  2 +-
 src/panel-toggle-button.c         |  3 +-
 src/panel-toggle-button.h         |  3 +-
 src/panel-types.h                 | 62 +++++++++++++++++++++++++++
 src/panel-widget.c                |  1 +
 src/panel-widget.h                |  3 +-
 38 files changed, 153 insertions(+), 104 deletions(-)
---
diff --git a/src/libpanel.h b/src/libpanel.h
index 16c90ee..a181698 100644
--- a/src/libpanel.h
+++ b/src/libpanel.h
@@ -20,9 +20,12 @@
 
 #pragma once
 
+#include <adwaita.h>
+
 #define LIBPANEL_INSIDE
-# include "panel-dock.h"
+# include "panel-types.h"
 # include "panel-enums.h"
+# include "panel-dock.h"
 # include "panel-frame.h"
 # include "panel-frame-header.h"
 # include "panel-frame-header-bar.h"
diff --git a/src/meson.build b/src/meson.build
index c6280a7..fd567ca 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -74,11 +74,12 @@ libpanel_headers = [
   'panel-theme-selector.h',
   'panel-toggle-button.h',
   'panel-version-macros.h',
+  'panel-types.h',
   'panel-widget.h',
 ]
 
 panel_enum_headers = [
-  'panel-dock.h',
+  'panel-types.h',
 ]
 
 libpanel_enums = gnome.mkenums_simple('panel-enums',
diff --git a/src/panel-dock-child-private.h b/src/panel-dock-child-private.h
index 9c08baf..b3b4c80 100644
--- a/src/panel-dock-child-private.h
+++ b/src/panel-dock-child-private.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-dock.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-dock-child.c b/src/panel-dock-child.c
index 1fec901..7df8b6d 100644
--- a/src/panel-dock-child.c
+++ b/src/panel-dock-child.c
@@ -20,6 +20,7 @@
 
 #include "config.h"
 
+#include "panel-dock.h"
 #include "panel-dock-child-private.h"
 #include "panel-enums.h"
 #include "panel-frame-private.h"
diff --git a/src/panel-dock.h b/src/panel-dock.h
index 27d42de..5600ea3 100644
--- a/src/panel-dock.h
+++ b/src/panel-dock.h
@@ -22,26 +22,12 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-frame.h"
-#include "panel-version-macros.h"
-#include "panel-widget.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
 #define PANEL_TYPE_DOCK (panel_dock_get_type())
 
-typedef enum
-{
-  PANEL_AREA_START,
-  PANEL_AREA_END,
-  PANEL_AREA_TOP,
-  PANEL_AREA_BOTTOM,
-  PANEL_AREA_CENTER,
-} PanelArea;
-
-typedef void (*PanelFrameCallback) (PanelFrame *frame,
-                                    gpointer    user_data);
-
 PANEL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (PanelDock, panel_dock, PANEL, DOCK, GtkWidget)
 
@@ -56,63 +42,63 @@ struct _PanelDockClass
 };
 
 PANEL_AVAILABLE_IN_ALL
-GtkWidget *panel_dock_new                   (void);
+GtkWidget   *panel_dock_new                   (void);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_reveal_area       (PanelDock          *self,
-                                             PanelArea           area);
+gboolean     panel_dock_get_reveal_area       (PanelDock          *self,
+                                               PanelArea           area);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_reveal_area       (PanelDock          *self,
-                                             PanelArea           area,
-                                             gboolean            reveal);
+void         panel_dock_set_reveal_area       (PanelDock          *self,
+                                               PanelArea           area,
+                                               gboolean            reveal);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_reveal_start      (PanelDock          *self);
+gboolean     panel_dock_get_reveal_start      (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_reveal_end        (PanelDock          *self);
+gboolean     panel_dock_get_reveal_end        (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_reveal_top        (PanelDock          *self);
+gboolean     panel_dock_get_reveal_top        (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_reveal_bottom     (PanelDock          *self);
+gboolean     panel_dock_get_reveal_bottom     (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_reveal_start      (PanelDock          *self,
-                                             gboolean            reveal_start);
+void         panel_dock_set_reveal_start      (PanelDock          *self,
+                                               gboolean            reveal_start);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_reveal_end        (PanelDock          *self,
-                                             gboolean            reveal_end);
+void         panel_dock_set_reveal_end        (PanelDock          *self,
+                                               gboolean            reveal_end);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_reveal_top        (PanelDock          *self,
-                                             gboolean            reveal_top);
+void         panel_dock_set_reveal_top        (PanelDock          *self,
+                                               gboolean            reveal_top);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_reveal_bottom     (PanelDock          *self,
-                                             gboolean            reveal_bottom);
+void         panel_dock_set_reveal_bottom     (PanelDock          *self,
+                                               gboolean            reveal_bottom);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_can_reveal_area   (PanelDock          *self,
-                                             PanelArea           area);
+gboolean     panel_dock_get_can_reveal_area   (PanelDock          *self,
+                                               PanelArea           area);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_can_reveal_bottom (PanelDock          *self);
+gboolean     panel_dock_get_can_reveal_bottom (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_can_reveal_top    (PanelDock          *self);
+gboolean     panel_dock_get_can_reveal_top    (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_can_reveal_start  (PanelDock          *self);
+gboolean     panel_dock_get_can_reveal_start  (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-gboolean   panel_dock_get_can_reveal_end    (PanelDock          *self);
+gboolean     panel_dock_get_can_reveal_end    (PanelDock          *self);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_start_width       (PanelDock          *self,
-                                             int                 width);
+void         panel_dock_set_start_width       (PanelDock          *self,
+                                               int                 width);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_end_width         (PanelDock          *self,
-                                             int                 width);
+void         panel_dock_set_end_width         (PanelDock          *self,
+                                               int                 width);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_top_height        (PanelDock          *self,
-                                             int                 height);
+void         panel_dock_set_top_height        (PanelDock          *self,
+                                               int                 height);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_set_bottom_height     (PanelDock          *self,
-                                             int                 height);
+void         panel_dock_set_bottom_height     (PanelDock          *self,
+                                               int                 height);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_foreach_frame         (PanelDock          *self,
-                                             PanelFrameCallback  callback,
-                                             gpointer            user_data);
+void         panel_dock_foreach_frame         (PanelDock          *self,
+                                               PanelFrameCallback  callback,
+                                               gpointer            user_data);
 PANEL_AVAILABLE_IN_ALL
-void       panel_dock_remove                (PanelDock          *self,
-                                             GtkWidget          *child);
+void         panel_dock_remove                (PanelDock          *self,
+                                               GtkWidget          *child);
 
 G_END_DECLS
diff --git a/src/panel-drop-controls-private.h b/src/panel-drop-controls-private.h
index 50c8037..f35eb04 100644
--- a/src/panel-drop-controls-private.h
+++ b/src/panel-drop-controls-private.h
@@ -20,7 +20,9 @@
 
 #pragma once
 
-#include "panel-dock.h"
+#include <gtk/gtk.h>
+
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-drop-controls.c b/src/panel-drop-controls.c
index f8dbccd..e1f9911 100644
--- a/src/panel-drop-controls.c
+++ b/src/panel-drop-controls.c
@@ -23,12 +23,14 @@
 #include "panel-dock-private.h"
 #include "panel-drop-controls-private.h"
 #include "panel-enums.h"
+#include "panel-frame-header.h"
 #include "panel-frame-private.h"
 #include "panel-frame-switcher-private.h"
 #include "panel-grid-private.h"
 #include "panel-grid-column-private.h"
 #include "panel-paned.h"
 #include "panel-resizer-private.h"
+#include "panel-widget.h"
 
 struct _PanelDropControls
 {
diff --git a/src/panel-frame-header-bar.c b/src/panel-frame-header-bar.c
index 090e379..1308ac3 100644
--- a/src/panel-frame-header-bar.c
+++ b/src/panel-frame-header-bar.c
@@ -20,15 +20,18 @@
 
 #include "config.h"
 
-#include <adwaita.h>
 #include <glib/gi18n.h>
 
+#include <adwaita.h>
+
+#include "panel-dock-private.h"
+#include "panel-frame-private.h"
+#include "panel-frame-header.h"
 #include "panel-frame-header-bar.h"
 #include "panel-frame-header-bar-row-private.h"
-#include "panel-frame-private.h"
 #include "panel-joined-menu-private.h"
-#include "panel-dock-private.h"
 #include "panel-scaler-private.h"
+#include "panel-widget.h"
 
 struct _PanelFrameHeaderBar
 {
diff --git a/src/panel-frame-header-bar.h b/src/panel-frame-header-bar.h
index 4786b6c..9a67203 100644
--- a/src/panel-frame-header-bar.h
+++ b/src/panel-frame-header-bar.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-frame-header.c b/src/panel-frame-header.c
index e5e3565..ce5c460 100644
--- a/src/panel-frame-header.c
+++ b/src/panel-frame-header.c
@@ -22,6 +22,7 @@
 
 #include "panel-frame.h"
 #include "panel-frame-header.h"
+#include "panel-widget.h"
 
 G_DEFINE_INTERFACE (PanelFrameHeader, panel_frame_header, GTK_TYPE_WIDGET)
 
diff --git a/src/panel-frame-header.h b/src/panel-frame-header.h
index c40cf1a..de01a0c 100644
--- a/src/panel-frame-header.h
+++ b/src/panel-frame-header.h
@@ -22,8 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
-#include "panel-widget.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-frame-switcher.h b/src/panel-frame-switcher.h
index 5475a56..ca4e5a5 100644
--- a/src/panel-frame-switcher.h
+++ b/src/panel-frame-switcher.h
@@ -22,8 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-frame-header.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-frame-tab-bar.c b/src/panel-frame-tab-bar.c
index 87de384..d8c6f66 100644
--- a/src/panel-frame-tab-bar.c
+++ b/src/panel-frame-tab-bar.c
@@ -22,9 +22,11 @@
 
 #include <adwaita.h>
 
+#include "panel-frame-header.h"
 #include "panel-frame-private.h"
 #include "panel-frame-switcher.h"
 #include "panel-frame-tab-bar.h"
+#include "panel-widget.h"
 
 struct _PanelFrameTabBar
 {
diff --git a/src/panel-frame-tab-bar.h b/src/panel-frame-tab-bar.h
index b2f66f1..d25afd0 100644
--- a/src/panel-frame-tab-bar.h
+++ b/src/panel-frame-tab-bar.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-frame.h b/src/panel-frame.h
index 8a51b90..567d16d 100644
--- a/src/panel-frame.h
+++ b/src/panel-frame.h
@@ -22,9 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-frame-header.h"
-#include "panel-widget.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-grid-column.c b/src/panel-grid-column.c
index 0cb8ceb..c4ee7a2 100644
--- a/src/panel-grid-column.c
+++ b/src/panel-grid-column.c
@@ -20,6 +20,7 @@
 
 #include "config.h"
 
+#include "panel-frame.h"
 #include "panel-grid-private.h"
 #include "panel-grid-column-private.h"
 #include "panel-paned.h"
diff --git a/src/panel-grid-column.h b/src/panel-grid-column.h
index 016ffe8..452e571 100644
--- a/src/panel-grid-column.h
+++ b/src/panel-grid-column.h
@@ -22,10 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-dock.h"
-#include "panel-frame.h"
-#include "panel-version-macros.h"
-#include "panel-widget.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-grid-private.h b/src/panel-grid-private.h
index 29f7fe8..22cab70 100644
--- a/src/panel-grid-private.h
+++ b/src/panel-grid-private.h
@@ -20,9 +20,7 @@
 
 #pragma once
 
-#include "panel-dock.h"
 #include "panel-grid.h"
-#include "panel-grid-column.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-grid.c b/src/panel-grid.c
index d894f38..dac2b4b 100644
--- a/src/panel-grid.c
+++ b/src/panel-grid.c
@@ -20,6 +20,8 @@
 
 #include "config.h"
 
+#include "panel-frame.h"
+#include "panel-frame-header.h"
 #include "panel-frame-private.h"
 #include "panel-frame-tab-bar.h"
 #include "panel-grid-column.h"
@@ -27,6 +29,7 @@
 #include "panel-paned.h"
 #include "panel-resizer-private.h"
 #include "panel-save-dialog.h"
+#include "panel-widget.h"
 
 typedef struct
 {
diff --git a/src/panel-grid.h b/src/panel-grid.h
index d3dc6ab..5f6ff9c 100644
--- a/src/panel-grid.h
+++ b/src/panel-grid.h
@@ -22,9 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-frame.h"
-#include "panel-grid-column.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-handle-private.h b/src/panel-handle-private.h
index 1830b7a..c48130c 100644
--- a/src/panel-handle-private.h
+++ b/src/panel-handle-private.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-dock.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-handle.c b/src/panel-handle.c
index 51f3039..5b14fe9 100644
--- a/src/panel-handle.c
+++ b/src/panel-handle.c
@@ -20,6 +20,7 @@
 
 #include "config.h"
 
+#include "panel-dock.h"
 #include "panel-dock-child-private.h"
 #include "panel-handle-private.h"
 
diff --git a/src/panel-init.h b/src/panel-init.h
index 4992df6..84707a8 100644
--- a/src/panel-init.h
+++ b/src/panel-init.h
@@ -20,9 +20,7 @@
 
 #pragma once
 
-#include <glib.h>
-
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-layout-item.h b/src/panel-layout-item.h
index 4ba4efd..dbd5078 100644
--- a/src/panel-layout-item.h
+++ b/src/panel-layout-item.h
@@ -18,13 +18,9 @@
  * SPDX-License-Identifier: LGPL-3.0-or-later
  */
 
-
 #pragma once
 
-#include <glib-object.h>
-
-#include "panel-position.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-layout.h b/src/panel-layout.h
index aa996fe..3701bab 100644
--- a/src/panel-layout.h
+++ b/src/panel-layout.h
@@ -20,10 +20,7 @@
 
 #pragma once
 
-#include <glib-object.h>
-
-#include "panel-layout-item.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-omni-bar.h b/src/panel-omni-bar.h
index b615922..1f87741 100644
--- a/src/panel-omni-bar.h
+++ b/src/panel-omni-bar.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-paned.h b/src/panel-paned.h
index 38afca0..e4ae37f 100644
--- a/src/panel-paned.h
+++ b/src/panel-paned.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-resizer-private.h b/src/panel-resizer-private.h
index fa44f46..e365c39 100644
--- a/src/panel-resizer-private.h
+++ b/src/panel-resizer-private.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-dock.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-save-delegate.h b/src/panel-save-delegate.h
index 7279622..98a079f 100644
--- a/src/panel-save-delegate.h
+++ b/src/panel-save-delegate.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-save-dialog.c b/src/panel-save-dialog.c
index 5e8f6f2..952516c 100644
--- a/src/panel-save-dialog.c
+++ b/src/panel-save-dialog.c
@@ -20,9 +20,11 @@
 
 #include "config.h"
 
-#include <adwaita.h>
 #include <glib/gi18n.h>
 
+#include <adwaita.h>
+
+#include "panel-save-delegate.h"
 #include "panel-save-dialog.h"
 
 struct _PanelSaveDialog
diff --git a/src/panel-save-dialog.h b/src/panel-save-dialog.h
index f80c849..c55dca8 100644
--- a/src/panel-save-dialog.h
+++ b/src/panel-save-dialog.h
@@ -22,8 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-save-delegate.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-statusbar.h b/src/panel-statusbar.h
index 660db00..1e7f883 100644
--- a/src/panel-statusbar.h
+++ b/src/panel-statusbar.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-theme-selector.h b/src/panel-theme-selector.h
index 13482a2..9a5004b 100644
--- a/src/panel-theme-selector.h
+++ b/src/panel-theme-selector.h
@@ -22,7 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-toggle-button.c b/src/panel-toggle-button.c
index fa755eb..87a0d3c 100644
--- a/src/panel-toggle-button.c
+++ b/src/panel-toggle-button.c
@@ -22,8 +22,9 @@
 
 #include "panel-dock-private.h"
 #include "panel-dock-child-private.h"
-#include "panel-toggle-button.h"
 #include "panel-enums.h"
+#include "panel-toggle-button.h"
+#include "panel-widget.h"
 
 #define TIMEOUT_EXPAND 500
 
diff --git a/src/panel-toggle-button.h b/src/panel-toggle-button.h
index f8a8ac9..c821de8 100644
--- a/src/panel-toggle-button.h
+++ b/src/panel-toggle-button.h
@@ -22,8 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-dock.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/panel-types.h b/src/panel-types.h
new file mode 100644
index 0000000..b076178
--- /dev/null
+++ b/src/panel-types.h
@@ -0,0 +1,62 @@
+/* panel-types.h
+ *
+ * Copyright 2022 Christian Hergert <chergert redhat com>
+ *
+ * This file is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 3 of the License, or (at your option)
+ * any later version.
+ *
+ * This file is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * SPDX-License-Identifier: LGPL-3.0-or-later
+ */
+
+#pragma once
+
+#include <glib-object.h>
+
+#include "panel-version-macros.h"
+
+G_BEGIN_DECLS
+
+typedef struct _PanelDock           PanelDock;
+typedef struct _PanelFrame          PanelFrame;
+typedef struct _PanelFrameHeader    PanelFrameHeader;
+typedef struct _PanelFrameHeaderBar PanelFrameHeaderBar;
+typedef struct _PanelFrameSwitcher  PanelFrameSwitcher;
+typedef struct _PanelFrameTabBar    PanelFrameTabBar;
+typedef struct _PanelGrid           PanelGrid;
+typedef struct _PanelGridColumn     PanelGridColumn;
+typedef struct _PanelLayout         PanelLayout;
+typedef struct _PanelLayoutItem     PanelLayoutItem;
+typedef struct _PanelOmniBar        PanelOmniBar;
+typedef struct _PanelPaned          PanelPaned;
+typedef struct _PanelPosition       PanelPosition;
+typedef struct _PanelSaveDelegate   PanelSaveDelegate;
+typedef struct _PanelSaveDialog     PanelSaveDialog;
+typedef struct _PanelStatusbar      PanelStatusbar;
+typedef struct _PanelThemeSelector  PanelThemeSelector;
+typedef struct _PanelToggleButton   PanelToggleButton;
+typedef struct _PanelWidget         PanelWidget;
+
+typedef enum _PanelArea
+{
+  PANEL_AREA_START,
+  PANEL_AREA_END,
+  PANEL_AREA_TOP,
+  PANEL_AREA_BOTTOM,
+  PANEL_AREA_CENTER,
+} PanelArea;
+
+typedef void (*PanelFrameCallback) (PanelFrame *frame,
+                                    gpointer    user_data);
+
+
+G_END_DECLS
diff --git a/src/panel-widget.c b/src/panel-widget.c
index fe63139..3b78412 100644
--- a/src/panel-widget.c
+++ b/src/panel-widget.c
@@ -48,6 +48,7 @@
 #include "panel-dock-private.h"
 #include "panel-dock-child-private.h"
 #include "panel-frame-private.h"
+#include "panel-save-delegate.h"
 #include "panel-widget-private.h"
 
 typedef struct
diff --git a/src/panel-widget.h b/src/panel-widget.h
index 38c6590..b7d56bc 100644
--- a/src/panel-widget.h
+++ b/src/panel-widget.h
@@ -22,8 +22,7 @@
 
 #include <gtk/gtk.h>
 
-#include "panel-save-delegate.h"
-#include "panel-version-macros.h"
+#include "panel-types.h"
 
 G_BEGIN_DECLS
 


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