summaryrefslogtreecommitdiff
path: root/gtk/gtk.h
Commit message (Collapse)AuthorAgeFilesLines
* gtk: Remove GtkFileChooserButtonBenjamin Otte2020-12-031-1/+0
| | | | ... as discussed in the meeting.
* Drop GtkRadioButtonMatthias Clasen2020-08-301-1/+0
|
* Drop GtkAccelLabelMatthias Clasen2020-08-041-1/+0
| | | | We no longer use this widget anywhere.
* a11y: Add testing APIEmmanuele Bassi2020-07-261-0/+1
| | | | | | | | | | | | We want to test the accessibility API, as well as the implementation inside each widget. For that, we should expose an API that lets us verify that a GtkAccessible has a given role, as well as a given property. The API follows the pattern of other GTest API: - a macro to assert that a condition is respected - a function that prints out the error message in case of failure
* Add GtkATContextEmmanuele Bassi2020-07-261-0/+1
| | | | | | | | | | | | | | | The ATContext type is meant to be used as the base class for implementations of the assistive technology APIā€”the actual mechanism needed to communicate to components like the screen reader, or any other AT. Every time the widget state changes, the ATContext is meant to broadcast the state change; and every time the AT queries the state of a UI element, the ATContext is meant to provide that information. We also have a "test" ATContext implementation, which is meant to be used to write tests to verify that changes are propagated without requiring a whole desktop session.
* Introduce GtkAccessibleEmmanuele Bassi2020-07-261-0/+1
| | | | | | | GtkAccessible is an interface for accessible UI elements. Currently, it doesn't do much except exist as a type; in the future, it will be the entry point for all accessible state in GTK.
* Remove ATKEmmanuele Bassi2020-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To build a better world sometimes means having to tear the old one down. -- Alexander Pierce, "Captain America: The Winter Soldier" ATK served us well for nearly 20 years, but the world has changed, and GTK has changed with it. Now ATK is mostly a hindrance towards improving the accessibility stack: - it maps to a very specific implementation, AT-SPI, which is Linux and Unix specific - it requires implementing the same functionality in three different layers of the stack: AT-SPI, ATK, and GTK - only GTK uses it; every other Linux and Unix toolkit and application talks to AT-SPI directly, including assistive technologies Sadly, we cannot incrementally port GTK to a new accessibility stack; since ATK insulates us entirely from the underlying implementation, we cannot replace it piecemeal. Instead, we're going to remove everything and then incrementally build on a clean slate: - add an "accessible" interface, implemented by GTK objects directly, which describe the accessible role and state changes for every UI element - add an "assistive technology context" to proxy a native accessibility API, and assign it to every widget - implement the AT context depending on the platform For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
* Add GtkBoolFilterBenjamin Otte2020-07-261-0/+1
| | | | | Takes a boolean GtkExpression (like a boolean object property) to run a filter with.
* Add a selection filter modelMatthias Clasen2020-07-021-0/+1
| | | | | This model presents the selection of a GtkSelectionModel as its own list model.
* Drop GtkFunctionsListItemFactoryMatthias Clasen2020-06-291-1/+0
| | | | It has been superseded by GtkSignalsListItemFactory.
* gtk: Remove GtkPropertySelectionBenjamin Otte2020-06-261-1/+0
| | | | GtkMultiSelection is so much faster than this that it isn't needed.
* Add GtkBitsetBenjamin Otte2020-06-261-0/+1
|
* Add GtkStringList as public apiMatthias Clasen2020-06-231-0/+1
| | | | | | This is a list model holding strings, initialized from a char **. String lists are buildable as well, and that replaces the buildable support in GktDropDowns.
* Add a GtkEditableLabel widgetMatthias Clasen2020-06-151-0/+1
|
* Add GtkBookmarkListMatthias Clasen2020-06-111-0/+1
| | | | | This is a listmodel similar to GtkDirectoryList, for tracking recent files.
* Add GtkPropertySelectionMatthias Clasen2020-06-061-0/+1
| | | | | | | | This is a selection model that stores the selection state in a boolean property of the items, and thus persists across reordering and similar changes. Fixes: #2826
* Add GtkMultiSelectionMatthias Clasen2020-06-031-0/+1
| | | | | | This is implemented using a private GtkSet helper. Includes tests.
* Drop GtkCoverFlow for nowMatthias Clasen2020-05-311-1/+0
| | | | | | | | | | | | There is no agreement that a coverflow widget is appropriate for GTK 4. It would be ok as a demo if it could live in gtk-demo, but that requires us to make GtkListBase public first. The demo is also somewhat rough and needs more work to look plausible. Drop GtkCoverFlow and the related demo for now.
* Add GtkDropDownMatthias Clasen2020-05-301-0/+1
| | | | This is a simple drop down control using list models.
* Add GtkTreeListRowSorterMatthias Clasen2020-05-301-0/+1
| | | | | | This is a special-purpose sorter that can apply the sorting of another sorter to the levels of a GtkTreeListModel.
* Add GtkSignalListItemFactoryBenjamin Otte2020-05-301-0/+1
| | | | | | So the poor Rust users can actually use this. I would totally not use this ever!
* Add GtkColumnView skeletonBenjamin Otte2020-05-301-0/+2
| | | | | It's just a copy/paste of the listview code with all the internals gutted. The code doesn't do anything.
* wip: Add GtkCoverFlowBenjamin Otte2020-05-301-0/+1
| | | | | | The widget mostly works out of the box, but some tweaking may be necessary (in particular in the theme) and the gtk-demo changes might require removing before this is production-ready.
* Add GtkListBaseBenjamin Otte2020-05-301-0/+1
| | | | | This is a base item for GTK's list widgets so they can share some (read: hopefully a lot of) code.
* Add GtkTreeExpanderBenjamin Otte2020-05-301-0/+1
| | | | | | | | | | | | | This is a container widget that takes over all the duties of tree expanding and collapsing. It has to be a container so it can capture keybindings while focus is inside the listitem. So far, this widget does not allow interacting with it, but it shows the expander arrow in its correct state. Also, testlistview uses this widget now instead of implementing expanding itself.
* listview: Expose GtkListItemFactory APIsBenjamin Otte2020-05-301-0/+3
| | | | | | | | | | | Due to the many different ways to set factories, it makes sense to expose them as custom objects. This makes the actual APIs for the list widgets simpler, because they can just have a regular "factory" property. As a convenience function, gtk_list_view_new_with_factory() was added to make this whole approach easy to use from C.
* gtk: Add a GtkGridView skeletonBenjamin Otte2020-05-301-0/+1
|
* listview: Add GtkListItemBenjamin Otte2020-05-301-0/+1
| | | | | GtkListItem is a generic row widget that is supposed to replace GtkListBoxRow and GtkFlowBoxChild.
* gtk: Add a GtkListView skeletonBenjamin Otte2020-05-301-0/+1
|
* Add GtkNumericSorterMatthias Clasen2020-05-301-0/+1
| | | | | This sorter compares numbers obtained from items by evaluating an expression.
* Add GtkMultiSorterMatthias Clasen2020-05-301-0/+1
| | | | This is a sorter that tries multiple sorters in turn.
* Add GtkStringSorterMatthias Clasen2020-05-301-0/+1
| | | | This is a GtkSorter implementation collating strings
* Add GtkCustomSorterMatthias Clasen2020-05-301-0/+1
| | | | This is a GtkSorter implementation which uses a GCompareDataFunc.
* Add GtkSorterMatthias Clasen2020-05-301-0/+1
| | | | This is a helper object for sorting, similar to GtkFilter.
* Add GtkMultiFilter, GtkAnyFilter, GtkEveryFilterBenjamin Otte2020-05-301-0/+1
| | | | | | GtkMultiFilter is the abstract base class for managing multiple child filter. GtkAnyFilter and GtkEveryFilter are the actual implementations.
* filter: Add GtkStringFilterBenjamin Otte2020-05-301-0/+1
| | | | | | Users provide a search filter and an expression that evaluates the items to a string and then the filter goes and matches those strings to the search term.
* Add GtkExpressionBenjamin Otte2020-05-301-0/+1
| | | | | | | GtkExpressions allow looking up values from objects. There are a few simple expressions, but the main one is the closure expression that just calls a user-provided closure.
* Add GtkCustomFilterBenjamin Otte2020-05-301-0/+1
|
* Add GtkFilterBenjamin Otte2020-05-301-0/+1
|
* Add GtkDirectoryListBenjamin Otte2020-05-301-0/+1
| | | | | | | Adds a new listmodel called GtkDirectoryList that lists the children of a GFile as GFileInfos. This is supposed to be used by the filechooser.
* Make GtkOverlayLayout publicMatthias Clasen2020-05-251-0/+1
| | | | | | Keeping the layout manager type private does not really work when it has layout child properties that need to be usable in ui files.
* Drop GtkContainer and its accessible implementationMatthias Clasen2020-05-111-1/+0
| | | | It is no longer used.
* Add GtkWindowHandleAlexander Mikhaylenko2020-05-071-0/+1
| | | | This will allow to move the titlebar handling logic out from GtkWindow.
* Drop GtkBinMatthias Clasen2020-05-041-1/+0
| | | | It is no longer used anywhere.
* Add GtkWindowControlsAlexander Mikhaylenko2020-04-261-0/+1
| | | | | | | Move some code out of GtkHeaderBar and into a separate widget, making it reusable in process. See https://gitlab.gnome.org/GNOME/gtk/issues/2242
* shortcut: Add GtkShortcutActionBenjamin Otte2020-03-251-0/+1
| | | | | | | | | | | | | | Similar to GtkShortcutTrigger, GtkShortCutAction provides all the different ways to activate a shortcut. So far, these different ways are supported: - do nothing - Call a user-provided callback - Call gtk_widget_activate() - Call gtk_widget_mnemonic_activate() - Emit an action signal - Activate an action from the widget's action muxer
* gtk: Remove GtkAccelMapEmmanuele Bassi2020-03-251-1/+0
| | | | | Now that accel paths are gone, the object managing them isn't needed anymore either.
* Add GtkShortcutManagerEmmanuele Bassi2020-03-251-0/+1
| | | | | | | | | This adds an interface for taking care of shortcut controllers with managed scope. Only GtkWindow currently implements this interface, so we need to ensure that we check if any top-level widget we reach is a shortcuts manager before we call into it.
* gtk: Remove bindingsBenjamin Otte2020-03-251-1/+0
| | | | The whole binding functionality is now handled by shortcuts.
* shortcut: Add GtkShortcutTriggerMatthias Clasen2020-03-251-0/+1
| | | | | Triggers are meant to describe how to trigger a shortcut. So far only a keyval + modifiers trigger exists.