[go: up one dir, main page]

File: dazzle-docs.sgml

package info (click to toggle)
libdazzle 3.38.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 4,900 kB
  • sloc: ansic: 64,260; xml: 69; javascript: 19; makefile: 14
file content (335 lines) | stat: -rw-r--r-- 12,848 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
  <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
  %gtkdocentities;
]>
<book id="index">
  <bookinfo>
    <title>&package_name; Reference Manual</title>
    <releaseinfo>
      <para>This document is the API reference for for &package_name; &package_version;.</para>
      <para>
        Dazzle is a library to help you write beautiful and efficient Gtk applications.
        It includes a collection of dazzling Gtk widgets, data structures, search engines,
	a shortcut engine, panels, desktop integration, and those missing pieces from
	common libraries that help you write cleaner and safer code.
      </para>
      <para>
        If you find any issues in this API reference, please report it
        using <ulink type="http" url="&package_bugreport;">the online
        bug reporting tool</ulink> at bugzilla.gnome.org.
      </para>
    </releaseinfo>

    <copyright>
      <year>2014-2017</year>
      <holder>Christian Hergert</holder>
    </copyright>

    <legalnotice>
      <para>
        Permission is granted to copy, distribute and/or modify this
        document under the terms of the <citetitle>GNU Free
          Documentation License</citetitle>, Version 1.1 or any later
        version published by the Free Software Foundation with no
        Invariant Sections, no Front-Cover Texts, and no Back-Cover
        Texts. You may obtain a copy of the <citetitle>GNU Free
          Documentation License</citetitle> from the Free Software
        Foundation by visiting <ulink type="http"
          url="http://www.fsf.org">their Web site</ulink> or by writing
        to:

        <address>
          The Free Software Foundation, Inc.,
          <street>59 Temple Place</street> - Suite 330,
          <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
          <country>USA</country>
        </address>
      </para>
    </legalnotice>
  </bookinfo>

  <part id="dazzle-animation">
    <title>Animations</title>
    <partintro>
      <para>
        Dazzle provides utilities for animations of GtkWidgets and GObjects.
        They can optionally be synchronized to a frame clock to ensure that you
        update settings at an optimal time in the draw cycle.
      </para>
    </partintro>
    <xi:include href="xml/dzl-animation.xml"/>
    <xi:include href="xml/dzl-frame-source.xml"/>
    <xi:include href="xml/dzl-box-theatric.xml"/>
  </part>

  <part id="dazzle-groups">
    <title>Signals and Bindings</title>
    <partintro>
      <para>
        Managing groups of signals and properties can be challanging to get
        right. It takes lots of code and detail to ensure you track object
        lifetimes correctly.
      </para>
      <para>
        To simplify this, Dazzle provides helper objects to attach to bind
        multiple properties or connect to multiple signals. You can attach
        and detach them as a set.
      </para>
    </partintro>
    <xi:include href="xml/dzl-binding-group.xml"/>
    <xi:include href="xml/dzl-signal-group.xml"/>
  </part>

  <part id="dazzle-application">
    <title>Applications</title>
    <partintro>
      <para>
        To simplify application creation, we provided a base application to
        automatically integrate features from libdazzle. Such features include
        theme management, keyboard shortcut controllers, icon loading, and menu
        merging.
      </para>
      <para>
        To take advantage of these features, simply subclass the applicaion object.
      </para>
    </partintro>
    <xi:include href="xml/dzl-application.xml"/>
    <xi:include href="xml/dzl-menu-manager.xml"/>
    <xi:include href="xml/dzl-theme-manager.xml"/>
    <xi:include href="xml/dzl-css-provider.xml"/>
  </part>

  <part id="dazzle-prefs">
    <title>Application Preferences</title>
    <xi:include href="xml/dzl-preferences.xml"/>
    <xi:include href="xml/dzl-preferences-bin.xml"/>
    <xi:include href="xml/dzl-preferences-entry.xml"/>
    <xi:include href="xml/dzl-preferences-file-chooser-button.xml"/>
    <xi:include href="xml/dzl-preferences-flow-box.xml"/>
    <xi:include href="xml/dzl-preferences-font-button.xml"/>
    <xi:include href="xml/dzl-preferences-group.xml"/>
    <xi:include href="xml/dzl-preferences-page.xml"/>
    <xi:include href="xml/dzl-preferences-spin-button.xml"/>
    <xi:include href="xml/dzl-preferences-switch.xml"/>
    <xi:include href="xml/dzl-preferences-view.xml"/>
  </part>

  <part id="dazzle-shortcuts">
    <title>Shortcuts</title>
    <xi:include href="xml/dzl-shortcut-accel-dialog.xml"/>
    <xi:include href="xml/dzl-shortcut-chord.xml"/>
    <xi:include href="xml/dzl-shortcut-closure-chain.xml"/>
    <xi:include href="xml/dzl-shortcut-context.xml"/>
    <xi:include href="xml/dzl-shortcut-controller.xml"/>
    <xi:include href="xml/dzl-shortcut-label.xml"/>
    <xi:include href="xml/dzl-shortcut-manager.xml"/>
    <xi:include href="xml/dzl-shortcut-model.xml"/>
    <xi:include href="xml/dzl-shortcuts-group.xml"/>
    <xi:include href="xml/dzl-shortcuts-section.xml"/>
    <xi:include href="xml/dzl-shortcuts-shortcut.xml"/>
    <xi:include href="xml/dzl-shortcuts-window.xml"/>
    <xi:include href="xml/dzl-shortcut-theme-editor.xml"/>
    <xi:include href="xml/dzl-shortcut-theme.xml"/>
  </part>

  <part id="dazzle-panels">
    <title>Window Panels</title>
    <partintro>
      <para>
        Many content creation applications need some sort of panel system. Dazzle
        provides flexible panel widgets and docks for this purpose.
      </para>
    </partintro>
    <xi:include href="xml/dzl-dock-manager.xml"/>
    <xi:include href="xml/dzl-dock.xml"/>
    <xi:include href="xml/dzl-dock-bin.xml"/>
    <xi:include href="xml/dzl-dock-overlay.xml"/>
    <xi:include href="xml/dzl-dock-stack.xml"/>
    <xi:include href="xml/dzl-dock-bin-edge.xml"/>
    <xi:include href="xml/dzl-dock-item.xml"/>
    <xi:include href="xml/dzl-dock-overlay-edge.xml"/>
    <xi:include href="xml/dzl-dock-paned.xml"/>
    <xi:include href="xml/dzl-dock-revealer.xml"/>
    <xi:include href="xml/dzl-dock-transient-grab.xml"/>
    <xi:include href="xml/dzl-dock-types.xml"/>
    <xi:include href="xml/dzl-dock-widget.xml"/>
    <xi:include href="xml/dzl-dock-window.xml"/>
  </part>

  <part id="dazzle-search">
    <title>Searching</title>
    <chapter>
      <title>In-Memory Fuzzy Indexes</title>
      <xi:include href="xml/dzl-fuzzy-mutable-index.xml"/>
    </chapter>
    <chapter>
      <title>Disk-based Fuzzy Indexes</title>
      <xi:include href="xml/dzl-fuzzy-index-builder.xml"/>
      <xi:include href="xml/dzl-fuzzy-index.xml"/>
      <xi:include href="xml/dzl-fuzzy-index-cursor.xml"/>
      <xi:include href="xml/dzl-fuzzy-index-match.xml"/>
    </chapter>
    <xi:include href="xml/dzl-trie.xml"/>
    <xi:include href="xml/dzl-pattern-spec.xml"/>
    <xi:include href="xml/dzl-levenshtein.xml"/>
  </part>

  <part id="dazzle-suggestions">
    <title>Browser-like auto-completion</title>
    <partintro>
      <para>
        Auto-completion in browsers are fairly ubiquitous these days. Having a
        widget that looks and feels like them can be useful for applications to
        feel famliar to users. The suggestion entry of Dazzle can do this.
        You'll need to bring your own search algorithm though.
      </para>
    </partintro>
    <xi:include href="xml/dzl-suggestion.xml"/>
    <xi:include href="xml/dzl-suggestion-entry.xml"/>
    <xi:include href="xml/dzl-suggestion-entry-buffer.xml"/>
    <xi:include href="xml/dzl-suggestion-popover.xml"/>
    <xi:include href="xml/dzl-suggestion-row.xml"/>
  </part>

  <part id="dazzle-tree">
    <title>Lazy Tree Building</title>
    <partintro>
      <para>
        Building and populating tree views lazily can be a difficult process.
        The tree builder and associated classes in Dazzle makes this fast,
        efficient, and easy to perform lazy content creation.
      </para>
    </partintro>
    <xi:include href="xml/dzl-tree.xml"/>
    <xi:include href="xml/dzl-tree-builder.xml"/>
    <xi:include href="xml/dzl-tree-node.xml"/>
    <xi:include href="xml/dzl-tree-types.xml"/>
  </part>

  <part id="dazzle-listbox">
    <title>Recycling List Boxes</title>
    <partintro>
      <para>
        One difficulty with GtkListBox is the performance related to creating
        and destroying rows. To help lower this overhead, Dazzle provides a
        listbox subclass that re-uses existing rows.
      </para>
    </partintro>
    <xi:include href="xml/dzl-list-box-row.xml"/>
    <xi:include href="xml/dzl-list-box.xml"/>
  </part>

  <part id="dazzle-pathbar">
    <title>Path Bars</title>
    <xi:include href="xml/dzl-path-bar.xml"/>
    <xi:include href="xml/dzl-path-element.xml"/>
    <xi:include href="xml/dzl-path.xml"/>
  </part>

  <part id="dazzle-graphing">
    <title>Realtime Graphs</title>
    <xi:include href="xml/dzl-graph-view.xml"/>
    <xi:include href="xml/dzl-graph-renderer.xml"/>
    <xi:include href="xml/dzl-graph-line-renderer.xml"/>
    <xi:include href="xml/dzl-graph-model.xml"/>
    <xi:include href="xml/dzl-graph-column.xml"/>
    <xi:include href="xml/dzl-cpu-graph.xml"/>
    <xi:include href="xml/dzl-cpu-model.xml"/>
  </part>

  <part id="dazzle-widgets">
    <title>Additional Widgets</title>
    <xi:include href="xml/dzl-bin.xml"/>
    <xi:include href="xml/dzl-bolding-label.xml"/>
    <xi:include href="xml/dzl-box.xml"/>
    <xi:include href="xml/dzl-centering-bin.xml"/>
    <xi:include href="xml/dzl-column-layout.xml"/>
    <xi:include href="xml/dzl-elastic-bin.xml"/>
    <xi:include href="xml/dzl-empty-state.xml"/>
    <xi:include href="xml/dzl-entry-box.xml"/>
    <xi:include href="xml/dzl-file-chooser-entry.xml"/>
    <xi:include href="xml/dzl-multi-paned.xml"/>
    <xi:include href="xml/dzl-pill-box.xml"/>
    <xi:include href="xml/dzl-priority-box.xml"/>
    <xi:include href="xml/dzl-progress-button.xml"/>
    <xi:include href="xml/dzl-progress-icon.xml"/>
    <xi:include href="xml/dzl-progress-menu-button.xml"/>
    <xi:include href="xml/dzl-radio-box.xml"/>
    <xi:include href="xml/dzl-scrolled-window.xml"/>
    <xi:include href="xml/dzl-search-bar.xml"/>
    <xi:include href="xml/dzl-simple-label.xml"/>
    <xi:include href="xml/dzl-simple-popover.xml"/>
    <xi:include href="xml/dzl-slider.xml"/>
    <xi:include href="xml/dzl-stack-list.xml"/>
    <xi:include href="xml/dzl-tab-strip.xml"/>
    <xi:include href="xml/dzl-tab.xml"/>
    <xi:include href="xml/dzl-three-grid.xml"/>
  </part>

  <part id="dazzle-data-structures">
    <title>Data Structures</title>
    <xi:include href="xml/dzl-int-pair.xml"/>
    <xi:include href="xml/dzl-heap.xml"/>
    <xi:include href="xml/dzl-ring.xml"/>
  </part>

  <part id="dazzle-actions">
    <title>Action Integration</title>
    <xi:include href="xml/dzl-child-property-action.xml"/>
    <xi:include href="xml/dzl-properties-group.xml"/>
    <xi:include href="xml/dzl-widget-action-group.xml"/>
    <xi:include href="xml/dzl-settings-flag-action.xml"/>
  </part>

  <part id="dazzle-caching">
    <title>Asynchronous Caching</title>
    <xi:include href="xml/dzl-task-cache.xml"/>
  </part>

  <part id="dazzle-directories">
    <title>Directory Management</title>
    <xi:include href="xml/dzl-directory-model.xml"/>
    <xi:include href="xml/dzl-directory-reaper.xml"/>
  </part>

  <part id="dazzle-states">
    <title>State Machines</title>
    <xi:include href="xml/dzl-state-machine.xml"/>
  </part>

  <part id="dazzle-other">
    <title>Utility API</title>
    <xi:include href="xml/dzl-cairo.xml"/>
    <xi:include href="xml/dzl-date-time.xml"/>
    <xi:include href="xml/dzl-dnd.xml"/>
    <xi:include href="xml/dzl-file-manager.xml"/>
    <xi:include href="xml/dzl-gdk.xml"/>
    <xi:include href="xml/dzl-gtk.xml"/>
    <xi:include href="xml/dzl-pango.xml"/>
    <xi:include href="xml/dzl-rgba.xml"/>
    <xi:include href="xml/dzl-variant.xml"/>
    <xi:include href="xml/dzl-settings-sandwich.xml"/>
    <xi:include href="xml/dzl-version.xml"/>
  </part>

  <chapter id="object-tree">
    <title>Object Hierarchy</title>
    <xi:include href="xml/tree_index.sgml"/>
  </chapter>

  <index id="api-index-full">
    <title>API Index</title>
    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
  </index>

  <index id="deprecated-api-index" role="deprecated">
    <title>Index of deprecated API</title>
    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
  </index>

  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>