Compare commits

..

170 Commits

Author SHA1 Message Date
Matthias Clasen 019650ff26 columnview: Clarify docs
Mention that gtk_column_view_sort_by_column
can be called multiple times to ste up
complex sorting.
2022-10-20 06:56:25 -04:00
Matthias Clasen eb045fe936 columnview: Reimplement column view sorting
Replace the private GtkColumnViewSorter implementation
with a GtkMultiSorter containing GtkInvertibleSorters
wrapping the individual column sorters.
2022-10-20 06:56:25 -04:00
Matthias Clasen 173f82772e Add GtkInvertibleSorter
This is a sorter that wraps another sorter
and allows to invert its sort order.
2022-10-20 06:56:25 -04:00
Matthias Clasen 3d521d3b56 Add gtk_multi_sorter_splice
There is no reason to have a weaker list api
on this sorter than on a list store. We will
need this function in the following commits.
2022-10-19 23:34:11 -04:00
Matthias Clasen 4bb79decf3 Merge branch 'label-selection-fix' into 'main'
label: Tweak selection behavior

Closes #2024

See merge request GNOME/gtk!5148
2022-10-19 21:37:08 +00:00
Matthias Clasen 60fb93e063 label: Tweak selection behavior
Arrange for double-click-followed-by-drag to do
select by words, not select-and-dnd. This matches
the behavior in GtkTextView better and feels
intuitive.

Fixes: #2024
2022-10-19 16:22:55 -04:00
Matthias Clasen 4ba5c90bc9 Merge branch 'filechooser-amberol' into 'main'
filechooser: Improve "Open in File Manager"

Closes #5260

See merge request GNOME/gtk!5140
2022-10-19 19:41:15 +00:00
Matthias Clasen 1d16bd7d30 Merge branch 'matthiasc/for-main' into 'main'
docs: Remove mention of ~/.gtk-4.0

Closes #3266

See merge request GNOME/gtk!5146
2022-10-19 19:11:57 +00:00
Matthias Clasen 17819ad4f6 filechooser: Improve "Open in File Manager"
Just relying on GAppInfo leads to suboptimal
results. Instead, call either the OpenURI portal
or the org.freedesktop.FileManager1 interface
directly, and only fall back to GAppInfo.

The wrapper code for the OpenURI portal is taken
from gio, with small adjustments.

Fixes: #5260
2022-10-19 15:01:21 -04:00
Matthias Clasen ac1ea6faca docs: Remove mention of ~/.gtk-4.0
We are not looking there anymore, for a long time.

Fixes: #3266
2022-10-19 14:36:48 -04:00
Matthias Clasen 8a3f1a1fa1 Merge branch 'builder-tool-scope' into 'main'
docs: Update gtk4-builder-tool docs

See merge request GNOME/gtk!5145
2022-10-19 18:34:25 +00:00
Matthias Clasen 46c7c0c4e6 docs: Document new buildertool options 2022-10-19 13:36:14 -04:00
Matthias Clasen dd60a9abd6 buildertool: Support enumerating callbacks
The new scope approach makes this easy, and
it can be useful to know what functions are
needed.
2022-10-19 13:36:14 -04:00
Matthias Clasen 50835ffbf6 buildertool: Improve validate implementation
Reimplement deprecation checking via a scope.
This lets us ignore missing callbacks, and helps
for validating templates.
2022-10-19 13:36:14 -04:00
Matthias Clasen 637713fe72 buildertool: Add a builder scope implementation
This will be used in future commits.
2022-10-19 13:36:14 -04:00
Matthias Clasen 7e71c868ab buildertool: Use --deprecations for templates
Use this option for templates too.

We still can't parse most templates, since they are
missing their callbacks.
2022-10-19 13:36:14 -04:00
Matthias Clasen aaf5c43e78 Merge branch 'matthiasc/for-main' into 'main'
docs: Update gtk4-builder-tool docs

See merge request GNOME/gtk!5144
2022-10-19 17:13:23 +00:00
Matthias Clasen 5fb6f0e410 Merge branch 'wip/clipboard-serials' into 'main'
gdk/wayland: Use serial of the latest implicit grab available

Closes #5250

See merge request GNOME/gtk!5143
2022-10-19 13:57:19 +00:00
Matthias Clasen cd031de680 docs: Update gtk4-builder-tool docs
Mention the new --deprecations option of the
validate command.
2022-10-19 08:50:34 -04:00
Carlos Garnacho eeda25ab04 gdk/wayland: Use serial of the latest implicit grab available
When getting the serial for primary/clipboard selections we used a
function that largely relied on a GdkEvent being passed. We have
another available function that looks up the most recent serial
given the ongoing touch/tablet input as well.

This is the second best, compared to actually knowing the
input/device from the event that was received by the UI an triggered
the clipboard operation, and is already in use in other places
(e.g. window dragging). It is valid for these situations too.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5250
2022-10-19 13:54:07 +02:00
Matthias Clasen acaf04a24e Merge branch 'builder-deprecations' into 'main'
buildertool: Fix template handling

Closes #5256

See merge request GNOME/gtk!5141
2022-10-19 11:20:37 +00:00
Matthias Clasen bcabe77799 buildertool: Warn about deprecations
Add a new option --deprecations to the validate
command that will warn about use of deprecated types.

The list of current deprecations is unfortunately
hardcoded in the source, so this list will have to
be kept up-to-date.

Fixes: #5256
2022-10-19 02:51:29 -04:00
Matthias Clasen 64cf31f348 buildertool: Fix template handling
We were not properly parsing the error message
here, leading to badness.
2022-10-19 02:51:29 -04:00
Matthias Clasen e037155a94 Merge branch 'text-overwrite-undo' into 'main'
testsuite: Fix tiff pixbuf tests

Closes #4411

See merge request GNOME/gtk!5138
2022-10-19 05:59:13 +00:00
Matthias Clasen 55cbb8a8d6 Merge branch 'clarify-gapplication-docs' into 'main'
docs: Clarify a point in GtkApplication docs

See merge request GNOME/gtk!5139
2022-10-19 03:54:36 +00:00
Matthias Clasen db599f2ae6 Merge branch 'fix-pixbuf-tiff-tests' into 'main'
testsuite: Fix tiff pixbuf tests

Closes #4615

See merge request GNOME/gtk!5137
2022-10-19 03:53:08 +00:00
Matthias Clasen 741567868e Merge branch 'modelbutton-tooltip' into 'main'
widgetfactory: Add text to iconic model buttons

Closes #5220

See merge request GNOME/gtk!5136
2022-10-19 03:51:21 +00:00
Matthias Clasen 1e5e0480fd text: Make overwrite undo-friendly
In overwrite mode, every typed character gets
handled as a delete+insert, but we should not
record these as two individually undoable
steps.

This matches how we handle overwrite mode in
GtkTextView.

Fixes: #4411
2022-10-18 23:49:16 -04:00
Matthias Clasen 917aa7928d docs: Clarify a point in GtkApplication docs
Clarify that loading of automatic resources uses
the resource base path that was set at construction
time.

Fixes: #4300
2022-10-18 23:47:48 -04:00
Matthias Clasen cd4dbd67a2 testsuite: Skip known-broken tests
The tiff pixbuf tests fail because of known
issues with the pixbuf tiff loader. Skip them.

Fixes: #4615
2022-10-18 23:22:47 -04:00
Matthias Clasen 5a6eab05e9 testsuite: Fix tiff pixbuf tests
This test wasn't actually testing what it claims,
since that functionality is broken in gdk-pixbuf.

Test it anyway.
2022-10-18 23:21:28 -04:00
Matthias Clasen 55ccaf9df9 modelbutton: Set up tooltips
Use the text of iconic model buttons as tooltip.

Fixes: #5220
2022-10-18 22:35:28 -04:00
Matthias Clasen af0e056eec widgetfactory: Add text to iconic model buttons
We want to use this for tooltips in the future.
2022-10-18 22:35:02 -04:00
Matthias Clasen 77d1f0d982 Merge branch 'matthiasc/for-main' into 'main'
fontchooser: Drop a few errant translations

Closes #5146

See merge request GNOME/gtk!5135
2022-10-19 01:53:56 +00:00
Matthias Clasen d4d7d5eafd fontchooser: Drop a few errant translations
No point in translating these properties, they
are not strings.

Fixes: #5146
2022-10-18 16:40:37 -04:00
Matthias Clasen f658027c51 Merge branch 'fix-editable-label-spurious-focus-out' into 'main'
window: Keep a reference to move_focus_widget

Closes #4864

See merge request GNOME/gtk!5134
2022-10-18 19:45:19 +00:00
Matthias Clasen 7be993b728 editablelabel: Defer changes on focus-out
We can get spurious focus-out/-in pairs when
the editable label is in a popover that gets
a Wayland keyboard enter event as a result of
clicking the editable label.

A timeout isn't a great solution, but nothing
better is available right now.

Fixes: #4864
2022-10-18 14:23:22 -04:00
Matthias Clasen e1d78821f6 window: Keep a reference to move_focus_widget
If we don't take a reference, it can happen that
the pointer is no longer valid by the time we
dereference it in after_paint.
2022-10-18 14:23:11 -04:00
Matthias Clasen 94ac1af293 Merge branch 'fix-focus-changes' into 'main'
window: Fix focus updates

Closes #4903

See merge request GNOME/gtk!5127
2022-10-18 11:02:08 +00:00
Matthias Clasen b4db48935d Merge branch 'fix-windows-build-testmountoperation' into 'main'
tests/testmountoperation.c: Fix build on Windows

See merge request GNOME/gtk!5126
2022-10-18 10:53:21 +00:00
Matthias Clasen f5063c1435 window: Don't focus invisible widgets
Only clear a queued move_focus if the widget
we are focusing is actually visible.

This was happening in some cases when popovers
are dismissed by clicking outside, and it was
causing us to miss proper focus updates that
were already queued.
2022-10-18 06:42:17 -04:00
Benjamin Otte 8092a6858e Merge branch 'bilelmoussaoui/gi-deprecated' into 'main'
g-i: Fix deprecated version of GtkTreeView

See merge request GNOME/gtk!5131
2022-10-18 09:53:53 +00:00
Bilal Elmoussaoui 0fbaeaabd0 g-i: Fix deprecated version of GtkTreeView 2022-10-18 11:27:39 +02:00
Luca Bacci 995f00d23f Merge branch 'forward-port-mr-991-to-gtk4-2' into 'main'
Use native Windows API for converting keystrokes to characters

Closes #2944

See merge request GNOME/gtk!4986
2022-10-17 19:20:08 +00:00
Matthias Clasen 100605ef0c window: Fix focus updates
This partially undoes changes from 3dbf5038fa.

That commit did two things:
1) Move the focus update to after-paint time
2) Change from grabbing focus to the visible parent
   to  calling move_focus (TAB)

The second part did have the unintended consequence
of moving focus laterally.

Fixes: #4903
2022-10-17 15:10:41 -04:00
Benjamin Otte 1246cd5e73 Merge branch 'wip/otte/for-main' into 'main'
singleselection: Be more careful about notifies

See merge request GNOME/gtk!5129
2022-10-17 18:34:40 +00:00
Benjamin Otte f30e59fed9 dropdown: Handle ::selected and ::selected-item separately
GtkSingleSelection will only emit either of those signals if they
change. But it is possible that only one of those properties changes,
and in those cases we want to only notify for that property changing in
the dropdown, too.
2022-10-17 20:11:27 +02:00
Benjamin Otte 5e8b294faf singleselection: Be more careful about notifies
We don't want to notify::selected or notify::selected-item if they
didn't change.
This will bring performance benefits on frequently changing lists.

In particular, if lists get filtered or reordered, but the selected item
stays in the list, not doing a notify::selected-item will avoid updates
in connected handlers like GtkDropdown (and its handlers), thereby
avoiding lots of unnecessary updates.
2022-10-17 20:11:27 +02:00
Philip Zander c84c469b78 Use native Windows API for converting keystrokes to characters 2022-10-17 19:36:48 +02:00
Chun-wei Fan 1a5a65acd0 tests/testmountoperation.c: Fix build on Windows
Sadly, we can't just use an interger for a GPid on Windows, so just cast
it.  Sounds silly for non-Windows, but that's life...
2022-10-17 12:36:17 +08:00
Matthias Clasen 6f5d18a9f5 macos: Fix clipboard data size handling
We were using the allocated memory size, not
the amount of data that has been written.

Fixes: #5261
2022-10-16 23:45:28 -04:00
Matthias Clasen 004f22a51c Merge branch 'matthiasc/for-main' into 'main'
Rename gtk_widget_get_style_color

See merge request GNOME/gtk!5125
2022-10-17 03:26:21 +00:00
Matthias Clasen d775caff7f Rename gtk_widget_get_style_color
This name wasn't everybody's favorite, so go with
the generic name gtk_widget_get_color() instead.
2022-10-16 21:41:43 -04:00
Piotr Drąg baf3a3eecd Update POTFILES.in 2022-10-16 14:34:34 +02:00
Benjamin Otte ca2e14788d Merge branch 'antoniof-main-patch-03677' into 'main'
columnview: Don't be focusable

See merge request GNOME/gtk!5022
2022-10-14 22:39:49 +00:00
Matthias Clasen c57d8fc6be Merge branch 'gtk_widget_get_style_color-docs-fix' into 'main'
Fix documentation for `gtk_widget_get_style_color()`

See merge request GNOME/gtk!5119
2022-10-14 10:49:15 +00:00
Sebastian Dröge 294e5bb79f Fix documentation for gtk_widget_get_style_color()
It was pointing at `gtk_widget_get_css_style()` instead.
2022-10-14 12:36:11 +03:00
Matthias Clasen bde19f9b2a Fix blank popovers
This was a typo in 2b00b64e8c, making
us render the background on the wrong snapshot.
2022-10-13 16:38:41 -04:00
Matthias Clasen 1d2071b892 NEWS: Updates 2022-10-12 23:27:36 -04:00
Matthias Clasen b46eb5c20a Merge branch 'matthiasc/for-main' into 'main'
filechooser: Update the settings docs

See merge request GNOME/gtk!5118
2022-10-13 03:09:47 +00:00
Matthias Clasen 3d605615ce filechooser: Update the settings docs
Document the window-position setting as unused.
2022-10-12 22:47:51 -04:00
Matthias Clasen c502d7fca6 Merge branch 'matthiasc/for-main' into 'main'
docs: Add a cross-reference

See merge request GNOME/gtk!5117
2022-10-13 02:43:48 +00:00
Matthias Clasen 9f8abc5d74 docs: Add a cross-reference
Note that GtkTreeView is deprecated and link to the
list view introduction from 'Tree and List Widget Overview'.
2022-10-12 22:26:40 -04:00
Matthias Clasen c8cbb3fbba Merge branch 'matthiasc/for-main' into 'main'
filechooserentry: Add a set_text api

See merge request GNOME/gtk!5116
2022-10-13 02:25:19 +00:00
Matthias Clasen fa3c8ed5f9 filechooser: Stop using entrycompletion api
The file chooser entry now has an api for this.
2022-10-12 21:59:35 -04:00
Matthias Clasen 8ac5f1983e filechooserentry: Add a set_text api
This function prevents the completion popup
from coming up when setting the entry text.
2022-10-12 21:59:19 -04:00
Matthias Clasen eccc02d084 Merge branch 'matthiasc/for-main' into 'main'
Start a migration guide for GTK 5

See merge request GNOME/gtk!5114
2022-10-12 21:02:56 +00:00
Matthias Clasen 0c94db7147 Start a migration guide for GTK 5
No need to panic, GTK 5 is still years away!
But it is good to write this material down while
it is fresh in mind.
2022-10-12 16:39:28 -04:00
Matthias Clasen ed87473bf9 Merge branch 'deprecate-render' into 'main'
wip: Deprecate gtk_render apis

See merge request GNOME/gtk!5100
2022-10-12 20:38:19 +00:00
Matthias Clasen 812a879ec2 inspector: Use gtk_widget_get_style_color
The graph renderer in the statistics page needs
the CSS foreground color to draw the graph. Use
the just introduced api for it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 5627542d7c Add gtk_widget_get_style_color
There is a widespread need to access the CSS foreground
color for custom drawing in snapshot functions, so make
it available after gtk_style_context_get_color was
deprecated with a new widget api.
2022-10-12 15:35:00 -04:00
Matthias Clasen f42fe500c9 cssnode: Avoid style context api
Duplicate the print flags in gtkcssnodeprivate.h,
so we don't rely on gtkstylecontext.h here.
2022-10-12 15:35:00 -04:00
Matthias Clasen ac3177ce95 tests: Ignore deprecations
Some of our tests use deprecated style context api.
Most of them should be ported to use global style
providers eventually. For now, ignore deprecations.
2022-10-12 15:35:00 -04:00
Matthias Clasen ccaaff406f testsuite: Ignore deprecations
Some of our tests use deprecated style context
apis. Ignore the deprecations for now.
2022-10-12 15:35:00 -04:00
Matthias Clasen b1ec43ae33 demos: Ignore deprecations
Most of these demos should be ported to use
global style providers eventually. For now,
just ignore the deprecations.
2022-10-12 15:35:00 -04:00
Matthias Clasen ee8c2a235f stylecontext: Deprecate most apis
The notable exception here are the global provider apis,
which are needed in some form and don't have a replacement
yet. Move them to gtkstyleprovider.[hc], so we can wholly
deprecated gtkstylecontext.[hc].
2022-10-12 15:35:00 -04:00
Matthias Clasen 299fbfd722 tests: Ignore deprecations for render api 2022-10-12 15:35:00 -04:00
Matthias Clasen 5f54ecdf2c aboutdialog: Stop using gtk_style_context_save 2022-10-12 15:35:00 -04:00
Matthias Clasen e09138ce45 textview: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen a71893f88b text: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen 01324ffaff label: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen c354465ed8 scrolledwindow: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen 50ab2386ec printunixdialog: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen bf9f362597 popover: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen d03ee57cc5 flowbox: Stop using gtk_style_context_save_to_node 2022-10-12 15:35:00 -04:00
Matthias Clasen 6f24bd9ff4 demos: Ignore deprecations for render apis
Eventually, this demo should probably be removed.
2022-10-12 15:35:00 -04:00
Matthias Clasen 616e0a0d32 textview: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen ee76105119 text: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 381f863a18 label: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 57c63d9ce7 Use the new caret rendering api
Implement the deprecated gtk_snapshot_render api
for carets with the new one.
2022-10-12 15:35:00 -04:00
Matthias Clasen 0522dade9f Add gtk_css_style_snapshot_caret 2022-10-12 15:35:00 -04:00
Matthias Clasen 484cff2182 glarea: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, stop using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen dd3c371c08 inscription: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 3145bce6a1 render: Use the new layout render api 2022-10-12 15:35:00 -04:00
Matthias Clasen 73f991a7fd Add gtk_css_style_snapshot_layout
This function renders a PangoLayout at a given
position, using text shadows and color from css.
2022-10-12 15:35:00 -04:00
Matthias Clasen 0205caa371 scrolledwindow: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen c2c46a7036 printunixdialog: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 2b00b64e8c popover: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 4e2522a080 iconview: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 473065dfeb flowbox: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
2022-10-12 15:35:00 -04:00
Matthias Clasen 60dafebd91 Deprecate gtk_snapshot_render apis
Move the implementations from gtksnapshot.c to
gtk/deprecated/gtkrender.c and deprecated these
functions. We want to get rid of them.

These functions are still used in some of our widgetry,
so use G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS around
them.
2022-10-12 15:35:00 -04:00
Matthias Clasen 35370752d5 Deprecate gtk_render apis
These take a GtkStyleContext as argument, and we
want to get rid of GtkStyleContext eventually.
The proper drawing api these days is gtk_snapshot.
2022-10-12 15:35:00 -04:00
Matthias Clasen 808d00906c printunixdialog: Stop using gtk_render_ apis
These are getting deprecated.
2022-10-12 15:35:00 -04:00
Matthias Clasen da5d5bd71f popover: Stop using gtk_render_background
The gtk_render_ apis are getting deprecated.
2022-10-12 15:34:59 -04:00
Matthias Clasen 0c99e69423 flowbox: Stop using gtk_render_background
The gtk_render_ apis are getting deprecated.
2022-10-12 15:34:59 -04:00
Matthias Clasen 410813eb6b Merge branch 'deprecate-all-the-cells' into 'main'
Deprecate treeviews and cell renderers

See merge request GNOME/gtk!5098
2022-10-12 19:28:04 +00:00
Luca Bacci 6cc44eb0fe Merge branch 'for-master' into 'main'
For master

See merge request GNOME/gtk!5095
2022-10-12 13:56:51 +00:00
Matthias Clasen 11ee930b9d Merge branch 'inspector_a11y' into 'main'
GtkInspector: make the inspector at least a little bit more accessible

See merge request GNOME/gtk!5109
2022-10-12 11:06:35 +00:00
Matthias Clasen 69e4c9b01e tests: Ignore deprecations
Eventually, most of these tests should be dropped.
2022-10-11 17:18:21 -04:00
Matthias Clasen c32fed9238 testsuite: Ignore deprecations
For now, just ignore deprecations. Eventually,
we will have to go through, drop demos that are
for wholly deprecated widgets, and update others.
2022-10-11 17:18:21 -04:00
Matthias Clasen 4941ef659f tools: Ignore deprecations
For now, just ignore deprecations. Eventually,
we will have to go through and drop code that is
dealing with widgets that are going away.
2022-10-11 17:18:21 -04:00
Matthias Clasen 6efb18330f demos and examples: Ignore deprecations
For now, just ignore deprecations. Eventually,
we will have to go through, drop demos that are
for wholly deprecated widgets, and update others.
2022-10-11 17:18:21 -04:00
Matthias Clasen 5e256590db Deprecate treeviews and cell renderers
This includes

GtkCellArea
GtkCellAreaBox
GtkCellAreaContext
GtkCellEditable
GtkCellRenderer
GtkCellRendererAccel
GtkCellRendererCombo
GtkCellRendererPixbuf
GtkCellRendererProgress
GtkCellRendererSpin
GtkCellRendererSpinner
GtkCellRendererText
GtkCellRendererToggle
GtkCellView
GtkComboBox
GtkComboBoxText
GtkIconView
GtkListStore
GtkTreeModel
GtkTreeModelFilter
GtkTreeModelSort
GtkTreeStore
GtkTreeView
GtkTreeViewColumn
GtkTreeSelection
2022-10-11 17:18:21 -04:00
Matthias Clasen 79303d7cd3 inspector: Drop an unused file 2022-10-11 17:18:21 -04:00
Matthias Clasen 681a818af2 flowbox: Stop using gtk_render_background
The gtk_render_ apis are getting deprecated.
2022-10-11 17:18:21 -04:00
Matthias Clasen 933b1eb4df Merge branch 'filename-sorter' into 'main'
stringsorter: Add a collate-mode property

See merge request GNOME/gtk!5111
2022-10-11 20:59:08 +00:00
Matthias Clasen c419b57754 stringsorter: Fix up a doc typo
gi-docgen links can be tricky to get right.
2022-10-11 15:32:05 -04:00
Matthias Clasen 05323869d7 stringsorter: Add more detail to the docs
Mention when a collation value of NONE might
be useful.
2022-10-11 14:09:21 -04:00
Matthias Clasen 2520148ebb Apply 2 suggestion(s) to 2 file(s) 2022-10-11 17:53:26 +00:00
Matthias Clasen a06a4ad59a ci: Allow macos builds to fail
The runner seems busted, so allow builds to fail
for now.
2022-10-11 13:43:36 -04:00
Matthias Clasen 141aac1a60 stringsorter: Add a collation property
The new property lets us choose between
Unicode collation, filename collation, and
plain strcmp.

This will be used in the filechooser.
2022-10-11 13:42:00 -04:00
Lukáš Tyrychtr 8a1578ede8 GtkInspector: make the inspector at least a little bit more accessible
Namely, it adds accessible name to the property value editors and to a few labels in the a11y panel.
2022-10-11 13:34:53 +02:00
Matthias Clasen 8ba7840528 Merge branch 'wip/corey/file-clipboard' into 'main'
gdkcontentserializer: Use newlines for file separators

Closes #5240

See merge request GNOME/gtk!5107
2022-10-10 21:13:28 +00:00
Corey Berla 3168a3e086 gdkcontentserializer: Use newlines for file separators
Use newlines rather than spaces to separate file paths (or uri's)
when serializing text/plain files.  There isn't a matching
deserializer, so we can do this in isolation.  Newlines
seem to make more sense when pasting into a text editor etc.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5240
2022-10-10 13:27:07 -07:00
Matthias Clasen 3cf9149129 Merge branch 'matthiasc/for-main' into 'main'
Matthiasc/for main

See merge request GNOME/gtk!5106
2022-10-10 03:29:41 +00:00
Matthias Clasen 7c8a098852 emojicompletion: Drop an unused include 2022-10-09 23:08:55 -04:00
Matthias Clasen ecbdb3104a emojichooser: Drop an unused include 2022-10-09 23:03:43 -04:00
Matthias Clasen c8a332b3af searchentry: Drop an unused include 2022-10-09 23:03:36 -04:00
Matthias Clasen b5f7d57124 Merge branch 'matthiasc/for-main' into 'main'
gtk-demo: Modernize accordion demo

See merge request GNOME/gtk!5105
2022-10-09 14:26:58 +00:00
Benjamin Otte 0db5c7f421 testgtk: Use global css provider 2022-10-09 10:13:44 -04:00
Benjamin Otte ed83272f35 tests: Use per-screen CSS providers 2022-10-09 10:13:10 -04:00
Benjamin Otte 20b49e7c34 gtk-demo: Modernize accordion demo 2022-10-09 10:09:59 -04:00
Matthias Clasen 6a6ef0f437 Merge branch 'matthiasc/for-main' into 'main'
inspector: Fix some criticals

See merge request GNOME/gtk!5104
2022-10-09 13:53:54 +00:00
Benjamin Otte 32ef462f1d fontbutton: Use attributes for custom font
Don't try to use CSS.
2022-10-09 09:10:39 -04:00
Matthias Clasen b895360f49 inspector: Fix some criticals
This is fallout from the recent porting to GtkColumnView.
2022-10-09 09:10:39 -04:00
Matthias Clasen c2c094e8a1 Merge branch 'matthiasc/for-main' into 'main'
widget: Changing the scale does no longer require a redraw

See merge request GNOME/gtk!5103
2022-10-09 13:10:24 +00:00
Benjamin Otte d4d0192405 widget: Changing the scale does no longer require a redraw
It doesn't require one generally anyway, because only the root can
change scale and when that happens the root will queue a redraw.

But even if the root doesn't queue a redraw, render nodes (the only
thing discarded by queue_draw()) are scale-independant.
2022-10-09 08:50:32 -04:00
Matthias Clasen 15ea36e7fd Merge branch 'matthiasc/for-main' into 'main'
glarea: Drop an unused include

See merge request GNOME/gtk!5102
2022-10-09 12:49:42 +00:00
Matthias Clasen 692279586a Merge branch 'main' into 'main'
GtkPaned: Fix symbol names in code example

See merge request GNOME/gtk!5101
2022-10-09 12:22:08 +00:00
Matthias Clasen 9eec475dcc glarea: Drop an unused include
We are not using gtk_render apis here.
2022-10-09 08:10:12 -04:00
Tilo Villwock 661130d429 GtkPaned: Fix symbol names in code example 2022-10-08 13:49:10 +02:00
Matthias Clasen 68b73ebf91 Merge branch 'matthiasc/for-main' into 'main'
paperdialog: Drop an unused function

See merge request GNOME/gtk!5099
2022-10-08 03:01:24 +00:00
Matthias Clasen 08c0020ac3 placesview: Stop using GtkEntryCompletion
We want to get rid of tree models and cell renderers,
and that includes GtkEntryCompletion. The functionality
here is really not that essential.
2022-10-07 22:22:36 -04:00
Matthias Clasen ac87c72797 paperdialog: Drop an unused function
This gets rid of a GtkListStore use.
2022-10-07 22:03:15 -04:00
Matthias Clasen 5be8710774 Merge branch 'inspector-trees' into 'main'
inspector: Stop using GtkTreeView for css nodes

See merge request GNOME/gtk!5097
2022-10-07 21:55:10 +00:00
Matthias Clasen 5fa027ab8a cssnode: Drop the node-added/-removed signals
These are no longer used, and the children-observer
listmodel is a better approach for monitoring the
children.
2022-10-07 17:21:04 -04:00
Matthias Clasen dbe04adb1a inspector: Drop the css node tree model
This is not used anymore.
2022-10-07 17:17:41 -04:00
Matthias Clasen 6815f3af6d inspector: Stop using GtkTreeView for css nodes
Replace the css node tree with a GtkColumnView, using
the new gtk_css_node_observe_children api.
2022-10-07 15:54:02 -04:00
Matthias Clasen f8357512d0 Add gtk_css_node_observe_children 2022-10-07 15:54:01 -04:00
Luca Bacci 8bfc19e7f7 GtkFileChooserNativeWin32: Add some option flags
Avoid changing the current directory.
Also avoid creating a sample file to test if the target file
can be created.

References:

* "Why does the common file dialog change the current directory?"
 -> https://devblogs.microsoft.com/oldnewthing/20101112-00/?p=12293

* "Why does the common file save dialog create a temporary file and then delete it?"
 -> https://devblogs.microsoft.com/oldnewthing/20140429-00/?p=1123
2022-10-07 19:06:09 +02:00
Luca Bacci d6f7449636 GdkWin32: Return TRUE when processing WM_XBUTTONDOWN/UP messages
As documented on MSDN:

> Unlike the WM_LBUTTONUP, WM_MBUTTONUP, and WM_RBUTTONUP messages, an
> application should return TRUE from this message if it processes it.
2022-10-07 19:05:29 +02:00
Luca Bacci f4286e8f1a GdkWin32: Use gdk_pixbuf_read_pixels () where applicable
This is an optimization in case of reading unmodifiable GdkPixbufs.
Also replace uses of GLib integral types with <stdlib.h> integral
types.
2022-10-07 19:05:29 +02:00
Matthias Clasen 14e6fd1f12 Merge branch 'wroy-main-patch-03767' into 'main'
Add subproject/libjpeg-turbo.wrap

Closes #5237

See merge request GNOME/gtk!5094
2022-10-07 16:00:36 +00:00
William Roy 2e57621fc5 Add subproject/libjpeg-turbo.wrap 2022-10-07 14:48:49 +00:00
Matthias Clasen 4a8ae3a20c Merge branch 'inspector-trees' into 'main'
inspector: Stop using GtkTreeView for statistics

See merge request GNOME/gtk!5093
2022-10-07 05:57:02 +00:00
Matthias Clasen 61393fdcce inspector: Stop using GtkTreeView for statistics
GtkTreeView is heading towards deprecation; use
a GtkColumnView instead.
2022-10-07 01:40:51 -04:00
Matthias Clasen 6ed6cebcf4 inspector: Fixup
We were overlooking a transfer full here.
2022-10-07 00:12:47 -04:00
Jürgen Benvenuti 2f764f6c18 Update German translation
(cherry picked from commit 52dd917c6a)
2022-10-06 20:48:36 +00:00
Matthias Clasen a646e50019 Merge branch 'main' into 'main'
Treat XKB_MOD_NAME_LOGO as super key

Closes #4913

See merge request GNOME/gtk!5088
2022-10-06 10:41:56 +00:00
Po Lu e967dfed2d Treat XKB_MOD_NAME_LOGO as super key 2022-10-06 11:19:31 +04:00
Matthias Clasen 2dc33a9de1 Merge branch 'matthiasc/for-main' into 'main'
gdk: Cosmetics

See merge request GNOME/gtk!5087
2022-10-06 03:48:36 +00:00
Matthias Clasen 7c5e1c6195 gtk: Rename some private headers
Improve the consistency of our private header
naming, by add 'private' to a bunch of them.
2022-10-05 23:01:28 -04:00
Matthias Clasen 8607312fef gdk: Cosmetics
Add a define for each renderer.
2022-10-05 23:01:28 -04:00
Matthias Clasen abac891bd2 Merge branch 'inspector-trees' into 'main'
inspector: Stop using a treeview for css properties

See merge request GNOME/gtk!5086
2022-10-06 02:52:12 +00:00
Matthias Clasen 2e25a13fc0 Merge branch 'matthiasc/for-main' into 'main'
mountoperation: Add a mnemonic to a button

See merge request GNOME/gtk!5085
2022-10-06 02:15:16 +00:00
Matthias Clasen 7a2c4e8a38 inspector: Stop using a treeview for css properties
Treeviews are heading towards deprecation.
2022-10-05 22:12:57 -04:00
Matthias Clasen 90e0ace325 inspector: Cosmetics 2022-10-05 21:20:04 -04:00
Matthias Clasen 9a2a5d9c8b mountoperation: Add a mnemonic to a button
This is a good practice, even if this is a rarely
used dialog.
2022-10-05 20:14:09 -04:00
António Fernandes 9cb8d21cb5 columnview: Forward all focus to child
For the same reasoning as the preceding commit.

Also don't make GtkColumnView focusable. Its internal list view
is already focusable, which is enough to take care of the empty
view case.
2022-10-03 20:48:10 +01:00
António Fernandes 4fc4298920 listbase: Grab focus on items instead of container
The container view itself being focusable makes keyboard navigation
slower by adding a useless focus step.

It also means if an item gets removed, the focus jumps back to the view,
instead of jumping to the next item, as seen in nautilus bug report:
https://gitlab.gnome.org/GNOME/nautilus/-/issues/2489

Instead of making the GtkListBase container itself focusable, override
the .grab_focus() vfunc. This way, calling gtk_widget_grab_focus() on
the view container keeps working sucessfully, but focuses the focus
item directly instead.

This is particularly useful to have because applicaiton authors do
not have direct acess to this class's children, so they can't call
gtk_widget_grab_focus() on them directly.
2022-10-03 20:26:24 +01:00
342 changed files with 7559 additions and 5056 deletions
+1
View File
@@ -192,6 +192,7 @@ macos:
only:
- branches@GNOME/gtk
stage: build
allow_failure: true
tags:
- macos
needs: []
+43
View File
@@ -1,6 +1,49 @@
Overview of Changes in 4.9.1, dd-mm-yyyy
========================================
Note that deprecations are an early outlook
at changes that will appear in an eventual
GTK 5 release, which is still far away.
* GtkTreeView, GtkIconView, GtkComboBox and
auxiliary classes have been deprecated
* GtkEntryCompletion has been deprecated
* GtkStyleContext has been deprecated
* gtk_render_ and gtk_snapshot_render_ APIs
have been deprecated
* GtkAppChooser widgets hae been deprecated
* GtkMountOperation:
- Fix the dialog to look reasonable
- Make it work under non-X11
* GtkStringSorter:
- Support different collation methods
* Accessibility:
- Introduce GtkAccessibleRange and implement it
* Debugging:
- Unify formatting for debug output
- Make make debug options available in
non-debug builds
* Translation updates:
Abkhazian
Basque
Bulgarian
Croatian
Friulian
Georgian
German
Hungarian
Russian
Turkish
Overview of Changes in 4.8.1, 16-09-2022
========================================
@@ -21,6 +21,8 @@
#include "constraint-editor.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
struct _ConstraintEditor
{
GtkWidget parent_instance;
+2
View File
@@ -21,6 +21,8 @@
#include "guide-editor.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
struct _GuideEditor
{
GtkWidget parent_instance;
+2
View File
@@ -11,6 +11,8 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
enum
{
ICON_NAME_COL,
+19 -14
View File
@@ -1,20 +1,16 @@
/* Theming/CSS Accordion
*
* A simple accordion demo written using CSS transitions and multiple backgrounds
*
*/
#include <gtk/gtk.h>
static void
apply_css (GtkWidget *widget, GtkStyleProvider *provider)
destroy_provider (GtkWidget *window,
GtkStyleProvider *provider)
{
GtkWidget *child;
gtk_style_context_add_provider (gtk_widget_get_style_context (widget), provider, G_MAXUINT);
for (child = gtk_widget_get_first_child (widget);
child != NULL;
child = gtk_widget_get_next_sibling (child))
apply_css (child, provider);
gtk_style_context_remove_provider_for_display (gtk_widget_get_display (window), provider);
}
GtkWidget *
@@ -24,8 +20,8 @@ do_css_accordion (GtkWidget *do_widget)
if (!window)
{
GtkWidget *container, *child;
GtkStyleProvider *provider;
GtkWidget *container, *styled_box, *child;
GtkCssProvider *provider;
window = gtk_window_new ();
gtk_window_set_title (GTK_WINDOW (window), "CSS Accordion");
@@ -33,10 +29,13 @@ do_css_accordion (GtkWidget *do_widget)
gtk_window_set_default_size (GTK_WINDOW (window), 600, 300);
g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window);
styled_box = gtk_frame_new (NULL);
gtk_window_set_child (GTK_WINDOW (window), styled_box);
gtk_widget_add_css_class (styled_box, "accordion");
container = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_halign (container, GTK_ALIGN_CENTER);
gtk_widget_set_valign (container, GTK_ALIGN_CENTER);
gtk_window_set_child (GTK_WINDOW (window), container);
gtk_frame_set_child (GTK_FRAME (styled_box), container);
child = gtk_button_new_with_label ("This");
gtk_box_append (GTK_BOX (container), child);
@@ -56,10 +55,16 @@ do_css_accordion (GtkWidget *do_widget)
child = gtk_button_new_with_label (":-)");
gtk_box_append (GTK_BOX (container), child);
provider = GTK_STYLE_PROVIDER (gtk_css_provider_new ());
gtk_css_provider_load_from_resource (GTK_CSS_PROVIDER (provider), "/css_accordion/css_accordion.css");
provider = gtk_css_provider_new ();
gtk_css_provider_load_from_resource (provider, "/css_accordion/css_accordion.css");
apply_css (window, provider);
gtk_style_context_add_provider_for_display (gtk_widget_get_display (window),
GTK_STYLE_PROVIDER (provider),
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_signal_connect (window, "destroy",
G_CALLBACK (destroy_provider), provider);
g_object_unref (provider);
}
if (!gtk_widget_get_visible (window))
+10 -10
View File
@@ -1,13 +1,13 @@
@import url("resource://css_accordion/reset.css");
.accordion, .accordion * {
all: unset;
* {
transition-property: color, background-color, border-color, background-image, padding, border-width;
transition-duration: 1s;
font: 20px Cantarell;
}
window {
.accordion {
background: linear-gradient(153deg, #151515, #151515 5px, transparent 5px) 0 0,
linear-gradient(333deg, #151515, #151515 5px, transparent 5px) 10px 5px,
linear-gradient(153deg, #222, #222 5px, transparent 5px) 0 5px,
@@ -18,7 +18,7 @@ window {
background-size: 20px 20px;
}
button {
.accordion button {
color: black;
background-color: #bbb;
border-style: solid;
@@ -28,25 +28,25 @@ button {
padding: 12px 4px;
}
button:first-child {
.accordion button:first-child {
border-radius: 5px 0 0 5px;
}
button:last-child {
.accordion button:last-child {
border-radius: 0 5px 5px 0;
border-width: 2px;
}
button:hover {
.accordion button:hover {
padding: 12px 48px;
background-color: #4870bc;
}
button *:hover {
.accordion button *:hover {
color: white;
}
button:hover:active,
button:active {
.accordion button:hover:active,
.accordion button:active {
background-color: #993401;
}
+2
View File
@@ -6,6 +6,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
show_parsing_error (GtkCssProvider *provider,
GtkCssSection *section,
+2
View File
@@ -6,6 +6,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
show_parsing_error (GtkCssProvider *provider,
GtkCssSection *section,
+2
View File
@@ -7,6 +7,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
show_parsing_error (GtkCssProvider *provider,
GtkCssSection *section,
+2
View File
@@ -5,6 +5,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
show_parsing_error (GtkCssProvider *provider,
GtkCssSection *section,
-1
View File
@@ -24,7 +24,6 @@
</gresource>
<gresource prefix="/css_accordion">
<file>css_accordion.css</file>
<file>reset.css</file>
</gresource>
<gresource prefix="/css_basics">
<file>css_basics.css</file>
+2
View File
@@ -11,6 +11,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
G_DECLARE_FINAL_TYPE (CanvasItem, canvas_item, CANVAS, ITEM, GtkWidget)
struct _CanvasItem {
+2
View File
@@ -14,6 +14,8 @@
#include <string.h>
#include <stdlib.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
typedef struct
{
int number;
+2
View File
@@ -9,6 +9,8 @@
#include <gtk/gtk.h>
#include <stdlib.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
enum {
WIDTH_COLUMN,
HEIGHT_COLUMN,
+1
View File
@@ -21,6 +21,7 @@
#include "script-names.h"
#include "language-names.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#define MAKE_TAG(a,b,c,d) (unsigned int)(((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
+2
View File
@@ -10,6 +10,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static GtkWidget *window = NULL;
static GtkWidget *font_button = NULL;
static GtkWidget *entry = NULL;
+2
View File
@@ -20,6 +20,8 @@
#include "gtkshadertoy.h"
#include "gskshaderpaintable.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static GtkWidget *demo_window = NULL;
static void
+2
View File
@@ -9,6 +9,8 @@
#include <gtk/gtk.h>
#include <string.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static GtkWidget *window = NULL;
#define FOLDER_NAME "/iconview/gnome-fs-directory.png"
+2
View File
@@ -8,6 +8,8 @@
#include <gtk/gtk.h>
#include <string.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
enum
{
COL_TEXT,
+2
View File
@@ -7,6 +7,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static GtkWidget *window = NULL;
static GtkTreeModel *model = NULL;
static guint timeout = 0;
+1
View File
@@ -10,6 +10,7 @@
#include "script-names.h"
#include "unicode-names.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#define UCD_TYPE_ITEM (ucd_item_get_type ())
G_DECLARE_FINAL_TYPE (UcdItem, ucd_item, UCD, ITEM, GObject)
+2
View File
@@ -8,6 +8,8 @@
#include "config.h"
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* Create an object for the pegs that get moved around in the game.
*
* We implement the GdkPaintable interface for them, so we can use GtkPicture
+2
View File
@@ -16,6 +16,8 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* Convenience function to create a combo box holding a number of strings
*/
GtkWidget *
+2
View File
@@ -11,6 +11,8 @@
#include <stdlib.h> /* for exit() */
#include "paintable.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void easter_egg_callback (GtkWidget *button, gpointer data);
static void
+2
View File
@@ -10,6 +10,8 @@
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* TreeItem structure */
typedef struct _TreeItem TreeItem;
struct _TreeItem
+12
View File
@@ -664,6 +664,7 @@ on_record_button_toggled (GtkToggleButton *button,
gtk_widget_add_css_class (GTK_WIDGET (button), "destructive-action");
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
on_page_combo_changed (GtkComboBox *combo,
gpointer user_data)
@@ -705,6 +706,7 @@ on_page_combo_changed (GtkComboBox *combo,
default:;
}
}
G_GNUC_END_IGNORE_DEPRECATIONS
static void
on_range_from_changed (GtkSpinButton *from)
@@ -843,6 +845,7 @@ page_changed_cb (GtkWidget *stack, GParamSpec *pspec, gpointer data)
}
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
populate_model (GtkTreeStore *store)
{
@@ -960,6 +963,7 @@ row_separator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
return is_sep;
}
G_GNUC_END_IGNORE_DEPRECATIONS
static void
update_title_header (GtkListBoxRow *row,
@@ -1578,6 +1582,7 @@ osd_frame_pressed (GtkGestureClick *gesture,
return GDK_EVENT_STOP;
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static gboolean
page_combo_separator_func (GtkTreeModel *model,
GtkTreeIter *iter,
@@ -1592,6 +1597,7 @@ page_combo_separator_func (GtkTreeModel *model,
return res;
}
G_GNUC_END_IGNORE_DEPRECATIONS
static void
toggle_format (GSimpleAction *action,
@@ -1844,6 +1850,7 @@ update_buttons (GtkWidget *iv, GtkIconSize size)
gtk_widget_set_sensitive (button, size != GTK_ICON_SIZE_INHERIT);
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
increase_icon_size (GtkWidget *iv)
{
@@ -1894,6 +1901,7 @@ reset_icon_size (GtkWidget *iv)
gtk_widget_queue_resize (iv);
}
G_GNUC_END_IGNORE_DEPRECATIONS
static char *
scale_format_value_blank (GtkScale *scale, double value, gpointer user_data)
@@ -2270,10 +2278,12 @@ activate (GApplication *app)
g_object_set_data (G_OBJECT (window), "selection_flowbox", widget2);
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (populate_flowbox), widget2);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
widget = (GtkWidget *)gtk_builder_get_object (builder, "charletree");
populate_model ((GtkTreeStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (widget)));
gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (widget), row_separator_func, NULL, NULL);
gtk_tree_view_expand_all (GTK_TREE_VIEW (widget));
G_GNUC_END_IGNORE_DEPRECATIONS
widget = GTK_WIDGET (gtk_builder_get_object (builder, "munsell"));
widget2 = GTK_WIDGET (gtk_builder_get_object (builder, "cchooser"));
@@ -2281,6 +2291,7 @@ activate (GApplication *app)
populate_colors (widget, widget2);
g_signal_connect (widget2, "notify::rgba", G_CALLBACK (rgba_changed), widget);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
widget = (GtkWidget *)gtk_builder_get_object (builder, "page_combo");
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (widget), page_combo_separator_func, NULL, NULL);
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "range_from_spin");
@@ -2291,6 +2302,7 @@ activate (GApplication *app)
g_object_set_data (G_OBJECT (widget), "range_to_spin", widget3);
g_object_set_data (G_OBJECT (widget2), "range_to_spin", widget3);
g_object_set_data (G_OBJECT (widget), "print_button", widget4);
G_GNUC_END_IGNORE_DEPRECATIONS
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "tooltextview");
+5
View File
@@ -3345,10 +3345,12 @@ bad things might happen.</property>
<attribute name="display-hint">circular-buttons</attribute>
<item>
<attribute name="verb-icon">printer-symbolic</attribute>
<attribute name="label" translatable="yes">Print all the things!</attribute>
<attribute name="action">win.print</attribute>
</item>
<item>
<attribute name="verb-icon">emblem-shared-symbolic</attribute>
<attribute name="label" translatable="yes">Share all the things!</attribute>
<attribute name="action">app.share</attribute>
</item>
</section>
@@ -3363,14 +3365,17 @@ bad things might happen.</property>
<attribute name="label" translatable="yes">Edit</attribute>
<item>
<attribute name="verb-icon">edit-cut-symbolic</attribute>
<attribute name="label" translatable="yes">Cut</attribute>
<attribute name="action">app.cut</attribute>
</item>
<item>
<attribute name="verb-icon">edit-copy-symbolic</attribute>
<attribute name="label" translatable="yes">Copy</attribute>
<attribute name="action">app.copy</attribute>
</item>
<item>
<attribute name="verb-icon">edit-paste-symbolic</attribute>
<attribute name="label" translatable="yes">Paste</attribute>
<attribute name="action">app.paste</attribute>
</item>
</section>
+11 -3
View File
@@ -12,8 +12,8 @@ SYNOPSIS
--------
| **gtk4-builder-tool** <COMMAND> [OPTIONS...] <FILE>
|
| **gtk4-builder-tool** validate <FILE>
| **gtk4-builder-tool** enumerate <FILE>
| **gtk4-builder-tool** validate [OPTIONS...] <FILE>
| **gtk4-builder-tool** enumerate [OPTIONS...] <FILE>
| **gtk4-builder-tool** simplify [OPTIONS...] <FILE>
| **gtk4-builder-tool** preview [OPTIONS...] <FILE>
| **gtk4-builder-tool** screenshot [OPTIONS...] <FILE>
@@ -33,12 +33,20 @@ Validation
The ``validate`` command validates the given UI definition file and reports
errors to ``stderr``.
``--deprecations``
Warn about uses of deprecated types in the UI definition file.
Enumeration
^^^^^^^^^^^
The ``enumerate`` command lists all the named objects that are present in the UI
The ``enumerate`` command prints all the named objects that are present in the UI
definition file.
``--callbacks``
Print the names of callbacks as well.
Preview
^^^^^^^
+74
View File
@@ -0,0 +1,74 @@
Title: Preparing for GTK 5
Slug: gtk-migrating-4-to-5
GTK 5 will be a major new version of GTK that breaks both API and
ABI compared to GTK 4.x. GTK 5 does not exist yet, so we cannot
be entirely sure what will be involved in a migration from GTK 4
to GTK 5. But we can already give some preliminary hints about
the likely changes, and how to prepare for them in code that is
using GTK 4.
### Do not use deprecated symbols
As always, functions and types that are known to go away in the
next major version of GTK are being marked as deprecated in GTK 4.
Removing the use of deprecated APIs is the most important step
to prepare your code for the next major version of GTK. Often,
deprecation notes will include hints about replacement APIs to
help you with this.
Sometimes, it is helpful to have some background information about
the motivation and goals of larger API changes.
## Cell renderers are going away
Cell renderers were introduced in GTK 2 to support rendering of
"big data" UIs, in particular treeviews. Over the years, more
"data-like" widgets have started to use them, and cell renderers
have grown into a shadowy, alternative rendering infrastructure
that duplicates much of what widgets do, while duplicating the
code and adding their own dose of bugs.
In GTK 4, replacement widgets for GtkTreeView, GtkIconView and
GtkComboBox have appeared: GtkListView, GtkColumnView, GtkGridView
and GtkDropDown. For GTK 5, we will take the next step and remove
all cell renderer-based widgets.
## Themed rendering APIs are going away
The old GTK 2 era rendering APIs for theme components like
gtk_render_frame() or gtk_render_check() have not been used by
GTK itself even in later GTK 3, but they have been kepy around
for the benefit of "external drawing" users - applications that
want their controls to look like GTK without using widgets.
Supporting this is increasingly getting in the way of making
the GTK CSS machinery fast and correct. One notable problem is
that temporary style changes (using gtk_style_context_save())
is breaking animations. Therefore, these APIs will be going away
in GTK 5, together with their more modern GtkSnapshot variants
like gtk_snapshot_render_background() or gtk_snapshot_render_focus().
The best way to render parts of your widget using CSS styling
is to use subwidgets. For example, to show a piece of text with
fonts, effects and shadows according to the current CSS style,
use a GtkLabel.
If you have a need for custom drawing that fits into the current
(dark or light) theme, e.g. for rendering a graph, you can still
get the current style foreground color, using
[method@Gtk.Widget.get_style_color].
## Local stylesheets are going away
The cascading part of GTK's CSS implementation is complicated by
the existence of local stylesheets (i.e. those added with
gtk_style_context_add_provider()). And local stylesheets are
unintuitive in that they do not apply to the whole subtree of
widgets, but just to the one widget where the stylesheet was
added.
GTK 5 will no longer provide this functionality. The recommendations
is to use a global stylesheet (i.e. gtk_style_context_add_provider_for_display())
and rely on style classes to make your CSS apply only where desired.
+1 -2
View File
@@ -92,8 +92,7 @@ Specifies a list of directories to search when GTK is looking for
dynamically loaded objects such as input method modules and print
backends. If the path to the dynamically loaded object is given as
an absolute path name, then GTK loads it directly. Otherwise, GTK
goes in turn through the directories in `GTK_PATH`, followed by
the directory `.gtk-4.0` in the user's home directory, followed
goes in turn through the directories in `GTK_PATH`, followed
by the system default directory, which is `libdir/gtk-4.0/modules`.
(If `GTK_EXE_PREFIX` is defined, `libdir` is `$GTK_EXE_PREFIX/lib`.
Otherwise it is the libdir specified when GTK was configured, usually
@@ -1,6 +1,13 @@
Title: Tree and List Widget Overview
Slug: gtk-treeview
This document describes the `GtkTreeView` widget and auxiliary
classes, like tree models and cell renderers. All of these have
been deprecated and will be removed in GTK 5. Their replacements
are described in the [List Widget Overview](section-list-widget.html).
## Introduction
To create a tree or list in GTK, use the `GtkTreeModel` interface in
conjunction with the `GtkTreeView` widget. This widget is designed around
a _Model/View/Controller_ design and consists of four major parts:
+2
View File
@@ -1,6 +1,8 @@
#include <stdlib.h>
#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
typedef struct
{
GtkApplication parent_instance;
+2 -1
View File
@@ -262,7 +262,8 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
message->key.state,
FALSE,
&translated,
&translated);
&translated,
NULL);
node = _gdk_event_queue_append (display, event);
_gdk_windowing_got_event (display, node, event, message->base.serial);
+2
View File
@@ -16,6 +16,8 @@ G_BEGIN_DECLS
#mesondefine GDK_WINDOWING_WAYLAND
#mesondefine GDK_WINDOWING_WIN32
#mesondefine GDK_RENDERING_CAIRO
#mesondefine GDK_RENDERING_GL
#mesondefine GDK_RENDERING_VULKAN
G_END_DECLS
+1 -1
View File
@@ -879,7 +879,7 @@ file_text_serializer (GdkContentSerializer *serializer)
g_string_append (str, path);
g_free (path);
if (l->next)
g_string_append (str, " ");
g_string_append (str, "\n");
}
path = g_string_free (str, FALSE);
}
+38 -2
View File
@@ -1517,6 +1517,16 @@ gdk_button_event_get_button (GdkEvent *event)
* An event related to a key-based device.
*/
static void
gdk_key_event_finalize (GdkEvent *event)
{
GdkKeyEvent *self = (GdkKeyEvent *) event;
g_free (self->compose_sequence);
GDK_EVENT_SUPER (event)->finalize (event);
}
static GdkModifierType
gdk_key_event_get_state (GdkEvent *event)
{
@@ -1528,7 +1538,7 @@ gdk_key_event_get_state (GdkEvent *event)
static const GdkEventTypeInfo gdk_key_event_info = {
sizeof (GdkKeyEvent),
NULL,
NULL,
gdk_key_event_finalize,
gdk_key_event_get_state,
NULL,
NULL,
@@ -1552,6 +1562,10 @@ GDK_DEFINE_EVENT_TYPE (GdkKeyEvent, gdk_key_event,
* @is_modifier: whether the event is a modifiers only event
* @translated: the translated key data for the given @state
* @no_lock: the translated key data without the given @state
* @compose_sequence: (transfer none) (nullable):
* The compose sequence string, either partial or only the
* final composed string, if that can be determined at event
* creation time. Used by selected IM modules.
*
* Creates a new `GdkKeyEvent`.
*
@@ -1566,7 +1580,8 @@ gdk_key_event_new (GdkEventType type,
GdkModifierType state,
gboolean is_modifier,
GdkTranslatedKey *translated,
GdkTranslatedKey *no_lock)
GdkTranslatedKey *no_lock,
char *compose_sequence)
{
g_return_val_if_fail (type == GDK_KEY_PRESS ||
type == GDK_KEY_RELEASE, NULL);
@@ -1579,6 +1594,7 @@ gdk_key_event_new (GdkEventType type,
self->key_is_modifier = is_modifier;
self->translated[0] = *translated;
self->translated[1] = *no_lock;
self->compose_sequence = g_strdup (compose_sequence);
return event;
}
@@ -1609,6 +1625,26 @@ gdk_key_event_get_translated_key (GdkEvent *event,
return &(self->translated[0]);
}
/*< private >
* gdk_key_event_get_compose_sequence:
* @event: (type GdkKeyEvent): a key event
*
* Extracts the compose sequence string from a key event.
*
* Returns: (transfer none): the compose sequence string
*/
char *
gdk_key_event_get_compose_sequence (GdkEvent *event)
{
GdkKeyEvent *self = (GdkKeyEvent *) event;
g_return_val_if_fail (GDK_IS_EVENT (event), 0);
g_return_val_if_fail (GDK_IS_EVENT_TYPE (event, GDK_KEY_PRESS) ||
GDK_IS_EVENT_TYPE (event, GDK_KEY_RELEASE), FALSE);
return self->compose_sequence;
}
/**
* gdk_key_event_get_keyval:
* @event: (type GdkKeyEvent): a key event
+8 -2
View File
@@ -259,6 +259,9 @@ typedef struct {
* @keycode: the raw code of the key that was pressed or released.
* @translated: the result of translating @keycode. First with the full
* @state, then while ignoring Caps Lock.
* @compose_sequence: optional string for use by selected IM modules.
* Contains either partial compose sequences or the final composed
* string of the keystroke sequence.
*
* Describes a key press or key release event.
*/
@@ -270,6 +273,7 @@ struct _GdkKeyEvent
guint32 keycode;
gboolean key_is_modifier;
GdkTranslatedKey translated[2];
char *compose_sequence;
};
/*
@@ -470,7 +474,8 @@ GdkEvent * gdk_key_event_new (GdkEventType type,
GdkModifierType modifiers,
gboolean is_modifier,
GdkTranslatedKey *translated,
GdkTranslatedKey *no_lock);
GdkTranslatedKey *no_lock,
char *compose_sequence);
GdkEvent * gdk_focus_event_new (GdkSurface *surface,
GdkDevice *device,
@@ -597,6 +602,8 @@ GdkEvent * gdk_grab_broken_event_new (GdkSurface *surface,
GdkTranslatedKey * gdk_key_event_get_translated_key (GdkEvent *event,
gboolean no_lock);
char * gdk_key_event_get_compose_sequence (GdkEvent *event);
typedef enum
{
/* Following flag is set for events on the event queue during
@@ -626,7 +633,6 @@ void _gdk_event_queue_flush (GdkDisplay *display);
double * gdk_event_dup_axes (GdkEvent *event);
G_END_DECLS
#endif /* __GDK_EVENTS_PRIVATE_H__ */
+1 -1
View File
@@ -440,7 +440,7 @@ on_data_ready_cb (GObject *object,
g_output_stream_close (G_OUTPUT_STREAM (wr->stream), NULL, NULL);
size = g_memory_output_stream_get_size (wr->stream);
size = g_memory_output_stream_get_data_size (wr->stream);
bytes = g_memory_output_stream_steal_data (wr->stream);
data = [[NSData alloc] initWithBytesNoCopy:bytes
length:size
+2 -1
View File
@@ -431,7 +431,8 @@ fill_key_event (GdkMacosDisplay *display,
state,
is_modifier,
&translated,
&no_lock);
&no_lock,
NULL);
}
static GdkEvent *
+2 -1
View File
@@ -944,7 +944,8 @@ _gdk_macos_surface_synthesize_null_key (GdkMacosSurface *self)
0,
FALSE,
&translated,
&no_lock);
&no_lock,
NULL);
_gdk_event_queue_append (display, event);
}
+2
View File
@@ -161,6 +161,8 @@ gdkconfig_cdata.set('GDK_WINDOWING_WAYLAND', wayland_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_WIN32', win32_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_BROADWAY', broadway_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_MACOS', macos_enabled)
gdkconfig_cdata.set('GDK_RENDERING_CAIRO', true)
gdkconfig_cdata.set('GDK_RENDERING_GL', true)
gdkconfig_cdata.set('GDK_RENDERING_VULKAN', have_vulkan)
gdkconfig = configure_file(
+3 -2
View File
@@ -2205,7 +2205,8 @@ deliver_key_event (GdkWaylandSeat *seat,
device_get_modifiers (seat->logical_pointer),
_gdk_wayland_keymap_key_is_modifier (keymap, key),
&translated,
&no_lock);
&no_lock,
NULL);
_gdk_wayland_display_deliver_event (seat->display, event);
@@ -5322,7 +5323,7 @@ gdk_wayland_device_set_selection (GdkDevice *gdk_device,
g_return_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device));
seat = GDK_WAYLAND_SEAT (gdk_device_get_seat (gdk_device));
serial = _gdk_wayland_seat_get_implicit_grab_serial (GDK_SEAT (seat), NULL);
serial = _gdk_wayland_seat_get_last_implicit_grab_serial (seat, NULL);
wl_data_device_set_selection (seat->data_device, source, serial);
}
+3 -1
View File
@@ -254,7 +254,7 @@ get_xkb_modifiers (struct xkb_keymap *xkb_keymap,
if (state & GDK_ALT_MASK)
mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_ALT);
if (state & GDK_SUPER_MASK)
mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Super");
mods |= (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super") | 1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO));
if (state & GDK_HYPER_MASK)
mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper");
if (state & GDK_META_MASK)
@@ -277,6 +277,8 @@ get_gdk_modifiers (struct xkb_keymap *xkb_keymap,
state |= GDK_CONTROL_MASK;
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_ALT)))
state |= GDK_ALT_MASK;
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO)))
state |= GDK_SUPER_MASK;
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super")))
state |= GDK_SUPER_MASK;
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper")))
+2 -1
View File
@@ -292,7 +292,8 @@ gdk_wayland_primary_claim (GdkClipboard *clipboard,
}
seat = gdk_display_get_default_seat (GDK_DISPLAY (wdisplay));
serial = _gdk_wayland_seat_get_implicit_grab_serial (seat, NULL);
serial = _gdk_wayland_seat_get_last_implicit_grab_serial (GDK_WAYLAND_SEAT (seat),
NULL);
zwp_primary_selection_device_v1_set_selection (cb->primary_data_device,
cb->source,
serial);
+33 -36
View File
@@ -17,34 +17,29 @@
*/
#include "config.h"
#define GDK_PIXBUF_ENABLE_BACKEND /* Ugly? */
#include "gdkdisplay.h"
#include "gdkcursor.h"
#include "gdkwin32.h"
#include "gdktextureprivate.h"
#include <glib/gi18n-lib.h>
#include "gdkdisplay-win32.h"
#ifdef __MINGW32__
#include <w32api.h>
#endif
#include "xcursors.h"
typedef struct _DefaultCursor {
#include <stdint.h>
static struct {
char *name;
char *id;
} DefaultCursor;
static DefaultCursor default_cursors[] = {
} default_cursors[] = {
/* -- Win32 cursor names: -- */
{ "appstarting", IDC_APPSTARTING },
{ "arrow", IDC_ARROW },
{ "cross", IDC_CROSS },
{ "hand", IDC_HAND },
{ "help", IDC_HELP },
{ "ibeam", IDC_IBEAM },
/* an X cursor name, for compatibility with GTK: */
/* -- X11 cursor names: -- */
{ "left_ptr_watch", IDC_APPSTARTING },
{ "sizeall", IDC_SIZEALL },
{ "sizenesw", IDC_SIZENESW },
@@ -53,7 +48,7 @@ static DefaultCursor default_cursors[] = {
{ "sizewe", IDC_SIZEWE },
{ "uparrow", IDC_UPARROW },
{ "wait", IDC_WAIT },
/* css cursor names: */
/* -- CSS cursor names: -- */
{ "default", IDC_ARROW },
{ "pointer", IDC_HAND },
{ "progress", IDC_APPSTARTING },
@@ -93,18 +88,17 @@ struct _GdkWin32HCursor
/* Do not do any modifications to the handle
* (i.e. do not call DestroyCursor() on it).
* It's a "read-only" copy, the original is stored
* in the display instance.
*/
* It's a "read-only" copy, the original is
* stored in the display instance */
HANDLE readonly_handle;
/* This is a way to access the real handle stored
* in the display.
* TODO: make it a weak reference
*/
/* This is a way to access the real handle
* stored in the display.
* TODO: make it a weak reference */
GdkWin32Display *display;
/* A copy of the "destoyable" attribute of the handle */
/* A copy of the "destoyable" attribute of
* the handle */
gboolean readonly_destroyable;
};
@@ -382,7 +376,8 @@ hcursor_from_x_cursor (int i,
int j, x, y, ofs;
HCURSOR rv;
int w, h;
guchar *and_plane, *xor_plane;
uint8_t *and_plane;
uint8_t *xor_plane;
w = GetSystemMetrics (SM_CXCURSOR);
h = GetSystemMetrics (SM_CYCURSOR);
@@ -406,7 +401,7 @@ hcursor_from_x_cursor (int i,
for (x = 0; x < cursors[i].width && x < w ; x++, j++)
{
int pofs = ofs + x / 8;
guchar data = (cursors[i].data[j/4] & (0xc0 >> (2 * (j%4)))) >> (2 * (3 - (j%4)));
uint8_t data = (cursors[i].data[j/4] & (0xc0 >> (2 * (j%4)))) >> (2 * (3 - (j%4)));
int bit = 7 - (j % cursors[i].width) % 8;
if (data)
@@ -852,7 +847,7 @@ static GdkWin32HCursor *
create_blank_win32hcursor (GdkWin32Display *display)
{
int w, h;
guchar *and_plane, *xor_plane;
uint8_t *and_plane, *xor_plane;
HCURSOR rv;
w = GetSystemMetrics (SM_CXCURSOR);
@@ -1009,7 +1004,7 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
RGBQUAD colors[2];
} bmi;
HDC hdc;
guchar *pixels, *bits;
uint8_t *pixels, *bits;
int rowstride, x, y, w, h;
if (!GDI_CALL (GetIconInfo, (hicon, &ii)))
@@ -1117,7 +1112,7 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
for (y = 0; y < h; y++)
{
const guchar *andp, *xorp;
const uint8_t *andp, *xorp;
if (bmi.bi.biHeight < 0)
{
andp = bits + bpl*y;
@@ -1178,8 +1173,8 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
*/
static HBITMAP
create_alpha_bitmap (int size,
guchar **outdata)
create_alpha_bitmap (int size,
uint8_t **outdata)
{
BITMAPV5HEADER bi;
HDC hdc;
@@ -1216,9 +1211,9 @@ create_alpha_bitmap (int size,
}
static HBITMAP
create_color_bitmap (int size,
guchar **outdata,
int bits)
create_color_bitmap (int size,
uint8_t **outdata,
int bits)
{
struct {
BITMAPV4HEADER bmiHeader;
@@ -1265,8 +1260,9 @@ pixbuf_to_hbitmaps_alpha_winxp (GdkPixbuf *pixbuf,
* http://www.dotnet247.com/247reference/msgs/13/66301.aspx
*/
HBITMAP hColorBitmap, hMaskBitmap;
guchar *indata, *inrow;
guchar *colordata, *colorrow, *maskdata, *maskbyte;
const uint8_t *indata;
const uint8_t *inrow;
uint8_t *colordata, *colorrow, *maskdata, *maskbyte;
int width, height, size, i, i_offset, j, j_offset, rowstride;
guint maskstride, mask_bit;
@@ -1289,7 +1285,7 @@ pixbuf_to_hbitmaps_alpha_winxp (GdkPixbuf *pixbuf,
/* MSDN says mask rows are aligned to "LONG" boundaries */
maskstride = (((size + 31) & ~31) >> 3);
indata = gdk_pixbuf_get_pixels (pixbuf);
indata = gdk_pixbuf_read_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
if (width > height)
@@ -1343,8 +1339,9 @@ pixbuf_to_hbitmaps_normal (GdkPixbuf *pixbuf,
* http://www.dotnet247.com/247reference/msgs/13/66301.aspx
*/
HBITMAP hColorBitmap, hMaskBitmap;
guchar *indata, *inrow;
guchar *colordata, *colorrow, *maskdata, *maskbyte;
const uint8_t *indata;
const uint8_t *inrow;
uint8_t *colordata, *colorrow, *maskdata, *maskbyte;
int width, height, size, i, i_offset, j, j_offset, rowstride, nc, bmstride;
gboolean has_alpha;
guint maskstride, mask_bit;
@@ -1373,7 +1370,7 @@ pixbuf_to_hbitmaps_normal (GdkPixbuf *pixbuf,
/* MSDN says mask rows are aligned to "LONG" boundaries */
maskstride = (((size + 31) & ~31) >> 3);
indata = gdk_pixbuf_get_pixels (pixbuf);
indata = gdk_pixbuf_read_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
nc = gdk_pixbuf_get_n_channels (pixbuf);
has_alpha = gdk_pixbuf_get_has_alpha (pixbuf);
+62 -85
View File
@@ -1857,7 +1857,8 @@ gdk_event_translate (MSG *msg,
0,
FALSE,
&translated,
&translated);
&translated,
NULL);
_gdk_win32_append_event (event);
}
break;
@@ -1906,8 +1907,12 @@ gdk_event_translate (MSG *msg,
GdkTranslatedKey translated;
GdkTranslatedKey no_lock;
BYTE key_state[256];
wchar_t wbuf[100];
int ccount = 0;
GArray *translation;
MSG msg2;
int level = 0;
int effective_group = 0;
GdkModifierType consumed = 0;
char *composed = NULL;
/* Ignore key messages intended for the IME */
if (msg->wParam == VK_PROCESSKEY || in_ime_composition)
@@ -1929,34 +1934,41 @@ gdk_event_translate (MSG *msg,
API_CALL (GetKeyboardState, (key_state));
ccount = 0;
if (msg->wParam == VK_PACKET)
{
ccount = ToUnicode (VK_PACKET, HIWORD (msg->lParam), key_state, wbuf, 1, 0);
if (ccount == 1)
{
if (wbuf[0] >= 0xD800 && wbuf[0] < 0xDC00)
{
if (msg->message == WM_KEYDOWN)
impl->leading_surrogate_keydown = wbuf[0];
else
impl->leading_surrogate_keyup = wbuf[0];
/* don't emit an event */
return_val = TRUE;
break;
}
else
{
/* wait until an event is created */;
}
}
}
keyval = GDK_KEY_VoidSymbol;
keycode = msg->wParam;
/* Get the WinAPI translation of the WM_KEY messages to characters.
The WM_CHAR messages are generated by a previous call to TranslateMessage() and always
follow directly after the corresponding WM_KEY* messages.
There could be 0 or more WM_CHAR messages following (for example dead keys don't generate
WM_CHAR messages - they generate WM_DEAD_CHAR instead, but we are not interested in those
messages). */
translation = g_array_sized_new (FALSE, FALSE, sizeof (gunichar2), 2);
while (PeekMessageW (&msg2, msg->hwnd, 0, 0, 0) && (msg2.message == WM_CHAR || msg2.message == WM_SYSCHAR))
{
/* The character is encoded in WPARAM as UTF-16. */
gunichar2 c = msg2.wParam;
/* Append character to translation string. */
g_array_append_val (translation, c);
/* Remove message from queue */
GetMessageW (&msg2, msg->hwnd, 0, 0);
}
if (translation->len > 0)
composed = g_utf16_to_utf8 ((gunichar2*)translation->data,
translation->len, NULL, NULL, NULL);
g_array_unref (translation);
translation = NULL;
/* Ignore control sequences like Backspace */
if (composed && g_unichar_iscntrl (g_utf8_get_char (composed)))
g_clear_pointer (&composed, g_free);
if (HIWORD (msg->lParam) & KF_EXTENDED)
{
switch (msg->wParam)
@@ -1985,61 +1997,20 @@ gdk_event_translate (MSG *msg,
state = build_key_event_state (key_state);
group = get_active_group ();
if (msg->wParam == VK_PACKET && ccount == 1)
{
if (wbuf[0] >= 0xD800 && wbuf[0] < 0xDC00)
{
g_assert_not_reached ();
}
else if (wbuf[0] >= 0xDC00 && wbuf[0] < 0xE000)
{
wchar_t leading;
gdk_keymap_translate_keyboard_state ((GdkKeymap*) win32_keymap, keycode, state, group,
&keyval, &effective_group, &level, &consumed);
translated.keyval = keyval;
translated.consumed = consumed;
translated.layout = effective_group;
translated.level = level;
if (msg->message == WM_KEYDOWN)
leading = impl->leading_surrogate_keydown;
else
leading = impl->leading_surrogate_keyup;
keyval = gdk_unicode_to_keyval ((leading - 0xD800) * 0x400 + wbuf[0] - 0xDC00 + 0x10000);
}
else
{
keyval = gdk_unicode_to_keyval (wbuf[0]);
}
translated.keyval = keyval;
translated.consumed = 0;
translated.layout = 0;
translated.level = 0;
no_lock = translated;
}
else
{
int level = 0;
int effective_group = 0;
GdkModifierType consumed = 0;
gdk_keymap_translate_keyboard_state ((GdkKeymap*) win32_keymap, keycode, state, group,
&keyval, &effective_group, &level, &consumed);
translated.keyval = keyval;
translated.consumed = consumed;
translated.layout = effective_group;
translated.level = level;
gdk_keymap_translate_keyboard_state ((GdkKeymap*) win32_keymap, keycode,
state & ~GDK_LOCK_MASK, group, &keyval,
&effective_group, &level, &consumed);
no_lock.keyval = keyval;
no_lock.consumed = consumed;
no_lock.layout = effective_group;
no_lock.level = level;
}
if (msg->message == WM_KEYDOWN)
impl->leading_surrogate_keydown = 0;
else
impl->leading_surrogate_keyup = 0;
gdk_keymap_translate_keyboard_state ((GdkKeymap*) win32_keymap, keycode,
state & ~GDK_LOCK_MASK, group, &keyval,
&effective_group, &level, &consumed);
no_lock.keyval = keyval;
no_lock.consumed = consumed;
no_lock.layout = effective_group;
no_lock.level = level;
/* Only one release key event is fired when both shift keys are pressed together
and then released. In order to send the missing event, press events for shift
@@ -2087,10 +2058,12 @@ gdk_event_translate (MSG *msg,
state,
is_modifier,
&translated,
&no_lock);
&no_lock,
composed);
_gdk_win32_append_event (event);
g_free (composed);
return_val = TRUE;
}
break;
@@ -2169,7 +2142,8 @@ gdk_event_translate (MSG *msg,
build_key_event_state (key_state),
FALSE,
&translated,
&translated);
&translated,
NULL);
_gdk_win32_append_event (event);
@@ -2182,7 +2156,8 @@ gdk_event_translate (MSG *msg,
build_key_event_state (key_state),
FALSE,
&translated,
&translated);
&translated,
NULL);
_gdk_win32_append_event (event);
}
@@ -2229,6 +2204,7 @@ gdk_event_translate (MSG *msg,
generate_button_event (GDK_BUTTON_PRESS, button,
window, msg);
*ret_valp = (msg->message == WM_XBUTTONDOWN ? TRUE : 0);
return_val = TRUE;
break;
@@ -2312,6 +2288,7 @@ gdk_event_translate (MSG *msg,
mouse_window_ignored_leave = NULL;
}
*ret_valp = (msg->message == WM_XBUTTONUP ? TRUE : 0);
return_val = TRUE;
break;
}
-8
View File
@@ -235,14 +235,6 @@ struct _GdkWin32Surface
/* The cursor that GDK set for this window via GdkDevice */
GdkWin32HCursor *cursor;
/* When VK_PACKET sends us a leading surrogate, it's stashed here.
* Later, when another VK_PACKET sends a tailing surrogate, we make up
* a full unicode character from them, or discard the leading surrogate,
* if the next key is not a tailing surrogate.
*/
wchar_t leading_surrogate_keydown;
wchar_t leading_surrogate_keyup;
/* Window size hints */
int hint_flags;
GdkGeometry hints;
+2 -1
View File
@@ -1595,7 +1595,8 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
state,
gdk_x11_keymap_key_is_modifier (keymap, xev->detail),
&translated,
&no_lock);
&no_lock,
NULL);
if (ev->evtype == XI_KeyPress)
set_user_time (event);
+1 -1
View File
@@ -18,7 +18,7 @@
#include "config.h"
#include "gtkatspipangoprivate.h"
#include "gtkpango.h"
#include "gtkpangoprivate.h"
void
gtk_pango_get_font_attributes (PangoFontDescription *font,
+5 -1
View File
@@ -31,7 +31,7 @@
#include "gtklistbase.h"
#include "gtklistbox.h"
#include "gtkflowbox.h"
#include "gtkcombobox.h"
#include "deprecated/gtkcombobox.h"
#include "gtkstackswitcher.h"
#include "gtknotebook.h"
#include "gtklistview.h"
@@ -618,6 +618,8 @@ static const GDBusInterfaceVTable flowbox_vtable = {
/* }}} */
/* {{{ GtkComboBox */
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
combobox_handle_method (GDBusConnection *connection,
const gchar *sender,
@@ -713,6 +715,8 @@ static const GDBusInterfaceVTable combobox_vtable = {
NULL
};
G_GNUC_END_IGNORE_DEPRECATIONS
/* }}} */
/* {{{ GtkStackSwitcher */
+1 -1
View File
@@ -35,7 +35,7 @@
#include "gtkentryprivate.h"
#include "gtkinscriptionprivate.h"
#include "gtklabelprivate.h"
#include "gtkpango.h"
#include "gtkpangoprivate.h"
#include "gtkpasswordentryprivate.h"
#include "gtksearchentryprivate.h"
#include "gtkspinbuttonprivate.h"
+1 -1
View File
@@ -21,7 +21,7 @@
#include "gtkatspipangoprivate.h"
#include "gtktextbufferprivate.h"
#include "gtktextviewprivate.h"
#include "gtkpango.h"
#include "gtkpangoprivate.h"
void
gtk_text_view_add_default_attributes (GtkTextView *view,
@@ -343,17 +343,18 @@
#include <string.h>
#include <stdlib.h>
#include "gtkcelllayout.h"
#include "deprecated/gtkcelllayout.h"
#include "gtkcellarea.h"
#include "gtkcellareacontext.h"
#include "deprecated/gtkcellareacontext.h"
#include "gtkmarshalers.h"
#include "gtkprivate.h"
#include "gtksnapshot.h"
#include "deprecated/gtkrender.h"
#include "gtkstylecontext.h"
#include "gtknative.h"
#include <gobject/gvaluecollector.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* GObjectClass */
static void gtk_cell_area_dispose (GObject *object);
@@ -1587,6 +1588,8 @@ gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable,
* @renderer: the `GtkCellRenderer` to add to @area
*
* Adds @renderer to @area with the default child cell properties.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_add (GtkCellArea *area,
@@ -1604,6 +1607,8 @@ gtk_cell_area_add (GtkCellArea *area,
* @renderer: the `GtkCellRenderer` to remove from @area
*
* Removes @renderer from @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_remove (GtkCellArea *area,
@@ -1658,6 +1663,8 @@ get_has_renderer (GtkCellRenderer *renderer,
* Checks if @area contains @renderer.
*
* Returns: %TRUE if @renderer is in the @area.
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_area_has_renderer (GtkCellArea *area,
@@ -1680,6 +1687,8 @@ gtk_cell_area_has_renderer (GtkCellArea *area,
* @callback_data: user provided data pointer
*
* Calls @callback for every `GtkCellRenderer` in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_foreach (GtkCellArea *area,
@@ -1737,6 +1746,8 @@ gtk_cell_area_foreach_alloc (GtkCellArea *area,
* Delegates event handling to a `GtkCellArea`.
*
* Returns: %TRUE if the event was handled by @area.
*
* Deprecated: 4.10
*/
int
gtk_cell_area_event (GtkCellArea *area,
@@ -1777,6 +1788,8 @@ gtk_cell_area_event (GtkCellArea *area,
*
* Snapshots @areas cells according to @areas layout onto at
* the given coordinates.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_snapshot (GtkCellArea *area,
@@ -1830,6 +1843,8 @@ get_cell_allocation (GtkCellRenderer *renderer,
*
* Derives the allocation of @renderer inside @area if @area
* were to be renderered in @cell_area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_get_cell_allocation (GtkCellArea *area,
@@ -1886,6 +1901,8 @@ get_cell_by_position (GtkCellRenderer *renderer,
* returns the full cell allocation for it inside @cell_area.
*
* Returns: (transfer none): the `GtkCellRenderer` at @x and @y.
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_area_get_cell_at_position (GtkCellArea *area,
@@ -1929,6 +1946,8 @@ gtk_cell_area_get_cell_at_position (GtkCellArea *area,
* which was used to request the size of those rows of data).
*
* Returns: (transfer full): a newly created `GtkCellArea`Context which can be used with @area.
*
* Deprecated: 4.10
*/
GtkCellAreaContext *
gtk_cell_area_create_context (GtkCellArea *area)
@@ -1956,6 +1975,8 @@ gtk_cell_area_create_context (GtkCellArea *area)
* to be displayed.
*
* Returns: (transfer full): a newly created `GtkCellArea`Context copy of @context.
*
* Deprecated: 4.10
*/
GtkCellAreaContext *
gtk_cell_area_copy_context (GtkCellArea *area,
@@ -2000,6 +2021,8 @@ gtk_cell_area_get_request_mode (GtkCellArea *area)
* to check the @minimum_width and @natural_width of this call but rather to
* consult gtk_cell_area_context_get_preferred_width() after a series of
* requests.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_get_preferred_width (GtkCellArea *area,
@@ -2038,6 +2061,8 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area,
* requested with gtk_cell_area_get_preferred_width() again and then
* the full width of the requested rows checked again with
* gtk_cell_area_context_get_preferred_width().
*
* Deprecated: 4.10
*/
void
gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area,
@@ -2072,6 +2097,8 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area,
* to check the @minimum_height and @natural_height of this call but rather to
* consult gtk_cell_area_context_get_preferred_height() after a series of
* requests.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_get_preferred_height (GtkCellArea *area,
@@ -2110,6 +2137,8 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area,
* requested with gtk_cell_area_get_preferred_height() again and then
* the full height of the requested rows checked again with
* gtk_cell_area_context_get_preferred_height().
*
* Deprecated: 4.10
*/
void
gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area,
@@ -2141,6 +2170,8 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area,
*
* Connects an @attribute to apply values from @column for the
* `GtkTreeModel` in use.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_attribute_connect (GtkCellArea *area,
@@ -2207,6 +2238,8 @@ gtk_cell_area_attribute_connect (GtkCellArea *area,
* Disconnects @attribute for the @renderer in @area so that
* attribute will no longer be updated with values from the
* model.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_attribute_disconnect (GtkCellArea *area,
@@ -2250,6 +2283,8 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area,
* or -1 if the attribute is not mapped.
*
* Returns: the model column, or -1
*
* Deprecated: 4.10
*/
int
gtk_cell_area_attribute_get_column (GtkCellArea *area,
@@ -2288,6 +2323,8 @@ gtk_cell_area_attribute_get_column (GtkCellArea *area,
*
* Applies any connected attributes to the renderers in
* @area by pulling the values from @tree_model.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_apply_attributes (GtkCellArea *area,
@@ -2339,6 +2376,8 @@ gtk_cell_area_get_current_path_string (GtkCellArea *area)
* @pspec: the `GParamSpec` for the property
*
* Installs a cell property on a cell area class.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass,
@@ -2375,6 +2414,8 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass,
* Finds a cell property of a cell area class by name.
*
* Returns: (transfer none): the `GParamSpec` of the child property
*
* Deprecated: 4.10
*/
GParamSpec*
gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass,
@@ -2399,6 +2440,8 @@ gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass,
* Returns: (array length=n_properties) (transfer container): a newly
* allocated %NULL-terminated array of `GParamSpec`*. The array
* must be freed with g_free().
*
* Deprecated: 4.10
*/
GParamSpec**
gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass,
@@ -2428,6 +2471,8 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass,
*
* Adds @renderer to @area, setting cell properties at the same time.
* See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_add_with_properties (GtkCellArea *area,
@@ -2466,6 +2511,8 @@ gtk_cell_area_add_with_properties (GtkCellArea *area,
* with @first_prop_name
*
* Sets one or more cell properties for @cell in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_cell_set (GtkCellArea *area,
@@ -2492,6 +2539,8 @@ gtk_cell_area_cell_set (GtkCellArea *area,
* optionally by more name/return location pairs, followed by %NULL
*
* Gets the values of one or more cell properties for @renderer in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_cell_get (GtkCellArea *area,
@@ -2563,6 +2612,8 @@ area_set_cell_property (GtkCellArea *area,
* with @first_prop_name
*
* Sets one or more cell properties for @renderer in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_cell_set_valist (GtkCellArea *area,
@@ -2623,6 +2674,8 @@ gtk_cell_area_cell_set_valist (GtkCellArea *area,
* optionally by more name/return location pairs, followed by %NULL
*
* Gets the values of one or more cell properties for @renderer in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_cell_get_valist (GtkCellArea *area,
@@ -2680,6 +2733,8 @@ gtk_cell_area_cell_get_valist (GtkCellArea *area,
* @value: the value to set the cell property to
*
* Sets a cell property for @renderer in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_cell_set_property (GtkCellArea *area,
@@ -2716,6 +2771,8 @@ gtk_cell_area_cell_set_property (GtkCellArea *area,
* @value: a location to return the value
*
* Gets the value of a cell property for @renderer in @area.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_cell_get_property (GtkCellArea *area,
@@ -2785,6 +2842,8 @@ gtk_cell_area_cell_get_property (GtkCellArea *area,
* after applying new attributes to @area.
*
* Returns: whether @area can do anything when activated.
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_area_is_activatable (GtkCellArea *area)
@@ -2808,6 +2867,8 @@ gtk_cell_area_is_activatable (GtkCellArea *area)
* to how it lays out cells.
*
* Returns: %TRUE if focus remains inside @area as a result of this call.
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_area_focus (GtkCellArea *area,
@@ -2833,6 +2894,8 @@ gtk_cell_area_focus (GtkCellArea *area,
* can also activate a widget if it currently has the focus.
*
* Returns: Whether @area was successfully activated.
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_area_activate (GtkCellArea *area,
@@ -2859,6 +2922,8 @@ gtk_cell_area_activate (GtkCellArea *area,
* `GtkCellAreaClass.focus()` or `GtkCellAreaClass.event()`,
* however it can also be used to implement functions such
* as gtk_tree_view_set_cursor_on_cell().
*
* Deprecated: 4.10
*/
void
gtk_cell_area_set_focus_cell (GtkCellArea *area,
@@ -2897,6 +2962,8 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area,
* Retrieves the currently focused cell for @area
*
* Returns: (transfer none) (nullable): the currently focused cell in @area.
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_area_get_focus_cell (GtkCellArea *area)
@@ -2925,6 +2992,8 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area)
*
* Events handled by focus siblings can also activate the given
* focusable @renderer.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_add_focus_sibling (GtkCellArea *area,
@@ -2968,6 +3037,8 @@ gtk_cell_area_add_focus_sibling (GtkCellArea *area,
*
* Removes @sibling from @renderers focus sibling list
* (see gtk_cell_area_add_focus_sibling()).
*
* Deprecated: 4.10
*/
void
gtk_cell_area_remove_focus_sibling (GtkCellArea *area,
@@ -3003,6 +3074,8 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea *area,
* (see gtk_cell_area_add_focus_sibling()).
*
* Returns: %TRUE if @sibling is a focus sibling of @renderer
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_area_is_focus_sibling (GtkCellArea *area,
@@ -3038,6 +3111,8 @@ gtk_cell_area_is_focus_sibling (GtkCellArea *area,
*
* Returns: (element-type GtkCellRenderer) (transfer none): A `GList` of `GtkCellRenderer`s.
* The returned list is internal and should not be freed.
*
* Deprecated: 4.10
*/
const GList *
gtk_cell_area_get_focus_siblings (GtkCellArea *area,
@@ -3066,6 +3141,8 @@ gtk_cell_area_get_focus_siblings (GtkCellArea *area,
*
* Returns: (nullable) (transfer none): the `GtkCellRenderer`
* for which @renderer is a sibling
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_area_get_focus_from_sibling (GtkCellArea *area,
@@ -3205,6 +3282,8 @@ gtk_cell_area_set_edit_widget (GtkCellArea *area,
* being edited.
*
* Returns: (transfer none) (nullable): The currently edited `GtkCellRenderer`
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_area_get_edited_cell (GtkCellArea *area)
@@ -3224,6 +3303,8 @@ gtk_cell_area_get_edited_cell (GtkCellArea *area)
* to edit the currently edited cell.
*
* Returns: (transfer none) (nullable): The currently active `GtkCellEditable` widget
*
* Deprecated: 4.10
*/
GtkCellEditable *
gtk_cell_area_get_edit_widget (GtkCellArea *area)
@@ -3251,6 +3332,8 @@ gtk_cell_area_get_edit_widget (GtkCellArea *area)
* implementation.
*
* Returns: whether cell activation was successful
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_area_activate_cell (GtkCellArea *area,
@@ -3344,6 +3427,8 @@ gtk_cell_area_activate_cell (GtkCellArea *area,
* edit widget.
*
* See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget().
*
* Deprecated: 4.10
*/
void
gtk_cell_area_stop_editing (GtkCellArea *area,
@@ -3396,6 +3481,8 @@ gtk_cell_area_stop_editing (GtkCellArea *area,
* This is a convenience function for `GtkCellArea` implementations
* to get the inner area where a given `GtkCellRenderer` will be
* rendered. It removes any padding previously added by gtk_cell_area_request_renderer().
*
* Deprecated: 4.10
*/
void
gtk_cell_area_inner_cell_area (GtkCellArea *area,
@@ -3448,6 +3535,8 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area,
* function to request size and then use gtk_cell_area_inner_cell_area()
* at render and event time since this function will add padding
* around the cell for focus painting.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_request_renderer (GtkCellArea *area,
@@ -26,9 +26,9 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtktreemodel.h>
#include <gtk/deprecated/gtkcellrenderer.h>
#include <gtk/deprecated/gtktreemodel.h>
G_BEGIN_DECLS
@@ -269,20 +269,20 @@ GDK_AVAILABLE_IN_ALL
GType gtk_cell_area_get_type (void) G_GNUC_CONST;
/* Basic methods */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_add (GtkCellArea *area,
GtkCellRenderer *renderer);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_remove (GtkCellArea *area,
GtkCellRenderer *renderer);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_area_has_renderer (GtkCellArea *area,
GtkCellRenderer *renderer);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_foreach (GtkCellArea *area,
GtkCellCallback callback,
gpointer callback_data);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_foreach_alloc (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
@@ -290,14 +290,14 @@ void gtk_cell_area_foreach_alloc (GtkCellArea
const GdkRectangle *background_area,
GtkCellAllocCallback callback,
gpointer callback_data);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_cell_area_event (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
GdkEvent *event,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_snapshot (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
@@ -307,14 +307,14 @@ void gtk_cell_area_snapshot (GtkCellArea
GtkCellRendererState flags,
gboolean paint_focus);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_get_cell_allocation (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
GtkCellRenderer *renderer,
const GdkRectangle *cell_area,
GdkRectangle *allocation);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
@@ -324,179 +324,179 @@ GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea
GdkRectangle *alloc_area);
/* Geometry */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellAreaContext *gtk_cell_area_copy_context (GtkCellArea *area,
GtkCellAreaContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_get_preferred_width (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
int *minimum_width,
int *natural_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
int width,
int *minimum_height,
int *natural_height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_get_preferred_height (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
int *minimum_height,
int *natural_height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
int height,
int *minimum_width,
int *natural_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
const char * gtk_cell_area_get_current_path_string (GtkCellArea *area);
/* Attributes */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_apply_attributes (GtkCellArea *area,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gboolean is_expander,
gboolean is_expanded);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_attribute_connect (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *attribute,
int column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_attribute_disconnect (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *attribute);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_cell_area_attribute_get_column (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *attribute);
/* Cell Properties */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass,
guint property_id,
GParamSpec *pspec);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass,
const char *property_name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass,
guint *n_properties);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_add_with_properties (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *first_prop_name,
...) G_GNUC_NULL_TERMINATED;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_cell_set (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *first_prop_name,
...) G_GNUC_NULL_TERMINATED;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_cell_get (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *first_prop_name,
...) G_GNUC_NULL_TERMINATED;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_cell_set_valist (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *first_property_name,
va_list var_args);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_cell_get_valist (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *first_property_name,
va_list var_args);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_cell_set_property (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *property_name,
const GValue *value);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_cell_get_property (GtkCellArea *area,
GtkCellRenderer *renderer,
const char *property_name,
GValue *value);
/* Focus */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_area_is_activatable (GtkCellArea *area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_area_activate (GtkCellArea *area,
GtkCellAreaContext *context,
GtkWidget *widget,
const GdkRectangle *cell_area,
GtkCellRendererState flags,
gboolean edit_only);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_area_focus (GtkCellArea *area,
GtkDirectionType direction);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_set_focus_cell (GtkCellArea *area,
GtkCellRenderer *renderer);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area);
/* Focus siblings */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_add_focus_sibling (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellRenderer *sibling);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_remove_focus_sibling (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellRenderer *sibling);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellRenderer *sibling);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area,
GtkCellRenderer *renderer);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area,
GtkCellRenderer *renderer);
/* Cell Activation/Editing */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_area_activate_cell (GtkCellArea *area,
GtkWidget *widget,
GtkCellRenderer *renderer,
GdkEvent *event,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_stop_editing (GtkCellArea *area,
gboolean canceled);
/* Functions for area implementations */
/* Distinguish the inner cell area from the whole requested area including margins */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_inner_cell_area (GtkCellArea *area,
GtkWidget *widget,
const GdkRectangle *cell_area,
GdkRectangle *inner_area);
/* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_request_renderer (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkOrientation orientation,
@@ -46,12 +46,13 @@
#include "config.h"
#include "gtkorientable.h"
#include "gtkcelllayout.h"
#include "deprecated/gtkcelllayout.h"
#include "gtkcellareabox.h"
#include "gtkcellareaboxcontextprivate.h"
#include "gtktypebuiltins.h"
#include "gtkprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* GObjectClass */
static void gtk_cell_area_box_finalize (GObject *object);
@@ -2103,6 +2104,8 @@ _gtk_cell_area_box_group_visible (GtkCellAreaBox *box,
* Creates a new `GtkCellAreaBox`.
*
* Returns: a newly created `GtkCellAreaBox`
*
* Deprecated: 4.10
*/
GtkCellArea *
gtk_cell_area_box_new (void)
@@ -2123,6 +2126,8 @@ gtk_cell_area_box_new (void)
*
* The @renderer is packed after any other `GtkCellRenderer` packed
* with reference to the start of @box.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_box_pack_start (GtkCellAreaBox *box,
@@ -2164,6 +2169,8 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box,
*
* The @renderer is packed after (away from end of) any other
* `GtkCellRenderer` packed with reference to the end of @box.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_box_pack_end (GtkCellAreaBox *box,
@@ -2199,6 +2206,8 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box,
* Gets the spacing added between cell renderers.
*
* Returns: the space added between cell renderers in @box.
*
* Deprecated: 4.10
*/
int
gtk_cell_area_box_get_spacing (GtkCellAreaBox *box)
@@ -2216,6 +2225,8 @@ gtk_cell_area_box_get_spacing (GtkCellAreaBox *box)
* @spacing: the space to add between `GtkCellRenderer`s
*
* Sets the spacing to add between cell renderers in @box.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_box_set_spacing (GtkCellAreaBox *box,
@@ -26,7 +26,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellarea.h>
#include <gtk/deprecated/gtkcellarea.h>
G_BEGIN_DECLS
@@ -39,23 +39,23 @@ typedef struct _GtkCellAreaBox GtkCellAreaBox;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_area_box_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellArea *gtk_cell_area_box_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_box_pack_start (GtkCellAreaBox *box,
GtkCellRenderer *renderer,
gboolean expand,
gboolean align,
gboolean fixed);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_box_pack_end (GtkCellAreaBox *box,
GtkCellRenderer *renderer,
gboolean expand,
gboolean align,
gboolean fixed);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_cell_area_box_get_spacing (GtkCellAreaBox *box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box,
int spacing);
@@ -26,6 +26,8 @@
#include "gtkprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* GObjectClass */
static void _gtk_cell_area_box_context_finalize (GObject *object);
@@ -26,9 +26,9 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellareacontext.h>
#include <gtk/gtkcellareabox.h>
#include <gtk/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellareacontext.h>
#include <gtk/deprecated/gtkcellareabox.h>
#include <gtk/deprecated/gtkcellrenderer.h>
#include <gtk/gtksizerequest.h>
G_BEGIN_DECLS
@@ -41,6 +41,8 @@
#include "gtkcellareacontext.h"
#include "gtkprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/* GObjectClass */
static void gtk_cell_area_context_dispose (GObject *object);
static void gtk_cell_area_context_get_property (GObject *object,
@@ -306,6 +308,8 @@ gtk_cell_area_context_real_allocate (GtkCellAreaContext *context,
* compute a proper allocation.
*
* Returns: (transfer none): the `GtkCellArea` this context was created by.
*
* Deprecated: 4.10
*/
GtkCellArea *
gtk_cell_area_context_get_area (GtkCellAreaContext *context)
@@ -343,6 +347,8 @@ gtk_cell_area_context_get_area (GtkCellAreaContext *context)
* in the allocated width necessitates a recalculation
* of all the displayed row heights using
* gtk_cell_area_get_preferred_height_for_width().
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_reset (GtkCellAreaContext *context)
@@ -370,6 +376,8 @@ gtk_cell_area_context_reset (GtkCellAreaContext *context)
* and vertical orientations producing a homogeneous effect of the
* rows. This is generally the case for `GtkTreeView` when
* `GtkTreeView:fixed-height-mode` is enabled.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_allocate (GtkCellAreaContext *context,
@@ -392,6 +400,8 @@ gtk_cell_area_context_allocate (GtkCellAreaContext *context,
*
* After gtk_cell_area_context_reset() is called and/or before ever
* requesting the size of a `GtkCellArea`, the returned values are 0.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
@@ -420,6 +430,8 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
*
* After gtk_cell_area_context_reset() is called and/or before ever
* requesting the size of a `GtkCellArea`, the returned values are 0.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
@@ -449,6 +461,8 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
*
* After gtk_cell_area_context_reset() is called and/or before ever
* requesting the size of a `GtkCellArea`, the returned values are -1.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context,
@@ -477,6 +491,8 @@ gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *contex
*
* After gtk_cell_area_context_reset() is called and/or before ever
* requesting the size of a `GtkCellArea`, the returned values are -1.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context,
@@ -504,6 +520,8 @@ gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *contex
* If the context was not allocated in width or height, or if the
* context was recently reset with gtk_cell_area_context_reset(),
* the returned value will be -1.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
@@ -534,6 +552,8 @@ gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
* the request process over a series of `GtkTreeModel` rows to
* progressively push the requested width over a series of
* gtk_cell_area_get_preferred_width() requests.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
@@ -576,6 +596,8 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
* the request process over a series of `GtkTreeModel` rows to
* progressively push the requested height over a series of
* gtk_cell_area_get_preferred_height() requests.
*
* Deprecated: 4.10
*/
void
gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context,
@@ -26,7 +26,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellarea.h>
#include <gtk/deprecated/gtkcellarea.h>
G_BEGIN_DECLS
@@ -87,37 +87,37 @@ GDK_AVAILABLE_IN_ALL
GType gtk_cell_area_context_get_type (void) G_GNUC_CONST;
/* Main apis */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_allocate (GtkCellAreaContext *context,
int width,
int height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_reset (GtkCellAreaContext *context);
/* Apis for GtkCellArea clients to consult cached values
* for a series of GtkTreeModel rows
*/
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
int *minimum_width,
int *natural_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
int *minimum_height,
int *natural_height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context,
int width,
int *minimum_height,
int *natural_height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context,
int height,
int *minimum_width,
int *natural_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
int *width,
int *height);
@@ -125,11 +125,11 @@ void gtk_cell_area_context_get_allocation (GtkCellAreaCo
/* Apis for GtkCellArea implementations to update cached values
* for multiple GtkTreeModel rows
*/
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
int minimum_width,
int natural_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context,
int minimum_height,
int natural_height);
@@ -30,6 +30,7 @@
#include "gtkmarshalers.h"
#include "gtkprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
typedef GtkCellEditableIface GtkCellEditableInterface;
G_DEFINE_INTERFACE(GtkCellEditable, gtk_cell_editable, GTK_TYPE_WIDGET)
@@ -128,6 +129,8 @@ gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
* @cell_editable: A `GtkCellEditable`
*
* Emits the `GtkCellEditable::editing-done` signal.
*
* Deprecated: 4.10
*/
void
gtk_cell_editable_editing_done (GtkCellEditable *cell_editable)
@@ -142,6 +145,8 @@ gtk_cell_editable_editing_done (GtkCellEditable *cell_editable)
* @cell_editable: A `GtkCellEditable`
*
* Emits the `GtkCellEditable::remove-widget` signal.
*
* Deprecated: 4.10
**/
void
gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable)
@@ -62,12 +62,12 @@ struct _GtkCellEditableIface
GDK_AVAILABLE_IN_ALL
GType gtk_cell_editable_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
GdkEvent *event);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_editable_editing_done (GtkCellEditable *cell_editable);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellEditable, g_object_unref)
@@ -135,6 +135,8 @@
#include "gtkcelllayout.h"
#include "gtkbuilderprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#define warn_no_cell_area(func) \
g_critical ("%s: Called but no GtkCellArea is available yet", func)
@@ -360,6 +362,8 @@ gtk_cell_layout_default_get_cells (GtkCellLayout *cell_layout)
* is divided evenly between cells for which @expand is %TRUE.
*
* Note that reusing the same cell renderer is not supported.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_pack_start (GtkCellLayout *cell_layout,
@@ -383,6 +387,8 @@ gtk_cell_layout_pack_start (GtkCellLayout *cell_layout,
* divided evenly between cells for which @expand is %TRUE.
*
* Note that reusing the same cell renderer is not supported.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_pack_end (GtkCellLayout *cell_layout,
@@ -401,6 +407,8 @@ gtk_cell_layout_pack_end (GtkCellLayout *cell_layout,
*
* Unsets all the mappings on all renderers on @cell_layout and
* removes all renderers from @cell_layout.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_clear (GtkCellLayout *cell_layout)
@@ -446,6 +454,8 @@ gtk_cell_layout_set_attributesv (GtkCellLayout *cell_layout,
* The attributes should be in attribute/column order, as in
* gtk_cell_layout_add_attribute(). All existing attributes are
* removed, and replaced with the new attributes.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout,
@@ -476,6 +486,8 @@ gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout,
* example if column 2 of the model contains strings, you could have the
* text attribute of a `GtkCellRendererText` get its values from column 2.
* In this context "attribute" and "property" are used interchangeably.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout,
@@ -506,6 +518,8 @@ gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout,
* cell renderer(s) as appropriate.
*
* @func may be %NULL to remove a previously set function.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout,
@@ -528,6 +542,8 @@ gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout,
*
* Clears all existing attributes previously set with
* gtk_cell_layout_set_attributes().
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout,
@@ -549,6 +565,8 @@ gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout,
*
* Note that @cell has already to be packed into @cell_layout
* for this to function properly.
*
* Deprecated: 4.10
*/
void
gtk_cell_layout_reorder (GtkCellLayout *cell_layout,
@@ -571,6 +589,8 @@ gtk_cell_layout_reorder (GtkCellLayout *cell_layout,
* a list of cell renderers. The list, but not the renderers has
* been newly allocated and should be freed with g_list_free()
* when no longer needed.
*
* Deprecated: 4.10
*/
GList *
gtk_cell_layout_get_cells (GtkCellLayout *cell_layout)
@@ -589,6 +609,8 @@ gtk_cell_layout_get_cells (GtkCellLayout *cell_layout)
* is used by @cell_layout.
*
* Returns: (transfer none) (nullable): the cell area used by @cell_layout
*
* Deprecated: 4.10
*/
GtkCellArea *
gtk_cell_layout_get_area (GtkCellLayout *cell_layout)
@@ -22,8 +22,8 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/gtkcellarea.h>
#include <gtk/deprecated/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellarea.h>
#include <gtk/gtkbuildable.h>
#include <gtk/gtkbuilder.h>
@@ -110,41 +110,41 @@ struct _GtkCellLayoutIface
GDK_AVAILABLE_IN_ALL
GType gtk_cell_layout_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gboolean expand);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
gboolean expand);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GList *gtk_cell_layout_get_cells (GtkCellLayout *cell_layout);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_clear (GtkCellLayout *cell_layout);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
...) G_GNUC_NULL_TERMINATED;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
const char *attribute,
int column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkCellLayoutDataFunc func,
gpointer func_data,
GDestroyNotify destroy);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout,
GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_layout_reorder (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
int position);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellArea *gtk_cell_layout_get_area (GtkCellLayout *cell_layout);
gboolean _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable,
@@ -26,6 +26,8 @@
#include "gtktreeprivate.h"
#include "gtktypebuiltins.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRenderer:
*
@@ -638,6 +640,8 @@ set_cell_bg_color (GtkCellRenderer *cell,
* blank space around the cell, and also the area containing the tree expander;
* so the @background_area rectangles for all cells tile to cover the entire
* @window.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_snapshot (GtkCellRenderer *cell,
@@ -711,6 +715,8 @@ gtk_cell_renderer_snapshot (GtkCellRenderer *cell,
* toggles when it gets a mouse click.
*
* Returns: %TRUE if the event was consumed/handled
*
* Deprecated: 4.10
**/
gboolean
gtk_cell_renderer_activate (GtkCellRenderer *cell,
@@ -758,6 +764,8 @@ gtk_cell_renderer_activate (GtkCellRenderer *cell,
*
* Returns: (nullable) (transfer none): A new `GtkCellEditable` for editing this
* @cell, or %NULL if editing is not possible
*
* Deprecated: 4.10
**/
GtkCellEditable *
gtk_cell_renderer_start_editing (GtkCellRenderer *cell,
@@ -810,6 +818,8 @@ gtk_cell_renderer_start_editing (GtkCellRenderer *cell,
* @height: the height of the cell renderer, or -1
*
* Sets the renderer size to be explicit, independent of the properties set.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
@@ -850,6 +860,8 @@ gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
* @height: (out) (optional): location to fill in with the fixed height of the cell
*
* Fills in @width and @height with the appropriate size of @cell.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
@@ -875,6 +887,8 @@ gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
* @yalign: the y alignment of the cell renderer
*
* Sets the renderers alignment within its available space.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
@@ -916,6 +930,8 @@ gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
* @yalign: (out) (optional): location to fill in with the y alignment of the cell
*
* Fills in @xalign and @yalign with the appropriate values of @cell.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
@@ -941,6 +957,8 @@ gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
* @ypad: the y padding of the cell renderer
*
* Sets the renderers padding.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
@@ -981,6 +999,8 @@ gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
* @ypad: (out) (optional): location to fill in with the y padding of the cell
*
* Fills in @xpad and @ypad with the appropriate values of @cell.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
@@ -1005,6 +1025,8 @@ gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
* @visible: the visibility of the cell
*
* Sets the cell renderers visibility.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
@@ -1030,6 +1052,8 @@ gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
* Returns the cell renderers visibility.
*
* Returns: %TRUE if the cell renderer is visible
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_renderer_get_visible (GtkCellRenderer *cell)
@@ -1045,6 +1069,8 @@ gtk_cell_renderer_get_visible (GtkCellRenderer *cell)
* @sensitive: the sensitivity of the cell
*
* Sets the cell renderers sensitivity.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
@@ -1070,6 +1096,8 @@ gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
* Returns the cell renderers sensitivity.
*
* Returns: %TRUE if the cell renderer is sensitive
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell)
@@ -1087,6 +1115,8 @@ gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell)
* Checks whether the cell renderer can do something when activated.
*
* Returns: %TRUE if the cell renderer can do anything when activated
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_renderer_is_activatable (GtkCellRenderer *cell)
@@ -1115,6 +1145,8 @@ gtk_cell_renderer_is_activatable (GtkCellRenderer *cell)
* This function should be called by cell renderer implementations
* in response to the `GtkCellEditable::editing-done` signal of
* `GtkCellEditable`.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
@@ -1319,6 +1351,8 @@ _gtk_cell_renderer_calc_offset (GtkCellRenderer *cell,
* or a width-for-height layout.
*
* Returns: The `GtkSizeRequestMode` preferred by this renderer.
*
* Deprecated: 4.10
*/
GtkSizeRequestMode
gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell)
@@ -1336,6 +1370,8 @@ gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell)
* @natural_size: (out) (optional): location to store the natural size
*
* Retrieves a renderers natural size when rendered to @widget.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
@@ -1382,6 +1418,8 @@ gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
* @natural_size: (out) (optional): location to store the natural size
*
* Retrieves a renderers natural size when rendered to @widget.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
@@ -1430,6 +1468,8 @@ gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
*
* Retrieves a cell rendererss minimum and natural width if it were rendered to
* @widget with the specified @height.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
@@ -1478,6 +1518,8 @@ gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
*
* Retrieves a cell rendererss minimum and natural height if it were rendered to
* @widget with the specified @width.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
@@ -1525,6 +1567,8 @@ gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
*
* Retrieves the minimum and natural size of a cell taking
* into account the widgets preference for height-for-width management.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
@@ -1586,6 +1630,8 @@ gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
*
* Gets the aligned area used by @cell inside @cell_area. Used for finding
* the appropriate edit and focus rectangle.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell,
@@ -1621,6 +1667,8 @@ gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell,
* the given `GtkCellRenderer`State.
*
* Returns: the widget state flags applying to @cell
*
* Deprecated: 4.10
**/
GtkStateFlags
gtk_cell_renderer_get_state (GtkCellRenderer *cell,
@@ -1665,6 +1713,8 @@ gtk_cell_renderer_get_state (GtkCellRenderer *cell,
* @is_expander: whether @cell is an expander
*
* Sets whether the given `GtkCellRenderer` is an expander.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
@@ -1691,6 +1741,8 @@ gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
* Checks whether the given `GtkCellRenderer` is an expander.
*
* Returns: %TRUE if @cell is an expander, and %FALSE otherwise
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell)
@@ -1708,6 +1760,8 @@ gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell)
* @is_expanded: whether @cell should be expanded
*
* Sets whether the given `GtkCellRenderer` is expanded.
*
* Deprecated: 4.10
*/
void
gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
@@ -1734,6 +1788,8 @@ gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
* Checks whether the given `GtkCellRenderer` is expanded.
*
* Returns: %TRUE if the cell renderer is expanded
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell)
@@ -22,7 +22,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcelleditable.h>
#include <gtk/deprecated/gtkcelleditable.h>
G_BEGIN_DECLS
@@ -171,49 +171,49 @@ struct _GtkCellRendererClass
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkSizeRequestMode gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
GtkWidget *widget,
int *minimum_size,
int *natural_size);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
GtkWidget *widget,
int width,
int *minimum_height,
int *natural_height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
GtkWidget *widget,
int *minimum_size,
int *natural_size);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
GtkWidget *widget,
int height,
int *minimum_width,
int *natural_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
GtkWidget *widget,
GtkRequisition *minimum_size,
GtkRequisition *natural_size);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell,
GtkWidget *widget,
GtkCellRendererState flags,
const GdkRectangle *cell_area,
GdkRectangle *aligned_area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_snapshot (GtkCellRenderer *cell,
GtkSnapshot *snapshot,
GtkWidget *widget,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_activate (GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
@@ -221,7 +221,7 @@ gboolean gtk_cell_renderer_activate (GtkCellRenderer *cell,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellEditable *gtk_cell_renderer_start_editing (GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
@@ -230,65 +230,65 @@ GtkCellEditable *gtk_cell_renderer_start_editing (GtkCellRenderer *cell,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
int width,
int height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
int *width,
int *height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
float xalign,
float yalign);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
float *xalign,
float *yalign);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
int xpad,
int ypad);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
int *xpad,
int *ypad);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
gboolean visible);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_get_visible (GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
gboolean sensitive);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
gboolean is_expander);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
gboolean is_expanded);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell);
/* For use by cell renderer implementations only */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
gboolean canceled);
@@ -301,7 +301,7 @@ void _gtk_cell_renderer_calc_offset (GtkCellRenderer *cell,
int *x_offset,
int *y_offset);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkStateFlags gtk_cell_renderer_get_state (GtkCellRenderer *cell,
GtkWidget *widget,
GtkCellRendererState cell_state);
@@ -31,6 +31,7 @@
#include "gtknative.h"
#include "gtkbinlayout.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererAccel:
@@ -265,6 +266,8 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
* Creates a new `GtkCellRendererAccel`.
*
* Returns: the new cell renderer
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_renderer_accel_new (void)
@@ -22,7 +22,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderertext.h>
#include <gtk/deprecated/gtkcellrenderertext.h>
G_BEGIN_DECLS
@@ -48,7 +48,7 @@ typedef enum
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_accel_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_accel_new (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererAccel, g_object_unref)
@@ -19,13 +19,14 @@
#include <string.h>
#include "gtkentry.h"
#include "gtkcelllayout.h"
#include "deprecated/gtkcelllayout.h"
#include "gtkcellrenderercombo.h"
#include "gtkcellrenderertext.h"
#include "gtkcombobox.h"
#include "deprecated/gtkcellrenderertext.h"
#include "deprecated/gtkcombobox.h"
#include "gtkmarshalers.h"
#include "gtkprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererCombo:
@@ -225,6 +226,8 @@ gtk_cell_renderer_combo_init (GtkCellRendererCombo *self)
* a different string in each row of the `GtkTreeView`.
*
* Returns: the new cell renderer
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_renderer_combo_new (void)
@@ -22,8 +22,8 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtktreemodel.h>
#include <gtk/gtkcellrenderertext.h>
#include <gtk/deprecated/gtktreemodel.h>
#include <gtk/deprecated/gtkcellrenderertext.h>
G_BEGIN_DECLS
@@ -35,7 +35,7 @@ typedef struct _GtkCellRendererCombo GtkCellRendererCombo;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_combo_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_combo_new (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererCombo, g_object_unref)
@@ -29,6 +29,8 @@
#include <cairo-gobject.h>
#include <stdlib.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererPixbuf:
*
@@ -409,6 +411,8 @@ gtk_cell_renderer_pixbuf_set_property (GObject *object,
* `GtkTreeView`.
*
* Returns: the new cell renderer
*
* Deprecated: 4.10
**/
GtkCellRenderer *
gtk_cell_renderer_pixbuf_new (void)
@@ -22,7 +22,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellrenderer.h>
G_BEGIN_DECLS
@@ -36,7 +36,7 @@ typedef struct _GtkCellRendererPixbuf GtkCellRendererPixbuf;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_pixbuf_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_pixbuf_new (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererPixbuf, g_object_unref)
@@ -30,9 +30,10 @@
#include <glib/gi18n-lib.h>
#include "gtkorientable.h"
#include "gtkprivate.h"
#include "gtksnapshot.h"
#include "deprecated/gtkrender.h"
#include "gtkstylecontext.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererProgress:
@@ -718,6 +719,8 @@ gtk_cell_renderer_progress_init (GtkCellRendererProgress *cellprogress)
* Creates a new `GtkCellRendererProgress`.
*
* Returns: the new cell renderer
*
* Deprecated: 4.10
**/
GtkCellRenderer*
gtk_cell_renderer_progress_new (void)
@@ -30,7 +30,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellrenderer.h>
G_BEGIN_DECLS
@@ -42,7 +42,7 @@ typedef struct _GtkCellRendererProgress GtkCellRendererProgress;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_progress_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer* gtk_cell_renderer_progress_new (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererProgress, g_object_unref)
@@ -28,6 +28,7 @@
#include "gtkentry.h"
#include "gtkeventcontrollerkey.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererSpin:
@@ -368,6 +369,8 @@ gtk_cell_renderer_spin_start_editing (GtkCellRenderer *cell,
* Creates a new `GtkCellRendererSpin`.
*
* Returns: a new `GtkCellRendererSpin`
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_renderer_spin_new (void)
@@ -22,7 +22,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderertext.h>
#include <gtk/deprecated/gtkcellrenderertext.h>
G_BEGIN_DECLS
@@ -34,7 +34,7 @@ typedef struct _GtkCellRendererSpin GtkCellRendererSpin;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_spin_get_type (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_spin_new (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererSpin, g_object_unref)
@@ -37,6 +37,8 @@
#include <math.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererSpinner:
*
@@ -223,6 +225,8 @@ gtk_cell_renderer_spinner_init (GtkCellRendererSpinner *cell)
* activity.
*
* Returns: a new `GtkCellRenderer`
*
* Deprecated: 4.10
*/
GtkCellRenderer *
gtk_cell_renderer_spinner_new (void)
@@ -25,7 +25,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellrenderer.h>
G_BEGIN_DECLS
@@ -37,7 +37,7 @@ typedef struct _GtkCellRendererSpinner GtkCellRendererSpinner;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_spinner_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_spinner_new (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererSpinner, g_object_unref)
@@ -26,12 +26,14 @@
#include "gtkmarshalers.h"
#include "gtkprivate.h"
#include "gtksizerequest.h"
#include "gtksnapshot.h"
#include "deprecated/gtkrender.h"
#include "gtkstylecontextprivate.h"
#include "gtktreeprivate.h"
#include "deprecated/gtktreeprivate.h"
#include <stdlib.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererText:
*
@@ -1298,6 +1300,8 @@ gtk_cell_renderer_text_set_property (GObject *object,
* of the `GtkTreeView`.
*
* Returns: the new cell renderer
*
* Deprecated: 4.10
**/
GtkCellRenderer *
gtk_cell_renderer_text_new (void)
@@ -1758,6 +1762,8 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell,
* if calculating the size of a cell is too slow (ie, a massive number of cells
* displayed). If @number_of_rows is -1, then the fixed height is unset, and
* the height is determined by the properties again.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
@@ -23,7 +23,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellrenderer.h>
G_BEGIN_DECLS
@@ -59,10 +59,10 @@ struct _GtkCellRendererTextClass
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_text_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_text_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
int number_of_rows);
@@ -24,13 +24,15 @@
#include "gtkmarshalers.h"
#include "gtkprivate.h"
#include "gtkrendericonprivate.h"
#include "gtksnapshot.h"
#include "deprecated/gtkrender.h"
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
#include "gtktreeprivate.h"
#include "deprecated/gtktreeprivate.h"
#include <stdlib.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellRendererToggle:
*
@@ -324,6 +326,8 @@ gtk_cell_renderer_toggle_set_property (GObject *object,
* the model.
*
* Returns: the new cell renderer
*
* Deprecated: 4.10
**/
GtkCellRenderer *
gtk_cell_renderer_toggle_new (void)
@@ -532,6 +536,8 @@ gtk_cell_renderer_toggle_activate (GtkCellRenderer *cell,
* before rendering each cell in the model (for `GtkTreeView`, you set
* up a per-row setting using `GtkTreeViewColumn` to associate model
* columns with cell renderer properties).
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
@@ -551,6 +557,8 @@ gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
* Returns whether were rendering radio toggles rather than checkboxes.
*
* Returns: %TRUE if were rendering radio toggles rather than checkboxes
*
* Deprecated: 4.10
**/
gboolean
gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle)
@@ -570,6 +578,8 @@ gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle)
* gtk_cell_renderer_toggle_set_active().
*
* Returns: %TRUE if the cell renderer is active.
*
* Deprecated: 4.10
**/
gboolean
gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle)
@@ -587,6 +597,8 @@ gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle)
* @setting: the value to set.
*
* Activates or deactivates a cell renderer.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
@@ -605,6 +617,8 @@ gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
* gtk_cell_renderer_toggle_set_activatable().
*
* Returns: %TRUE if the cell renderer is activatable.
*
* Deprecated: 4.10
**/
gboolean
gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle)
@@ -622,6 +636,8 @@ gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle)
* @setting: the value to set.
*
* Makes the cell renderer activatable.
*
* Deprecated: 4.10
**/
void
gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle,
@@ -22,7 +22,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellrenderer.h>
G_BEGIN_DECLS
@@ -37,24 +37,24 @@ typedef struct _GtkCellRendererToggle GtkCellRendererToggle;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_renderer_toggle_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkCellRenderer *gtk_cell_renderer_toggle_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
gboolean radio);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
gboolean setting);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle,
gboolean setting);
@@ -32,6 +32,8 @@
#include <string.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkCellView:
*
@@ -806,6 +808,8 @@ row_changed_cb (GtkTreeModel *model,
* Creates a new `GtkCellView` widget.
*
* Returns: A newly created `GtkCellView` widget.
*
* Deprecated: 4.10
*/
GtkWidget *
gtk_cell_view_new (void)
@@ -832,6 +836,8 @@ gtk_cell_view_new (void)
* possible.
*
* Returns: A newly created `GtkCellView` widget.
*
* Deprecated: 4.10
*/
GtkWidget *
gtk_cell_view_new_with_context (GtkCellArea *area,
@@ -854,6 +860,8 @@ gtk_cell_view_new_with_context (GtkCellArea *area,
* to it, and makes it show @text.
*
* Returns: A newly created `GtkCellView` widget.
*
* Deprecated: 4.10
*/
GtkWidget *
gtk_cell_view_new_with_text (const char *text)
@@ -885,6 +893,8 @@ gtk_cell_view_new_with_text (const char *text)
* the [Pango text markup language](https://docs.gtk.org/Pango/pango_markup.html).
*
* Returns: A newly created `GtkCellView` widget.
*
* Deprecated: 4.10
*/
GtkWidget *
gtk_cell_view_new_with_markup (const char *markup)
@@ -915,6 +925,8 @@ gtk_cell_view_new_with_markup (const char *markup)
* to it, and makes it show @texture.
*
* Returns: A newly created `GtkCellView` widget.
*
* Deprecated: 4.10
*/
GtkWidget *
gtk_cell_view_new_with_texture (GdkTexture *texture)
@@ -946,6 +958,8 @@ gtk_cell_view_new_with_texture (GdkTexture *texture)
*
* Sets a property of a cell renderer of @cell_view, and
* makes sure the display of @cell_view is updated.
*
* Deprecated: 4.10
*/
static void
gtk_cell_view_set_value (GtkCellView *cell_view,
@@ -968,6 +982,8 @@ gtk_cell_view_set_value (GtkCellView *cell_view,
* Sets the model for @cell_view. If @cell_view already has a model
* set, it will remove it before setting the new model. If @model is
* %NULL, then it will unset the old model.
*
* Deprecated: 4.10
*/
void
gtk_cell_view_set_model (GtkCellView *cell_view,
@@ -1010,6 +1026,8 @@ gtk_cell_view_set_model (GtkCellView *cell_view,
* returned.
*
* Returns: (nullable) (transfer none): a `GtkTreeModel` used
*
* Deprecated: 4.10
*/
GtkTreeModel *
gtk_cell_view_get_model (GtkCellView *cell_view)
@@ -1032,6 +1050,8 @@ gtk_cell_view_get_model (GtkCellView *cell_view)
* this is not normally a desired result, but may be
* a needed intermediate state if say, the model for
* the `GtkCellView` becomes temporarily empty.
*
* Deprecated: 4.10
**/
void
gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
@@ -1064,6 +1084,8 @@ gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
* %NULL is returned.
*
* Returns: (nullable) (transfer full): the currently displayed row
*
* Deprecated: 4.10
*/
GtkTreePath *
gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
@@ -1087,6 +1109,8 @@ gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
*
* Returns: whether @cell_view draws all of its
* cells in a sensitive state
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view)
@@ -1107,6 +1131,8 @@ gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view)
* cells in a sensitive state, this is used by `GtkComboBox` menus
* to ensure that rows with insensitive cells that contain
* children appear sensitive in the parent menu item.
*
* Deprecated: 4.10
*/
void
gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view,
@@ -1133,6 +1159,8 @@ gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view,
*
* Returns: whether @cell_view requests space to fit
* the entire `GtkTreeModel`.
*
* Deprecated: 4.10
*/
gboolean
gtk_cell_view_get_fit_model (GtkCellView *cell_view)
@@ -1154,6 +1182,8 @@ gtk_cell_view_get_fit_model (GtkCellView *cell_view)
* This is used by `GtkComboBox` to ensure that the cell view displayed on
* the combo boxs button always gets enough space and does not resize
* when selection changes.
*
* Deprecated: 4.10
*/
void
gtk_cell_view_set_fit_model (GtkCellView *cell_view,
@@ -23,10 +23,10 @@
#endif
#include <gtk/gtkwidget.h>
#include <gtk/gtkcellrenderer.h>
#include <gtk/gtkcellarea.h>
#include <gtk/gtkcellareacontext.h>
#include <gtk/gtktreemodel.h>
#include <gtk/deprecated/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellarea.h>
#include <gtk/deprecated/gtkcellareacontext.h>
#include <gtk/deprecated/gtktreemodel.h>
G_BEGIN_DECLS
@@ -38,35 +38,35 @@ typedef struct _GtkCellView GtkCellView;
GDK_AVAILABLE_IN_ALL
GType gtk_cell_view_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_cell_view_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_cell_view_new_with_context (GtkCellArea *area,
GtkCellAreaContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_cell_view_new_with_text (const char *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_cell_view_new_with_markup (const char *markup);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_cell_view_new_with_texture (GdkTexture *texture);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_view_set_model (GtkCellView *cell_view,
GtkTreeModel *model);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkTreeModel *gtk_cell_view_get_model (GtkCellView *cell_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkTreePath *gtk_cell_view_get_displayed_row (GtkCellView *cell_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view,
gboolean draw_sensitive);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_cell_view_get_fit_model (GtkCellView *cell_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_cell_view_set_fit_model (GtkCellView *cell_view,
gboolean fit_model);
@@ -42,6 +42,8 @@
#include <string.h>
#include <stdarg.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkComboBox:
*
@@ -1370,6 +1372,8 @@ gtk_combo_box_menu_popup (GtkComboBox *combo_box)
* applications should have little use for it.
*
* Before calling this, @combo_box must be mapped, or nothing will happen.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_popup (GtkComboBox *combo_box)
@@ -1391,6 +1395,8 @@ gtk_combo_box_popup (GtkComboBox *combo_box)
* previously only used for list-mode combo boxes, and those were removed
* in GTK 4. However, it is retained in case similar functionality is added
* back later.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
@@ -1440,6 +1446,8 @@ gtk_combo_box_real_popdown (GtkComboBox *combo_box)
*
* This function is mostly intended for use by accessibility technologies;
* applications should have little use for it.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_popdown (GtkComboBox *combo_box)
@@ -1842,6 +1850,8 @@ gtk_combo_box_cell_layout_get_area (GtkCellLayout *cell_layout)
* Creates a new empty `GtkComboBox`.
*
* Returns: A new `GtkComboBox`
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_new (void)
@@ -1859,6 +1869,8 @@ gtk_combo_box_new (void)
* by calling [method@Gtk.ComboBox.set_entry_text_column].
*
* Returns: A new `GtkComboBox`
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_new_with_entry (void)
@@ -1873,6 +1885,8 @@ gtk_combo_box_new_with_entry (void)
* Creates a new `GtkComboBox` with a model.
*
* Returns: A new `GtkComboBox`
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_new_with_model (GtkTreeModel *model)
@@ -1895,6 +1909,8 @@ gtk_combo_box_new_with_model (GtkTreeModel *model)
* See also [ctor@Gtk.ComboBox.new_with_entry].
*
* Returns: A new `GtkComboBox`
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model)
@@ -1918,6 +1934,8 @@ gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model)
*
* Returns: An integer which is the index of the currently active item,
* or -1 if theres no active item
*
* Deprecated: 4.10: Use GtkDropDown
*/
int
gtk_combo_box_get_active (GtkComboBox *combo_box)
@@ -1948,6 +1966,8 @@ gtk_combo_box_get_active (GtkComboBox *combo_box)
* or -1 to have no active item
*
* Sets the active item of @combo_box to be the item at @index.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_active (GtkComboBox *combo_box,
@@ -2045,6 +2065,8 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box,
* If no item is active, @iter is left unchanged.
*
* Returns: %TRUE if @iter was set, %FALSE otherwise
*
* Deprecated: 4.10: Use GtkDropDown
*/
gboolean
gtk_combo_box_get_active_iter (GtkComboBox *combo_box,
@@ -2074,6 +2096,8 @@ gtk_combo_box_get_active_iter (GtkComboBox *combo_box,
* Sets the current active item to be the one referenced by @iter.
*
* If @iter is %NULL, the active item is unset.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_active_iter (GtkComboBox *combo_box,
@@ -2103,6 +2127,8 @@ gtk_combo_box_set_active_iter (GtkComboBox *combo_box,
* Note that this function does not clear the cell renderers, you have to
* call [method@Gtk.CellLayout.clear] yourself if you need to set up different
* cell renderers for the new model.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_model (GtkComboBox *combo_box,
@@ -2164,6 +2190,8 @@ out:
*
* Returns: (nullable) (transfer none): A `GtkTreeModel` which was passed
* during construction.
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkTreeModel *
gtk_combo_box_get_model (GtkComboBox *combo_box)
@@ -2521,6 +2549,8 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable,
*
* If @fixed is %TRUE, the popup's width is set to match the
* allocated width of the combo box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
@@ -2545,6 +2575,8 @@ gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
* Gets whether the popup uses a fixed width.
*
* Returns: %TRUE if the popup uses a fixed width
*
* Deprecated: 4.10: Use GtkDropDown
*/
gboolean
gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
@@ -2563,6 +2595,8 @@ gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
* Returns the current row separator function.
*
* Returns: (nullable): the current row separator function.
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkTreeViewRowSeparatorFunc
gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box)
@@ -2586,6 +2620,8 @@ gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box)
*
* If the row separator function is %NULL, no separators are drawn.
* This is the default value.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box,
@@ -2618,6 +2654,8 @@ gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box,
*
* Sets whether the dropdown button of the combo box should update
* its sensitivity depending on the model contents.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box,
@@ -2648,6 +2686,8 @@ gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box,
* if the button is always insensitive or %GTK_SENSITIVITY_AUTO
* if it is only sensitive as long as the model has one item to
* be selected.
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkSensitivityType
gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box)
@@ -2666,6 +2706,8 @@ gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box)
* Returns whether the combo box has an entry.
*
* Returns: whether there is an entry in @combo_box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
gboolean
gtk_combo_box_get_has_entry (GtkComboBox *combo_box)
@@ -2693,6 +2735,8 @@ gtk_combo_box_get_has_entry (GtkComboBox *combo_box)
*
* This is only relevant if @combo_box has been created with
* [property@Gtk.ComboBox:has-entry] as %TRUE.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
@@ -2726,6 +2770,8 @@ gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
* from to display in the internal entry.
*
* Returns: A column in the data source model of @combo_box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
int
gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box)
@@ -2802,6 +2848,8 @@ gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable,
*
* The column @id_column in the model of @combo_box must be of type
* %G_TYPE_STRING.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_id_column (GtkComboBox *combo_box,
@@ -2831,6 +2879,8 @@ gtk_combo_box_set_id_column (GtkComboBox *combo_box,
* for values from.
*
* Returns: A column in the data source model of @combo_box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
int
gtk_combo_box_get_id_column (GtkComboBox *combo_box)
@@ -2861,6 +2911,8 @@ gtk_combo_box_get_id_column (GtkComboBox *combo_box)
* ID value, then %NULL is returned.
*
* Returns: (nullable): the ID of the active row
*
* Deprecated: 4.10: Use GtkDropDown
*/
const char *
gtk_combo_box_get_active_id (GtkComboBox *combo_box)
@@ -2914,6 +2966,8 @@ gtk_combo_box_get_active_id (GtkComboBox *combo_box)
* Returns: %TRUE if a row with a matching ID was found. If a %NULL
* @active_id was given to unset the active row, the function
* always returns %TRUE.
*
* Deprecated: 4.10: Use GtkDropDown
*/
gboolean
gtk_combo_box_set_active_id (GtkComboBox *combo_box,
@@ -2977,6 +3031,8 @@ gtk_combo_box_get_popup (GtkComboBox *combo_box)
* @child: (nullable): the child widget
*
* Sets the child widget of @combo_box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_set_child (GtkComboBox *combo_box,
@@ -3003,6 +3059,8 @@ gtk_combo_box_set_child (GtkComboBox *combo_box,
* Gets the child widget of @combo_box.
*
* Returns: (nullable) (transfer none): the child widget of @combo_box
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_get_child (GtkComboBox *combo_box)
@@ -23,8 +23,8 @@
#endif
#include <gtk/gtkwidget.h>
#include <gtk/gtktreemodel.h>
#include <gtk/gtktreeview.h>
#include <gtk/deprecated/gtktreemodel.h>
#include <gtk/deprecated/gtktreeview.h>
G_BEGIN_DECLS
@@ -71,87 +71,87 @@ struct _GtkComboBoxClass
/* construction */
GDK_AVAILABLE_IN_ALL
GType gtk_combo_box_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_combo_box_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_combo_box_new_with_entry (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_combo_box_new_with_model (GtkTreeModel *model);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model);
/* get/set active item */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_combo_box_get_active (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_active (GtkComboBox *combo_box,
int index_);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_combo_box_get_active_iter (GtkComboBox *combo_box,
GtkTreeIter *iter);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_active_iter (GtkComboBox *combo_box,
GtkTreeIter *iter);
/* getters and setters */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_model (GtkComboBox *combo_box,
GtkTreeModel *model);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkTreeModel *gtk_combo_box_get_model (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box,
GtkTreeViewRowSeparatorFunc func,
gpointer data,
GDestroyNotify destroy);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box,
GtkSensitivityType sensitivity);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_combo_box_get_has_entry (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
int text_column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
gboolean fixed);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box);
/* programmatic control */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_popup (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
GdkDevice *device);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_popdown (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_combo_box_get_id_column (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_id_column (GtkComboBox *combo_box,
int id_column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
const char * gtk_combo_box_get_active_id (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_combo_box_set_active_id (GtkComboBox *combo_box,
const char *active_id);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_set_child (GtkComboBox *combo_box,
GtkWidget *child);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget * gtk_combo_box_get_child (GtkComboBox *combo_box);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkComboBox, g_object_unref)
@@ -28,6 +28,8 @@
#include <string.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkComboBoxText:
*
@@ -350,6 +352,8 @@ gtk_combo_box_text_buildable_custom_finished (GtkBuildable *buildable,
* Creates a new `GtkComboBoxText`.
*
* Returns: A new `GtkComboBoxText`
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_text_new (void)
@@ -364,6 +368,8 @@ gtk_combo_box_text_new (void)
* Creates a new `GtkComboBoxText` with an entry.
*
* Returns: a new `GtkComboBoxText`
*
* Deprecated: 4.10: Use GtkDropDown
*/
GtkWidget *
gtk_combo_box_text_new_with_entry (void)
@@ -382,6 +388,8 @@ gtk_combo_box_text_new_with_entry (void)
*
* This is the same as calling [method@Gtk.ComboBoxText.insert_text]
* with a position of -1.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
@@ -399,6 +407,8 @@ gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
*
* This is the same as calling [method@Gtk.ComboBoxText.insert_text]
* with a position of 0.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
@@ -419,6 +429,8 @@ gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
*
* This is the same as calling [method@Gtk.ComboBoxText.insert]
* with a %NULL ID string.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
@@ -440,6 +452,8 @@ gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
*
* This is the same as calling [method@Gtk.ComboBoxText.insert]
* with a position of -1.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_append (GtkComboBoxText *combo_box,
@@ -461,6 +475,8 @@ gtk_combo_box_text_append (GtkComboBoxText *combo_box,
*
* This is the same as calling [method@Gtk.ComboBoxText.insert]
* with a position of 0.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
@@ -484,6 +500,8 @@ gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
* See [property@Gtk.ComboBox:id-column].
*
* If @position is negative then @text is appended.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
@@ -535,6 +553,8 @@ gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
* @position: Index of the item to remove
*
* Removes the string at @position from @combo_box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
@@ -560,6 +580,8 @@ gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
* @combo_box: A `GtkComboBoxText`
*
* Removes all the text entries from the combo box.
*
* Deprecated: 4.10: Use GtkDropDown
*/
void
gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box)
@@ -586,6 +608,8 @@ gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box)
* Returns: (nullable) (transfer full): a newly allocated
* string containing the currently active text.
* Must be freed with g_free().
*
* Deprecated: 4.10: Use GtkDropDown
*/
char *
gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box)
@@ -23,7 +23,7 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/gtkcombobox.h>
#include <gtk/deprecated/gtkcombobox.h>
G_BEGIN_DECLS
@@ -35,38 +35,38 @@ typedef struct _GtkComboBoxText GtkComboBoxText;
GDK_AVAILABLE_IN_ALL
GType gtk_combo_box_text_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget* gtk_combo_box_text_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget* gtk_combo_box_text_new_with_entry (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
const char *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
int position,
const char *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
const char *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
int position);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
char *gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
int position,
const char *id,
const char *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_append (GtkComboBoxText *combo_box,
const char *id,
const char *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
const char *id,
const char *text);
+5 -5
View File
@@ -23,11 +23,11 @@
#endif
#include <gdk/gdk.h>
#include <gtk/gtktreemodel.h>
#include <gtk/gtkliststore.h>
#include <gtk/gtkcellarea.h>
#include <gtk/gtktreeviewcolumn.h>
#include <gtk/gtktreemodelfilter.h>
#include <gtk/deprecated/gtktreemodel.h>
#include <gtk/deprecated/gtkliststore.h>
#include <gtk/deprecated/gtkcellarea.h>
#include <gtk/deprecated/gtktreeviewcolumn.h>
#include <gtk/deprecated/gtktreemodelfilter.h>
G_BEGIN_DECLS
@@ -34,6 +34,8 @@
#include "gtkprivate.h"
#include "gtkscrollable.h"
#include "gtksizerequest.h"
#include "gtkrenderbackgroundprivate.h"
#include "gtkrenderborderprivate.h"
#include "gtksnapshot.h"
#include "gtkstylecontextprivate.h"
#include "gtktreednd.h"
@@ -47,6 +49,8 @@
#include <string.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkIconView:
*
@@ -1622,6 +1626,7 @@ gtk_icon_view_snapshot (GtkWidget *widget,
GtkStyleContext *context;
int width, height;
double offset_x, offset_y;
GtkCssBoxes boxes;
icon_view = GTK_ICON_VIEW (widget);
@@ -1710,9 +1715,10 @@ gtk_icon_view_snapshot (GtkWidget *widget,
gtk_style_context_save_to_node (context, icon_view->priv->dndnode);
gtk_style_context_set_state (context, gtk_style_context_get_state (context) | GTK_STATE_FLAG_DROP_ACTIVE);
gtk_snapshot_render_frame (snapshot, context,
rect.x, rect.y,
rect.width, rect.height);
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
rect.x, rect.y, rect.width, rect.height);
gtk_css_style_snapshot_border (&boxes, snapshot);
gtk_style_context_restore (context);
}
@@ -1932,6 +1938,8 @@ gtk_icon_view_remove_editable (GtkCellArea *area,
* This function is often followed by `gtk_widget_grab_focus
* (icon_view)` in order to give keyboard focus to the widget.
* Please note that editing can only happen when the widget is realized.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_cursor (GtkIconView *icon_view,
@@ -1986,6 +1994,8 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view,
* The returned `GtkTreePath` must be freed with gtk_tree_path_free().
*
* Returns: %TRUE if the cursor is set.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
gboolean
gtk_icon_view_get_cursor (GtkIconView *icon_view,
@@ -2796,6 +2806,7 @@ gtk_icon_view_snapshot_item (GtkIconView *icon_view,
GtkWidget *widget = GTK_WIDGET (icon_view);
GtkIconViewPrivate *priv = icon_view->priv;
GtkCellAreaContext *context;
GtkCssBoxes boxes;
if (priv->model == NULL || item->cell_area.width <= 0 || item->cell_area.height <= 0)
return;
@@ -2828,16 +2839,14 @@ gtk_icon_view_snapshot_item (GtkIconView *icon_view,
gtk_style_context_set_state (style_context, state);
gtk_snapshot_render_background (snapshot, style_context,
x - priv->item_padding,
y - priv->item_padding,
item->cell_area.width + priv->item_padding * 2,
item->cell_area.height + priv->item_padding * 2);
gtk_snapshot_render_frame (snapshot, style_context,
x - priv->item_padding,
y - priv->item_padding,
item->cell_area.width + priv->item_padding * 2,
item->cell_area.height + priv->item_padding * 2);
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (style_context),
x - priv->item_padding,
y - priv->item_padding,
item->cell_area.width + priv->item_padding * 2,
item->cell_area.height + priv->item_padding * 2);
gtk_css_style_snapshot_background (&boxes, snapshot);
gtk_css_style_snapshot_border (&boxes, snapshot);
cell_area.x = x;
cell_area.y = y;
@@ -2859,6 +2868,7 @@ gtk_icon_view_snapshot_rubberband (GtkIconView *icon_view,
GtkIconViewPrivate *priv = icon_view->priv;
GtkStyleContext *context;
GdkRectangle rect;
GtkCssBoxes boxes;
rect.x = MIN (priv->rubberband_x1, priv->rubberband_x2);
rect.y = MIN (priv->rubberband_y1, priv->rubberband_y2);
@@ -2869,12 +2879,12 @@ gtk_icon_view_snapshot_rubberband (GtkIconView *icon_view,
gtk_style_context_save_to_node (context, priv->rubberband_node);
gtk_snapshot_render_background (snapshot, context,
rect.x, rect.y,
rect.width, rect.height);
gtk_snapshot_render_frame (snapshot, context,
rect.x, rect.y,
rect.width, rect.height);
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
rect.x, rect.y,
rect.width, rect.height);
gtk_css_style_snapshot_background (&boxes, snapshot);
gtk_css_style_snapshot_border (&boxes, snapshot);
gtk_style_context_restore (context);
}
@@ -3811,6 +3821,8 @@ gtk_icon_view_move_cursor_start_end (GtkIconView *icon_view,
* This function only works if the model is set, and @path is a valid row on
* the model. If the model changes before the @icon_view is realized, the
* centered path will be modified to reflect this change.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_scroll_to_path (GtkIconView *icon_view,
@@ -4003,6 +4015,8 @@ _gtk_icon_view_set_cell_data (GtkIconView *icon_view,
* Creates a new `GtkIconView` widget
*
* Returns: A newly created `GtkIconView` widget
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GtkWidget *
gtk_icon_view_new (void)
@@ -4018,6 +4032,8 @@ gtk_icon_view_new (void)
* specified @area to layout cells inside the icons.
*
* Returns: A newly created `GtkIconView` widget
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GtkWidget *
gtk_icon_view_new_with_area (GtkCellArea *area)
@@ -4032,6 +4048,8 @@ gtk_icon_view_new_with_area (GtkCellArea *area)
* Creates a new `GtkIconView` widget with the model @model.
*
* Returns: A newly created `GtkIconView` widget.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GtkWidget *
gtk_icon_view_new_with_model (GtkTreeModel *model)
@@ -4049,6 +4067,8 @@ gtk_icon_view_new_with_model (GtkTreeModel *model)
*
* Returns: (nullable) (transfer full): The `GtkTreePath` corresponding
* to the icon or %NULL if no icon exists at that position.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GtkTreePath *
gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
@@ -4082,6 +4102,8 @@ gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
* Gets the path and cell for the icon at the given position.
*
* Returns: %TRUE if an item exists at the specified position
*
* Deprecated: 4.10: Use GtkGridView instead
**/
gboolean
gtk_icon_view_get_item_at_pos (GtkIconView *icon_view,
@@ -4124,6 +4146,8 @@ gtk_icon_view_get_item_at_pos (GtkIconView *icon_view,
* This function is only valid if @icon_view is realized.
*
* Returns: %FALSE if there is no such item, %TRUE otherwise
*
* Deprecated: 4.10: Use GtkGridView instead
*/
gboolean
gtk_icon_view_get_cell_rect (GtkIconView *icon_view,
@@ -4173,6 +4197,8 @@ gtk_icon_view_get_cell_rect (GtkIconView *icon_view,
* Sets the tip area of @tooltip to be the area covered by the item at @path.
* See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
* See also gtk_tooltip_set_tip_area().
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_tooltip_item (GtkIconView *icon_view,
@@ -4196,6 +4222,8 @@ gtk_icon_view_set_tooltip_item (GtkIconView *icon_view,
* the item pointed to by @path. See also gtk_tooltip_set_tip_area().
*
* See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view,
@@ -4238,6 +4266,8 @@ gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view,
* that row and the corresponding model.
*
* Returns: whether or not the given tooltip context points to an item
*
* Deprecated: 4.10: Use GtkGridView instead
*/
gboolean
gtk_icon_view_get_tooltip_context (GtkIconView *icon_view,
@@ -4333,6 +4363,8 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget *widget,
*
* Note that the signal handler sets the text with gtk_tooltip_set_markup(),
* so &, <, etc have to be escaped in the text.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
@@ -4373,6 +4405,8 @@ gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
*
* Returns: the index of the tooltip column that is currently being
* used, or -1 if this is disabled.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_tooltip_column (GtkIconView *icon_view)
@@ -4394,6 +4428,8 @@ gtk_icon_view_get_tooltip_column (GtkIconView *icon_view)
* Both paths should be freed with gtk_tree_path_free() after use.
*
* Returns: %TRUE, if valid paths were placed in @start_path and @end_path
*
* Deprecated: 4.10: Use GtkGridView instead
*/
gboolean
gtk_icon_view_get_visible_range (GtkIconView *icon_view,
@@ -4449,6 +4485,8 @@ gtk_icon_view_get_visible_range (GtkIconView *icon_view,
*
* Calls a function for each selected icon. Note that the model or
* selection cannot be modified from within this function.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_selected_foreach (GtkIconView *icon_view,
@@ -4475,6 +4513,8 @@ gtk_icon_view_selected_foreach (GtkIconView *icon_view,
* @mode: The selection mode
*
* Sets the selection mode of the @icon_view.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_selection_mode (GtkIconView *icon_view,
@@ -4501,6 +4541,8 @@ gtk_icon_view_set_selection_mode (GtkIconView *icon_view,
* Gets the selection mode of the @icon_view.
*
* Returns: the current selection mode
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GtkSelectionMode
gtk_icon_view_get_selection_mode (GtkIconView *icon_view)
@@ -4519,6 +4561,8 @@ gtk_icon_view_get_selection_mode (GtkIconView *icon_view)
* If the @icon_view already has a model set, it will remove
* it before setting the new model. If @model is %NULL, then
* it will unset the old model.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_model (GtkIconView *icon_view,
@@ -4631,6 +4675,8 @@ gtk_icon_view_set_model (GtkIconView *icon_view,
* model is unset.
*
* Returns: (nullable) (transfer none): The currently used `GtkTreeModel`
*
* Deprecated: 4.10: Use GtkGridView instead
*/
GtkTreeModel *
gtk_icon_view_get_model (GtkIconView *icon_view)
@@ -4743,6 +4789,8 @@ update_pixbuf_cell (GtkIconView *icon_view)
*
* Sets the column with text for @icon_view to be @column. The text
* column must be of type `G_TYPE_STRING`.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_text_column (GtkIconView *icon_view,
@@ -4780,6 +4828,8 @@ gtk_icon_view_set_text_column (GtkIconView *icon_view,
* Returns the column with text for @icon_view.
*
* Returns: the text column, or -1 if its unset.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_text_column (GtkIconView *icon_view)
@@ -4798,6 +4848,8 @@ gtk_icon_view_get_text_column (GtkIconView *icon_view)
* @column. The markup column must be of type `G_TYPE_STRING`.
* If the markup column is set to something, it overrides
* the text column set by gtk_icon_view_set_text_column().
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_markup_column (GtkIconView *icon_view,
@@ -4835,6 +4887,8 @@ gtk_icon_view_set_markup_column (GtkIconView *icon_view,
* Returns the column with markup text for @icon_view.
*
* Returns: the markup column, or -1 if its unset.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_markup_column (GtkIconView *icon_view)
@@ -4851,6 +4905,8 @@ gtk_icon_view_get_markup_column (GtkIconView *icon_view)
*
* Sets the column with pixbufs for @icon_view to be @column. The pixbuf
* column must be of type `GDK_TYPE_PIXBUF`
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
@@ -4889,6 +4945,8 @@ gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
* Returns the column with pixbufs for @icon_view.
*
* Returns: the pixbuf column, or -1 if its unset.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view)
@@ -4904,6 +4962,8 @@ gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view)
* @path: The `GtkTreePath` to be selected.
*
* Selects the row at @path.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_select_path (GtkIconView *icon_view,
@@ -4929,6 +4989,8 @@ gtk_icon_view_select_path (GtkIconView *icon_view,
* @path: The `GtkTreePath` to be unselected.
*
* Unselects the row at @path.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_unselect_path (GtkIconView *icon_view,
@@ -4971,6 +5033,8 @@ gtk_icon_view_unselect_path (GtkIconView *icon_view,
* ]|
*
* Returns: (element-type GtkTreePath) (transfer full): A `GList` containing a `GtkTreePath` for each selected row.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GList *
gtk_icon_view_get_selected_items (GtkIconView *icon_view)
@@ -5001,6 +5065,8 @@ gtk_icon_view_get_selected_items (GtkIconView *icon_view)
*
* Selects all the icons. @icon_view must has its selection mode set
* to %GTK_SELECTION_MULTIPLE.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_select_all (GtkIconView *icon_view)
@@ -5034,6 +5100,8 @@ gtk_icon_view_select_all (GtkIconView *icon_view)
* @icon_view: A `GtkIconView`.
*
* Unselects all the icons.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_unselect_all (GtkIconView *icon_view)
@@ -5060,6 +5128,8 @@ gtk_icon_view_unselect_all (GtkIconView *icon_view)
* selected. If @path does not point to a valid location, %FALSE is returned.
*
* Returns: %TRUE if @path is selected.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
gboolean
gtk_icon_view_path_is_selected (GtkIconView *icon_view,
@@ -5089,6 +5159,8 @@ gtk_icon_view_path_is_selected (GtkIconView *icon_view,
* displayed. Row numbers start at 0.
*
* Returns: The row in which the item is displayed
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_item_row (GtkIconView *icon_view,
@@ -5118,6 +5190,8 @@ gtk_icon_view_get_item_row (GtkIconView *icon_view,
* displayed. Column numbers start at 0.
*
* Returns: The column in which the item is displayed
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_item_column (GtkIconView *icon_view,
@@ -5144,6 +5218,8 @@ gtk_icon_view_get_item_column (GtkIconView *icon_view,
* @path: The `GtkTreePath` to be activated
*
* Activates the item determined by @path.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_item_activated (GtkIconView *icon_view,
@@ -5162,6 +5238,8 @@ gtk_icon_view_item_activated (GtkIconView *icon_view,
*
* Sets the ::item-orientation property which determines whether the labels
* are drawn beside the icons instead of below.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_item_orientation (GtkIconView *icon_view,
@@ -5199,6 +5277,8 @@ gtk_icon_view_set_item_orientation (GtkIconView *icon_view,
* whether the labels are drawn beside the icons instead of below.
*
* Returns: the relative position of texts and icons
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GtkOrientation
gtk_icon_view_get_item_orientation (GtkIconView *icon_view)
@@ -5218,6 +5298,8 @@ gtk_icon_view_get_item_orientation (GtkIconView *icon_view)
* many columns the icons are arranged. If @columns is
* -1, the number of columns will be chosen automatically
* to fill the available area.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_columns (GtkIconView *icon_view,
@@ -5245,6 +5327,8 @@ gtk_icon_view_set_columns (GtkIconView *icon_view,
* Returns the value of the ::columns property.
*
* Returns: the number of columns, or -1
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_columns (GtkIconView *icon_view)
@@ -5262,6 +5346,8 @@ gtk_icon_view_get_columns (GtkIconView *icon_view)
* Sets the ::item-width property which specifies the width
* to use for each item. If it is set to -1, the icon view will
* automatically determine a suitable item size.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_item_width (GtkIconView *icon_view,
@@ -5291,6 +5377,8 @@ gtk_icon_view_set_item_width (GtkIconView *icon_view,
* Returns the value of the ::item-width property.
*
* Returns: the width of a single item, or -1
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_item_width (GtkIconView *icon_view)
@@ -5309,6 +5397,8 @@ gtk_icon_view_get_item_width (GtkIconView *icon_view)
* Sets the ::spacing property which specifies the space
* which is inserted between the cells (i.e. the icon and
* the text) of an item.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_spacing (GtkIconView *icon_view,
@@ -5336,6 +5426,8 @@ gtk_icon_view_set_spacing (GtkIconView *icon_view,
* Returns the value of the ::spacing property.
*
* Returns: the space between cells
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_spacing (GtkIconView *icon_view)
@@ -5352,6 +5444,8 @@ gtk_icon_view_get_spacing (GtkIconView *icon_view)
*
* Sets the ::row-spacing property which specifies the space
* which is inserted between the rows of the icon view.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
@@ -5379,6 +5473,8 @@ gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
* Returns the value of the ::row-spacing property.
*
* Returns: the space between rows
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_row_spacing (GtkIconView *icon_view)
@@ -5395,6 +5491,8 @@ gtk_icon_view_get_row_spacing (GtkIconView *icon_view)
*
* Sets the ::column-spacing property which specifies the space
* which is inserted between the columns of the icon view.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
@@ -5422,6 +5520,8 @@ gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
* Returns the value of the ::column-spacing property.
*
* Returns: the space between columns
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_column_spacing (GtkIconView *icon_view)
@@ -5439,6 +5539,8 @@ gtk_icon_view_get_column_spacing (GtkIconView *icon_view)
* Sets the ::margin property which specifies the space
* which is inserted at the top, bottom, left and right
* of the icon view.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_margin (GtkIconView *icon_view,
@@ -5466,6 +5568,8 @@ gtk_icon_view_set_margin (GtkIconView *icon_view,
* Returns the value of the ::margin property.
*
* Returns: the space at the borders
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_margin (GtkIconView *icon_view)
@@ -5482,6 +5586,8 @@ gtk_icon_view_get_margin (GtkIconView *icon_view)
*
* Sets the `GtkIconView`:item-padding property which specifies the padding
* around each of the icon views items.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_item_padding (GtkIconView *icon_view,
@@ -5509,6 +5615,8 @@ gtk_icon_view_set_item_padding (GtkIconView *icon_view,
* Returns the value of the ::item-padding property.
*
* Returns: the padding around items
*
* Deprecated: 4.10: Use GtkGridView instead
*/
int
gtk_icon_view_get_item_padding (GtkIconView *icon_view)
@@ -6234,6 +6342,8 @@ gtk_icon_view_drag_data_received (GObject *source,
*
* Turns @icon_view into a drag source for automatic DND. Calling this
* method sets `GtkIconView`:reorderable to %FALSE.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
@@ -6260,6 +6370,8 @@ gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
*
* Turns @icon_view into a drop destination for automatic DND. Calling this
* method sets `GtkIconView`:reorderable to %FALSE.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
@@ -6297,6 +6409,8 @@ gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
*
* Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this
* method sets `GtkIconView`:reorderable to %FALSE.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view)
@@ -6318,6 +6432,8 @@ gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view)
*
* Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this
* method sets `GtkIconView`:reorderable to %FALSE.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
@@ -6345,6 +6461,8 @@ gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
* @pos: Specifies where to drop, relative to the item
*
* Sets the item that is highlighted for feedback.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view,
@@ -6403,6 +6521,8 @@ gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view,
* @pos: (out) (optional): Return location for the drop position
*
* Gets information about the item that is highlighted for feedback.
*
* Deprecated: 4.10: Use GtkGridView instead
*/
void
gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view,
@@ -6434,6 +6554,8 @@ gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view,
* Determines the destination item for a given position.
*
* Returns: whether there is an item at the given position.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
gboolean
gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view,
@@ -6493,6 +6615,8 @@ gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view,
* This image is used for a drag icon.
*
* Returns: (transfer full) (nullable): a newly-allocated `GdkPaintable` of the drag icon.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
GdkPaintable *
gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
@@ -6542,6 +6666,8 @@ gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
* See gtk_icon_view_set_reorderable().
*
* Returns: %TRUE if the list can be reordered.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
gboolean
gtk_icon_view_get_reorderable (GtkIconView *icon_view)
@@ -6568,6 +6694,8 @@ gtk_icon_view_get_reorderable (GtkIconView *icon_view)
* This function does not give you any degree of control over the order -- any
* reordering is allowed. If more control is needed, you should probably
* handle drag and drop manually.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_reorderable (GtkIconView *icon_view,
@@ -6610,6 +6738,8 @@ gtk_icon_view_set_reorderable (GtkIconView *icon_view,
*
* Causes the `GtkIconView`::item-activated signal to be emitted on
* a single click instead of a double click.
*
* Deprecated: 4.10: Use GtkGridView instead
**/
void
gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
@@ -6633,6 +6763,8 @@ gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
* Gets the setting set by gtk_icon_view_set_activate_on_single_click().
*
* Returns: %TRUE if item-activated will be emitted on a single click
*
* Deprecated: 4.10: Use GtkGridView instead
**/
gboolean
gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view)
@@ -23,10 +23,10 @@
#endif
#include <gtk/gtkwidget.h>
#include <gtk/gtktreemodel.h>
#include <gtk/gtkcellrenderer.h>
#include <gtk/gtkcellarea.h>
#include <gtk/gtktooltip.h>
#include <gtk/deprecated/gtktreemodel.h>
#include <gtk/deprecated/gtkcellrenderer.h>
#include <gtk/deprecated/gtkcellarea.h>
G_BEGIN_DECLS
@@ -74,138 +74,138 @@ typedef enum
GDK_AVAILABLE_IN_ALL
GType gtk_icon_view_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget * gtk_icon_view_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget * gtk_icon_view_new_with_area (GtkCellArea *area);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkWidget * gtk_icon_view_new_with_model (GtkTreeModel *model);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_model (GtkIconView *icon_view,
GtkTreeModel *model);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkTreeModel * gtk_icon_view_get_model (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_text_column (GtkIconView *icon_view,
int column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_text_column (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_markup_column (GtkIconView *icon_view,
int column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_markup_column (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
int column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_item_orientation (GtkIconView *icon_view,
GtkOrientation orientation);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkOrientation gtk_icon_view_get_item_orientation (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_columns (GtkIconView *icon_view,
int columns);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_columns (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_item_width (GtkIconView *icon_view,
int item_width);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_item_width (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_spacing (GtkIconView *icon_view,
int spacing);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_spacing (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
int row_spacing);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_row_spacing (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
int column_spacing);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_column_spacing (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_margin (GtkIconView *icon_view,
int margin);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_margin (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_item_padding (GtkIconView *icon_view,
int item_padding);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_item_padding (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkTreePath * gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
int x,
int y);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_item_at_pos (GtkIconView *icon_view,
int x,
int y,
GtkTreePath **path,
GtkCellRenderer **cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_visible_range (GtkIconView *icon_view,
GtkTreePath **start_path,
GtkTreePath **end_path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
gboolean single);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_selected_foreach (GtkIconView *icon_view,
GtkIconViewForeachFunc func,
gpointer data);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_selection_mode (GtkIconView *icon_view,
GtkSelectionMode mode);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkSelectionMode gtk_icon_view_get_selection_mode (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_select_path (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_unselect_path (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_path_is_selected (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_item_row (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_item_column (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GList *gtk_icon_view_get_selected_items (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_select_all (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_unselect_all (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_item_activated (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_cursor (GtkIconView *icon_view,
GtkTreePath *path,
GtkCellRenderer *cell,
gboolean start_editing);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_cursor (GtkIconView *icon_view,
GtkTreePath **path,
GtkCellRenderer **cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_scroll_to_path (GtkIconView *icon_view,
GtkTreePath *path,
gboolean use_align,
@@ -213,62 +213,62 @@ void gtk_icon_view_scroll_to_path (GtkIconView *icon_
float col_align);
/* Drag-and-Drop support */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
GdkModifierType start_button_mask,
GdkContentFormats *formats,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
GdkContentFormats *formats,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_reorderable (GtkIconView *icon_view,
gboolean reorderable);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_reorderable (GtkIconView *icon_view);
/* These are useful to implement your own custom stuff. */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view,
GtkTreePath *path,
GtkIconViewDropPosition pos);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view,
GtkTreePath **path,
GtkIconViewDropPosition *pos);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view,
int drag_x,
int drag_y,
GtkTreePath **path,
GtkIconViewDropPosition *pos);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GdkPaintable *gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_cell_rect (GtkIconView *icon_view,
GtkTreePath *path,
GtkCellRenderer *cell,
GdkRectangle *rect);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_tooltip_item (GtkIconView *icon_view,
GtkTooltip *tooltip,
GtkTreePath *path);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view,
GtkTooltip *tooltip,
GtkTreePath *path,
GtkCellRenderer *cell);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_icon_view_get_tooltip_context (GtkIconView *icon_view,
int x,
int y,
@@ -276,10 +276,10 @@ gboolean gtk_icon_view_get_tooltip_context (GtkIconView
GtkTreeModel **model,
GtkTreePath **path,
GtkTreeIter *iter);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
int column);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_icon_view_get_tooltip_column (GtkIconView *icon_view);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIconView, g_object_unref)
@@ -15,7 +15,7 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "gtk/gtkiconview.h"
#include "gtk/deprecated/gtkiconview.h"
#include "gtk/gtkcssnodeprivate.h"
#include "gtk/gtkeventcontrollermotion.h"
#include "gtk/gtkdragsource.h"
@@ -22,11 +22,12 @@
#include <gobject/gvaluecollector.h>
#include "gtktreemodel.h"
#include "gtkliststore.h"
#include "gtktreedatalist.h"
#include "gtktreedatalistprivate.h"
#include "gtktreednd.h"
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* GtkListStore:
@@ -410,6 +411,8 @@ iter_is_valid (GtkTreeIter *iter,
* int, string and `GdkTexture`, respectively.
*
* Returns: a new `GtkListStore`
*
* Deprecated: 4.10: Use list models
*/
GtkListStore *
gtk_list_store_new (int n_columns,
@@ -455,6 +458,8 @@ gtk_list_store_new (int n_columns,
* Non-vararg creation function. Used primarily by language bindings.
*
* Returns: (transfer full): a new `GtkListStore`
*
* Deprecated: 4.10: Use list models
**/
GtkListStore *
gtk_list_store_newv (int n_columns,
@@ -493,6 +498,8 @@ gtk_list_store_newv (int n_columns,
* and should only be used when constructing a new `GtkListStore`. It will not
* function after a row has been added, or a method on the `GtkTreeModel`
* interface is called.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_set_column_types (GtkListStore *list_store,
@@ -920,6 +927,7 @@ gtk_list_store_real_set_value (GtkListStore *list_store,
* The type of @value must be convertible to the type of the
* column.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_set_value (GtkListStore *list_store,
@@ -1073,6 +1081,8 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store,
* varargs. This function is mainly intended for
* language-bindings and in case the number of columns to
* change is not known until run-time.
*
* Deprecated: 4.10: Use list models
*/
void
gtk_list_store_set_valuesv (GtkListStore *list_store,
@@ -1117,6 +1127,7 @@ gtk_list_store_set_valuesv (GtkListStore *list_store,
* See gtk_list_store_set(); this version takes a va_list for use by language
* bindings.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_set_valist (GtkListStore *list_store,
@@ -1165,6 +1176,8 @@ gtk_list_store_set_valist (GtkListStore *list_store,
*
* The value will be referenced by the store if it is a %G_TYPE_OBJECT, and it
* will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED.
*
* Deprecated: 4.10: Use list models
*/
void
gtk_list_store_set (GtkListStore *list_store,
@@ -1188,6 +1201,8 @@ gtk_list_store_set (GtkListStore *list_store,
* to the last row in @list_store.
*
* Returns: %TRUE if @iter is valid, %FALSE if not.
*
* Deprecated: 4.10: Use list models
**/
gboolean
gtk_list_store_remove (GtkListStore *list_store,
@@ -1240,6 +1255,7 @@ gtk_list_store_remove (GtkListStore *list_store,
* this function is called. To fill in values, you need to call
* gtk_list_store_set() or gtk_list_store_set_value().
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_insert (GtkListStore *list_store,
@@ -1292,6 +1308,7 @@ gtk_list_store_insert (GtkListStore *list_store,
* new row. The row will be empty after this function is called. To fill in
* values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_insert_before (GtkListStore *list_store,
@@ -1328,6 +1345,7 @@ gtk_list_store_insert_before (GtkListStore *list_store,
* this new row. The row will be empty after this function is called. To fill
* in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_insert_after (GtkListStore *list_store,
@@ -1362,6 +1380,7 @@ gtk_list_store_insert_after (GtkListStore *list_store,
* row. The row will be empty after this function is called. To fill in
* values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_prepend (GtkListStore *list_store,
@@ -1382,6 +1401,7 @@ gtk_list_store_prepend (GtkListStore *list_store,
* row. The row will be empty after this function is called. To fill in
* values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_append (GtkListStore *list_store,
@@ -1411,6 +1431,7 @@ gtk_list_store_increment_stamp (GtkListStore *list_store)
*
* Removes all rows from the list store.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_clear (GtkListStore *list_store)
@@ -1443,6 +1464,8 @@ gtk_list_store_clear (GtkListStore *list_store)
* purposes.
*
* Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
*
* Deprecated: 4.10: Use list models
**/
gboolean
gtk_list_store_iter_is_valid (GtkListStore *list_store,
@@ -1687,6 +1710,8 @@ gtk_list_store_reorder_func (GSequenceIter *a,
*
* Reorders @store to follow the order indicated by @new_order. Note that
* this function only works with unsorted stores.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_reorder (GtkListStore *store,
@@ -1779,6 +1804,8 @@ generate_order (GSequence *seq,
*
* Swaps @a and @b in @store. Note that this function only works with
* unsorted stores.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_swap (GtkListStore *store,
@@ -1846,6 +1873,8 @@ gtk_list_store_move_to (GtkListStore *store,
* Moves @iter in @store to the position before @position. Note that this
* function only works with unsorted stores. If @position is %NULL, @iter
* will be moved to the end of the list.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_move_before (GtkListStore *store,
@@ -1877,6 +1906,8 @@ gtk_list_store_move_before (GtkListStore *store,
* Moves @iter in @store to the position after @position. Note that this
* function only works with unsorted stores. If @position is %NULL, @iter
* will be moved to the start of the list.
*
* Deprecated: 4.10: Use list models
**/
void
gtk_list_store_move_after (GtkListStore *store,
@@ -2185,6 +2216,8 @@ gtk_list_store_has_default_sort_func (GtkTreeSortable *sortable)
* Since emitting the `GtkTreeModel::rows-reordered` signal repeatedly can
* affect the performance of the program, gtk_list_store_insert_with_values()
* should generally be preferred when inserting rows in a sorted list store.
*
* Deprecated: 4.10: Use list models
*/
void
gtk_list_store_insert_with_values (GtkListStore *list_store,
@@ -2261,6 +2294,8 @@ gtk_list_store_insert_with_values (GtkListStore *list_store,
* varargs.
*
* This function is mainly intended for language-bindings.
*
* Deprecated: 4.10: Use list models
*/
void
gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
@@ -23,8 +23,8 @@
#endif
#include <gdk/gdk.h>
#include <gtk/gtktreemodel.h>
#include <gtk/gtktreesortable.h>
#include <gtk/deprecated/gtktreemodel.h>
#include <gtk/deprecated/gtktreesortable.h>
G_BEGIN_DECLS
@@ -60,88 +60,88 @@ struct _GtkListStoreClass
GDK_AVAILABLE_IN_ALL
GType gtk_list_store_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkListStore *gtk_list_store_new (int n_columns,
...);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkListStore *gtk_list_store_newv (int n_columns,
GType *types);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_set_column_types (GtkListStore *list_store,
int n_columns,
GType *types);
/* NOTE: use gtk_tree_model_get to get values from a GtkListStore */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_set_value (GtkListStore *list_store,
GtkTreeIter *iter,
int column,
GValue *value);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_set (GtkListStore *list_store,
GtkTreeIter *iter,
...);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_set_valuesv (GtkListStore *list_store,
GtkTreeIter *iter,
int *columns,
GValue *values,
int n_values);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_set_valist (GtkListStore *list_store,
GtkTreeIter *iter,
va_list var_args);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_list_store_remove (GtkListStore *list_store,
GtkTreeIter *iter);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_insert (GtkListStore *list_store,
GtkTreeIter *iter,
int position);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_insert_before (GtkListStore *list_store,
GtkTreeIter *iter,
GtkTreeIter *sibling);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_insert_after (GtkListStore *list_store,
GtkTreeIter *iter,
GtkTreeIter *sibling);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_insert_with_values (GtkListStore *list_store,
GtkTreeIter *iter,
int position,
...);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
GtkTreeIter *iter,
int position,
int *columns,
GValue *values,
int n_values);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_prepend (GtkListStore *list_store,
GtkTreeIter *iter);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_append (GtkListStore *list_store,
GtkTreeIter *iter);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_clear (GtkListStore *list_store);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_list_store_iter_is_valid (GtkListStore *list_store,
GtkTreeIter *iter);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_reorder (GtkListStore *store,
int *new_order);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_swap (GtkListStore *store,
GtkTreeIter *a,
GtkTreeIter *b);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_move_after (GtkListStore *store,
GtkTreeIter *iter,
GtkTreeIter *position);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_list_store_move_before (GtkListStore *store,
GtkTreeIter *iter,
GtkTreeIter *position);
@@ -28,11 +28,17 @@
#include "gtkcssshadowvalueprivate.h"
#include "gtkcsstransformvalueprivate.h"
#include "gtkrendericonprivate.h"
#include "gtkrenderborderprivate.h"
#include "gtkrenderbackgroundprivate.h"
#include "gtkrenderlayoutprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtksettings.h"
#include "gsk/gskroundedrectprivate.h"
#include <gdk/gdktextureprivate.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
gtk_do_render_icon (GtkStyleContext *context,
cairo_t *cr,
@@ -76,6 +82,8 @@ gtk_do_render_icon (GtkStyleContext *context,
* Typical checkmark rendering:
*
* ![](checks.png)
*
* Deprecated: 4.10
**/
void
gtk_render_check (GtkStyleContext *context,
@@ -110,6 +118,8 @@ gtk_render_check (GtkStyleContext *context,
* Typical option mark rendering:
*
* ![](options.png)
*
* Deprecated: 4.10
**/
void
gtk_render_option (GtkStyleContext *context,
@@ -142,6 +152,8 @@ gtk_render_option (GtkStyleContext *context,
* Typical arrow rendering at 0, 12 π;, π; and 32 π:
*
* ![](arrows.png)
*
* Deprecated: 4.10
**/
void
gtk_render_arrow (GtkStyleContext *context,
@@ -175,6 +187,8 @@ gtk_render_arrow (GtkStyleContext *context,
* `background-image`, `border-width` and `border-radius`:
*
* ![](background.png)
*
* Deprecated: 4.10
**/
void
gtk_render_background (GtkStyleContext *context,
@@ -221,6 +235,8 @@ gtk_render_background (GtkStyleContext *context,
* `border-color`, `border-width`, `border-radius` and junctions:
*
* ![](frames.png)
*
* Deprecated: 4.10
**/
void
gtk_render_frame (GtkStyleContext *context,
@@ -268,6 +284,8 @@ gtk_render_frame (GtkStyleContext *context,
* Typical expander rendering:
*
* ![](expanders.png)
*
* Deprecated: 4.10
**/
void
gtk_render_expander (GtkStyleContext *context,
@@ -300,6 +318,8 @@ gtk_render_expander (GtkStyleContext *context,
* Typical focus rendering:
*
* ![](focus.png)
*
* Deprecated: 4.10
**/
void
gtk_render_focus (GtkStyleContext *context,
@@ -340,6 +360,8 @@ gtk_render_focus (GtkStyleContext *context,
* @layout: the `PangoLayout` to render
*
* Renders @layout on the coordinates @x, @y
*
* Deprecated: 4.10
**/
void
gtk_render_layout (GtkStyleContext *context,
@@ -378,6 +400,8 @@ gtk_render_layout (GtkStyleContext *context,
* @y1: Y coordinate for the end of the line
*
* Renders a line from (x0, y0) to (x1, y1).
*
* Deprecated: 4.10
**/
void
gtk_render_line (GtkStyleContext *context,
@@ -423,6 +447,8 @@ gtk_render_line (GtkStyleContext *context,
* Handles rendered for the paned and grip classes:
*
* ![](handles.png)
*
* Deprecated: 4.10
**/
void
gtk_render_handle (GtkStyleContext *context,
@@ -456,6 +482,8 @@ gtk_render_handle (GtkStyleContext *context,
* Renders an activity indicator (such as in `GtkSpinner`).
* The state %GTK_STATE_FLAG_CHECKED determines whether there is
* activity going on.
*
* Deprecated: 4.10
**/
void
gtk_render_activity (GtkStyleContext *context,
@@ -488,6 +516,7 @@ gtk_render_activity (GtkStyleContext *context,
* regardless of scaling factors, which may not be appropriate when
* drawing on displays with high pixel densities.
*
* Deprecated: 4.10
**/
void
gtk_render_icon (GtkStyleContext *context,
@@ -514,3 +543,178 @@ gtk_render_icon (GtkStyleContext *context,
gsk_render_node_draw (node, cr);
cairo_restore (cr);
}
/**
* gtk_snapshot_render_background:
* @snapshot: a `GtkSnapshot`
* @context: the style context that defines the background
* @x: X origin of the rectangle
* @y: Y origin of the rectangle
* @width: rectangle width
* @height: rectangle height
*
* Creates a render node for the CSS background according to @context,
* and appends it to the current node of @snapshot, without changing
* the current node.
*
* Deprecated: 4.10
*/
void
gtk_snapshot_render_background (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
double width,
double height)
{
GtkCssBoxes boxes;
g_return_if_fail (snapshot != NULL);
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
x, y, width, height);
gtk_css_style_snapshot_background (&boxes, snapshot);
}
/**
* gtk_snapshot_render_frame:
* @snapshot: a `GtkSnapshot`
* @context: the style context that defines the frame
* @x: X origin of the rectangle
* @y: Y origin of the rectangle
* @width: rectangle width
* @height: rectangle height
*
* Creates a render node for the CSS border according to @context,
* and appends it to the current node of @snapshot, without changing
* the current node.
*
* Deprecated: 4.10
*/
void
gtk_snapshot_render_frame (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
double width,
double height)
{
GtkCssBoxes boxes;
g_return_if_fail (snapshot != NULL);
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
x, y, width, height);
gtk_css_style_snapshot_border (&boxes, snapshot);
}
/**
* gtk_snapshot_render_focus:
* @snapshot: a `GtkSnapshot`
* @context: the style context that defines the focus ring
* @x: X origin of the rectangle
* @y: Y origin of the rectangle
* @width: rectangle width
* @height: rectangle height
*
* Creates a render node for the focus outline according to @context,
* and appends it to the current node of @snapshot, without changing
* the current node.
*
* Deprecated: 4.10
*/
void
gtk_snapshot_render_focus (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
double width,
double height)
{
GtkCssBoxes boxes;
g_return_if_fail (snapshot != NULL);
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
x, y, width, height);
gtk_css_style_snapshot_outline (&boxes, snapshot);
}
/**
* gtk_snapshot_render_layout:
* @snapshot: a `GtkSnapshot`
* @context: the style context that defines the text
* @x: X origin of the rectangle
* @y: Y origin of the rectangle
* @layout: the `PangoLayout` to render
*
* Creates a render node for rendering @layout according to the style
* information in @context, and appends it to the current node of @snapshot,
* without changing the current node.
*
* Deprecated: 4.10
*/
void
gtk_snapshot_render_layout (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
PangoLayout *layout)
{
GtkCssBoxes boxes;
g_return_if_fail (snapshot != NULL);
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
g_return_if_fail (PANGO_IS_LAYOUT (layout));
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
x, y, 0, 0);
gtk_css_style_snapshot_layout (&boxes, snapshot, x, y, layout);
}
/**
* gtk_snapshot_render_insertion_cursor:
* @snapshot: snapshot to render to
* @context: a `GtkStyleContext`
* @x: X origin
* @y: Y origin
* @layout: the `PangoLayout` of the text
* @index: the index in the `PangoLayout`
* @direction: the `PangoDirection` of the text
*
* Draws a text caret using @snapshot at the specified index of @layout.
*
* Deprecated: 4.10
*/
void
gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
PangoLayout *layout,
int index,
PangoDirection direction)
{
GtkCssBoxes boxes;
GdkDisplay *display;
g_return_if_fail (snapshot != NULL);
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
g_return_if_fail (PANGO_IS_LAYOUT (layout));
g_return_if_fail (index >= 0);
gtk_css_boxes_init_border_box (&boxes,
gtk_style_context_lookup_style (context),
x, y, 0, 0);
display = gtk_style_context_get_display (context);
gtk_css_style_snapshot_caret (&boxes, display, snapshot, x, y, layout, index, direction);
}
+50 -12
View File
@@ -28,31 +28,32 @@
#include <gtk/gtkenums.h>
#include <gtk/gtktypes.h>
#include <gtk/gtksnapshot.h>
G_BEGIN_DECLS
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_check (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_option (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_arrow (GtkStyleContext *context,
cairo_t *cr,
double angle,
double x,
double y,
double size);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_background (GtkStyleContext *context,
cairo_t *cr,
double x,
@@ -60,60 +61,97 @@ void gtk_render_background (GtkStyleContext *context,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_frame (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_expander (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_focus (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_layout (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
PangoLayout *layout);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_line (GtkStyleContext *context,
cairo_t *cr,
double x0,
double y0,
double x1,
double y1);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_handle (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_activity (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_render_icon (GtkStyleContext *context,
cairo_t *cr,
GdkTexture *texture,
double x,
double y);
GDK_DEPRECATED_IN_4_10
void gtk_snapshot_render_background (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
double width,
double height);
GDK_DEPRECATED_IN_4_10
void gtk_snapshot_render_frame (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
double width,
double height);
GDK_DEPRECATED_IN_4_10
void gtk_snapshot_render_focus (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
double width,
double height);
GDK_DEPRECATED_IN_4_10
void gtk_snapshot_render_layout (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
PangoLayout *layout);
GDK_DEPRECATED_IN_4_10
void gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
PangoLayout *layout,
int index,
PangoDirection direction);
G_END_DECLS
#endif /* __GTK_RENDER_H__ */
@@ -28,7 +28,7 @@
#include "gtkprivate.h"
#include "gtksettings.h"
#include "gtksettingsprivate.h"
#include "gtksnapshot.h"
#include "deprecated/gtkrender.h"
/**
@@ -220,7 +220,9 @@ gtk_style_context_impl_set_property (GObject *object,
switch (prop_id)
{
case PROP_DISPLAY:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_style_context_set_display (context, g_value_get_object (value));
G_GNUC_END_IGNORE_DEPRECATIONS
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -341,6 +343,8 @@ gtk_style_context_new_for_node (GtkCssNode *node)
* Note: If both priorities are the same, a `GtkStyleProvider`
* added through this function takes precedence over another added
* through [func@Gtk.StyleContext.add_provider_for_display].
*
* Deprecated: 4.10: Use style classes instead
*/
void
gtk_style_context_add_provider (GtkStyleContext *context,
@@ -376,6 +380,8 @@ gtk_style_context_add_provider (GtkStyleContext *context,
* @provider: a `GtkStyleProvider`
*
* Removes @provider from the style providers list in @context.
*
* Deprecated: 4.10
*/
void
gtk_style_context_remove_provider (GtkStyleContext *context,
@@ -392,68 +398,14 @@ gtk_style_context_remove_provider (GtkStyleContext *context,
_gtk_style_cascade_remove_provider (priv->cascade, provider);
}
/**
* gtk_style_context_add_provider_for_display:
* @display: a `GdkDisplay`
* @provider: a `GtkStyleProvider`
* @priority: the priority of the style provider. The lower
* it is, the earlier it will be used in the style construction.
* Typically this will be in the range between
* %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and
* %GTK_STYLE_PROVIDER_PRIORITY_USER
*
* Adds a global style provider to @display, which will be used
* in style construction for all `GtkStyleContexts` under @display.
*
* GTK uses this to make styling information from `GtkSettings`
* available.
*
* Note: If both priorities are the same, A `GtkStyleProvider`
* added through [method@Gtk.StyleContext.add_provider] takes
* precedence over another added through this function.
**/
void
gtk_style_context_add_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider,
guint priority)
{
GtkStyleCascade *cascade;
g_return_if_fail (GDK_IS_DISPLAY (display));
g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider));
g_return_if_fail (!GTK_IS_SETTINGS (provider) || _gtk_settings_get_display (GTK_SETTINGS (provider)) == display);
cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1);
_gtk_style_cascade_add_provider (cascade, provider, priority);
}
/**
* gtk_style_context_remove_provider_for_display:
* @display: a `GdkDisplay`
* @provider: a `GtkStyleProvider`
*
* Removes @provider from the global style providers list in @display.
*/
void
gtk_style_context_remove_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider)
{
GtkStyleCascade *cascade;
g_return_if_fail (GDK_IS_DISPLAY (display));
g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider));
g_return_if_fail (!GTK_IS_SETTINGS (provider));
cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1);
_gtk_style_cascade_remove_provider (cascade, provider);
}
/**
* gtk_style_context_set_state:
* @context: a `GtkStyleContext`
* @flags: state to represent
*
* Sets the state to be used for style matching.
*
* Deprecated: 4.10: You should not use this api
*/
void
gtk_style_context_set_state (GtkStyleContext *context,
@@ -479,6 +431,8 @@ gtk_style_context_set_state (GtkStyleContext *context,
* [method@Gtk.Widget.get_state_flags].
*
* Returns: the state flags
*
* Deprecated: 4.10: Use [method@Gtk.Widget.get_state_flags] instead
**/
GtkStateFlags
gtk_style_context_get_state (GtkStyleContext *context)
@@ -496,6 +450,8 @@ gtk_style_context_get_state (GtkStyleContext *context)
* @scale: scale
*
* Sets the scale to use when getting image assets for the style.
*
* Deprecated: 4.10: You should not use this api
**/
void
gtk_style_context_set_scale (GtkStyleContext *context,
@@ -529,6 +485,8 @@ gtk_style_context_set_scale (GtkStyleContext *context,
* Returns the scale used for assets.
*
* Returns: the scale
*
* Deprecated 4.10: Use [method@Gtk.Widget.get_scale_factor] instead
**/
int
gtk_style_context_get_scale (GtkStyleContext *context)
@@ -586,6 +544,8 @@ gtk_style_context_save_to_node (GtkStyleContext *context,
*
* The matching call to [method@Gtk.StyleContext.restore]
* must be done before GTK returns to the main loop.
*
* Deprecated: 4.10: This API will be removed in GTK 5
**/
void
gtk_style_context_save (GtkStyleContext *context)
@@ -616,6 +576,8 @@ gtk_style_context_save (GtkStyleContext *context)
* Restores @context state to a previous stage.
*
* See [method@Gtk.StyleContext.save].
*
* Deprecated: 4.10: This API will be removed in GTK 5
**/
void
gtk_style_context_restore (GtkStyleContext *context)
@@ -653,6 +615,7 @@ gtk_style_context_restore (GtkStyleContext *context)
* ```css
* .search { ... }
* ```
* Deprecated: 4.10: Use [method@Gtk.Widget.add_css_class] instead
*/
void
gtk_style_context_add_class (GtkStyleContext *context,
@@ -675,6 +638,8 @@ gtk_style_context_add_class (GtkStyleContext *context,
* @class_name: class name to remove
*
* Removes @class_name from @context.
*
* Deprecated: 4.10: Use [method@Gtk.Widget.remove_css_class] instead
*/
void
gtk_style_context_remove_class (GtkStyleContext *context,
@@ -702,6 +667,8 @@ gtk_style_context_remove_class (GtkStyleContext *context,
* given class name.
*
* Returns: %TRUE if @context has @class_name defined
*
* Deprecated: 4.10: Use [method@Gtk.Widget.has_css_class] instead
**/
gboolean
gtk_style_context_has_class (GtkStyleContext *context,
@@ -742,6 +709,8 @@ _gtk_style_context_peek_property (GtkStyleContext *context,
* If you are using a `GtkStyleContext` returned from
* [method@Gtk.Widget.get_style_context], you do not need to
* call this yourself.
*
* Deprecated: 4.10: You should not use this api
*/
void
gtk_style_context_set_display (GtkStyleContext *context,
@@ -780,6 +749,8 @@ gtk_style_context_set_display (GtkStyleContext *context,
* Returns the `GdkDisplay` to which @context is attached.
*
* Returns: (transfer none): a `GdkDisplay`.
*
* Deprecated: 4.10: Use [method@Gtk.Widget.get_display] instead
*/
GdkDisplay *
gtk_style_context_get_display (GtkStyleContext *context)
@@ -824,6 +795,8 @@ gtk_style_context_resolve_color (GtkStyleContext *context,
* Looks up and resolves a color name in the @context color map.
*
* Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/
gboolean
gtk_style_context_lookup_color (GtkStyleContext *context,
@@ -850,6 +823,8 @@ gtk_style_context_lookup_color (GtkStyleContext *context,
* @color: (out): return value for the foreground color
*
* Gets the foreground color for a given state.
*
* Deprecated: 4.10: Use [method@Gtk.Widget.get_color] instead
*/
void
gtk_style_context_get_color (GtkStyleContext *context,
@@ -867,6 +842,8 @@ gtk_style_context_get_color (GtkStyleContext *context,
* @border: (out): return value for the border settings
*
* Gets the border for a given state as a `GtkBorder`.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/
void
gtk_style_context_get_border (GtkStyleContext *context,
@@ -891,6 +868,8 @@ gtk_style_context_get_border (GtkStyleContext *context,
* @padding: (out): return value for the padding settings
*
* Gets the padding for a given state as a `GtkBorder`.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/
void
gtk_style_context_get_padding (GtkStyleContext *context,
@@ -915,6 +894,8 @@ gtk_style_context_get_padding (GtkStyleContext *context,
* @margin: (out): return value for the margin settings
*
* Gets the margin for a given state as a `GtkBorder`.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/
void
gtk_style_context_get_margin (GtkStyleContext *context,
@@ -949,271 +930,6 @@ _gtk_style_context_get_cursor_color (GtkStyleContext *context,
*secondary_color = *gtk_css_color_value_get_rgba (style->font->secondary_caret_color ? style->font->secondary_caret_color : style->core->color);
}
static void
draw_insertion_cursor (GtkStyleContext *context,
cairo_t *cr,
double x,
double y,
double width,
double height,
double aspect_ratio,
gboolean is_primary,
PangoDirection direction,
gboolean draw_arrow)
{
GdkRGBA primary_color;
GdkRGBA secondary_color;
int stem_width;
double angle;
double dx, dy;
double xx1, yy1, xx2, yy2;
cairo_save (cr);
cairo_new_path (cr);
_gtk_style_context_get_cursor_color (context, &primary_color, &secondary_color);
gdk_cairo_set_source_rgba (cr, is_primary ? &primary_color : &secondary_color);
stem_width = height * aspect_ratio + 1;
yy1 = y;
yy2 = y + height;
if (width < 0)
{
xx1 = x;
xx2 = x - width;
}
else
{
xx1 = x + width;
xx2 = x;
}
angle = atan2 (height, width);
dx = (stem_width/2.0) * cos (M_PI/2 - angle);
dy = (stem_width/2.0) * sin (M_PI/2 - angle);
if (draw_arrow)
{
if (direction == PANGO_DIRECTION_RTL)
{
double x0, y0, x1, y1, x2, y2;
x0 = xx2 - dx + 2 * dy;
y0 = yy2 - dy - 2 * dx;
x1 = x0 + 4 * dy;
y1 = y0 - 4 * dx;
x2 = x0 + 2 * dy - 3 * dx;
y2 = y0 - 2 * dx - 3 * dy;
cairo_move_to (cr, xx1 + dx, yy1 + dy);
cairo_line_to (cr, xx2 + dx, yy2 + dy);
cairo_line_to (cr, x2, y2);
cairo_line_to (cr, x1, y1);
cairo_line_to (cr, xx1 - dx, yy1 - dy);
}
else if (direction == PANGO_DIRECTION_LTR)
{
double x0, y0, x1, y1, x2, y2;
x0 = xx2 + dx + 2 * dy;
y0 = yy2 + dy - 2 * dx;
x1 = x0 + 4 * dy;
y1 = y0 - 4 * dx;
x2 = x0 + 2 * dy + 3 * dx;
y2 = y0 - 2 * dx + 3 * dy;
cairo_move_to (cr, xx1 - dx, yy1 - dy);
cairo_line_to (cr, xx2 - dx, yy2 - dy);
cairo_line_to (cr, x2, y2);
cairo_line_to (cr, x1, y1);
cairo_line_to (cr, xx1 + dx, yy1 + dy);
}
else
g_assert_not_reached();
}
else
{
cairo_move_to (cr, xx1 + dx, yy1 + dy);
cairo_line_to (cr, xx2 + dx, yy2 + dy);
cairo_line_to (cr, xx2 - dx, yy2 - dy);
cairo_line_to (cr, xx1 - dx, yy1 - dy);
}
cairo_fill (cr);
cairo_restore (cr);
}
static void
get_insertion_cursor_bounds (double width,
double height,
double aspect_ratio,
PangoDirection direction,
gboolean draw_arrow,
graphene_rect_t *bounds)
{
int stem_width;
if (width < 0)
width = - width;
stem_width = height * aspect_ratio + 1;
graphene_rect_init (bounds,
- 2 * stem_width, - stem_width,
width + 4 * stem_width, height + 2 * stem_width);
}
static void
snapshot_insertion_cursor (GtkSnapshot *snapshot,
GtkStyleContext *context,
double width,
double height,
double aspect_ratio,
gboolean is_primary,
PangoDirection direction,
gboolean draw_arrow)
{
if (width != 0 || draw_arrow)
{
cairo_t *cr;
graphene_rect_t bounds;
get_insertion_cursor_bounds (width, height, aspect_ratio, direction, draw_arrow, &bounds);
cr = gtk_snapshot_append_cairo (snapshot, &bounds);
draw_insertion_cursor (context, cr, 0, 0, width, height, aspect_ratio, is_primary, direction, draw_arrow);
cairo_destroy (cr);
}
else
{
GdkRGBA primary_color;
GdkRGBA secondary_color;
int stem_width;
int offset;
_gtk_style_context_get_cursor_color (context, &primary_color, &secondary_color);
stem_width = height * aspect_ratio + 1;
/* put (stem_width % 2) on the proper side of the cursor */
if (direction == PANGO_DIRECTION_LTR)
offset = stem_width / 2;
else
offset = stem_width - stem_width / 2;
gtk_snapshot_append_color (snapshot,
is_primary ? &primary_color : &secondary_color,
&GRAPHENE_RECT_INIT (- offset, 0, stem_width, height));
}
}
/**
* gtk_snapshot_render_insertion_cursor:
* @snapshot: snapshot to render to
* @context: a `GtkStyleContext`
* @x: X origin
* @y: Y origin
* @layout: the `PangoLayout` of the text
* @index: the index in the `PangoLayout`
* @direction: the `PangoDirection` of the text
*
* Draws a text caret using @snapshot at the specified index of @layout.
*/
void
gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
GtkStyleContext *context,
double x,
double y,
PangoLayout *layout,
int index,
PangoDirection direction)
{
GtkStyleContextPrivate *priv = gtk_style_context_get_instance_private (context);
gboolean split_cursor;
double aspect_ratio;
PangoRectangle strong_pos, weak_pos;
PangoRectangle *cursor1, *cursor2;
GdkSeat *seat;
PangoDirection keyboard_direction;
PangoDirection direction2;
g_return_if_fail (snapshot != NULL);
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
g_return_if_fail (PANGO_IS_LAYOUT (layout));
g_return_if_fail (index >= 0);
g_object_get (gtk_settings_get_for_display (priv->display),
"gtk-split-cursor", &split_cursor,
"gtk-cursor-aspect-ratio", &aspect_ratio,
NULL);
keyboard_direction = PANGO_DIRECTION_LTR;
seat = gdk_display_get_default_seat (priv->display);
if (seat)
{
GdkDevice *keyboard = gdk_seat_get_keyboard (seat);
if (keyboard)
keyboard_direction = gdk_device_get_direction (keyboard);
}
pango_layout_get_caret_pos (layout, index, &strong_pos, &weak_pos);
direction2 = PANGO_DIRECTION_NEUTRAL;
if (split_cursor)
{
cursor1 = &strong_pos;
if (strong_pos.x != weak_pos.x || strong_pos.y != weak_pos.y)
{
direction2 = (direction == PANGO_DIRECTION_LTR) ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR;
cursor2 = &weak_pos;
}
}
else
{
if (keyboard_direction == direction)
cursor1 = &strong_pos;
else
cursor1 = &weak_pos;
}
gtk_snapshot_save (snapshot);
gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x + PANGO_PIXELS (MIN (cursor1->x, cursor1->x + cursor1->width)), y + PANGO_PIXELS (cursor1->y)));
snapshot_insertion_cursor (snapshot,
context,
PANGO_PIXELS (cursor1->width),
PANGO_PIXELS (cursor1->height),
aspect_ratio,
TRUE,
direction,
direction2 != PANGO_DIRECTION_NEUTRAL);
gtk_snapshot_restore (snapshot);
if (direction2 != PANGO_DIRECTION_NEUTRAL)
{
gtk_snapshot_save (snapshot);
gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x + PANGO_PIXELS (MIN (cursor2->x, cursor2->x + cursor2->width)), y + PANGO_PIXELS (cursor2->y)));
snapshot_insertion_cursor (snapshot,
context,
PANGO_PIXELS (cursor2->width),
PANGO_PIXELS (cursor2->height),
aspect_ratio,
FALSE,
direction2,
TRUE);
gtk_snapshot_restore (snapshot);
}
}
/**
* GtkStyleContextPrintFlags:
* @GTK_STYLE_CONTEXT_PRINT_NONE: Default value.
@@ -1246,6 +962,8 @@ gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
* the format of the returned string, it may change.
*
* Returns: a newly allocated string representing @context
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/
char *
gtk_style_context_to_string (GtkStyleContext *context,
@@ -1258,7 +976,7 @@ gtk_style_context_to_string (GtkStyleContext *context,
string = g_string_new ("");
gtk_css_node_print (priv->cssnode, flags, string, 0);
gtk_css_node_print (priv->cssnode, (GtkCssNodePrintFlags)flags, string, 0);
return g_string_free (string, FALSE);
}
@@ -61,72 +61,64 @@ struct _GtkStyleContextClass
GDK_AVAILABLE_IN_ALL
GType gtk_style_context_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
void gtk_style_context_add_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider,
guint priority);
GDK_AVAILABLE_IN_ALL
void gtk_style_context_remove_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_add_provider (GtkStyleContext *context,
GtkStyleProvider *provider,
guint priority);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_remove_provider (GtkStyleContext *context,
GtkStyleProvider *provider);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_save (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_restore (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_set_state (GtkStyleContext *context,
GtkStateFlags flags);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_set_scale (GtkStyleContext *context,
int scale);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
int gtk_style_context_get_scale (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_add_class (GtkStyleContext *context,
const char *class_name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_remove_class (GtkStyleContext *context,
const char *class_name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_style_context_has_class (GtkStyleContext *context,
const char *class_name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_set_display (GtkStyleContext *context,
GdkDisplay *display);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
gboolean gtk_style_context_lookup_color (GtkStyleContext *context,
const char *color_name,
GdkRGBA *color);
/* Some helper functions to retrieve most common properties */
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_color (GtkStyleContext *context,
GdkRGBA *color);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_border (GtkStyleContext *context,
GtkBorder *border);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_padding (GtkStyleContext *context,
GtkBorder *padding);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_margin (GtkStyleContext *context,
GtkBorder *margin);
@@ -137,7 +129,7 @@ typedef enum {
GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = 1 << 2
} GtkStyleContextPrintFlags;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_10
char * gtk_style_context_to_string (GtkStyleContext *context,
GtkStyleContextPrintFlags flags);

Some files were not shown because too many files have changed in this diff Show More