2020-07-08 15:51:57 +00:00
|
|
|
/* gtkatcontextprivate.h: Private header for GtkATContext
|
|
|
|
*
|
|
|
|
* Copyright 2020 GNOME Foundation
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "gtkatcontext.h"
|
|
|
|
|
2020-07-17 11:49:59 +00:00
|
|
|
#include "gtkaccessibleattributesetprivate.h"
|
2020-07-08 15:51:57 +00:00
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
2020-07-13 14:51:39 +00:00
|
|
|
typedef enum {
|
2020-07-15 18:08:37 +00:00
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_AUTOCOMPLETE = 1 << GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_DESCRIPTION = 1 << GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_HAS_POPUP = 1 << GTK_ACCESSIBLE_PROPERTY_HAS_POPUP,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_KEY_SHORTCUTS = 1 << GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_LABEL = 1 << GTK_ACCESSIBLE_PROPERTY_LABEL,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_LEVEL = 1 << GTK_ACCESSIBLE_PROPERTY_LEVEL,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_MODAL = 1 << GTK_ACCESSIBLE_PROPERTY_MODAL,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_MULTI_LINE = 1 << GTK_ACCESSIBLE_PROPERTY_MULTI_LINE,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_MULTI_SELECTABLE = 1 << GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_ORIENTATION = 1 << GTK_ACCESSIBLE_PROPERTY_ORIENTATION,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_PLACEHOLDER = 1 << GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_READ_ONLY = 1 << GTK_ACCESSIBLE_PROPERTY_READ_ONLY,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_REQUIRED = 1 << GTK_ACCESSIBLE_PROPERTY_REQUIRED,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_ROLE_DESCRIPTION = 1 << GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_SORT = 1 << GTK_ACCESSIBLE_PROPERTY_SORT,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_MAX = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_MAX,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_MIN = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_MIN,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_NOW = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_NOW,
|
|
|
|
GTK_ACCESSIBLE_PROPERTY_CHANGE_VALUE_TEXT = 1 << GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT
|
2020-07-13 14:51:39 +00:00
|
|
|
} GtkAccessiblePropertyChange;
|
|
|
|
|
2020-07-17 11:00:31 +00:00
|
|
|
typedef enum {
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_ACTIVE_DESCENDANT = 1 << GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_COL_COUNT = 1 << GTK_ACCESSIBLE_RELATION_COL_COUNT,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_COL_INDEX = 1 << GTK_ACCESSIBLE_RELATION_COL_INDEX,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_COL_INDEX_TEXT = 1 << GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_COL_SPAN = 1 << GTK_ACCESSIBLE_RELATION_COL_SPAN,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_CONTROLS = 1 << GTK_ACCESSIBLE_RELATION_CONTROLS,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_DESCRIBED_BY = 1 << GTK_ACCESSIBLE_RELATION_DESCRIBED_BY,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_DETAILS = 1 << GTK_ACCESSIBLE_RELATION_DETAILS,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_ERROR_MESSAGE = 1 << GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_FLOW_TO = 1 << GTK_ACCESSIBLE_RELATION_FLOW_TO,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_LABELLED_BY = 1 << GTK_ACCESSIBLE_RELATION_LABELLED_BY,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_OWNS = 1 << GTK_ACCESSIBLE_RELATION_OWNS,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_POS_IN_SET = 1 << GTK_ACCESSIBLE_RELATION_POS_IN_SET,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_ROW_COUNT = 1 << GTK_ACCESSIBLE_RELATION_ROW_COUNT,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_ROW_INDEX = 1 << GTK_ACCESSIBLE_RELATION_ROW_INDEX,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_ROW_INDEX_TEXT = 1 << GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_ROW_SPAN = 1 << GTK_ACCESSIBLE_RELATION_ROW_SPAN,
|
|
|
|
GTK_ACCESSIBLE_RELATION_CHANGE_SET_SIZE = 1 << GTK_ACCESSIBLE_RELATION_SET_SIZE
|
|
|
|
} GtkAccessibleRelationChange;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_BUSY = 1 << GTK_ACCESSIBLE_STATE_BUSY,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_CHECKED = 1 << GTK_ACCESSIBLE_STATE_CHECKED,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_DISABLED = 1 << GTK_ACCESSIBLE_STATE_DISABLED,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_EXPANDED = 1 << GTK_ACCESSIBLE_STATE_EXPANDED,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_HIDDEN = 1 << GTK_ACCESSIBLE_STATE_HIDDEN,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_INVALID = 1 << GTK_ACCESSIBLE_STATE_INVALID,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_PRESSED = 1 << GTK_ACCESSIBLE_STATE_PRESSED,
|
|
|
|
GTK_ACCESSIBLE_STATE_CHANGE_SELECTED = 1 << GTK_ACCESSIBLE_STATE_SELECTED
|
|
|
|
} GtkAccessibleStateChange;
|
|
|
|
|
2020-10-12 17:05:43 +00:00
|
|
|
typedef enum {
|
2020-10-12 23:00:03 +00:00
|
|
|
GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
|
|
|
|
GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
|
|
|
|
} GtkAccessiblePlatformState;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSABLE = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
|
|
|
|
GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSED = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
|
2020-10-12 17:05:43 +00:00
|
|
|
} GtkAccessiblePlatformChange;
|
|
|
|
|
2020-07-08 15:51:57 +00:00
|
|
|
struct _GtkATContext
|
|
|
|
{
|
|
|
|
GObject parent_instance;
|
|
|
|
|
|
|
|
GtkAccessibleRole accessible_role;
|
|
|
|
GtkAccessible *accessible;
|
2020-09-29 17:40:44 +00:00
|
|
|
GdkDisplay *display;
|
2020-07-08 15:51:57 +00:00
|
|
|
|
2020-07-17 11:49:59 +00:00
|
|
|
GtkAccessibleAttributeSet *states;
|
|
|
|
GtkAccessibleAttributeSet *properties;
|
|
|
|
GtkAccessibleAttributeSet *relations;
|
2020-08-05 17:05:46 +00:00
|
|
|
|
|
|
|
GtkAccessibleStateChange updated_states;
|
|
|
|
GtkAccessiblePropertyChange updated_properties;
|
|
|
|
GtkAccessibleRelationChange updated_relations;
|
2020-10-12 17:05:43 +00:00
|
|
|
GtkAccessiblePlatformChange updated_platform;
|
2020-07-08 15:51:57 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _GtkATContextClass
|
|
|
|
{
|
|
|
|
GObjectClass parent_class;
|
|
|
|
|
2020-07-13 14:51:39 +00:00
|
|
|
void (* state_change) (GtkATContext *self,
|
|
|
|
GtkAccessibleStateChange changed_states,
|
|
|
|
GtkAccessiblePropertyChange changed_properties,
|
2020-07-17 11:00:31 +00:00
|
|
|
GtkAccessibleRelationChange changed_relations,
|
2020-10-12 17:05:43 +00:00
|
|
|
GtkAccessiblePlatformChange changed_platform,
|
2020-07-17 11:49:59 +00:00
|
|
|
GtkAccessibleAttributeSet *states,
|
|
|
|
GtkAccessibleAttributeSet *properties,
|
|
|
|
GtkAccessibleAttributeSet *relations);
|
2020-07-08 15:51:57 +00:00
|
|
|
};
|
|
|
|
|
2020-09-29 17:40:44 +00:00
|
|
|
GdkDisplay * gtk_at_context_get_display (GtkATContext *self);
|
|
|
|
|
2020-07-26 14:50:55 +00:00
|
|
|
void gtk_at_context_update (GtkATContext *self);
|
|
|
|
|
|
|
|
void gtk_at_context_set_accessible_state (GtkATContext *self,
|
|
|
|
GtkAccessibleState state,
|
|
|
|
GtkAccessibleValue *value);
|
|
|
|
gboolean gtk_at_context_has_accessible_state (GtkATContext *self,
|
|
|
|
GtkAccessibleState state);
|
|
|
|
GtkAccessibleValue * gtk_at_context_get_accessible_state (GtkATContext *self,
|
|
|
|
GtkAccessibleState state);
|
|
|
|
void gtk_at_context_set_accessible_property (GtkATContext *self,
|
|
|
|
GtkAccessibleProperty property,
|
|
|
|
GtkAccessibleValue *value);
|
|
|
|
gboolean gtk_at_context_has_accessible_property (GtkATContext *self,
|
|
|
|
GtkAccessibleProperty property);
|
|
|
|
GtkAccessibleValue * gtk_at_context_get_accessible_property (GtkATContext *self,
|
|
|
|
GtkAccessibleProperty property);
|
|
|
|
void gtk_at_context_set_accessible_relation (GtkATContext *self,
|
|
|
|
GtkAccessibleRelation property,
|
|
|
|
GtkAccessibleValue *value);
|
|
|
|
gboolean gtk_at_context_has_accessible_relation (GtkATContext *self,
|
|
|
|
GtkAccessibleRelation relation);
|
|
|
|
GtkAccessibleValue * gtk_at_context_get_accessible_relation (GtkATContext *self,
|
|
|
|
GtkAccessibleRelation relation);
|
2020-07-17 13:39:56 +00:00
|
|
|
|
2020-10-09 20:23:19 +00:00
|
|
|
char * gtk_at_context_get_label (GtkATContext *self);
|
|
|
|
|
2020-10-12 17:05:43 +00:00
|
|
|
void gtk_at_context_platform_changed (GtkATContext *self,
|
|
|
|
GtkAccessiblePlatformChange change);
|
|
|
|
|
2020-07-17 13:39:56 +00:00
|
|
|
const char * gtk_accessible_property_get_attribute_name (GtkAccessibleProperty property);
|
|
|
|
const char * gtk_accessible_relation_get_attribute_name (GtkAccessibleRelation relation);
|
|
|
|
const char * gtk_accessible_state_get_attribute_name (GtkAccessibleState state);
|
2020-07-08 15:51:57 +00:00
|
|
|
|
|
|
|
G_END_DECLS
|