MgDataEntry

Name

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

Synopsis



#define     MG_DATA_ENTRY_TYPE
#define     MG_DATA_ENTRY                   (obj)
#define     IS_MG_DATA_ENTRY                (obj)
#define     MG_DATA_ENTRY_GET_IFACE         (obj)
struct      MgDataEntry;
enum        MgDataEntryAttribute;
struct      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_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

Implementations

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

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

MG_DATA_ENTRY_TYPE

#define MG_DATA_ENTRY_TYPE          (mg_data_entry_get_type())


MG_DATA_ENTRY()

#define MG_DATA_ENTRY(obj)          G_TYPE_CHECK_INSTANCE_CAST (obj, mg_data_entry_get_type(), MgDataEntry)

obj :


IS_MG_DATA_ENTRY()

#define IS_MG_DATA_ENTRY(obj)       G_TYPE_CHECK_INSTANCE_TYPE (obj, mg_data_entry_get_type ())

obj :


MG_DATA_ENTRY_GET_IFACE()

#define MG_DATA_ENTRY_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MG_DATA_ENTRY_TYPE, MgDataEntryIface))

obj :


struct MgDataEntry

struct 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;


struct MgDataEntryIface

struct MgDataEntryIface {

	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);
};


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_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.