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

Commit 94e46e7

Browse files
committed
Update GTK+ to version 3.14.15
Based on the patches from Mikkel Kruse Johnsen. See the PR: #128 While Mikkel has patches on his fork 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 The third patch has not yet a workaround that we can merge, it seems The third patch has not yet a workaround that we can merge, it seems the ifdef about the GI_SCANNER is giving some issues. We should probably improve the scanner for this. See that there are also some generator problems with GtkWidgetClass. The part of the patch was taken from: openmedicus@5fc657a This workaround fixes the problem below. We should probably research here why this happens and how we can fix it in a better way: ./Widget.cs(111,4): error CS0246: The type or namespace name `GtkWidgetClass' could not be found. Are you missing an assembly reference? ./Widget.cs(112,4): error CS0841: A local variable `klass' cannot be used before it is declared ./Widget.cs(113,4): error CS0103: The name `OverrideClassStruct' does not exist in the current context ./Widget.cs(113,32): error CS0841: A local variable `klass' cannot be used before it is declared
1 parent 0f1a3e0 commit 94e46e7

File tree

10 files changed

+6090
-1371
lines changed

10 files changed

+6090
-1371
lines changed

gdk/gdk-api.raw

Lines changed: 538 additions & 126 deletions
Large diffs are not rendered by default.

generator/ObjectBase.cs

Lines changed: 1 addition & 1 deletion
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

Lines changed: 30 additions & 3 deletions
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)