mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 06:21:14 +00:00
c63087a563
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
213 lines
8.3 KiB
XML
213 lines
8.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<object class="GtkListStore" id="liststore1">
|
|
<columns>
|
|
<column type="gchararray"/>
|
|
<column type="gchararray"/>
|
|
<column type="gint"/>
|
|
<column type="gchararray"/>
|
|
</columns>
|
|
<data>
|
|
<row>
|
|
<col id="0" translatable="yes">John</col>
|
|
<col id="1" translatable="yes">Doe</col>
|
|
<col id="2">25</col>
|
|
<col id="3" translatable="yes">This is the John Doe row</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">Mary</col>
|
|
<col id="1" translatable="yes">Unknown</col>
|
|
<col id="2">50</col>
|
|
<col id="3" translatable="yes">This is the Mary Unknown row</col>
|
|
</row>
|
|
</data>
|
|
</object>
|
|
<menu id="menubar">
|
|
<submenu>
|
|
<attribute name="label" translatable="yes">_File</attribute>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_New</attribute>
|
|
<attribute name="action">win.new</attribute>
|
|
<attribute name="accel"><Control>n</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Open</attribute>
|
|
<attribute name="action">win.open</attribute>
|
|
<attribute name="accel"><Control>o</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Save</attribute>
|
|
<attribute name="action">win.save</attribute>
|
|
<attribute name="accel"><Control>s</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">Save _As</attribute>
|
|
<attribute name="action">win.save-as</attribute>
|
|
<attribute name="accel"><Control>q</attribute>
|
|
</item>
|
|
</section>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Quit</attribute>
|
|
<attribute name="action">win.quit</attribute>
|
|
<attribute name="accel"><Control><Shift>s</attribute>
|
|
</item>
|
|
</section>
|
|
</submenu>
|
|
<submenu>
|
|
<attribute name="label" translatable="yes">_Edit</attribute>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Copy</attribute>
|
|
<attribute name="action">win.copy</attribute>
|
|
<attribute name="accel"><Control>c</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Cut</attribute>
|
|
<attribute name="action">win.cut</attribute>
|
|
<attribute name="accel"><Control>x</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Paste</attribute>
|
|
<attribute name="action">win.paste</attribute>
|
|
<attribute name="accel"><Control>v</attribute>
|
|
</item>
|
|
</section>
|
|
</submenu>
|
|
<submenu>
|
|
<attribute name="label" translatable="yes">_Help</attribute>
|
|
<section>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_Help</attribute>
|
|
<attribute name="action">win.help</attribute>
|
|
<attribute name="accel">F1</attribute>
|
|
</item>
|
|
<item>
|
|
<attribute name="label" translatable="yes">_About</attribute>
|
|
<attribute name="action">win.about</attribute>
|
|
<attribute name="accel">F7</attribute>
|
|
</item>
|
|
</section>
|
|
</submenu>
|
|
</menu>
|
|
<object class="GtkAboutDialog" id="aboutdialog1">
|
|
<property name="program-name" translatable="yes">Builder demo</property>
|
|
<property name="logo-icon-name" translatable="yes">gtk3-demo</property>
|
|
<property name="modal">True</property>
|
|
</object>
|
|
<object class="GtkWindow" id="window1">
|
|
<property name="default-height">250</property>
|
|
<property name="default-width">440</property>
|
|
<property name="title" translatable="yes">Builder</property>
|
|
<child>
|
|
<object class="GtkBox" id="vbox1">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkPopoverMenuBar" id="menubar1">
|
|
<property name="menu-model">menubar</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="toolbar1">
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">New</property>
|
|
<property name="tooltip-text" translatable="yes">Create a new file</property>
|
|
<property name="icon-name">document-new</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">Open</property>
|
|
<property name="tooltip-text" translatable="yes">Open a file</property>
|
|
<property name="icon-name">document-open</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">Save</property>
|
|
<property name="tooltip-text" translatable="yes">Save a file</property>
|
|
<property name="icon-name">document-save</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator"/>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">Copy</property>
|
|
<property name="tooltip-text" translatable="yes">Copy selected object into the clipboard</property>
|
|
<property name="icon-name">edit-copy</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">Cut</property>
|
|
<property name="tooltip-text" translatable="yes">Cut selected object into the clipboard</property>
|
|
<property name="icon-name">edit-cut</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">Paste</property>
|
|
<property name="tooltip-text" translatable="yes">Paste object from the clipboard</property>
|
|
<property name="icon-name">edit-paste</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
|
<property name="has-frame">1</property>
|
|
<property name="hexpand">1</property>
|
|
<property name="vexpand">1</property>
|
|
<child>
|
|
<object class="GtkTreeView" id="treeview1">
|
|
<property name="model">liststore1</property>
|
|
<property name="tooltip-column">3</property>
|
|
<child>
|
|
<object class="GtkTreeViewColumn" id="column1">
|
|
<property name="title">Name</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="renderer1"/>
|
|
<attributes>
|
|
<attribute name="text">0</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn" id="column2">
|
|
<property name="title">Surname</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="renderer2"/>
|
|
<attributes>
|
|
<attribute name="text">1</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn" id="column3">
|
|
<property name="title">Age</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="renderer3"/>
|
|
<attributes>
|
|
<attribute name="text">2</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStatusbar" id="statusbar1"/>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</interface>
|