1
<refentry id="MgDataEntry">
3
<refentrytitle>MgDataEntry</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>LIBMERGEANT Library</refmiscinfo>
9
<refname>MgDataEntry</refname><refpurpose>Interface which provides the user with specific widgets to manipulate data</refpurpose>
12
<refsynopsisdiv><title>Synopsis</title>
18
struct <link linkend="MgDataEntry-struct">MgDataEntry</link>;
19
enum <link linkend="MgDataEntryAttribute">MgDataEntryAttribute</link>;
20
struct <link linkend="MgDataEntryIface">MgDataEntryIface</link>;
21
<link linkend="guint">guint</link> <link linkend="mg-data-entry-get-type">mg_data_entry_get_type</link> (void);
22
<link linkend="void">void</link> <link linkend="mg-data-entry-set-value-type">mg_data_entry_set_value_type</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de,
23
<link linkend="GdaValueType">GdaValueType</link> type);
24
<link linkend="GdaValueType">GdaValueType</link> <link linkend="mg-data-entry-get-value-type">mg_data_entry_get_value_type</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de);
25
<link linkend="void">void</link> <link linkend="mg-data-entry-set-value">mg_data_entry_set_value</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de,
26
const <link linkend="GdaValue">GdaValue</link> *value);
27
<link linkend="GdaValue">GdaValue</link>* <link linkend="mg-data-entry-get-value">mg_data_entry_get_value</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de);
28
<link linkend="void">void</link> <link linkend="mg-data-entry-set-value-orig">mg_data_entry_set_value_orig</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de,
29
const <link linkend="GdaValue">GdaValue</link> *value);
30
const <link linkend="GdaValue">GdaValue</link>* <link linkend="mg-data-entry-get-value-orig">mg_data_entry_get_value_orig</link>
31
(<link linkend="MgDataEntry">MgDataEntry</link> *de);
32
<link linkend="void">void</link> <link linkend="mg-data-entry-set-current-as-orig">mg_data_entry_set_current_as_orig</link>
33
(<link linkend="MgDataEntry">MgDataEntry</link> *de);
34
<link linkend="void">void</link> <link linkend="mg-data-entry-set-value-default">mg_data_entry_set_value_default</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de,
35
const <link linkend="GdaValue">GdaValue</link> *value);
36
<link linkend="void">void</link> <link linkend="mg-data-entry-set-attributes">mg_data_entry_set_attributes</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de,
37
<link linkend="guint">guint</link> attrs,
38
<link linkend="guint">guint</link> mask);
39
<link linkend="guint">guint</link> <link linkend="mg-data-entry-get-attributes">mg_data_entry_get_attributes</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de);
40
<link linkend="MgDataHandler">MgDataHandler</link>* <link linkend="mg-data-entry-get-handler">mg_data_entry_get_handler</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de);
41
<link linkend="gboolean">gboolean</link> <link linkend="mg-data-entry-expand-in-layout">mg_data_entry_expand_in_layout</link> (<link linkend="MgDataEntry">MgDataEntry</link> *de);
46
<title>Object Hierarchy</title>
49
<link linkend="GInterface">GInterface</link>
59
<title>Known Implementations</title>
61
MgDataEntry is implemented by
62
<link linkend="MgEntryTime">MgEntryTime</link>, <link linkend="MgEntryCombo">MgEntryCombo</link>, <link linkend="MgEntryString">MgEntryString</link>, <link linkend="MgEntryNone">MgEntryNone</link>, <link linkend="MgEntryCidr">MgEntryCidr</link>, <link linkend="MgEntryBoolean">MgEntryBoolean</link>, <link linkend="MgEntryPassmd5">MgEntryPassmd5</link> and <link linkend="MgEntryWrapper">MgEntryWrapper</link>.</para>
68
<title>Signal Prototypes</title>
71
"<link linkend="MgDataEntry-contents-modified">contents-modified</link>"
72
<link linkend="void">void</link> user_function (<link linkend="MgDataEntry">MgDataEntry</link> *mgdataentry,
73
<link linkend="gpointer">gpointer</link> user_data);
74
"<link linkend="MgDataEntry-status-changed">status-changed</link>"
75
<link linkend="void">void</link> user_function (<link linkend="MgDataEntry">MgDataEntry</link> *mgdataentry,
76
<link linkend="gpointer">gpointer</link> user_data);
82
<title>Description</title>
84
This interface is implemented by widgets to enable users to manipulate data of different types.
85
Such widgets are created by objects implementing the <link linkend="MgDataHandler"><type>MgDataHandler</type></link> interface.
90
<title>Details</title>
92
<title><anchor id="MgDataEntry-struct"/>struct MgDataEntry</title>
93
<indexterm><primary>MgDataEntry</primary></indexterm><programlisting>struct MgDataEntry;</programlisting>
98
<title><anchor id="MgDataEntryAttribute"/>enum MgDataEntryAttribute</title>
99
<indexterm><primary>MgDataEntryAttribute</primary></indexterm><programlisting>typedef enum {
100
MG_DATA_ENTRY_IS_NULL = 1 << 0, /* READ | WRITE */
101
MG_DATA_ENTRY_CAN_BE_NULL = 1 << 1, /* READ | WRITE */
102
MG_DATA_ENTRY_IS_DEFAULT = 1 << 2, /* READ | WRITE */
103
MG_DATA_ENTRY_CAN_BE_DEFAULT = 1 << 3, /* READ | WRITE */
104
MG_DATA_ENTRY_IS_UNCHANGED = 1 << 4, /* READ | WRITE */
105
MG_DATA_ENTRY_ACTIONS_SHOWN = 1 << 5, /* READ | WRITE */
106
MG_DATA_ENTRY_DATA_NON_VALID = 1 << 6, /* READ */
107
MG_DATA_ENTRY_HAS_VALUE_ORIG = 1 << 7 /* READ */
108
} MgDataEntryAttribute;
114
<title><anchor id="MgDataEntryIface"/>struct MgDataEntryIface</title>
115
<indexterm><primary>MgDataEntryIface</primary></indexterm><programlisting>struct MgDataEntryIface {
117
GTypeInterface g_iface;
120
void (* contents_modified) (MgDataEntry *de);
121
void (* status_changed) (MgDataEntry *de);
124
void ( *set_value_type) (MgDataEntry *de, GdaValueType type);
125
GdaValueType ( *get_value_type) (MgDataEntry *de);
126
void ( *set_value) (MgDataEntry *de, const GdaValue * value);
127
GdaValue *( *get_value) (MgDataEntry *de);
128
void ( *set_value_orig) (MgDataEntry *de, const GdaValue * value);
129
const GdaValue *( *get_value_orig) (MgDataEntry *de);
130
void ( *set_value_default) (MgDataEntry *de, const GdaValue * value);
131
void ( *set_attributes) (MgDataEntry *de, guint attrs, guint mask);
132
guint ( *get_attributes) (MgDataEntry *de);
133
MgDataHandler *( *get_handler) (MgDataEntry *de);
134
gboolean ( *expand_in_layout) (MgDataEntry *de);
141
<title><anchor id="mg-data-entry-get-type"/>mg_data_entry_get_type ()</title>
142
<indexterm><primary>mg_data_entry_get_type</primary></indexterm><programlisting><link linkend="guint">guint</link> mg_data_entry_get_type (void);</programlisting>
145
</para><variablelist role="params">
146
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
149
</simpara></listitem></varlistentry>
150
</variablelist></refsect2>
152
<title><anchor id="mg-data-entry-set-value-type"/>mg_data_entry_set_value_type ()</title>
153
<indexterm><primary>mg_data_entry_set_value_type</primary></indexterm><programlisting><link linkend="void">void</link> mg_data_entry_set_value_type (<link linkend="MgDataEntry">MgDataEntry</link> *de,
154
<link linkend="GdaValueType">GdaValueType</link> type);</programlisting>
156
Sets the type of value the MgDataEntry will handle. The type must be compatible with what
157
the widget can handle.</para>
160
</para><variablelist role="params">
161
<varlistentry><term><parameter>de</parameter> :</term>
162
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
163
</simpara></listitem></varlistentry>
164
<varlistentry><term><parameter>type</parameter> :</term>
166
</simpara></listitem></varlistentry>
167
</variablelist></refsect2>
169
<title><anchor id="mg-data-entry-get-value-type"/>mg_data_entry_get_value_type ()</title>
170
<indexterm><primary>mg_data_entry_get_value_type</primary></indexterm><programlisting><link linkend="GdaValueType">GdaValueType</link> mg_data_entry_get_value_type (<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
172
Fetch the type of data the MgDataEntry handles</para>
175
</para><variablelist role="params">
176
<varlistentry><term><parameter>de</parameter> :</term>
177
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
178
</simpara></listitem></varlistentry>
179
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the GdaValueType type
180
</simpara></listitem></varlistentry>
181
</variablelist></refsect2>
183
<title><anchor id="mg-data-entry-set-value"/>mg_data_entry_set_value ()</title>
184
<indexterm><primary>mg_data_entry_set_value</primary></indexterm><programlisting><link linkend="void">void</link> mg_data_entry_set_value (<link linkend="MgDataEntry">MgDataEntry</link> *de,
185
const <link linkend="GdaValue">GdaValue</link> *value);</programlisting>
187
Push a value into the MgDataEntry. The value parameter must either be:
188
- NULL or of type GDA_VALUE_TYPE_NULL, or
189
- of type specified using mg_data_entry_set_value_type.</para>
192
</para><variablelist role="params">
193
<varlistentry><term><parameter>de</parameter> :</term>
194
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
195
</simpara></listitem></varlistentry>
196
<varlistentry><term><parameter>value</parameter> :</term>
198
</simpara></listitem></varlistentry>
199
</variablelist></refsect2>
201
<title><anchor id="mg-data-entry-get-value"/>mg_data_entry_get_value ()</title>
202
<indexterm><primary>mg_data_entry_get_value</primary></indexterm><programlisting><link linkend="GdaValue">GdaValue</link>* mg_data_entry_get_value (<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
204
Fetch the value held in the MgDataEntry widget. If the value is set to NULL,
205
the returned value is of type GDA_VALUE_TYPE_NULL. If the value is set to default,
206
then the returned value is of type GDA_VALUE_TYPE_NULL or is the default value if it
207
has been provided to the widget (and is of the same type as the one provided by <parameter>de</parameter>).</para>
210
</para><variablelist role="params">
211
<varlistentry><term><parameter>de</parameter> :</term>
212
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
213
</simpara></listitem></varlistentry>
214
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new GdaValue
215
</simpara></listitem></varlistentry>
216
</variablelist></refsect2>
218
<title><anchor id="mg-data-entry-set-value-orig"/>mg_data_entry_set_value_orig ()</title>
219
<indexterm><primary>mg_data_entry_set_value_orig</primary></indexterm><programlisting><link linkend="void">void</link> mg_data_entry_set_value_orig (<link linkend="MgDataEntry">MgDataEntry</link> *de,
220
const <link linkend="GdaValue">GdaValue</link> *value);</programlisting>
222
Push a value into the MgDataEntry in the same way as <link linkend="mg-data-entry-set-value"><function>mg_data_entry_set_value()</function></link> but
223
also sets this value as the original value.</para>
226
</para><variablelist role="params">
227
<varlistentry><term><parameter>de</parameter> :</term>
228
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
229
</simpara></listitem></varlistentry>
230
<varlistentry><term><parameter>value</parameter> :</term>
232
</simpara></listitem></varlistentry>
233
</variablelist></refsect2>
235
<title><anchor id="mg-data-entry-get-value-orig"/>mg_data_entry_get_value_orig ()</title>
236
<indexterm><primary>mg_data_entry_get_value_orig</primary></indexterm><programlisting>const <link linkend="GdaValue">GdaValue</link>* mg_data_entry_get_value_orig
237
(<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
239
Fetch the original value held in the MgDataEntry widget</para>
242
</para><variablelist role="params">
243
<varlistentry><term><parameter>de</parameter> :</term>
244
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
245
</simpara></listitem></varlistentry>
246
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the GdaValue
247
</simpara></listitem></varlistentry>
248
</variablelist></refsect2>
250
<title><anchor id="mg-data-entry-set-current-as-orig"/>mg_data_entry_set_current_as_orig ()</title>
251
<indexterm><primary>mg_data_entry_set_current_as_orig</primary></indexterm><programlisting><link linkend="void">void</link> mg_data_entry_set_current_as_orig
252
(<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
254
Tells that the current value in <parameter>de</parameter> is to be considered as the original value</para>
257
</para><variablelist role="params">
258
<varlistentry><term><parameter>de</parameter> :</term>
259
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
260
</simpara></listitem></varlistentry>
261
</variablelist></refsect2>
263
<title><anchor id="mg-data-entry-set-value-default"/>mg_data_entry_set_value_default ()</title>
264
<indexterm><primary>mg_data_entry_set_value_default</primary></indexterm><programlisting><link linkend="void">void</link> mg_data_entry_set_value_default (<link linkend="MgDataEntry">MgDataEntry</link> *de,
265
const <link linkend="GdaValue">GdaValue</link> *value);</programlisting>
267
Sets the default value for the MgDataEntry which gets displayed when the
268
user forces the default value. If it is not set then it is set to type GDA_VALUE_TYPE_NULL.
269
The value parameter must either be:
270
- NULL or of type GDA_VALUE_TYPE_NULL, or
271
- of type specified using mg_data_entry_set_value_type.</para>
274
</para><variablelist role="params">
275
<varlistentry><term><parameter>de</parameter> :</term>
276
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
277
</simpara></listitem></varlistentry>
278
<varlistentry><term><parameter>value</parameter> :</term>
280
</simpara></listitem></varlistentry>
281
</variablelist></refsect2>
283
<title><anchor id="mg-data-entry-set-attributes"/>mg_data_entry_set_attributes ()</title>
284
<indexterm><primary>mg_data_entry_set_attributes</primary></indexterm><programlisting><link linkend="void">void</link> mg_data_entry_set_attributes (<link linkend="MgDataEntry">MgDataEntry</link> *de,
285
<link linkend="guint">guint</link> attrs,
286
<link linkend="guint">guint</link> mask);</programlisting>
288
Sets the parameters of the MgDataEntry. Only the attributes corresponding to the
289
mask are set, the other ones are ignored.</para>
292
</para><variablelist role="params">
293
<varlistentry><term><parameter>de</parameter> :</term>
294
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
295
</simpara></listitem></varlistentry>
296
<varlistentry><term><parameter>attrs</parameter> :</term>
297
<listitem><simpara> the attributes to set (OR'ed between them)
298
</simpara></listitem></varlistentry>
299
<varlistentry><term><parameter>mask</parameter> :</term>
300
<listitem><simpara> the mask corresponding to the considered attributes
301
</simpara></listitem></varlistentry>
302
</variablelist></refsect2>
304
<title><anchor id="mg-data-entry-get-attributes"/>mg_data_entry_get_attributes ()</title>
305
<indexterm><primary>mg_data_entry_get_attributes</primary></indexterm><programlisting><link linkend="guint">guint</link> mg_data_entry_get_attributes (<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
307
Retreives the parameters of the MgDataEntry widget.</para>
310
</para><variablelist role="params">
311
<varlistentry><term><parameter>de</parameter> :</term>
312
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
313
</simpara></listitem></varlistentry>
314
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the OR'ed bits corresponding to the attributes.
315
</simpara></listitem></varlistentry>
316
</variablelist></refsect2>
318
<title><anchor id="mg-data-entry-get-handler"/>mg_data_entry_get_handler ()</title>
319
<indexterm><primary>mg_data_entry_get_handler</primary></indexterm><programlisting><link linkend="MgDataHandler">MgDataHandler</link>* mg_data_entry_get_handler (<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
321
Fetch the MgDataHandler the MgDataEntry is using</para>
324
</para><variablelist role="params">
325
<varlistentry><term><parameter>de</parameter> :</term>
326
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
327
</simpara></listitem></varlistentry>
328
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the MgDataHandler object
329
</simpara></listitem></varlistentry>
330
</variablelist></refsect2>
332
<title><anchor id="mg-data-entry-expand-in-layout"/>mg_data_entry_expand_in_layout ()</title>
333
<indexterm><primary>mg_data_entry_expand_in_layout</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> mg_data_entry_expand_in_layout (<link linkend="MgDataEntry">MgDataEntry</link> *de);</programlisting>
335
Used for the layout of the widget in containers.</para>
338
</para><variablelist role="params">
339
<varlistentry><term><parameter>de</parameter> :</term>
340
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> object which implements the <link linkend="MgDataEntry"><type>MgDataEntry</type></link> interface
341
</simpara></listitem></varlistentry>
342
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if the widget should expand
343
</simpara></listitem></varlistentry>
344
</variablelist></refsect2>
349
<title>Signals</title>
350
<refsect2><title><anchor id="MgDataEntry-contents-modified"/>The "contents-modified" signal</title>
351
<programlisting><link linkend="void">void</link> user_function (<link linkend="MgDataEntry">MgDataEntry</link> *mgdataentry,
352
<link linkend="gpointer">gpointer</link> user_data);</programlisting>
355
</para><variablelist role="params">
356
<varlistentry><term><parameter>mgdataentry</parameter> :</term>
357
<listitem><simpara>the object which received the signal.
359
</simpara></listitem></varlistentry>
360
<varlistentry><term><parameter>user_data</parameter> :</term>
361
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
362
</variablelist></refsect2><refsect2><title><anchor id="MgDataEntry-status-changed"/>The "status-changed" signal</title>
363
<programlisting><link linkend="void">void</link> user_function (<link linkend="MgDataEntry">MgDataEntry</link> *mgdataentry,
364
<link linkend="gpointer">gpointer</link> user_data);</programlisting>
367
</para><variablelist role="params">
368
<varlistentry><term><parameter>mgdataentry</parameter> :</term>
369
<listitem><simpara>the object which received the signal.
371
</simpara></listitem></varlistentry>
372
<varlistentry><term><parameter>user_data</parameter> :</term>
373
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
374
</variablelist></refsect2>
379
<title>See Also</title>
381
The <link linkend="MgServerDataType"><type>MgServerDataType</type></link> class and <link linkend="MgDataHandler"><type>MgDataHandler</type></link> interface.