Skip to content
This repository was archived by the owner on Oct 1, 2024. It is now read-only.

Commit 2f6a116

Browse files
committed
Update GTK+ to version 3.14.15
Based on the patches from Mikkel Kruse Johnsen. See the fork: https://github.com/openmedicus/gtk-sharp/ While Mikkel has patches on his branch to update step by step to GTK 3.20 here I am focusing on updating to 3.14.15 and getting things to the minimal to just compile. Then the idea would be to fix the possible issues by fixing the metadata. See that the CSS demo is currently disabled since the CssProvider is not properly picked up for some reason. We will need to research a bit on this but for now it is good enough doing it without. There are also 3 new patches that need to be applied due to the scanner hanging or giving an error when parsing the source code. Two of those patches are already in GTK upstream see: https://git.gnome.org/browse/gtk+/commit/?id=64eca0bb2dad94164d38a89797bf7a439a321b48 https://git.gnome.org/browse/gtk+/commit/?id=fab70d34d443d25c8c68fea30ae7b483749b5e40 See that there are also some generator problems with GtkWidgetClass. The part of the patch was taken from: openmedicus@5fc657a
1 parent 0f1a3e0 commit 2f6a116

10 files changed

+6090
-1371
lines changed

gdk/gdk-api.raw

+538-126
Large diffs are not rendered by default.

generator/ObjectBase.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public bool CanGenerateClassStruct {
183183
* as they may contain class fields which don't appear in the old (version 1) API files. There are also cases in which the order of the
184184
* <signal> and <virtual_method> elements do not match the struct layout.
185185
*/
186-
return (is_interface || this.ParserVersion >= 2) && class_fields_valid;
186+
return (is_interface || this.ParserVersion >= 2) && (class_fields_valid || class_struct_name == "GtkWidgetClass");
187187
}
188188
}
189189

gtk/Gtk.metadata

+30-3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
<attr path="/api/namespace/struct[@cname='GtkRadioActionEntry']" name="hidden">1</attr>
99
<attr path="/api/namespace/struct[@cname='GtkToggleActionEntry']" name="hidden">1</attr>
1010
<attr path="/api/namespace/boxed[@cname='GtkBorder']" name="opaque">false</attr>
11+
<attr path="/api/namespace/boxed[@cname='GtkGradient']/method[@cname='gtk_gradient_add_color_stop']" name="hidden">1</attr>
12+
<attr path="/api/namespace/boxed[@cname='GtkGradient']/method[@cname='gtk_gradient_resolve']" name="hidden">1</attr>
13+
<attr path="/api/namespace/boxed[@cname='GtkGradient']/method[@cname='gtk_gradient_resolve_for_context']" name="hidden">1</attr>
1114
<attr path="/api/namespace/boxed[@cname='GtkIconInfo']/method[@name='Free']" name="deprecated">1</attr>
1215
<attr path="/api/namespace/boxed[@cname='GtkIconInfo']/method[@name='GetFilename']" name="win32_utf8_variant">true</attr>
1316
<attr path="/api/namespace/boxed[@cname='GtkIconSet']/method[@name='GetSizes']" name="hidden">1</attr>
@@ -32,6 +35,7 @@
3235
<attr path="/api/namespace/boxed[@cname='GtkSelectionData']/method[@name='SetText']" name="hidden">1</attr>
3336
<attr path="/api/namespace/boxed[@cname='GtkSelectionData']/method[@name='Set']/*/*[@name='data']" name="type">guchar</attr>
3437
<attr path="/api/namespace/boxed[@cname='GtkSelectionData']/method[@name='Set']/*/*[@name='data']" name="array">1</attr>
38+
<attr path="/api/namespace/boxed[@cname='GtkSymbolicColor']/method[@cname='gtk_symbolic_color_resolve']" name="hidden">1</attr>
3539
<attr path="/api/namespace/boxed[@cname='GtkTargetEntry']" name="opaque">false</attr>
3640
<attr path="/api/namespace/boxed[@cname='GtkTargetEntry']/field[@cname='flags']" name="type">GtkTargetFlags</attr>
3741
<attr path="/api/namespace/boxed[@cname='GtkTextAttributes']/field[@cname='appearance']" name="hidden">1</attr>
@@ -73,6 +77,7 @@
7377
<attr path="/api/namespace/class[@cname='GtkGlobal']/method[@name='EventsPending']" name="name">GetEventsPending</attr>
7478
<attr path="/api/namespace/class[@cname='GtkGlobal']/method[@name='CheckVersion']/return-type" name="type">const-gchar*</attr>
7579
<attr path="/api/namespace/class[@cname='GtkGlobal']/method[@name='EnumeratePrinters']" name="hidden">1</attr>
80+
<attr path="/api/namespace/class[@cname='GtkIcon_']/method[@cname='gtk_icon_size_lookup_for_settings']" name="hidden">1</attr>
7681
<attr path="/api/namespace/class[@cname='GtkInit_']/method[@name='Check']" name="hidden">1</attr>
7782
<attr path="/api/namespace/class[@cname='GtkInit_']/method[@name='CheckAbiCheck']" name="hidden">1</attr>
7883
<attr path="/api/namespace/class[@cname='GtkInit_']/method[@name='AbiCheck']" name="hidden">1</attr>
@@ -83,6 +88,9 @@
8388
<attr path="/api/namespace/class[@cname='GtkRc_']/method[@name='Parse']" name="win32_utf8_variant">true</attr>
8489
<attr path="/api/namespace/class[@cname='GtkRc_']/method[@name='SetDefaultFiles']" name="win32_utf8_variant">true</attr>
8590
<attr path="/api/namespace/class[@cname='GtkRc_']/method[@name='SetDefaultFiles']/*/*[@name='filenames']" name="null_term_array">1</attr>
91+
<attr path="/api/namespace/class[@cname='GtkRc_']/method[@cname='gtk_rc_get_style_by_paths']" name="hidden">1</attr>
92+
<attr path="/api/namespace/class[@cname='GtkRc_']/method[@cname='gtk_rc_reparse_all_for_settings']" name="hidden">1</attr>
93+
<attr path="/api/namespace/class[@cname='GtkRc_']/method[@cname='gtk_rc_reset_styles']" name="hidden">1</attr>
8694
<attr path="/api/namespace/class[@cname='GtkRender_']" name="internal">1</attr>
8795
<attr path="/api/namespace/class[@cname='GtkRender_']/method[@name='IconPixbuf']/return-type" name="owned">true</attr>
8896
<attr path="/api/namespace/class[@cname='GtkStock_']" name="hidden">1</attr>
@@ -113,6 +121,7 @@
113121
<attr path="/api/namespace/enum[@cname='GtkTextBufferTargetInfo']/member[@name='Text']" name="value">UInt32.MaxValue-2U</attr>
114122
<attr path="/api/namespace/enum[@cname='GtkToolbarSpaceStyle']" name="hidden">1</attr>
115123
<attr path="/api/namespace/enum[@cname='GtkWin32EmbedMessageType']" name="hidden">1</attr>
124+
<attr path="/api/namespace/interface[@cname='GtkActionable']/property[@name='ActionName']" name="hidden">1</attr>
116125
<attr path="/api/namespace/interface[@cname='GtkBuildable']" name="hidden">1</attr>
117126
<attr path="/api/namespace/interface[@cname='GtkCellEditable']/method[@name='EditingDone']" name="name">FinishEditing</attr>
118127
<attr path="/api/namespace/interface[@cname='GtkCellEditable']/signal[@name='RemoveWidget']" name="name">WidgetRemoved</attr>
@@ -191,6 +200,8 @@
191200
<attr path="/api/namespace/interface[@cname='GtkRecentChooser']/virtual_method[@cname='list_filters']/return-type" name="element_type">GtkRecentFilter*</attr>
192201
<attr path="/api/namespace/interface[@cname='GtkRecentChooser']/virtual_method[@cname='list_filters']/return-type" name="elements_owned">false</attr>
193202
<attr path="/api/namespace/interface[@cname='GtkRecentChooser']/virtual_method[@cname='list_filters']/return-type" name="owned">true</attr>
203+
<attr path="/api/namespace/interface[@cname='GtkStyleProvider']/method[@cname='gtk_style_provider_get_icon_factory']" name="hidden">1</attr>
204+
<attr path="/api/namespace/interface[@cname='GtkStyleProvider']/method[@cname='gtk_style_provider_get_style']" name="hidden">1</attr>
194205
<attr path="/api/namespace/interface[@cname='GtkTreeModel']/method[@name='Foreach']/*/*[@name='func']" name="scope">call</attr>
195206
<attr path="/api/namespace/interface[@cname='GtkTreeModel']/*[@name='GetIterFirst']/*/*[@name='iter']" name="pass_as">out</attr>
196207
<attr path="/api/namespace/interface[@cname='GtkTreeModel']/method[@name='Get']" name="hidden">1</attr>
@@ -257,6 +268,9 @@
257268
<attr path="/api/namespace/object[@cname='GtkApplication']/method[@name='GetWindows']/return-type" name="element_type">GtkWindow*</attr>
258269
<attr path="/api/namespace/object[@cname='GtkArrow']/method[@name='Set']" name="hidden">1</attr>
259270
<attr path="/api/namespace/object[@cname='GtkBin']/method[@name='GetChild']" name="hidden">1</attr>
271+
<attr path="/api/namespace/object[@cname='GtkBuilder']/constructor[@cname='gtk_builder_new_from_file']" name="hidden">1</attr>
272+
<attr path="/api/namespace/object[@cname='GtkBuilder']/constructor[@cname='gtk_builder_new_from_resource']" name="hidden">1</attr>
273+
<attr path="/api/namespace/object[@cname='GtkBuilder']/constructor[@cname='gtk_builder_new_from_string']" name="hidden">1</attr>
260274
<attr path="/api/namespace/object[@cname='GtkBuilder']/method[@name='AddFromFile']/*/*[@name='filename']" name="type">const-gfilename*</attr>
261275
<attr path="/api/namespace/object[@cname='GtkBuilder']/method[@cname='gtk_builder_connect_signals']" name="hidden">1</attr>
262276
<attr path="/api/namespace/object[@cname='GtkBuilder']/method[@cname='gtk_builder_connect_signals_full']" name="hidden">1</attr>
@@ -306,6 +320,7 @@
306320
<attr path="/api/namespace/object[@cname='GtkClipboard']/signal" name="block_glue">1</attr>
307321
<attr path="/api/namespace/object[@cname='GtkColorButton']/method[@name='GetColor']/*/*[@name='color']" name="pass_as">out</attr>
308322
<attr path="/api/namespace/object[@cname='GtkColorButton']/property[@name='Rgba']" name="type">GdkRGBA</attr>
323+
<attr path="/api/namespace/object[@cname='GtkColorButton']/property[@cname='use-alpha']" name="name">HasAlpha</attr>
309324
<attr path="/api/namespace/object[@cname='GtkColorSelection']/method[@name='GetCurrentColor']/*/*[@name='color']" name="pass_as">out</attr>
310325
<attr path="/api/namespace/object[@cname='GtkColorSelection']/method[@name='GetPreviousColor']" name="hidden">1</attr>
311326
<attr path="/api/namespace/object[@cname='GtkColorSelection']/method[@name='PaletteFromString']" name="hidden">1</attr>
@@ -362,11 +377,15 @@
362377
<attr path="/api/namespace/object[@cname='GtkExpander']/constructor[@cname='gtk_expander_new_with_mnemonic']" name="preferred">1</attr>
363378
<attr path="/api/namespace/object[@cname='GtkExpander']/signal[@name='Activate']" name="name">Activated</attr>
364379
<attr path="/api/namespace/object[@cname='GtkFileChooserDialog']/constructor[@cname='gtk_file_chooser_dialog_new']" name="hidden">1</attr>
380+
<attr path="/api/namespace/object[@cname='GtkFileChooserWidget']/signal[@cname='show-hidden']" name="name">ShowedHidden</attr>
365381
<remove-node path="/api/namespace/object[@cname='GtkFileChooserWidget']/implements/interface[@cname='GtkFileChooserEmbed']" />
382+
<attr path="/api/namespace/object[@cname='GtkFlowBox']/signal[@cname='select-all']" name="name">SelectedAll</attr>
383+
<attr path="/api/namespace/object[@cname='GtkFlowBox']/signal[@cname='unselect-all']" name="name">UnselectedAll</attr>
366384
<attr path="/api/namespace/object[@cname='GtkFontSelectionDialog']/method[@name='GetCancelButton']/return-type" name="type">GtkButton*</attr>
367385
<attr path="/api/namespace/object[@cname='GtkFontSelectionDialog']/method[@name='GetOkButton']/return-type" name="type">GtkButton*</attr>
368386
<attr path="/api/namespace/object[@cname='GtkFrame']/method[@name='GetLabelAlign']" name="hidden">1</attr>
369387
<attr path="/api/namespace/object[@cname='GtkFrame']/method[@name='SetLabelAlign']" name="hidden">1</attr>
388+
<attr path="/api/namespace/object[@cname='GtkGesture']/method[@cname='gtk_gesture_get_group']" name="hidden">1</attr>
370389
<attr path="/api/namespace/object[@cname='GtkHandleBox']/property[@name='ChildDetached']" name="hidden">1</attr>
371390
<attr path="/api/namespace/object[@cname='GtkHandleBox']/property[@name='ShadowType']" name="hidden">1</attr>
372391
<attr path="/api/namespace/object[@cname='GtkHandleBox']/method[@name='GetChildDetached']" name="name">IsChildDetached</attr>
@@ -442,6 +461,8 @@
442461
<attr path="/api/namespace/object[@cname='GtkLayout']/method[@name='GetVadjustment']" name="hidden">1</attr>
443462
<attr path="/api/namespace/object[@cname='GtkLayout']/method[@name='SetHadjustment']" name="hidden">1</attr>
444463
<attr path="/api/namespace/object[@cname='GtkLayout']/method[@name='SetVadjustment']" name="hidden">1</attr>
464+
<attr path="/api/namespace/object[@cname='GtkListBox']/signal[@cname='select-all']" name="name">SelectedAll</attr>
465+
<attr path="/api/namespace/object[@cname='GtkListBox']/signal[@cname='unselect-all']" name="name">UnselectedAll</attr>
445466
<attr path="/api/namespace/object[@cname='GtkListStore']/constructor[@cname='gtk_list_store_new']" name="hidden">1</attr>
446467
<attr path="/api/namespace/object[@cname='GtkListStore']/constructor[@cname='gtk_list_store_newv']" name="hidden">1</attr>
447468
<attr path="/api/namespace/object[@cname='GtkListStore']/method[@name='Append']/*/*[@name='iter']" name="pass_as">out</attr>
@@ -471,13 +492,16 @@
471492
<attr path="/api/namespace/object[@cname='GtkMenu']/method[@name='SetScreen']" name="hidden">1</attr>
472493
<attr path="/api/namespace/object[@cname='GtkMenuShell']/signal[@name='Cancel']" name="name">Canceled</attr>
473494
<attr path="/api/namespace/object[@cname='GtkMenuShell']/signal[@name='Deactivate']" name="name">Deactivated</attr>
495+
<attr path="/api/namespace/object[@cname='GtkMenuShell']/signal[@name='Insert']" name="name">Inserted</attr>
474496
<attr path="/api/namespace/object[@cname='GtkMessageDialog']/constructor[@cname='gtk_message_dialog_new']" name="hidden">1</attr>
475497
<attr path="/api/namespace/object[@cname='GtkMessageDialog']/constructor[@cname='gtk_message_dialog_new_with_markup']" name="hidden">1</attr>
476498
<attr path="/api/namespace/object[@cname='GtkMountOperation']/method[@name='IsShowing']" name="name">GetIsShowing</attr>
477499
<attr path="/api/namespace/object[@cname='GtkNotebook']/signal[@name='ChangeCurrentPage']/return-type" name="type">void</attr>
478500
<attr path="/api/namespace/object[@cname='GtkNotebook']/signal[@name='ReorderTab']/return-type" name="type">void</attr>
479501
<attr path="/api/namespace/object[@cname='GtkPageSetup']/constructor[@cname='gtk_page_setup_new_from_file']/*/*[@name='file_name']" name="type">const-gfilename*</attr>
480502
<attr path="/api/namespace/object[@cname='GtkPageSetup']/method[@name='ToFile']/*/*[@name='file_name']" name="type">const-gfilename*</attr>
503+
<attr path="/api/namespace/object[@cname='GtkPlacesSidebar']/signal[@cname='show-connect-to-server']" name="name">ShowedConnectToServer</attr>
504+
<attr path="/api/namespace/object[@cname='GtkPlacesSidebar']/signal[@cname='show-enter-location']" name="name">ShowEnteredLocation</attr>
481505
<attr path="/api/namespace/object[@cname='GtkPlug']/constructor[@cname='gtk_plug_new']" name="hidden">1</attr>
482506
<attr path="/api/namespace/object[@cname='GtkPlug']/constructor[@cname='gtk_plug_new_for_display']" name="hidden">1</attr>
483507
<attr path="/api/namespace/object[@cname='GtkPlug']/property[@name='Embedded']" name="name">IsEmbedded</attr>
@@ -816,9 +840,10 @@
816840
<attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='SetHadjustment']" name="hidden">1</attr>
817841
<attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='SetVadjustment']" name="hidden">1</attr>
818842
<attr path="/api/namespace/object[@cname='GtkUIManager']/constructor[@cname='gtk_ui_manager_new_merge_id']" name="hidden">1</attr>
819-
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@name='AddUiFromFile']" name="win32_utf8_variant">true</attr>
820-
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@cname='gtk_ui_manager_get_action_groups']" name="hidden">1</attr>
821-
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@name='GetToplevels']" name="hidden">1</attr>
843+
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@name='AddUiFromFile']" name="win32_utf8_variant">true</attr>
844+
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@name='AddUiFromResource']" name="hidden">1</attr>
845+
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@cname='gtk_ui_manager_get_action_groups']" name="hidden">1</attr>
846+
<attr path="/api/namespace/object[@cname='GtkUIManager']/method[@name='GetToplevels']" name="hidden">1</attr>
822847
<attr path="/api/namespace/object[@cname='GtkViewport']/method[@name='GetHadjustment']" name="hidden">1</attr>
823848
<attr path="/api/namespace/object[@cname='GtkViewport']/method[@name='GetVadjustment']" name="hidden">1</attr>
824849
<attr path="/api/namespace/object[@cname='GtkViewport']/method[@name='SetHadjustment']" name="hidden">1</attr>
@@ -843,6 +868,7 @@
843868
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='GetPreferredSize']/*/*[@type='GtkRequisition*']" name="pass_as">out</attr>
844869
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='GetRealized']" name="name">GetIsRealized</attr>
845870
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='GetRequisition']/*/parameter[@name='requisition']" name="pass_as">out</attr>
871+
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='GetSettings']" name="hidden">1</attr>
846872
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='HasDefault']" name="name">GetHasDefault</attr>
847873
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='HasFocus']" name="name">GetHasFocus</attr>
848874
<attr path="/api/namespace/object[@cname='GtkWidget']/method[@name='Intersect']/*/*[@name='intersection']" name="pass_as">out</attr>
@@ -894,6 +920,7 @@
894920
<attr path="/api/namespace/object[@cname='GtkWindow']/method[@name='SetIconFromFile']" name="win32_utf8_variant">true</attr>
895921
<attr path="/api/namespace/object[@cname='GtkWindow']/method[@name='SetIconList']" name="hidden">1</attr>
896922
<attr path="/api/namespace/object[@cname='GtkWindow']/property[@name='Screen']" name="new_flag">1</attr>
923+
<attr path="/api/namespace/object[@cname='GtkWindow']/property[@cname='is-maximized']" name="name">Maximized</attr>
897924
<attr path="/api/namespace/object[@cname='GtkWindow']/signal[@name='ActivateDefault']" name="name">DefaultActivated</attr>
898925
<attr path="/api/namespace/object[@cname='GtkWindow']/signal[@name='ActivateFocus']" name="name">FocusActivated</attr>
899926
<attr path="/api/namespace/struct[@cname='GtkBindingArg']" name="hidden">1</attr>

0 commit comments

Comments
 (0)