MgDataEntry

MgDataEntry — Interface which provides the user with specific widgets to manipulate data

Synopsis




            MgDataEntry;
enum        MgDataEntryAttribute;
            MgDataEntryIface;
guint       mg_data_entry_get_type          (void);
void        mg_data_entry_set_value_type    (MgDataEntry *de,
                                             GdaValueType type);
GdaValueType mg_data_entry_get_value_type   (MgDataEntry *de);
void        mg_data_entry_set_value         (MgDataEntry *de,
                                             const GdaValue *value);
GdaValue*   mg_data_entry_get_value         (MgDataEntry *de);
void        mg_data_entry_set_value_orig    (MgDataEntry *de,
                                             const GdaValue *value);
const GdaValue* mg_data_entry_get_value_orig
                                            (MgDataEntry *de);
void        mg_data_entry_set_current_as_orig
                                            (MgDataEntry *de);
void        mg_data_entry_set_value_default (MgDataEntry *de,
                                             const GdaValue *value);
void        mg_data_entry_set_attributes    (MgDataEntry *de,
                                             guint attrs,
                                             guint mask);
guint       mg_data_entry_get_attributes    (MgDataEntry *de);
MgDataHandler* mg_data_entry_get_handler    (MgDataEntry *de);
gboolean    mg_data_entry_expand_in_layout  (MgDataEntry *de);

Object Hierarchy


  GInterface
   +----MgDataEntry

Known Implementations

MgDataEntry is implemented by MgEntryTime, MgEntryCombo, MgEntryString, MgEntryNone, MgEntryCidr, MgEntryBoolean, MgEntryPassmd5 and MgEntryWrapper.

Signal Prototypes


"contents-modified"
            void        user_function      (MgDataEntry *mgdataentry,
                                            gpointer user_data);
"status-changed"
            void        user_function      (MgDataEntry *mgdataentry,
                                            gpointer user_data);

Description

This interface is implemented by widgets to enable users to manipulate data of different types. Such widgets are created by objects implementing the MgDataHandler interface.

Details

MgDataEntry

typedef struct _MgDataEntry MgDataEntry;


enum MgDataEntryAttribute

typedef enum {
	MG_DATA_ENTRY_IS_NULL        = 1 << 0, /* READ | WRITE */
	MG_DATA_ENTRY_CAN_BE_NULL    = 1 << 1, /* READ | WRITE */
	MG_DATA_ENTRY_IS_DEFAULT     = 1 << 2, /* READ | WRITE */
	MG_DATA_ENTRY_CAN_BE_DEFAULT = 1 << 3, /* READ | WRITE */
	MG_DATA_ENTRY_IS_UNCHANGED   = 1 << 4, /* READ | WRITE */
	MG_DATA_ENTRY_ACTIONS_SHOWN  = 1 << 5, /* READ | WRITE */
	MG_DATA_ENTRY_DATA_NON_VALID = 1 << 6, /* READ */
	MG_DATA_ENTRY_HAS_VALUE_ORIG = 1 << 7  /* READ */
} MgDataEntryAttribute;


MgDataEntryIface

typedef struct {
	GTypeInterface           g_iface;

	/* signals */
	void            (* contents_modified)     (MgDataEntry *de);
	void            (* status_changed)        (MgDataEntry *de);

	/* virtual table */
	void            ( *set_value_type)        (MgDataEntry *de, GdaValueType type);
	GdaValueType    ( *get_value_type)        (MgDataEntry *de);
	void            ( *set_value)             (MgDataEntry *de, const GdaValue * value);
	GdaValue       *( *get_value)             (MgDataEntry *de);
	void            ( *set_value_orig)        (MgDataEntry *de, const GdaValue * value);
	const GdaValue *( *get_value_orig)        (MgDataEntry *de);
	void            ( *set_value_default)     (MgDataEntry *de, const GdaValue * value);
	void            ( *set_attributes)        (MgDataEntry *de, guint attrs, guint mask);
	guint           ( *get_attributes)        (MgDataEntry *de);
	MgDataHandler  *( *get_handler)           (MgDataEntry *de);
	gboolean        ( *expand_in_layout)      (MgDataEntry *de);
} MgDataEntryIface;


mg_data_entry_get_type ()

guint       mg_data_entry_get_type          (void);

Returns :

mg_data_entry_set_value_type ()

void        mg_data_entry_set_value_type    (MgDataEntry *de,
                                             GdaValueType type);

Sets the type of value the MgDataEntry will handle. The type must be compatible with what the widget can handle.

de : a GtkWidget object which implements the MgDataEntry interface
type :

mg_data_entry_get_value_type ()

GdaValueType mg_data_entry_get_value_type   (MgDataEntry *de);

Fetch the type of data the MgDataEntry handles

de : a GtkWidget object which implements the MgDataEntry interface
Returns : the GdaValueType type

mg_data_entry_set_value ()

void        mg_data_entry_set_value         (MgDataEntry *de,
                                             const GdaValue *value);

Push a value into the MgDataEntry. The value parameter must either be: - NULL or of type GDA_VALUE_TYPE_NULL, or - of type specified using mg_data_entry_set_value_type.

de : a GtkWidget object which implements the MgDataEntry interface
value :

mg_data_entry_get_value ()

GdaValue*   mg_data_entry_get_value         (MgDataEntry *de);

Fetch the value held in the MgDataEntry widget. If the value is set to NULL, the returned value is of type GDA_VALUE_TYPE_NULL. If the value is set to default, then the returned value is of type GDA_VALUE_TYPE_NULL or is the default value if it has been provided to the widget (and is of the same type as the one provided by de).

de : a GtkWidget object which implements the MgDataEntry interface
Returns : a new GdaValue

mg_data_entry_set_value_orig ()

void        mg_data_entry_set_value_orig    (MgDataEntry *de,
                                             const GdaValue *value);

Push a value into the MgDataEntry in the same way as mg_data_entry_set_value() but also sets this value as the original value.

de : a GtkWidget object which implements the MgDataEntry interface
value :

mg_data_entry_get_value_orig ()

const GdaValue* mg_data_entry_get_value_orig
                                            (MgDataEntry *de);

Fetch the original value held in the MgDataEntry widget

de : a GtkWidget object which implements the MgDataEntry interface
Returns : the GdaValue

mg_data_entry_set_current_as_orig ()

void        mg_data_entry_set_current_as_orig
                                            (MgDataEntry *de);

Tells that the current value in de is to be considered as the original value

de : a GtkWidget object which implements the MgDataEntry interface

mg_data_entry_set_value_default ()

void        mg_data_entry_set_value_default (MgDataEntry *de,
                                             const GdaValue *value);

Sets the default value for the MgDataEntry which gets displayed when the user forces the default value. If it is not set then it is set to type GDA_VALUE_TYPE_NULL. The value parameter must either be: - NULL or of type GDA_VALUE_TYPE_NULL, or - of type specified using mg_data_entry_set_value_type.

de : a GtkWidget object which implements the MgDataEntry interface
value :

mg_data_entry_set_attributes ()

void        mg_data_entry_set_attributes    (MgDataEntry *de,
                                             guint attrs,
                                             guint mask);

Sets the parameters of the MgDataEntry. Only the attributes corresponding to the mask are set, the other ones are ignored.

de : a GtkWidget object which implements the MgDataEntry interface
attrs : the attributes to set (OR'ed between them)
mask : the mask corresponding to the considered attributes

mg_data_entry_get_attributes ()

guint       mg_data_entry_get_attributes    (MgDataEntry *de);

Retreives the parameters of the MgDataEntry widget.

de : a GtkWidget object which implements the MgDataEntry interface
Returns : the OR'ed bits corresponding to the attributes.

mg_data_entry_get_handler ()

MgDataHandler* mg_data_entry_get_handler    (MgDataEntry *de);

Fetch the MgDataHandler the MgDataEntry is using

de : a GtkWidget object which implements the MgDataEntry interface
Returns : the MgDataHandler object

mg_data_entry_expand_in_layout ()

gboolean    mg_data_entry_expand_in_layout  (MgDataEntry *de);

Used for the layout of the widget in containers.

de : a GtkWidget object which implements the MgDataEntry interface
Returns : TRUE if the widget should expand

Signals

The "contents-modified" signal

void        user_function                  (MgDataEntry *mgdataentry,
                                            gpointer user_data);

mgdataentry : the object which received the signal.
user_data : user data set when the signal handler was connected.

The "status-changed" signal

void        user_function                  (MgDataEntry *mgdataentry,
                                            gpointer user_data);

mgdataentry : the object which received the signal.
user_data : user data set when the signal handler was connected.

See Also

The MgServerDataType class and MgDataHandler interface.