## GdauiDataProxy GdauiDataProxy |

## 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

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

Since 4.2

### gdaui_data_proxy_get_actions_group ()

    GtkActionGroup *    gdaui_data_proxy_get_actions_group  (GdauiDataProxy *iface);

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

Since 4.2

### gdaui_data_proxy_column_set_editable ()

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

Since 4.2

### gdaui_data_proxy_column_show_actions ()

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

Since 4.2

### enum GdauiDataProxyWriteMode

    typedef enum {
    	GDAUI_DATA_PROXY_WRITE_ON_DEMAND           = 0,
    	GDAUI_DATA_PROXY_WRITE_ON_ROW_CHANGE       = 1,
    	GDAUI_DATA_PROXY_WRITE_ON_VALUE_ACTIVATED  = 2,
    	GDAUI_DATA_PROXY_WRITE_ON_VALUE_CHANGE     = 3
    } GdauiDataProxyWriteMode;

### gdaui_data_proxy_set_write_mode ()

    gboolean            gdaui_data_proxy_set_write_mode     (GdauiDataProxy *iface,
                                                             GdauiDataProxyWriteMode mode);

Since 4.2

### gdaui_data_proxy_get_write_mode ()

    GdauiDataProxyWriteMode gdaui_data_proxy_get_write_mode (GdauiDataProxy *iface);

Since 4.2

## Signal Details

### The `"proxy-changed"` signal

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