GdauiDataProxy

GdauiDataProxy — Modifying data in a GdaDataModel

Synopsis

                    GdauiDataProxy;
                    GdauiDataProxyIface;
GdaDataProxy *      gdaui_data_proxy_get_proxy          (GdauiDataProxy *iface);
GtkActionGroup *    gdaui_data_proxy_get_actions_group  (GdauiDataProxy *iface);
enum                GdauiAction;
void                gdaui_data_proxy_perform_action     (GdauiDataProxy *iface,
                                                         GdauiAction action);
void                gdaui_data_proxy_column_set_editable
                                                        (GdauiDataProxy *iface,
                                                         gint column,
                                                         gboolean editable);
void                gdaui_data_proxy_column_show_actions
                                                        (GdauiDataProxy *iface,
                                                         gint column,
                                                         gboolean show_actions);
enum                GdauiDataProxyWriteMode;
gboolean            gdaui_data_proxy_set_write_mode     (GdauiDataProxy *iface,
                                                         GdauiDataProxyWriteMode mode);
GdauiDataProxyWriteMode gdaui_data_proxy_get_write_mode (GdauiDataProxy *iface);

Object Hierarchy

  GInterface
   +----GdauiDataProxy

Prerequisites

GdauiDataProxy requires GObject.

Known Implementations

GdauiDataProxy is implemented by GdauiForm, GdauiGrid, GdauiRawForm and GdauiRawGrid.

Signals

  "proxy-changed"                                  : Run First

Description

The GdauiDataProxy interface is implemented by widgets which allow modifications to a GdaDataModel (through a GdaDataProxy to actually proxy the changes before they are written to the data model).

Details

GdauiDataProxy

typedef struct _GdauiDataProxy GdauiDataProxy;


GdauiDataProxyIface

typedef struct {
	GTypeInterface           g_iface;

	/* virtual table */
	GdaDataProxy        *(* get_proxy)           (GdauiDataProxy *iface);
	void                 (* set_column_editable) (GdauiDataProxy *iface, gint column, gboolean editable);
	void                 (* show_column_actions) (GdauiDataProxy *iface, gint column, gboolean show_actions);
	GtkActionGroup      *(* get_actions_group)   (GdauiDataProxy *iface);
	gboolean             (* set_write_mode)      (GdauiDataProxy *iface, GdauiDataProxyWriteMode mode);
	GdauiDataProxyWriteMode (* get_write_mode)(GdauiDataProxy *iface);

	/* signals */
	void                 (* proxy_changed)       (GdauiDataProxy *iface, GdaDataProxy *proxy);
} GdauiDataProxyIface;


gdaui_data_proxy_get_proxy ()

GdaDataProxy *      gdaui_data_proxy_get_proxy          (GdauiDataProxy *iface);

Get a pointer to the GdaDataProxy being used by iface

iface :

an object which implements the GdauiDataProxy interface

Returns :

a GdaDataProxy pointer. [transfer none]

Since 4.2


gdaui_data_proxy_get_actions_group ()

GtkActionGroup *    gdaui_data_proxy_get_actions_group  (GdauiDataProxy *iface);

Each widget imlplementing the GdauiDataProxy interface provides actions. Actions can be triggered using the gdaui_data_proxy_perform_action() method, but using this method allows for the creation of toolbars, menus, etc calling these actions.

The actions are among:

  • Data edition actions: "ActionNew", "ActionCommit", "ActionDelete", "ActionReset". Note that the "ActionDelete" action is actually a GtkToggleAction action which can be used to delete a row or undelete it.

  • Record by record moving: "ActionFirstRecord", "ActionPrevRecord", "ActionNextRecord", "ActionLastRecord".

  • Chuncks of records moving: "ActionFirstChunck", "ActionPrevChunck", "ActionNextChunck", "ActionLastChunck".

  • Filtering: "ActionFilter".

iface :

an object which implements the GdauiDataProxy interface

Returns :

the GtkActionGroup with all the possible actions on the widget. [transfer none]

Since 4.2


enum GdauiAction

typedef enum {
	/* actions in GdauiDataWidget widgets */
	GDAUI_ACTION_NEW_DATA,
	GDAUI_ACTION_WRITE_MODIFIED_DATA,
	GDAUI_ACTION_DELETE_SELECTED_DATA,
	GDAUI_ACTION_UNDELETE_SELECTED_DATA,
	GDAUI_ACTION_RESET_DATA,
	GDAUI_ACTION_MOVE_FIRST_RECORD,
	GDAUI_ACTION_MOVE_PREV_RECORD,
	GDAUI_ACTION_MOVE_NEXT_RECORD,
	GDAUI_ACTION_MOVE_LAST_RECORD,
	GDAUI_ACTION_MOVE_FIRST_CHUNCK,
        GDAUI_ACTION_MOVE_PREV_CHUNCK,
        GDAUI_ACTION_MOVE_NEXT_CHUNCK,
        GDAUI_ACTION_MOVE_LAST_CHUNCK
} GdauiAction;


gdaui_data_proxy_perform_action ()

void                gdaui_data_proxy_perform_action     (GdauiDataProxy *iface,
                                                         GdauiAction action);

Forces the widget to perform the selected action, as if the user had pressed on the corresponding action button in the iface widget, if the corresponding action is possible and if the iface widget supports the action.

iface :

an object which implements the GdauiDataProxy interface

action :

a GdauiAction action

Since 4.2


gdaui_data_proxy_column_set_editable ()

void                gdaui_data_proxy_column_set_editable
                                                        (GdauiDataProxy *iface,
                                                         gint column,
                                                         gboolean editable);

Sets if the data entry in the iface widget at column (in the data model iface operates on) can be edited or not.

iface :

an object which implements the GdauiDataProxy interface

column :

column number of the data

editable :

set to TRUE to make the column editable

Since 4.2


gdaui_data_proxy_column_show_actions ()

void                gdaui_data_proxy_column_show_actions
                                                        (GdauiDataProxy *iface,
                                                         gint column,
                                                         gboolean show_actions);

Sets if the data entry in the iface widget at column (in the data model iface operates on) must show its actions menu or not.

iface :

an object which implements the GdauiDataProxy interface

column :

column number of the data, or -1 to apply the setting to all the columns

show_actions :

set to TRUE if the actions menu must be shown

Since 4.2


enum GdauiDataProxyWriteMode

typedef enum {
	GDAUI_DATA_PROXY_WRITE_ON_DEMAND           = 0, /* write only when explicitly requested */
	GDAUI_DATA_PROXY_WRITE_ON_ROW_CHANGE       = 1, /* write when the current selected row changes */
	GDAUI_DATA_PROXY_WRITE_ON_VALUE_ACTIVATED  = 2, /* write when user activates a value change */
	GDAUI_DATA_PROXY_WRITE_ON_VALUE_CHANGE     = 3  /* write when a parameters's value changes */
} GdauiDataProxyWriteMode;


gdaui_data_proxy_set_write_mode ()

gboolean            gdaui_data_proxy_set_write_mode     (GdauiDataProxy *iface,
                                                         GdauiDataProxyWriteMode mode);

Specifies the way the modifications stored in the GdaDataProxy used internally by iface are written back to the GdaDataModel which holds the data displayed in iface.

iface :

an object which implements the GdauiDataProxy interface

mode :

the requested GdauiDataProxyWriteMode mode

Returns :

TRUE if the proposed mode has been taken into account

Since 4.2


gdaui_data_proxy_get_write_mode ()

GdauiDataProxyWriteMode gdaui_data_proxy_get_write_mode (GdauiDataProxy *iface);

Get the way the modifications stored in the GdaDataProxy used internally by iface are written back to the GdaDataModel which holds the data displayed in iface.

iface :

an object which implements the GdauiDataProxy interface

Returns :

the write mode used by iface

Since 4.2

Signal Details

The "proxy-changed" signal

void                user_function                      (GdauiDataProxy *gdauidataproxy,
                                                        GdaDataProxy   *arg1,
                                                        gpointer        user_data)           : Run First

The ::proxy-changed signal is emitted each time the GdaDataProxy which would be returned by gdaui_data_proxy_get_proxy() changes. This is generally the result of changes in the structure of the proxied data model (different number and/or type of columns for example).

gdauidataproxy :

the GdauiDataProxy

arg1 :

the GdaDataProxy which would be returned by gdaui_data_proxy_get_proxy()

user_data :

user data set when the signal handler was connected.

See Also

The GdauiDataSelector interface which is usually also implemented by the widgets which implement the GdauiDataProxy interface.