## MgQfField

MgQfField — Represents one field of an entity (through a MgTarget object)

## Synopsis

    struct      MgQfField;
    guint       mg_qf_field_get_type            (void);
    GObject*    mg_qf_field_new_with_objects    (MgQuery *query,
                                                 MgTarget *target,
                                                 MgField *field);
    GObject*    mg_qf_field_new_with_xml_ids    (MgQuery *query,
                                                 const gchar *target_xml_id,
                                                 const gchar *field_xml_id);
    MgField*    mg_qf_field_get_ref_field       (MgQfField *field);
    MgTarget*   mg_qf_field_get_target          (MgQfField *field);

## Object Hierarchy

      GObject
       +----MgBase
             +----MgQfield
                   +----MgQfField

## Implemented Interfaces

MgQfField implements MgXmlStorage, MgRenderer, MgReferer and MgField.

## Properties

      "handler-plugin"       gchararray           : Read / Write
      "query"                gpointer             : Read / Write
      "value-provider"       gpointer             : Read / Write
      "value-provider-xml-id" gchararray           : Read / Write

## Signal Prototypes

    "templ-signal"
                void        user_function      (MgQfField *mgqffield,
                                                gpointer user_data);

## Description

## Details

### struct MgQfField

    struct MgQfField;

### mg_qf_field_get_type ()

    guint       mg_qf_field_get_type            (void);

Returns : |

### mg_qf_field_new_with_objects ()

    GObject*    mg_qf_field_new_with_objects    (MgQuery *query,
                                                 MgTarget *target,
                                                 MgField *field);

Creates a new MgQfField object which represents the `field` of the entity represented by `target`. For example if `target` represents my_table, and `field` represents the "name" field, then the created object would represent 'my_table.name' in SQL notation

REM: `field` MUST belong to the MgEntity represented by `target` (we need the `target` since an entity can appear several times within a query, for self joins for example).

`query` : | a MgQuery in which the new object will be
`target` : | a MgTarget object
`field` : | an object which implements the MgField interface
Returns : | the new object

### mg_qf_field_new_with_xml_ids ()

    GObject*    mg_qf_field_new_with_xml_ids    (MgQuery *query,
                                                 const gchar *target_xml_id,
                                                 const gchar *field_xml_id);

`query` : |
`target_xml_id` : |
`field_xml_id` : |
Returns : |

### mg_qf_field_get_ref_field ()

    MgField*    mg_qf_field_get_ref_field       (MgQfField *field);

Get the real MgField object (well, the object which implements that interface) referenced by `field`

`field` : | a MgQfField object
Returns : | the MgField object, or NULL if `field` is not active

### mg_qf_field_get_target ()

    MgTarget*   mg_qf_field_get_target          (MgQfField *field);

Get the MgTarget object `field` 'belongs' to

`field` : | a MgQfField object
Returns : | the MgTarget object

## Properties

"`handler-plugin`" (gchararray : Read / Write) |
"`query`" (gpointer : Read / Write) |
"`value-provider`" (gpointer : Read / Write) |
"`value-provider-xml-id`" (gchararray : Read / Write) |

## Signals

### The "templ-signal" signal

    void        user_function                  (MgQfField *mgqffield,
                                                gpointer user_data);

`mgqffield` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.