## EmpathyContactWidget

EmpathyContactWidget — A widget used to display and edit details about a contact

## Synopsis

    #include <libempathy-empathy-contact-widget.h>

    enum                EmpathyContactWidgetFlags;
    GtkWidget *         empathy_contact_widget_new          (EmpathyContact *contact,
                                                             EmpathyContactWidgetFlags flags);
    EmpathyContact *    empathy_contact_widget_get_contact  (GtkWidget *widget);
    void                empathy_contact_widget_set_contact  (GtkWidget *widget,
                                                             EmpathyContact *contact);
    void                empathy_contact_widget_set_account_filter
                                                            (GtkWidget *widget,
                                                             EmpathyAccountChooserFilterFunc filter,
                                                             gpointer user_data);

## Description

EmpathyContactWidget is a widget which displays appropriate widgets with details about a contact, also allowing changing these details, if desired.

## Details

### enum EmpathyContactWidgetFlags

    typedef enum
    {
      EMPATHY_CONTACT_WIDGET_EDIT_NONE    = 0,
      EMPATHY_CONTACT_WIDGET_EDIT_ALIAS   = 1 << 0,
      EMPATHY_CONTACT_WIDGET_EDIT_AVATAR  = 1 << 1,
      EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT = 1 << 2,
      EMPATHY_CONTACT_WIDGET_EDIT_ID      = 1 << 3,
      EMPATHY_CONTACT_WIDGET_EDIT_GROUPS  = 1 << 4,
      EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP  = 1 << 5,
      EMPATHY_CONTACT_WIDGET_SHOW_LOCATION  = 1 << 6,
    } EmpathyContactWidgetFlags;

Flags used when creating an EmpathyContactWidget to specify which features should be available.

`EMPATHY_CONTACT_WIDGET_EDIT_NONE` | Don't show any widgets to edit any details of the contact. This should be the option for widgets that merely display information about a contact.
`EMPATHY_CONTACT_WIDGET_EDIT_ALIAS` | Show a GtkEntry allowing changes to the contact's alias.
`EMPATHY_CONTACT_WIDGET_EDIT_AVATAR` | Show an EmpathyAvatarChooser allowing changes to the contact's avatar.
`EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT` | Show an EmpathyAccountChooser allowing changes to the contact's account.
`EMPATHY_CONTACT_WIDGET_EDIT_ID` | Show a GtkEntry allowing changes to the contact's identifier.
`EMPATHY_CONTACT_WIDGET_EDIT_GROUPS` | Show a widget to change the groups the contact is in.
`EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP` | Make widgets more designed for a tooltip. For example, make widgets not selectable.
`EMPATHY_CONTACT_WIDGET_SHOW_LOCATION` |

### empathy_contact_widget_new ()

    GtkWidget *         empathy_contact_widget_new          (EmpathyContact *contact,
                                                             EmpathyContactWidgetFlags flags);

Creates a new EmpathyContactWidget.

`contact` : | an EmpathyContact
`flags` : | EmpathyContactWidgetFlags for the new contact widget
Returns : | a new EmpathyContactWidget

### empathy_contact_widget_get_contact ()

    EmpathyContact *    empathy_contact_widget_get_contact  (GtkWidget *widget);

Get the EmpathyContact related with the EmpathyContactWidget `widget`.

`widget` : | an EmpathyContactWidget
Returns : | the EmpathyContact associated with `widget`

### empathy_contact_widget_set_contact ()

    void                empathy_contact_widget_set_contact  (GtkWidget *widget,
                                                             EmpathyContact *contact);

Change the EmpathyContact related with the EmpathyContactWidget `widget`.

`widget` : | an EmpathyContactWidget
`contact` : | a different EmpathyContact

### empathy_contact_widget_set_account_filter ()

    void                empathy_contact_widget_set_account_filter
                                                            (GtkWidget *widget,
                                                             EmpathyAccountChooserFilterFunc filter,
                                                             gpointer user_data);

Set a filter on the EmpathyAccountChooser included in the EmpathyContactWidget.

`widget` : | an EmpathyContactWidget
`filter` : | a EmpathyAccountChooserFilterFunc
`user_data` : | user data to pass to `filter`, or `NULL`