atkvalue.h 6.04 KB
Newer Older
Bill Haneman's avatar
Bill Haneman committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* ATK -  Accessibility Toolkit
 * Copyright 2001 Sun Microsystems Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 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
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
Piotr Drąg's avatar
Piotr Drąg committed
15
16
17
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
Bill Haneman's avatar
Bill Haneman committed
18
19
 */

20
21
22
#ifndef __ATK_VALUE_H__
#define __ATK_VALUE_H__

23
24
25
26
#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
#error "Only <atk/atk.h> can be included directly."
#endif

Bill Haneman's avatar
Bill Haneman committed
27
#include <atk/atkobject.h>
28
#include <atk/atkrange.h>
Bill Haneman's avatar
Bill Haneman committed
29

30
G_BEGIN_DECLS
Bill Haneman's avatar
Bill Haneman committed
31
32
33
34
35
36
37
38
39
40

#define ATK_TYPE_VALUE                    (atk_value_get_type ())
#define ATK_IS_VALUE(obj)                 G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_VALUE)
#define ATK_VALUE(obj)                    G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_VALUE, AtkValue)
#define ATK_VALUE_GET_IFACE(obj)          (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_VALUE, AtkValueIface))

#ifndef _TYPEDEF_ATK_VALUE_
#define _TYPEDEF_ATK_VALUE__
typedef struct _AtkValue AtkValue;
#endif
41
typedef struct _AtkValueIface AtkValueIface;
Bill Haneman's avatar
Bill Haneman committed
42

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/**
 * AtkValueType:
 *
 * Default types for a given value. Those are defined in order to
 * easily get localized strings to describe a given value or a given
 * subrange, using atk_value_type_get_localized_name().
 *
 */
typedef enum
{
  ATK_VALUE_VERY_WEAK,
  ATK_VALUE_WEAK,
  ATK_VALUE_ACCEPTABLE,
  ATK_VALUE_STRONG,
  ATK_VALUE_VERY_STRONG,
  ATK_VALUE_VERY_LOW,
  ATK_VALUE_LOW,
  ATK_VALUE_MEDIUM,
  ATK_VALUE_HIGH,
  ATK_VALUE_VERY_HIGH,
  ATK_VALUE_VERY_BAD,
  ATK_VALUE_BAD,
  ATK_VALUE_GOOD,
  ATK_VALUE_VERY_GOOD,
  ATK_VALUE_BEST,
  ATK_VALUE_LAST_DEFINED
}AtkValueType;

/**
 * AtkValueIface:
 * @get_current_value: This virtual function is deprecated since 2.12
 *  and it should not be overriden.
 * @get_maximum_value: This virtual function is deprecated since 2.12
 *  and it should not be overriden.
 * @get_minimum_value: This virtual function is deprecated since 2.12
 *  and it should not be overriden.
 * @set_current_value: This virtual function is deprecated since 2.12
 *  and it should not be overriden.
 * @get_minimum_increment: This virtual function is deprecated since
 *  2.12 and it should not be overriden.
 * @get_value_and_text: gets the current value and the human readable
 * text alternative (if available) of this object. Since 2.12.
 * @get_range: gets the range that defines the minimum and maximum
 *  value of this object. Returns NULL if there is no range
 *  defined. Since 2.12.
 * @get_increment: gets the minimum increment by which the value of
 *  this object may be changed. If zero it is undefined. Since 2.12.
 * @get_sub_ranges: returns a list of different subranges, and their
 *  description (if available) of this object. Returns NULL if there
 *  is not subranges defined. Since 2.12.
 * @set_value: sets the value of this object. Since 2.12.
 */
Bill Haneman's avatar
Bill Haneman committed
95
96
97
98
struct _AtkValueIface
{
  GTypeInterface parent;

99
  /*<deprecated>*/
Bill Haneman's avatar
Bill Haneman committed
100
101
102
103
104
105
106
  void     (* get_current_value) (AtkValue     *obj,
                                  GValue       *value);
  void     (* get_maximum_value) (AtkValue     *obj,
                                  GValue       *value);
  void     (* get_minimum_value) (AtkValue     *obj,
                                  GValue       *value);
  gboolean (* set_current_value) (AtkValue     *obj,
107
                                  const GValue *value);
108
109
  void     (* get_minimum_increment) (AtkValue   *obj,
				      GValue     *value);
110
111
112
113
114
115
116
117
118
119
  /*</deprecated>*/
  void     (* get_value_and_text) (AtkValue *obj,
                                   gdouble *value,
                                   gchar  **text);
  AtkRange*(* get_range)          (AtkValue *obj);
  gdouble  (* get_increment)      (AtkValue *obj);
  GSList*  (* get_sub_ranges)     (AtkValue *obj);
  void     (* set_value)          (AtkValue     *obj,
                                   const gdouble new_value);

Bill Haneman's avatar
Bill Haneman committed
120
121
};

122
ATK_AVAILABLE_IN_ALL
Bill Haneman's avatar
Bill Haneman committed
123
124
GType            atk_value_get_type (void);

125
ATK_DEPRECATED_IN_2_12_FOR(atk_value_get_value_and_text)
Bill Haneman's avatar
Bill Haneman committed
126
127
128
void      atk_value_get_current_value (AtkValue     *obj,
                                       GValue       *value);

129
ATK_DEPRECATED_IN_2_12_FOR(atk_value_get_range)
Bill Haneman's avatar
Bill Haneman committed
130
131
void     atk_value_get_maximum_value  (AtkValue     *obj,
                                       GValue       *value);
132
ATK_DEPRECATED_IN_2_12_FOR(atk_value_get_range)
Bill Haneman's avatar
Bill Haneman committed
133
134
void     atk_value_get_minimum_value  (AtkValue     *obj,
                                       GValue       *value);
135
ATK_DEPRECATED_IN_2_12_FOR(atk_value_set_value)
Bill Haneman's avatar
Bill Haneman committed
136
gboolean atk_value_set_current_value  (AtkValue     *obj,
137
                                       const GValue *value);
138
ATK_DEPRECATED_IN_2_12_FOR(atk_value_get_increment)
139
140
141
void     atk_value_get_minimum_increment  (AtkValue     *obj,
					   GValue       *value);

142
ATK_AVAILABLE_IN_2_12
143
144
145
void      atk_value_get_value_and_text (AtkValue *obj,
                                        gdouble *value,
                                        gchar  **text);
146
ATK_AVAILABLE_IN_2_12
147
AtkRange* atk_value_get_range          (AtkValue *obj);
148
ATK_AVAILABLE_IN_2_12
149
gdouble   atk_value_get_increment      (AtkValue *obj);
150
ATK_AVAILABLE_IN_2_12
151
GSList*   atk_value_get_sub_ranges     (AtkValue *obj);
152
ATK_AVAILABLE_IN_2_12
153
154
155
void      atk_value_set_value          (AtkValue     *obj,
                                        const gdouble new_value);
/* AtkValueType methods */
156
ATK_AVAILABLE_IN_ALL
157
const gchar* atk_value_type_get_name           (AtkValueType value_type);
158
ATK_AVAILABLE_IN_ALL
159
const gchar* atk_value_type_get_localized_name (AtkValueType value_type);
Bill Haneman's avatar
Bill Haneman committed
160

161
G_END_DECLS
Bill Haneman's avatar
Bill Haneman committed
162
163

#endif /* __ATK_VALUE_H__ */