summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rwxr-xr-xatk/atkhyperlink.c26
-rwxr-xr-xatk/atkhyperlink.h22
-rwxr-xr-xatk/atkobject.c1
-rwxr-xr-xatk/atkrelationtype.h11
-rw-r--r--configure.in4
-rw-r--r--docs/atk-sections.txt4
-rw-r--r--docs/tmpl/atkhyperlink.sgml9
-rw-r--r--docs/tmpl/atkobject.sgml8
-rw-r--r--docs/tmpl/atkrelation.sgml2
-rw-r--r--po/sv.po148
-rw-r--r--tests/testrelation.c17
12 files changed, 197 insertions, 81 deletions
diff --git a/ChangeLog b/ChangeLog
index 44e9181..8dc68a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2002-11-14 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ Revved to 1.1.2, interface age 0, binary age 102.
+
+ * atk/atkrelationtype.h:
+ (ATK_RELATION_EMBEDS, ATK_RELATION_EMBEDDED_BY):
+ New relations to handle content embedding, for instance
+ text that embeds or flows around images.
+
+ * atk/atkhyperlink.h:
+ (atk_hyperlink_is_inline):
+ New API, returns whether a hyperlink's content is
+ partially displayed inline; useful for small images
+ emedded in text, and for HTML <src> elements.
+ (AtkHyperlinkClass->link_state):
+ New virtualized method, used to implement various
+ state query API such as atk_hyperlink_is_inline().
+
+ * atk/atkhyperlink.c:
+ (atk_hyperlink_is_inline):
+ New method.
+
+ * docs/atk-sections.txt:
+ Additions for above API.
+
2002-11-13 Padraig O'Briain <padraig.obriain@sun.com>
* atk/atkobject.[ch]: Add signal active-descendant-changed
diff --git a/atk/atkhyperlink.c b/atk/atkhyperlink.c
index 569a33f..90f4ff4 100755
--- a/atk/atkhyperlink.c
+++ b/atk/atkhyperlink.c
@@ -199,6 +199,32 @@ atk_hyperlink_is_valid (AtkHyperlink *link)
}
/**
+ * atk_hyperlink_is_inline:
+ * @link_: an #AtkHyperlink
+ *
+ * Indicates whether the link currently displays some or all of its
+ * content inline. Ordinary HTML links will usually return
+ * %FALSE, but an inline &lt;src&gt; HTML element will return
+ * %TRUE.
+a *
+ * Returns: whether or not this link displays its content inline.
+ *
+ **/
+gboolean
+atk_hyperlink_is_inline (AtkHyperlink *link)
+{
+ AtkHyperlinkClass *klass;
+
+ g_return_val_if_fail (ATK_IS_HYPERLINK (link), FALSE);
+
+ klass = ATK_HYPERLINK_GET_CLASS (link);
+ if (klass->link_state)
+ return (klass->link_state (link) & ATK_HYPERLINK_IS_INLINE);
+ else
+ return FALSE;
+}
+
+/**
* atk_hyperlink_get_n_anchors:
* @link_: an #AtkHyperlink
*
diff --git a/atk/atkhyperlink.h b/atk/atkhyperlink.h
index 15d804f..a0c6025 100755
--- a/atk/atkhyperlink.h
+++ b/atk/atkhyperlink.h
@@ -32,6 +32,17 @@ extern "C" {
* It implements the AtkAction interface.
*/
+/**
+ *AtkHyperlinkStateFlags
+ *@ATK_HYPERLINK_IS_INLINE: Link is inline
+ *
+ *Describes the type of link
+ **/
+typedef enum
+{
+ ATK_HYPERLINK_IS_INLINE = 1 << 0
+} AtkHyperlinkStateFlags;
+
#define ATK_TYPE_HYPERLINK (atk_hyperlink_get_type ())
#define ATK_HYPERLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, AtkHyperlink))
#define ATK_HYPERLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
@@ -85,10 +96,17 @@ struct _AtkHyperlinkClass
*/
gint (* get_n_anchors) (AtkHyperlink *link_);
+ /*
+ * Returns a set of bitflags which encode state information.
+ * Used by non-virtualized state query methods, not intended,
+ * for direct client use. It is virtualized, but clients should use
+ * atk_hyperlink_is_inline (), etc.
+ */
+ guint (* link_state) (AtkHyperlink *link_);
+
AtkFunction pad1;
AtkFunction pad2;
AtkFunction pad3;
- AtkFunction pad4;
};
GType atk_hyperlink_get_type (void);
@@ -105,6 +123,8 @@ gint atk_hyperlink_get_start_index (AtkHyperlink *link_);
gboolean atk_hyperlink_is_valid (AtkHyperlink *link_);
+gboolean atk_hyperlink_is_inline (AtkHyperlink *link_);
+
gint atk_hyperlink_get_n_anchors (AtkHyperlink *link_);
diff --git a/atk/atkobject.c b/atk/atkobject.c
index 14e36ca..3b51ab6 100755
--- a/atk/atkobject.c
+++ b/atk/atkobject.c
@@ -1516,7 +1516,6 @@ atk_object_remove_relationship (AtkObject *object,
if (atk_relation_get_relation_type (relation) == relationship)
{
GPtrArray *array;
- gint j;
array = atk_relation_get_target (relation);
diff --git a/atk/atkrelationtype.h b/atk/atkrelationtype.h
index 798d7c7..b58d685 100755
--- a/atk/atkrelationtype.h
+++ b/atk/atkrelationtype.h
@@ -37,7 +37,12 @@ extern "C" {
* AtkObject in a sequential way, (for instance text-flow).
*@ATK_RELATION_FLOWS_FROM: Indicates that the object has content that flows logically from
* another AtkObject in a sequential way, (for instance text-flow).
- *@ATK_RELATION_SUBWINDOW_OF: [not sure about this one, ask peter]
+ *@ATK_RELATION_SUBWINDOW_OF: [not sure about this one, ask Peter]
+ *@ATK_RELATION_EMBEDS: Indicates that the object visually embeds
+ * another object's content, i.e. this object's content flows around
+ * another's content.
+ *@ATK_RELATION_EMBEDDED_BY: Inverse of %ATK_RELATION_EMBEDS, indicates that
+ * this object's content is visualy embedded in another object.
*@ATK_RELATION_LAST_DEFINED:
*
*Describes the type of the relation
@@ -53,7 +58,9 @@ typedef enum
ATK_RELATION_NODE_CHILD_OF,
ATK_RELATION_FLOWS_TO,
ATK_RELATION_FLOWS_FROM,
- ATK_RELATION_SUBWINDOW_OF, /* not sure about this one, ask Peter */
+ ATK_RELATION_SUBWINDOW_OF,
+ ATK_RELATION_EMBEDS,
+ ATK_RELATION_EMBEDDED_BY,
ATK_RELATION_LAST_DEFINED
} AtkRelationType;
diff --git a/configure.in b/configure.in
index 754682a..cf23543 100644
--- a/configure.in
+++ b/configure.in
@@ -29,7 +29,7 @@ dnl set ATK_BINARY_AGE _and_ ATK_INTERFACE_AGE to 0.
dnl The triplet
ATK_MAJOR_VERSION=1
ATK_MINOR_VERSION=1
-ATK_MICRO_VERSION=1
+ATK_MICRO_VERSION=2
ATK_VERSION=$ATK_MAJOR_VERSION.$ATK_MINOR_VERSION.$ATK_MICRO_VERSION
dnl The X.Y in -latk-X.Y line. This is expected to stay 1.0 until Atk 2.
@@ -38,7 +38,7 @@ ATK_API_VERSION=1.0
dnl Number of releases since we've added interfaces
ATK_INTERFACE_AGE=0
-ATK_BINARY_AGE=101
+ATK_BINARY_AGE=102
AC_SUBST(ATK_MAJOR_VERSION)
AC_SUBST(ATK_MINOR_VERSION)
diff --git a/docs/atk-sections.txt b/docs/atk-sections.txt
index 598f6ca..47ba1a2 100644
--- a/docs/atk-sections.txt
+++ b/docs/atk-sections.txt
@@ -429,11 +429,13 @@ atk_value_get_type
<FILE>atkhyperlink</FILE>
<TITLE>AtkHyperlink</TITLE>
AtkHyperlink
+AtkHyperlinkStateFlags
atk_hyperlink_get_uri
atk_hyperlink_get_object
atk_hyperlink_get_end_index
atk_hyperlink_get_start_index
atk_hyperlink_is_valid
+atk_hyperlink_is_inline
atk_hyperlink_get_n_anchors
<SUBSECTION Standard>
ATK_HYPERLINK
@@ -443,6 +445,8 @@ atk_hyperlink_get_type
ATK_HYPERLINK_CLASS
ATK_IS_HYPERLINK_CLASS
ATK_HYPERLINK_GET_CLASS
+atk_hyperlink_state_flags_get_type
+ATK_TYPE_HYPERLINK_STATE_FLAGS
</SECTION>
<SECTION>
diff --git a/docs/tmpl/atkhyperlink.sgml b/docs/tmpl/atkhyperlink.sgml
index 87dadc7..86db8a6 100644
--- a/docs/tmpl/atkhyperlink.sgml
+++ b/docs/tmpl/atkhyperlink.sgml
@@ -69,6 +69,15 @@ The AtkHyperlink structure should not be accessed directly.
@Returns:
+<!-- ##### FUNCTION atk_hyperlink_is_inline ##### -->
+<para>
+
+</para>
+
+@link_:
+@Returns:
+
+
<!-- ##### FUNCTION atk_hyperlink_get_n_anchors ##### -->
<para>
diff --git a/docs/tmpl/atkobject.sgml b/docs/tmpl/atkobject.sgml
index e52834b..d26bce5 100644
--- a/docs/tmpl/atkobject.sgml
+++ b/docs/tmpl/atkobject.sgml
@@ -422,6 +422,14 @@ atk_object_connect_property_change_handler().
@Returns:
+<!-- ##### SIGNAL AtkObject::active-descendant-changed ##### -->
+<para>
+
+</para>
+
+@atkobject: the object which received the signal.
+@arg1:
+
<!-- ##### SIGNAL AtkObject::children-changed ##### -->
<para>
The children_changed signal supports two details, "add" and "remove" which
diff --git a/docs/tmpl/atkrelation.sgml b/docs/tmpl/atkrelation.sgml
index 6d1797b..a6c258c 100644
--- a/docs/tmpl/atkrelation.sgml
+++ b/docs/tmpl/atkrelation.sgml
@@ -41,6 +41,8 @@ The AtkRelation structure should not be accessed directly.
@ATK_RELATION_FLOWS_TO:
@ATK_RELATION_FLOWS_FROM:
@ATK_RELATION_SUBWINDOW_OF:
+@ATK_RELATION_EMBEDS:
+@ATK_RELATION_EMBEDDED_BY:
@ATK_RELATION_LAST_DEFINED:
<!-- ##### FUNCTION atk_relation_type_register ##### -->
diff --git a/po/sv.po b/po/sv.po
index 37e35fd..f3991a4 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: atk\n"
-"POT-Creation-Date: 2002-11-11 11:58+0100\n"
+"POT-Creation-Date: 2002-11-14 13:16+0000\n"
"PO-Revision-Date: 2002-11-11 11:59+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -16,295 +16,295 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: atk/atkobject.c:1172
+#: atk/atkobject.c:1183
msgid "invalid"
msgstr "ogiltig"
-#: atk/atkobject.c:1175
+#: atk/atkobject.c:1186
msgid "accel-label"
msgstr "genvägsetikett"
-#: atk/atkobject.c:1178
+#: atk/atkobject.c:1189
msgid "alert"
msgstr "varning"
-#: atk/atkobject.c:1181
+#: atk/atkobject.c:1192
msgid "animation"
msgstr "animering"
-#: atk/atkobject.c:1184
+#: atk/atkobject.c:1195
msgid "arrow"
msgstr "pil"
-#: atk/atkobject.c:1187
+#: atk/atkobject.c:1198
msgid "calendar"
msgstr "kalender"
-#: atk/atkobject.c:1190
+#: atk/atkobject.c:1201
msgid "canvas"
msgstr "canvas"
-#: atk/atkobject.c:1193
+#: atk/atkobject.c:1204
msgid "check-box"
msgstr "kryssruta"
-#: atk/atkobject.c:1196
+#: atk/atkobject.c:1207
msgid "check-menu-item"
msgstr "kryssmenypost"
-#: atk/atkobject.c:1199
+#: atk/atkobject.c:1210
msgid "color-chooser"
msgstr "färgväljare"
-#: atk/atkobject.c:1202
+#: atk/atkobject.c:1213
msgid "column-header"
msgstr "kolumnrubrik"
-#: atk/atkobject.c:1205
+#: atk/atkobject.c:1216
msgid "combo-box"
msgstr "komboruta"
-#: atk/atkobject.c:1208
+#: atk/atkobject.c:1219
msgid "date-editor"
msgstr "datumredigerare"
-#: atk/atkobject.c:1211
+#: atk/atkobject.c:1222
msgid "desktop-icon"
msgstr "skrivbordsikon"
-#: atk/atkobject.c:1214
+#: atk/atkobject.c:1225
msgid "desktop-frame"
msgstr "skrivbordsram"
-#: atk/atkobject.c:1217
+#: atk/atkobject.c:1228
msgid "dial"
msgstr "ring"
-#: atk/atkobject.c:1220
+#: atk/atkobject.c:1231
msgid "dialog"
msgstr "dialog"
-#: atk/atkobject.c:1223
+#: atk/atkobject.c:1234
msgid "directory-pane"
msgstr "katalogpanel"
-#: atk/atkobject.c:1226
+#: atk/atkobject.c:1237
msgid "drawing-area"
msgstr "rityta"
-#: atk/atkobject.c:1229
+#: atk/atkobject.c:1240
msgid "file-chooser"
msgstr "filväljare"
-#: atk/atkobject.c:1232
+#: atk/atkobject.c:1243
msgid "filler"
msgstr "ifyllare"
-#: atk/atkobject.c:1235
+#: atk/atkobject.c:1246
msgid "font-chooser"
msgstr "typsnittsväljare"
-#: atk/atkobject.c:1238
+#: atk/atkobject.c:1249
msgid "frame"
msgstr "ram"
-#: atk/atkobject.c:1241
+#: atk/atkobject.c:1252
msgid "glass-pane"
msgstr "glaspanel"
-#: atk/atkobject.c:1244
+#: atk/atkobject.c:1255
msgid "html-container"
msgstr "html-behållare"
-#: atk/atkobject.c:1247
+#: atk/atkobject.c:1258
msgid "icon"
msgstr "ikon"
-#: atk/atkobject.c:1250
+#: atk/atkobject.c:1261
msgid "image"
msgstr "bild"
-#: atk/atkobject.c:1253
+#: atk/atkobject.c:1264
msgid "internal-frame"
msgstr "intern-ram"
-#: atk/atkobject.c:1256
+#: atk/atkobject.c:1267
msgid "label"
msgstr "etikett"
-#: atk/atkobject.c:1259
+#: atk/atkobject.c:1270
msgid "layered-pane"
msgstr "lagerpanel"
-#: atk/atkobject.c:1262
+#: atk/atkobject.c:1273
msgid "list"
msgstr "lista"
-#: atk/atkobject.c:1265
+#: atk/atkobject.c:1276
msgid "list-item"
msgstr "listpost"
-#: atk/atkobject.c:1268
+#: atk/atkobject.c:1279
msgid "menu"
msgstr "meny"
-#: atk/atkobject.c:1271
+#: atk/atkobject.c:1282
msgid "menu-bar"
msgstr "menyrad"
-#: atk/atkobject.c:1274
+#: atk/atkobject.c:1285
msgid "menu-item"
msgstr "menypost"
-#: atk/atkobject.c:1277
+#: atk/atkobject.c:1288
msgid "option-pane"
msgstr "alternativpanel"
-#: atk/atkobject.c:1280
+#: atk/atkobject.c:1291
msgid "page-tab"
msgstr "sidflik"
-#: atk/atkobject.c:1283
+#: atk/atkobject.c:1294
msgid "page-tab-list"
msgstr "sidflikslist"
-#: atk/atkobject.c:1286
+#: atk/atkobject.c:1297
msgid "panel"
msgstr "panel"
-#: atk/atkobject.c:1289
+#: atk/atkobject.c:1300
msgid "password-text"
msgstr "lösenordstext"
-#: atk/atkobject.c:1292
+#: atk/atkobject.c:1303
msgid "popup-menu"
msgstr "popupmeny"
-#: atk/atkobject.c:1295
+#: atk/atkobject.c:1306
msgid "progress-bar"
msgstr "förloppsmätare"
-#: atk/atkobject.c:1298
+#: atk/atkobject.c:1309
msgid "push-button"
msgstr "tryckknapp"
-#: atk/atkobject.c:1301
+#: atk/atkobject.c:1312
msgid "radio-button"
msgstr "radiioknapp"
-#: atk/atkobject.c:1304
+#: atk/atkobject.c:1315
msgid "radio-menu-item"
msgstr "radiomenypost"
-#: atk/atkobject.c:1307
+#: atk/atkobject.c:1318
msgid "root-pane"
msgstr "rotpanel"
-#: atk/atkobject.c:1310
+#: atk/atkobject.c:1321
msgid "row-header"
msgstr "radhuvud"
-#: atk/atkobject.c:1313
+#: atk/atkobject.c:1324
msgid "scroll-bar"
msgstr "rullningslist"
-#: atk/atkobject.c:1316
+#: atk/atkobject.c:1327
msgid "scroll-pane"
msgstr "rullningspanel"
-#: atk/atkobject.c:1319
+#: atk/atkobject.c:1330
msgid "separator"
msgstr "avskiljare"
-#: atk/atkobject.c:1322
+#: atk/atkobject.c:1333
msgid "slider"
msgstr "skjutreglage"
-#: atk/atkobject.c:1325
+#: atk/atkobject.c:1336
msgid "split-pane"
msgstr "delad-panel"
-#: atk/atkobject.c:1328
+#: atk/atkobject.c:1339
msgid "spin-button"
msgstr "spinnknapp"
-#: atk/atkobject.c:1331
+#: atk/atkobject.c:1342
msgid "statusbar"
msgstr "statusrad"
-#: atk/atkobject.c:1334
+#: atk/atkobject.c:1345
msgid "table"
msgstr "tabell"
-#: atk/atkobject.c:1337
+#: atk/atkobject.c:1348
msgid "table-cell"
msgstr "tabellcell"
-#: atk/atkobject.c:1340
+#: atk/atkobject.c:1351
msgid "table-column-header"
msgstr "tabellkolumnhuvud"
-#: atk/atkobject.c:1343
+#: atk/atkobject.c:1354
msgid "table-row-header"
msgstr "tabellradshuvud"
-#: atk/atkobject.c:1346
+#: atk/atkobject.c:1357
msgid "tear-off-menu-item"
msgstr "avtagbar-menypost"
-#: atk/atkobject.c:1349
+#: atk/atkobject.c:1360
msgid "terminal"
msgstr "terminal"
-#: atk/atkobject.c:1352
+#: atk/atkobject.c:1363
msgid "text"
msgstr "text"
-#: atk/atkobject.c:1355
+#: atk/atkobject.c:1366
msgid "toggle-button"
msgstr "växlingsknapp"
-#: atk/atkobject.c:1358
+#: atk/atkobject.c:1369
msgid "tool-bar"
msgstr "verktygsrad"
-#: atk/atkobject.c:1361
+#: atk/atkobject.c:1372
msgid "tool-tip"
msgstr "verktygstips"
-#: atk/atkobject.c:1364
+#: atk/atkobject.c:1375
msgid "tree"
msgstr "träd"
-#: atk/atkobject.c:1367
+#: atk/atkobject.c:1378
msgid "tree-table"
msgstr "trädtabell"
-#: atk/atkobject.c:1370
+#: atk/atkobject.c:1381
msgid "unknown"
msgstr "okänd"
-#: atk/atkobject.c:1373
+#: atk/atkobject.c:1384
msgid "viewport"
msgstr "skrivbordsvy"
-#: atk/atkobject.c:1376
+#: atk/atkobject.c:1387
msgid "window"
msgstr "fönster"
-#: atk/atkobject.c:1379
+#: atk/atkobject.c:1390
msgid "header"
msgstr "huvud"
-#: atk/atkobject.c:1382
+#: atk/atkobject.c:1393
msgid "footer"
msgstr "fot"
-#: atk/atkobject.c:1385
+#: atk/atkobject.c:1396
msgid "paragraph"
msgstr "stycke"
-#: atk/atkobject.c:1388
+#: atk/atkobject.c:1399
msgid "ruler"
msgstr "linjal"
diff --git a/tests/testrelation.c b/tests/testrelation.c
index b42f7c2..2385dcf 100644
--- a/tests/testrelation.c
+++ b/tests/testrelation.c
@@ -52,10 +52,25 @@ test_relation (void)
return FALSE;
}
+ name = atk_relation_type_get_name (ATK_RELATION_EMBEDS);
+ g_return_val_if_fail (name, FALSE);
+ if (strcmp (name, "embeds") != 0)
+ {
+ g_print ("Unexpected name for ATK_RELATION_EMBEDS %s\n", name);
+ return FALSE;
+ }
+
+ type1 = atk_relation_type_for_name ("embedded-by");
+ if (type1 != ATK_RELATION_EMBEDDED_BY)
+ {
+ g_print ("Unexpected role for ATK_RELATION_EMBEDDED_BY\n");
+ return FALSE;
+ }
+
type1 = atk_relation_type_for_name ("controlled-by");
if (type1 != ATK_RELATION_CONTROLLED_BY)
{
- g_print ("Unexpected type for focused\n");
+ g_print ("Unexpected name for ATK_RELATION_CONTROLLED_BY\n");
return FALSE;
}