[gtkmm] Gtk: Don't derive gtkmm__GtkXxx GTypes from final types



commit dd261a58a876cd57aa9f18f95204390e78fe9d6d
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Wed Jun 8 18:48:28 2022 +0200

    Gtk: Don't derive gtkmm__GtkXxx GTypes from final types
    
    Add _DO_NOT_DERIVE_GTYPE and _ABI_AS_WITH_DERIVED_GTYPE where the
    underlying C class is declared G_DECLARE_FINAL_TYPE or
    GDK__DECLARE_INTERNAL_TYPE.

 gtk/src/binlayout.hg            |  2 ++
 gtk/src/boolfilter.hg           |  2 ++
 gtk/src/boxlayout.hg            |  2 ++
 gtk/src/centerlayout.hg         |  2 ++
 gtk/src/constraint.hg           |  2 ++
 gtk/src/constraintguide.hg      |  2 ++
 gtk/src/constraintlayout.hg     |  2 ++
 gtk/src/directorylist.hg        |  2 ++
 gtk/src/dragicon.hg             |  2 ++
 gtk/src/dropdown.hg             |  2 ++
 gtk/src/editablelabel.hg        |  2 ++
 gtk/src/filechoosernative.hg    |  2 ++
 gtk/src/filterlistmodel.hg      |  2 ++
 gtk/src/flattenlistmodel.hg     |  2 ++
 gtk/src/gridlayout.hg           |  2 ++
 gtk/src/gridlayoutchild.hg      |  2 ++
 gtk/src/mediacontrols.hg        |  2 ++
 gtk/src/multifilter.hg          |  6 ++++++
 gtk/src/multiselection.hg       |  2 ++
 gtk/src/multisorter.hg          |  2 ++
 gtk/src/noselection.hg          |  2 ++
 gtk/src/numericsorter.hg        |  2 ++
 gtk/src/picture.hg              |  2 ++
 gtk/src/selectionfiltermodel.hg |  2 ++
 gtk/src/shortcut.hg             |  2 ++
 gtk/src/shortcutaction.hg       | 14 ++++++++++++++
 gtk/src/shortcuttrigger.hg      | 10 ++++++++++
 gtk/src/singleselection.hg      |  2 ++
 gtk/src/slicelistmodel.hg       |  2 ++
 gtk/src/sortlistmodel.hg        |  2 ++
 gtk/src/stringfilter.hg         |  2 ++
 gtk/src/stringlist.hg           |  2 ++
 gtk/src/stringobject.hg         |  2 ++
 gtk/src/stringsorter.hg         |  2 ++
 gtk/src/treeexpander.hg         |  2 ++
 gtk/src/treelistmodel.hg        |  2 ++
 gtk/src/treelistrow.hg          |  2 ++
 gtk/src/video.hg                |  2 ++
 gtk/src/widgetpaintable.hg      |  2 ++
 gtk/src/windowcontrols.hg       |  2 ++
 gtk/src/windowhandle.hg         |  2 ++
 41 files changed, 106 insertions(+)
---
diff --git a/gtk/src/binlayout.hg b/gtk/src/binlayout.hg
index 89ab7390..0a3695c5 100644
--- a/gtk/src/binlayout.hg
+++ b/gtk/src/binlayout.hg
@@ -35,6 +35,8 @@ namespace Gtk
 class GTKMM_API BinLayout : public LayoutManager
 {
   _CLASS_GOBJECT(BinLayout, GtkBinLayout, GTK_BIN_LAYOUT, LayoutManager, GtkLayoutManager, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkBinLayout is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/boolfilter.hg b/gtk/src/boolfilter.hg
index 966ada5f..e8a3939c 100644
--- a/gtk/src/boolfilter.hg
+++ b/gtk/src/boolfilter.hg
@@ -33,6 +33,8 @@ namespace Gtk
 class GTKMM_API BoolFilter : public Filter
 {
   _CLASS_GOBJECT(BoolFilter, GtkBoolFilter, GTK_BOOL_FILTER, Gtk::Filter, GtkFilter, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkBoolFilter is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/boxlayout.hg b/gtk/src/boxlayout.hg
index cde5ada7..0cfc9172 100644
--- a/gtk/src/boxlayout.hg
+++ b/gtk/src/boxlayout.hg
@@ -44,6 +44,8 @@ class GTKMM_API BoxLayout : public LayoutManager, public Orientable
 {
   _CLASS_GOBJECT(BoxLayout, GtkBoxLayout, GTK_BOX_LAYOUT, LayoutManager, GtkLayoutManager, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Orientable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkBoxLayout is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/centerlayout.hg b/gtk/src/centerlayout.hg
index 8dcf09a2..46456e19 100644
--- a/gtk/src/centerlayout.hg
+++ b/gtk/src/centerlayout.hg
@@ -37,6 +37,8 @@ class GTKMM_API Widget;
 class GTKMM_API CenterLayout : public LayoutManager
 {
   _CLASS_GOBJECT(CenterLayout, GtkCenterLayout, GTK_CENTER_LAYOUT, LayoutManager, GtkLayoutManager, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkCenterLayout is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/constraint.hg b/gtk/src/constraint.hg
index 2b30e2b2..aaed3c9a 100644
--- a/gtk/src/constraint.hg
+++ b/gtk/src/constraint.hg
@@ -41,6 +41,8 @@ namespace Gtk
 class GTKMM_API Constraint : public Glib::Object
 {
   _CLASS_GOBJECT(Constraint, GtkConstraint, GTK_CONSTRAINT, Glib::Object, GObject, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkConstraint is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/constraintguide.hg b/gtk/src/constraintguide.hg
index 65a7c3e8..705ecdb8 100644
--- a/gtk/src/constraintguide.hg
+++ b/gtk/src/constraintguide.hg
@@ -40,6 +40,8 @@ class GTKMM_API ConstraintGuide : public Glib::Object, public ConstraintTarget
 {
   _CLASS_GOBJECT(ConstraintGuide, GtkConstraintGuide, GTK_CONSTRAINT_GUIDE, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(ConstraintTarget)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkConstraintGuide is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/constraintlayout.hg b/gtk/src/constraintlayout.hg
index 19118358..5c08e72d 100644
--- a/gtk/src/constraintlayout.hg
+++ b/gtk/src/constraintlayout.hg
@@ -44,6 +44,8 @@ class GTKMM_API ConstraintLayout : public LayoutManager, public Buildable
 {
   _CLASS_GOBJECT(ConstraintLayout, GtkConstraintLayout, GTK_CONSTRAINT_LAYOUT, LayoutManager, 
GtkLayoutManager, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Buildable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkConstraintLayout is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/directorylist.hg b/gtk/src/directorylist.hg
index 6e6e814c..c375207d 100644
--- a/gtk/src/directorylist.hg
+++ b/gtk/src/directorylist.hg
@@ -56,6 +56,8 @@ class GTKMM_API DirectoryList : public Glib::Object, public Gio::ListModel
 {
   _CLASS_GOBJECT(DirectoryList, GtkDirectoryList, GTK_DIRECTORY_LIST, Glib::Object, GObject, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkDirectoryList is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/dragicon.hg b/gtk/src/dragicon.hg
index 95554ec0..ba2483d3 100644
--- a/gtk/src/dragicon.hg
+++ b/gtk/src/dragicon.hg
@@ -49,6 +49,8 @@ class GTKMM_API DragIcon : public Widget, public Native, public Root
   _CLASS_GTKOBJECT(DragIcon, GtkDragIcon, GTK_DRAG_ICON, Gtk::Widget, GtkWidget, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Native)
   _IMPLEMENTS_INTERFACE(Root)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkDragIcon is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/dropdown.hg b/gtk/src/dropdown.hg
index d2afc18a..be21560a 100644
--- a/gtk/src/dropdown.hg
+++ b/gtk/src/dropdown.hg
@@ -56,6 +56,8 @@ namespace Gtk
 class GTKMM_API DropDown : public Widget
 {
   _CLASS_GTKOBJECT(DropDown, GtkDropDown, GTK_DROP_DOWN, Gtk::Widget, GtkWidget, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkDropDown is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/editablelabel.hg b/gtk/src/editablelabel.hg
index bfc3d370..28d9688e 100644
--- a/gtk/src/editablelabel.hg
+++ b/gtk/src/editablelabel.hg
@@ -46,6 +46,8 @@ class GTKMM_API EditableLabel : public Widget, public Editable
 {
   _CLASS_GTKOBJECT(EditableLabel, GtkEditableLabel, GTK_EDITABLE_LABEL, Gtk::Widget, GtkWidget, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Editable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkEditableLabel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/filechoosernative.hg b/gtk/src/filechoosernative.hg
index 791d120b..e4ac53b1 100644
--- a/gtk/src/filechoosernative.hg
+++ b/gtk/src/filechoosernative.hg
@@ -106,6 +106,8 @@ class GTKMM_API FileChooserNative : public NativeDialog, public FileChooser
 {
   _CLASS_GOBJECT(FileChooserNative, GtkFileChooserNative, GTK_FILE_CHOOSER_NATIVE, NativeDialog, 
GtkNativeDialog, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(FileChooser)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkFileChooserNative is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/filterlistmodel.hg b/gtk/src/filterlistmodel.hg
index 135b6a23..6c967ea0 100644
--- a/gtk/src/filterlistmodel.hg
+++ b/gtk/src/filterlistmodel.hg
@@ -43,6 +43,8 @@ class GTKMM_API FilterListModel : public Glib::Object, public Gio::ListModel
 {
   _CLASS_GOBJECT(FilterListModel, GtkFilterListModel, GTK_FILTER_LIST_MODEL, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkFilterListModel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/flattenlistmodel.hg b/gtk/src/flattenlistmodel.hg
index 113500c4..5ec81f9d 100644
--- a/gtk/src/flattenlistmodel.hg
+++ b/gtk/src/flattenlistmodel.hg
@@ -40,6 +40,8 @@ class GTKMM_API FlattenListModel : public Glib::Object, public Gio::ListModel
 {
   _CLASS_GOBJECT(FlattenListModel, GtkFlattenListModel, GTK_FLATTEN_LIST_MODEL, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkFlattenListModel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/gridlayout.hg b/gtk/src/gridlayout.hg
index 98787512..cdecc1ea 100644
--- a/gtk/src/gridlayout.hg
+++ b/gtk/src/gridlayout.hg
@@ -45,6 +45,8 @@ namespace Gtk
 class GTKMM_API GridLayout : public LayoutManager
 {
   _CLASS_GOBJECT(GridLayout, GtkGridLayout, GTK_GRID_LAYOUT, LayoutManager, GtkLayoutManager, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkGridLayout is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/gridlayoutchild.hg b/gtk/src/gridlayoutchild.hg
index 86cb768b..76af7d4e 100644
--- a/gtk/src/gridlayoutchild.hg
+++ b/gtk/src/gridlayoutchild.hg
@@ -42,6 +42,8 @@ namespace Gtk
 class GTKMM_API GridLayoutChild : public LayoutChild
 {
   _CLASS_GOBJECT(GridLayoutChild, GtkGridLayoutChild, GTK_GRID_LAYOUT_CHILD, LayoutChild, GtkLayoutChild, , 
, GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkGridLayoutChild is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/mediacontrols.hg b/gtk/src/mediacontrols.hg
index 0661318b..74f42ee1 100644
--- a/gtk/src/mediacontrols.hg
+++ b/gtk/src/mediacontrols.hg
@@ -35,6 +35,8 @@ namespace Gtk
 class GTKMM_API MediaControls : public Widget
 {
   _CLASS_GTKOBJECT(MediaControls, GtkMediaControls, GTK_MEDIA_CONTROLS, Gtk::Widget, GtkWidget, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkMediaControls is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/multifilter.hg b/gtk/src/multifilter.hg
index 704610f6..8768fc1a 100644
--- a/gtk/src/multifilter.hg
+++ b/gtk/src/multifilter.hg
@@ -36,6 +36,8 @@ class GTKMM_API MultiFilter : public Filter, public Gio::ListModel, public Build
   _CLASS_GOBJECT(MultiFilter, GtkMultiFilter, GTK_MULTI_FILTER, Gtk::Filter, GtkFilter, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
   _IMPLEMENTS_INTERFACE(Buildable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkMultiFilter is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 
 protected:
   _CTOR_DEFAULT
@@ -56,6 +58,8 @@ public:
 class GTKMM_API AnyFilter : public MultiFilter
 {
   _CLASS_GOBJECT(AnyFilter, GtkAnyFilter, GTK_ANY_FILTER, Gtk::MultiFilter, GtkMultiFilter, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkAnyFilter is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 
 protected:
   _CTOR_DEFAULT
@@ -74,6 +78,8 @@ public:
 class GTKMM_API EveryFilter : public MultiFilter
 {
   _CLASS_GOBJECT(EveryFilter, GtkEveryFilter, GTK_EVERY_FILTER, Gtk::MultiFilter, GtkMultiFilter, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkEveryFilter is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 
 protected:
   _CTOR_DEFAULT
diff --git a/gtk/src/multiselection.hg b/gtk/src/multiselection.hg
index c5a9e3b5..12eb28e3 100644
--- a/gtk/src/multiselection.hg
+++ b/gtk/src/multiselection.hg
@@ -38,6 +38,8 @@ class GTKMM_API MultiSelection : public Glib::Object, public Gio::ListModel, pub
   _CLASS_GOBJECT(MultiSelection, GtkMultiSelection, GTK_MULTI_SELECTION, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
   _IMPLEMENTS_INTERFACE(SelectionModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkMultiSelection is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/multisorter.hg b/gtk/src/multisorter.hg
index a4590e5c..b6d88149 100644
--- a/gtk/src/multisorter.hg
+++ b/gtk/src/multisorter.hg
@@ -37,6 +37,8 @@ class GTKMM_API MultiSorter : public Sorter, public Gio::ListModel, public Build
   _CLASS_GOBJECT(MultiSorter, GtkMultiSorter, GTK_MULTI_SORTER, Gtk::Sorter, GtkSorter, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
   _IMPLEMENTS_INTERFACE(Buildable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkMultiSorter is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/noselection.hg b/gtk/src/noselection.hg
index 63bf8dc8..2bab539a 100644
--- a/gtk/src/noselection.hg
+++ b/gtk/src/noselection.hg
@@ -41,6 +41,8 @@ class GTKMM_API NoSelection : public Glib::Object, public Gio::ListModel, public
   _CLASS_GOBJECT(NoSelection, GtkNoSelection, GTK_NO_SELECTION, Glib::Object, GObject, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
   _IMPLEMENTS_INTERFACE(SelectionModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkNoSelection is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/numericsorter.hg b/gtk/src/numericsorter.hg
index b9ab39f0..d7ad19ba 100644
--- a/gtk/src/numericsorter.hg
+++ b/gtk/src/numericsorter.hg
@@ -32,6 +32,8 @@ namespace Gtk
 class GTKMM_API NumericSorterBase : public Sorter
 {
   _CLASS_GOBJECT(NumericSorterBase, GtkNumericSorter, GTK_NUMERIC_SORTER, Gtk::Sorter, GtkSorter, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkNumericSorter is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/picture.hg b/gtk/src/picture.hg
index e1817bdd..c9ac3b40 100644
--- a/gtk/src/picture.hg
+++ b/gtk/src/picture.hg
@@ -50,6 +50,8 @@ _CC_INCLUDE(gtk/gtk.h)
 class GTKMM_API Picture : public Widget
 {
   _CLASS_GTKOBJECT(Picture, GtkPicture, GTK_PICTURE, Gtk::Widget, GtkWidget, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkPicture is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/selectionfiltermodel.hg b/gtk/src/selectionfiltermodel.hg
index 050a1253..88fbdbd7 100644
--- a/gtk/src/selectionfiltermodel.hg
+++ b/gtk/src/selectionfiltermodel.hg
@@ -37,6 +37,8 @@ class GTKMM_API SelectionFilterModel : public Glib::Object, public Gio::ListMode
 {
   _CLASS_GOBJECT(SelectionFilterModel, GtkSelectionFilterModel, GTK_SELECTION_FILTER_MODEL, Glib::Object, 
GObject, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkSelectionFilterModel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/shortcut.hg b/gtk/src/shortcut.hg
index be4fb0ce..624cf6a6 100644
--- a/gtk/src/shortcut.hg
+++ b/gtk/src/shortcut.hg
@@ -51,6 +51,8 @@ namespace Gtk
 class GTKMM_API Shortcut : public Glib::Object
 {
   _CLASS_GOBJECT(Shortcut, GtkShortcut, GTK_SHORTCUT, Glib::Object, GObject, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkShortcut is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 protected:
   _WRAP_CTOR(Shortcut(const Glib::RefPtr<const ShortcutTrigger>& trigger,
diff --git a/gtk/src/shortcutaction.hg b/gtk/src/shortcutaction.hg
index 3e6e43e6..8356ab04 100644
--- a/gtk/src/shortcutaction.hg
+++ b/gtk/src/shortcutaction.hg
@@ -53,6 +53,8 @@ class GTKMM_API Widget;
 class GTKMM_API ShortcutAction : public Glib::Object
 {
   _CLASS_GOBJECT(ShortcutAction, GtkShortcutAction, GTK_SHORTCUT_ACTION, Glib::Object, GObject, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkShortcutAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _CTOR_DEFAULT()
 
@@ -91,6 +93,8 @@ _CONVERSION(`GtkShortcutAction*',`Glib::RefPtr<NamedAction>', `Glib::wrap(GTK_NA
 class GTKMM_API NothingAction : public ShortcutAction
 {
   _CLASS_GOBJECT(NothingAction, GtkNothingAction, GTK_NOTHING_ACTION, ShortcutAction, GtkShortcutAction, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkNothingAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _CTOR_DEFAULT()
 
@@ -103,6 +107,8 @@ public:
 class GTKMM_API CallbackAction : public ShortcutAction
 {
   _CLASS_GOBJECT(CallbackAction, GtkCallbackAction, GTK_CALLBACK_ACTION, ShortcutAction, GtkShortcutAction, 
, , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkCallbackAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 public:
   /** Slot for shortcuts based on user callbacks.
    *
@@ -129,6 +135,8 @@ protected:
 class GTKMM_API MnemonicAction : public ShortcutAction
 {
   _CLASS_GOBJECT(MnemonicAction, GtkMnemonicAction, GTK_MNEMONIC_ACTION, ShortcutAction, GtkShortcutAction, 
, , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkMnemonicAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _CTOR_DEFAULT()
 
@@ -141,6 +149,8 @@ public:
 class GTKMM_API ActivateAction : public ShortcutAction
 {
   _CLASS_GOBJECT(ActivateAction, GtkActivateAction, GTK_ACTIVATE_ACTION, ShortcutAction, GtkShortcutAction, 
, , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkActivateAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _CTOR_DEFAULT()
 
@@ -153,6 +163,8 @@ public:
 class GTKMM_API SignalAction : public ShortcutAction
 {
   _CLASS_GOBJECT(SignalAction, GtkSignalAction, GTK_SIGNAL_ACTION, ShortcutAction, GtkShortcutAction, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkSignalAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _WRAP_CTOR(SignalAction(const Glib::ustring& signal_name), gtk_signal_action_new)
 
@@ -169,6 +181,8 @@ public:
 class GTKMM_API NamedAction : public ShortcutAction
 {
   _CLASS_GOBJECT(NamedAction, GtkNamedAction, GTK_NAMED_ACTION, ShortcutAction, GtkShortcutAction, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkNamedAction is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _WRAP_CTOR(NamedAction(const Glib::ustring& action_name), gtk_named_action_new)
 
diff --git a/gtk/src/shortcuttrigger.hg b/gtk/src/shortcuttrigger.hg
index f43cb109..3556cf13 100644
--- a/gtk/src/shortcuttrigger.hg
+++ b/gtk/src/shortcuttrigger.hg
@@ -45,6 +45,8 @@ namespace Gtk
 class GTKMM_API ShortcutTrigger : public Glib::Object
 {
   _CLASS_GOBJECT(ShortcutTrigger, GtkShortcutTrigger, GTK_SHORTCUT_TRIGGER, Glib::Object, GObject, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkShortcutTrigger is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _CTOR_DEFAULT()
 
@@ -91,6 +93,8 @@ _CONVERSION(`GtkShortcutTrigger*',`Glib::RefPtr<AlternativeTrigger>', `Glib::wra
 class GTKMM_API NeverTrigger : public ShortcutTrigger
 {
   _CLASS_GOBJECT(NeverTrigger, GtkNeverTrigger, GTK_NEVER_TRIGGER, ShortcutTrigger, GtkShortcutTrigger, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkNeverTrigger is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _CTOR_DEFAULT()
 
@@ -109,6 +113,8 @@ public:
 class GTKMM_API KeyvalTrigger : public ShortcutTrigger
 {
   _CLASS_GOBJECT(KeyvalTrigger, GtkKeyvalTrigger, GTK_KEYVAL_TRIGGER, ShortcutTrigger, GtkShortcutTrigger, , 
, GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkKeyvalTrigger is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _WRAP_CTOR(KeyvalTrigger(guint keyval, Gdk::ModifierType modifiers), gtk_keyval_trigger_new)
 
@@ -132,6 +138,8 @@ public:
 class GTKMM_API MnemonicTrigger : public ShortcutTrigger
 {
   _CLASS_GOBJECT(MnemonicTrigger, GtkMnemonicTrigger, GTK_MNEMONIC_TRIGGER, ShortcutTrigger, 
GtkShortcutTrigger, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkMnemonicTrigger is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _WRAP_CTOR(MnemonicTrigger(guint keyval), gtk_mnemonic_trigger_new)
 
@@ -148,6 +156,8 @@ public:
 class GTKMM_API AlternativeTrigger : public ShortcutTrigger
 {
   _CLASS_GOBJECT(AlternativeTrigger, GtkAlternativeTrigger, GTK_ALTERNATIVE_TRIGGER, ShortcutTrigger, 
GtkShortcutTrigger, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkAlternativeTrigger is an internal type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
 protected:
   _WRAP_CTOR(AlternativeTrigger(const Glib::RefPtr<const ShortcutTrigger>& first,
     const Glib::RefPtr<const ShortcutTrigger>& second), gtk_alternative_trigger_new)
diff --git a/gtk/src/singleselection.hg b/gtk/src/singleselection.hg
index 488fb2cb..168ee378 100644
--- a/gtk/src/singleselection.hg
+++ b/gtk/src/singleselection.hg
@@ -44,6 +44,8 @@ class GTKMM_API SingleSelection : public Glib::Object, public Gio::ListModel, pu
   _CLASS_GOBJECT(SingleSelection, GtkSingleSelection, GTK_SINGLE_SELECTION, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
   _IMPLEMENTS_INTERFACE(SelectionModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkSingleSelection is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/slicelistmodel.hg b/gtk/src/slicelistmodel.hg
index e75f633a..83efff5b 100644
--- a/gtk/src/slicelistmodel.hg
+++ b/gtk/src/slicelistmodel.hg
@@ -41,6 +41,8 @@ class GTKMM_API SliceListModel : public Glib::Object, public Gio::ListModel
 {
   _CLASS_GOBJECT(SliceListModel, GtkSliceListModel, GTK_SLICE_LIST_MODEL, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkSliceListModel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/sortlistmodel.hg b/gtk/src/sortlistmodel.hg
index af12fb3c..4959e296 100644
--- a/gtk/src/sortlistmodel.hg
+++ b/gtk/src/sortlistmodel.hg
@@ -48,6 +48,8 @@ class GTKMM_API SortListModel : public Glib::Object, public Gio::ListModel
 {
   _CLASS_GOBJECT(SortListModel, GtkSortListModel, GTK_SORT_LIST_MODEL, Glib::Object, GObject, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkSortListModel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/stringfilter.hg b/gtk/src/stringfilter.hg
index ddfec899..28abbb09 100644
--- a/gtk/src/stringfilter.hg
+++ b/gtk/src/stringfilter.hg
@@ -37,6 +37,8 @@ namespace Gtk
 class GTKMM_API StringFilter : public Filter
 {
   _CLASS_GOBJECT(StringFilter, GtkStringFilter, GTK_STRING_FILTER, Gtk::Filter, GtkFilter, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkStringFilter is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/stringlist.hg b/gtk/src/stringlist.hg
index d01d39bf..0ff1044e 100644
--- a/gtk/src/stringlist.hg
+++ b/gtk/src/stringlist.hg
@@ -60,6 +60,8 @@ class GTKMM_API StringList : public Glib::Object, public Gio::ListModel, public
   _CLASS_GOBJECT(StringList, GtkStringList, GTK_STRING_LIST, Glib::Object, GObject, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
   _IMPLEMENTS_INTERFACE(Buildable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkStringList is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/stringobject.hg b/gtk/src/stringobject.hg
index cec752a6..3fa38589 100644
--- a/gtk/src/stringobject.hg
+++ b/gtk/src/stringobject.hg
@@ -27,6 +27,8 @@ namespace Gtk
 class GTKMM_API StringObject : public Glib::Object
 {
   _CLASS_GOBJECT(StringObject, GtkStringObject, GTK_STRING_OBJECT, Glib::Object, GObject, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkStringObject is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/stringsorter.hg b/gtk/src/stringsorter.hg
index ae13e741..2e4dc55f 100644
--- a/gtk/src/stringsorter.hg
+++ b/gtk/src/stringsorter.hg
@@ -38,6 +38,8 @@ namespace Gtk
 class GTKMM_API StringSorter : public Sorter
 {
   _CLASS_GOBJECT(StringSorter, GtkStringSorter, GTK_STRING_SORTER, Gtk::Sorter, GtkSorter, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkStringSorter is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/treeexpander.hg b/gtk/src/treeexpander.hg
index 8c79c28e..36313a17 100644
--- a/gtk/src/treeexpander.hg
+++ b/gtk/src/treeexpander.hg
@@ -50,6 +50,8 @@ namespace Gtk
 class GTKMM_API TreeExpander : public Widget
 {
   _CLASS_GTKOBJECT(TreeExpander, GtkTreeExpander, GTK_TREE_EXPANDER, Gtk::Widget, GtkWidget, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkTreeExpander is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/treelistmodel.hg b/gtk/src/treelistmodel.hg
index 0f7f7b27..237f4c64 100644
--- a/gtk/src/treelistmodel.hg
+++ b/gtk/src/treelistmodel.hg
@@ -39,6 +39,8 @@ class GTKMM_API TreeListModel : public Glib::Object, public Gio::ListModel
 {
   _CLASS_GOBJECT(TreeListModel, GtkTreeListModel, GTK_TREE_LIST_MODEL, Glib::Object, GObject, , , GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gio::ListModel)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkTreeListModel is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/treelistrow.hg b/gtk/src/treelistrow.hg
index 745f841c..b743e37a 100644
--- a/gtk/src/treelistrow.hg
+++ b/gtk/src/treelistrow.hg
@@ -47,6 +47,8 @@ namespace Gtk
 class GTKMM_API TreeListRow : public Glib::Object
 {
   _CLASS_GOBJECT(TreeListRow, GtkTreeListRow, GTK_TREE_LIST_ROW, Glib::Object, GObject, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkTreeListRow is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/video.hg b/gtk/src/video.hg
index 53b3b85a..4ad67759 100644
--- a/gtk/src/video.hg
+++ b/gtk/src/video.hg
@@ -37,6 +37,8 @@ namespace Gtk
 class GTKMM_API Video : public Widget
 {
   _CLASS_GTKOBJECT(Video, GtkVideo, GTK_VIDEO, Gtk::Widget, GtkWidget, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkVideo is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/widgetpaintable.hg b/gtk/src/widgetpaintable.hg
index 6edc9bf5..12396c4a 100644
--- a/gtk/src/widgetpaintable.hg
+++ b/gtk/src/widgetpaintable.hg
@@ -53,6 +53,8 @@ class GTKMM_API WidgetPaintable : public Glib::Object, public Gdk::Paintable
 {
   _CLASS_GOBJECT(WidgetPaintable, GtkWidgetPaintable, GTK_WIDGET_PAINTABLE, Glib::Object, GObject, , , 
GTKMM_API)
   _IMPLEMENTS_INTERFACE(Gdk::Paintable)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkWidgetPaintable is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 protected:
diff --git a/gtk/src/windowcontrols.hg b/gtk/src/windowcontrols.hg
index 53573290..0a4d2da2 100644
--- a/gtk/src/windowcontrols.hg
+++ b/gtk/src/windowcontrols.hg
@@ -58,6 +58,8 @@ namespace Gtk
 class GTKMM_API WindowControls : public Widget
 {
   _CLASS_GTKOBJECT(WindowControls, GtkWindowControls, GTK_WINDOW_CONTROLS, Gtk::Widget, GtkWidget, , , 
GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkWindowControls is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:
diff --git a/gtk/src/windowhandle.hg b/gtk/src/windowhandle.hg
index c8032ae9..ac17e56e 100644
--- a/gtk/src/windowhandle.hg
+++ b/gtk/src/windowhandle.hg
@@ -35,6 +35,8 @@ namespace Gtk
 class GTKMM_API WindowHandle : public Widget
 {
   _CLASS_GTKOBJECT(WindowHandle, GtkWindowHandle, GTK_WINDOW_HANDLE, Gtk::Widget, GtkWidget, , , GTKMM_API)
+  _DO_NOT_DERIVE_GTYPE dnl// GtkWindowHandle is a final type
+  _ABI_AS_WITH_DERIVED_GTYPE dnl// Remove when we can break ABI
   _STRUCT_NOT_HIDDEN
 
 public:


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