~ubuntu-branches/ubuntu/wily/evolution-data-server/wily

« back to all changes in this revision

Viewing changes to docs/reference/eds/eds-cursor-example.sgml.in

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2015-07-20 13:34:59 UTC
  • mfrom: (1.1.126) (1.2.48 sid)
  • Revision ID: package-import@ubuntu.com-20150720133459-g6y46hnu5ewtoz08
Tags: 3.16.4-0ubuntu2
debian/patches/0001-Bug-752373-Monthly-events-do-not-recur-correctly.patch:
Cherry-pick patch from upstream to fix events not recurring correctly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<refentry id="eds-cursor-example" revision="30 Nov 2013">
 
2
  <refmeta>
 
3
    <refentrytitle>Contacts Browser Example</refentrytitle>
 
4
    <refmiscinfo>Contacts Browser Example</refmiscinfo>
 
5
  </refmeta>
 
6
  <refnamediv>
 
7
    <refname>Contacts Browser Example</refname>
 
8
    <refpurpose>
 
9
      Explanation of how to create a scrolling window listing contacts in
 
10
      alphabetical order.
 
11
    </refpurpose>
 
12
  </refnamediv>
 
13
 
 
14
  <refsect1>
 
15
    <title>Introduction</title>
 
16
    <para>
 
17
      This is a fully functional reference application for implementing scrolling contact
 
18
      browsers using the #EBookClientCursor. With the cursor, the following features are
 
19
      possible.
 
20
    </para>
 
21
 
 
22
    <itemizedlist>
 
23
      <listitem>
 
24
        <para>Display contacts in a configurable sort order</para>
 
25
        <para>
 
26
          Sort by any #EContactField which conforms to #G_TYPE_STRING, this can be checked
 
27
          with e_contact_field_type()
 
28
        </para>
 
29
      </listitem>
 
30
      <listitem>
 
31
        <para>Minimal memory constraints</para>
 
32
        <para>
 
33
          Only load into memory the contacts which are currently visible in the list
 
34
        </para>
 
35
      </listitem>
 
36
      <listitem>
 
37
        <para>Filter search results on the fly</para>
 
38
        <para>
 
39
          Set new search expressions generated with #EBookQuery on the fly. Refresh
 
40
          the contact list at the current position without losing the current cursor
 
41
          position.
 
42
        </para>
 
43
      </listitem>
 
44
      <listitem>
 
45
        <para>Display the the user's alphabet</para>
 
46
        <para>
 
47
          Using interesting features from ICU libraries allow us to display
 
48
          the user's alphabet, and implement features such as jumping to
 
49
          a given letter in the user's alphabet.
 
50
        </para>
 
51
      </listitem>
 
52
    </itemizedlist>
 
53
 
 
54
    <para>
 
55
      The actual example code is built into the 'example' subdirectory of the Evolution Data Server
 
56
      sources. In order to run the example, just launch the program and give it a path to a directory
 
57
      full of vcards, bearing the .vcf filename extention.
 
58
    </para>
 
59
 
 
60
  </refsect1>
 
61
 
 
62
  <refsect1>
 
63
    <title>Contact Browser</title>
 
64
    <para>
 
65
      Below is an example of the contact browser code itself, the example program is
 
66
      broken down into a couple of object classes which are also listed below.
 
67
    </para>
 
68
 
 
69
    <informalexample>
 
70
      <programlisting>
 
71
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 
72
                    parse="text"
 
73
                    href="@SRCDIR@/examples/cursor/cursor-example.c"/>
 
74
      </programlisting>
 
75
    </informalexample>
 
76
  </refsect1>
 
77
 
 
78
  <refsect1>
 
79
    <title>The alphabetic navigator</title>
 
80
    <para>
 
81
      This is a simple class which implements a vertical scroller and displays
 
82
      various letters according to the currently active alphabet. The actual
 
83
      interaction with #EBookClientCursor is done in the main contact browser
 
84
      and this class is simply configured with the active alphabet.
 
85
    </para>
 
86
 
 
87
    <informalexample>
 
88
      <programlisting>
 
89
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 
90
                    parse="text"
 
91
                    href="@SRCDIR@/examples/cursor/cursor-navigator.c"/>
 
92
      </programlisting>
 
93
    </informalexample>
 
94
  </refsect1>
 
95
 
 
96
  <refsect1>
 
97
    <title>The search entry</title>
 
98
    <para>
 
99
      The search entry is placed at the top of the contacts browser,
 
100
      this class simply implements a drop down box choosing the appropriate
 
101
      search expression which should be used to filter the contacts
 
102
      in the browser display window.
 
103
    </para>
 
104
 
 
105
    <informalexample>
 
106
      <programlisting>
 
107
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 
108
                    parse="text"
 
109
                    href="@SRCDIR@/examples/cursor/cursor-search.c"/>
 
110
      </programlisting>
 
111
    </informalexample>
 
112
  </refsect1>
 
113
 
 
114
  <refsect1>
 
115
    <title>The contact slot</title>
 
116
    <para>
 
117
      This is a very simple class who's only purpose is to display
 
118
      contact related data, each entry in the list is a 'slot'
 
119
    </para>
 
120
 
 
121
    <informalexample>
 
122
      <programlisting>
 
123
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 
124
                    parse="text"
 
125
                    href="@SRCDIR@/examples/cursor/cursor-slot.c"/>
 
126
      </programlisting>
 
127
    </informalexample>
 
128
  </refsect1>
 
129
 
 
130
  <refsect1>
 
131
    <title>Creating addressbooks and loading vcards</title>
 
132
    <para>
 
133
      This is the messy part of the example, here we take care
 
134
      of creating a custom addressbook and populating it with
 
135
      the contacts found in the directory given to the example.
 
136
    </para>
 
137
 
 
138
    <informalexample>
 
139
      <programlisting>
 
140
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 
141
                    parse="text"
 
142
                    href="@SRCDIR@/examples/cursor/cursor-data.c"/>
 
143
      </programlisting>
 
144
    </informalexample>
 
145
  </refsect1>
 
146
 
 
147
</refentry>