GtkDataEntry

GtkDataEntry — a data entry widget, based on GtkEntry

Synopsis


#include <gtkextra.h>

                    GtkDataEntry;
GtkDataEntry *      gtk_data_entry_new                  (void);
const gchar *       gtk_data_entry_get_description      (GtkDataEntry *data_entry);
void                gtk_data_entry_set_description      (GtkDataEntry *data_entry,
                                                         const gchar *description);
const gchar *       gtk_data_entry_get_data_type        (GtkDataEntry *data_entry);
void                gtk_data_entry_set_data_type        (GtkDataEntry *data_entry,
                                                         const gchar *data_type);
const gchar *       gtk_data_entry_get_data_format      (GtkDataEntry *data_entry);
void                gtk_data_entry_set_data_format      (GtkDataEntry *data_entry,
                                                         const gchar *data_format);
const gchar *       gtk_data_entry_get_text             (GtkDataEntry *data_entry);
void                gtk_data_entry_set_text             (GtkDataEntry *data_entry,
                                                         const gchar *text);
gint                gtk_data_entry_get_max_length_bytes (GtkDataEntry *data_entry);
void                gtk_data_entry_set_max_length_bytes (GtkDataEntry *data_entry,
                                                         gint max_length_bytes);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkEntry
                           +----GtkDataEntry

Implemented Interfaces

GtkDataEntry implements AtkImplementorIface, GtkBuildable, GtkEditable and GtkCellEditable.

Properties

  "dataformat"               gchar*                : Read / Write
  "datatype"                 gchar*                : Read / Write
  "description"              gchar*                : Read / Write
  "max-length-bytes"         gint                  : Read / Write
  "text"                     gchar*                : Read / Write

Description

GtkDataEntry provides additional properties:

- "description" - no functionality, a place for private information that cannot be put anywhere else

- "datatype" - no functionality, a datatype hint for the application because any widget content is text

- "dataformat" - a formatting instruction that controls what you see when the widget doesn't have input focus

- "text" - set the contents of the widget. if the widget doesn't have input focus text will be formatted according to the data_format

- "max-length-bytes" - set the maximum byte length for the contents of the widget.

The main reason for this widget is to provide a formatting entry widget for numeric data like integer, float, money which also supports NULL values (GtkSpinButton is nice but doesn't support empty field values). Handling of Null values is supported by all SQL database systems. The Null values are represented by empty field contents.

When editing field contents, all data formatting is removed before the focus enters the widget. As soon as the focus leaves the widget, data will be nicely formatted again.

As an additional feature, the minus sign (negative numbers) can be entered at the end of the data. As soon as you leave the field it will be placed properly in front of the number.

See also: gtk_data_format()

Details

GtkDataEntry

typedef struct _GtkDataEntry GtkDataEntry;

The GtkDataEntry struct contains only private data. It should only be accessed through the functions described below.


gtk_data_entry_new ()

GtkDataEntry *      gtk_data_entry_new                  (void);

Creates a new GtkDataEntry Widget.

Returns :

the new GtkDataEntry Widget

gtk_data_entry_get_description ()

const gchar *       gtk_data_entry_get_description      (GtkDataEntry *data_entry);

Retrieves the GtkDataEntry description.

data_entry :

a GtkDataEntry

Returns :

a pointer to the contents of the widget as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored.

gtk_data_entry_set_description ()

void                gtk_data_entry_set_description      (GtkDataEntry *data_entry,
                                                         const gchar *description);

Sets the GtkDataEntry description.

data_entry :

a GtkDataEntry

description :

the description or NULL

gtk_data_entry_get_data_type ()

const gchar *       gtk_data_entry_get_data_type        (GtkDataEntry *data_entry);

Retrieves the GtkDataEntry data_type.

data_entry :

a GtkDataEntry

Returns :

a pointer to the contents of the widget as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored.

gtk_data_entry_set_data_type ()

void                gtk_data_entry_set_data_type        (GtkDataEntry *data_entry,
                                                         const gchar *data_type);

Sets the GtkDataEntry data type for application use.

data_entry :

a GtkDataEntry

data_type :

the data type or NULL

gtk_data_entry_get_data_format ()

const gchar *       gtk_data_entry_get_data_format      (GtkDataEntry *data_entry);

Retrieves the GtkDataEntry data_format.

See gtk_data_format() for details.

data_entry :

a GtkDataEntry

Returns :

a pointer to the contents of the widget as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored.

gtk_data_entry_set_data_format ()

void                gtk_data_entry_set_data_format      (GtkDataEntry *data_entry,
                                                         const gchar *data_format);

Sets the GtkDataEntry data type for application use. The display will not be refreshed upon change.

See gtk_data_format() for details.

data_entry :

a GtkDataEntry

data_format :

the data type or NULL

gtk_data_entry_get_text ()

const gchar *       gtk_data_entry_get_text             (GtkDataEntry *data_entry);

Retrieves the GtkDataEntry contents. All formatting will be removed.

data_entry :

a GtkDataEntry

Returns :

a pointer to the contents of the widget as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored.

gtk_data_entry_set_text ()

void                gtk_data_entry_set_text             (GtkDataEntry *data_entry,
                                                         const gchar *text);

Sets the GtkDataEntry contents. The contents will be formatted due to the current data_format.

data_entry :

a GtkDataEntry

text :

the contents to be set

gtk_data_entry_get_max_length_bytes ()

gint                gtk_data_entry_get_max_length_bytes (GtkDataEntry *data_entry);

Retrieves the maximum byte length for the contents of GtkDataEntry.

data_entry :

a GtkDataEntry

Returns :

maximum byte length or 0.

Since 3.0.6


gtk_data_entry_set_max_length_bytes ()

void                gtk_data_entry_set_max_length_bytes (GtkDataEntry *data_entry,
                                                         gint max_length_bytes);

Sets the maximum byte length for the contents of the GtkDataEntry. Existing content will not be truncted.

data_entry :

a GtkDataEntry

max_length_bytes :

maximum byte length or 0

Since 3.0.6

Property Details

The "dataformat" property

  "dataformat"               gchar*                : Read / Write

a formatting string that controls what you see when the widget doesn't contain input focus.

See gtk_data_format() for details.

Default value: ""


The "datatype" property

  "datatype"                 gchar*                : Read / Write

no functionality, a datatype hint for the application because any widget content is text.

Default value: ""


The "description" property

  "description"              gchar*                : Read / Write

Description of the GtkDataEntry, no functionality, a place for private information that cannot be put anywhere else.

Default value: ""


The "max-length-bytes" property

  "max-length-bytes"         gint                  : Read / Write

Set the maximum length in bytes for the GtkDataEntry. For details see gtk_data_entry_set_max_length_bytes.

Sometimes, systems cannot handle UTF-8 string length correctly, to overcome this problem, you can use the maximum string length in bytes. When setting both limits, max-length and max-length-bytes, both must be fulfilled.

Allowed values: [0,65535]

Default value: 0

Since 3.0.6


The "text" property

  "text"                     gchar*                : Read / Write

Set the contents of the GtkDataEntry. For details see gtk_data_entry_set_text.

Default value: ""