## ETreeViewFrame

ETreeViewFrame — A frame for GtkTreeView

## Functions

GtkWidget * | e_tree_view_frame_new ()
GtkTreeView * | e_tree_view_frame_get_tree_view ()
void | e_tree_view_frame_set_tree_view ()
gboolean | e_tree_view_frame_get_toolbar_visible ()
void | e_tree_view_frame_set_toolbar_visible ()
GtkPolicyType | e_tree_view_frame_get_hscrollbar_policy ()
void | e_tree_view_frame_set_hscrollbar_policy ()
GtkPolicyType | e_tree_view_frame_get_vscrollbar_policy ()
void | e_tree_view_frame_set_vscrollbar_policy ()
void | e_tree_view_frame_insert_toolbar_action ()
EUIAction * | e_tree_view_frame_lookup_toolbar_action ()
void | e_tree_view_frame_update_toolbar_actions ()

## Properties

GtkPolicyType | hscrollbar-policy | Read / Write / Construct
gboolean | toolbar-visible | Read / Write / Construct
GtkTreeView * | tree-view | Read / Write
GtkPolicyType | vscrollbar-policy | Read / Write / Construct

## Signals

gboolean | toolbar-action-activate | Has Details
void | update-toolbar-actions | Run Last

## Types and Values

#define | E_TREE_VIEW_FRAME_ACTION_ADD
#define | E_TREE_VIEW_FRAME_ACTION_REMOVE
#define | E_TREE_VIEW_FRAME_ACTION_MOVE_TOP
#define | E_TREE_VIEW_FRAME_ACTION_MOVE_UP
#define | E_TREE_VIEW_FRAME_ACTION_MOVE_DOWN
#define | E_TREE_VIEW_FRAME_ACTION_MOVE_BOTTOM
#define | E_TREE_VIEW_FRAME_ACTION_SELECT_ALL
struct | ETreeViewFrame

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── ETreeViewFrame
                            ├── EProxySelector
                            ╰── ETableColumnSelector

## Implemented Interfaces

ETreeViewFrame implements AtkImplementorIface, GtkBuildable, GtkOrientable and EExtensible.

## Includes

    #include <e-util/e-util.h>

## Description

ETreeViewFrame embeds a GtkTreeView in a scrolled window and adds an inline-style toolbar beneath the scrolled window which can be hidden.

The inline-style toolbar supports "add" and "remove" actions, as well as move actions if the tree view is reorderable and selection actions if the tree view supports multiple selections. The action set can be extended through `e_tree_view_frame_insert_toolbar_action()`.

## Functions

### e_tree_view_frame_new ()

    GtkWidget *
    e_tree_view_frame_new (void);

Creates a new ETreeViewFrame.

#### Returns

an ETreeViewFrame

### e_tree_view_frame_get_tree_view ()

    GtkTreeView *
    e_tree_view_frame_get_tree_view (ETreeViewFrame *tree_view_frame);

Returns the “tree-view” for `tree_view_frame` .

The `tree_view_frame` creates its own GtkTreeView by default, but that instance can be replaced with `e_tree_view_frame_set_tree_view()`.

#### Parameters

tree_view_frame | an ETreeViewFrame |

#### Returns

a GtkTreeView

### e_tree_view_frame_set_tree_view ()

    void
    e_tree_view_frame_set_tree_view (ETreeViewFrame *tree_view_frame,
                                     GtkTreeView *tree_view);

Replaces the previous “tree-view” with the given `tree_view` . If `tree_view` is `NULL`, the `tree_view_frame` creates a new GtkTreeView.

#### Parameters

tree_view_frame | an ETreeViewFrame |
tree_view | a GtkTreeView, or `NULL` |

### e_tree_view_frame_get_toolbar_visible ()

    gboolean
    e_tree_view_frame_get_toolbar_visible (ETreeViewFrame *tree_view_frame);

Returns whether the inline toolbar in `tree_view_frame` is visible.

#### Parameters

tree_view_frame | an ETreeViewFrame |

#### Returns

`TRUE` if the toolbar is visible, `FALSE` if invisible

### e_tree_view_frame_set_toolbar_visible ()

    void
    e_tree_view_frame_set_toolbar_visible (ETreeViewFrame *tree_view_frame,
                                           gboolean toolbar_visible);

Shows or hides the inline toolbar in `tree_view_frame` .

#### Parameters

tree_view_frame | an ETreeViewFrame |
toolbar_visible | whether to make the toolbar visible |

### e_tree_view_frame_get_hscrollbar_policy ()

    GtkPolicyType
    e_tree_view_frame_get_hscrollbar_policy
                                   (ETreeViewFrame *tree_view_frame);

Returns the policy for the horizontal scrollbar in `tree_view_frame` .

#### Parameters

tree_view_frame | an ETreeViewFrame |

#### Returns

the policy for the horizontal scrollbar

### e_tree_view_frame_set_hscrollbar_policy ()

    void
    e_tree_view_frame_set_hscrollbar_policy
                                   (ETreeViewFrame *tree_view_frame,
                                    GtkPolicyType hscrollbar_policy);

Sets the policy for the horizontal scrollbar in `tree_view_frame` .

#### Parameters

tree_view_frame | an ETreeViewFrame |
hscrollbar_policy | the policy for the horizontal scrollbar |

### e_tree_view_frame_get_vscrollbar_policy ()

    GtkPolicyType
    e_tree_view_frame_get_vscrollbar_policy
                                   (ETreeViewFrame *tree_view_frame);

Returns the policy for the vertical scrollbar in `tree_view_frame` .

#### Parameters

tree_view_frame | an ETreeViewFrame |

#### Returns

the policy for the vertical scrollbar

### e_tree_view_frame_set_vscrollbar_policy ()

    void
    e_tree_view_frame_set_vscrollbar_policy
                                   (ETreeViewFrame *tree_view_frame,
                                    GtkPolicyType vscrollbar_policy);

Sets the policy for the vertical scrollbar in `tree_view_frame` .

#### Parameters

tree_view_frame | an ETreeViewFrame |
vscrollbar_policy | the policy for the vertical scrollbar |

### e_tree_view_frame_insert_toolbar_action ()

    void
    e_tree_view_frame_insert_toolbar_action
                                   (ETreeViewFrame *tree_view_frame,
                                    EUIAction *action,
                                    gint position);

Generates a GtkToolItem from `action` and inserts it into the inline toolbar at the given `position` . If `position` is zero, the item is prepended to the start of the toolbar. If `position` is negative, the item is appended to the end of the toolbar.

#### Parameters

tree_view_frame | an ETreeViewFrame |
action | an EUIAction |
position | the position of the new action |

### e_tree_view_frame_lookup_toolbar_action ()

    EUIAction *
    e_tree_view_frame_lookup_toolbar_action
                                   (ETreeViewFrame *tree_view_frame,
                                    const gchar *action_name);

Returns the toolbar action named `action_name` , or `NULL` if no such toolbar action exists.

#### Parameters

tree_view_frame | an ETreeViewFrame |
action_name | an EUIAction name |

#### Returns

an EUIAction, or `NULL`

### e_tree_view_frame_update_toolbar_actions ()

    void
    e_tree_view_frame_update_toolbar_actions
                                   (ETreeViewFrame *tree_view_frame);

Emits the “update-toolbar-actions” signal.

See the signal description for more details.

#### Parameters

tree_view_frame | an ETreeViewFrame |

## Types and Values

### E_TREE_VIEW_FRAME_ACTION_ADD

    #define E_TREE_VIEW_FRAME_ACTION_ADD		"e-tree-view-frame-add"

The EUIAction name for the "add" toolbar button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUAction.

### E_TREE_VIEW_FRAME_ACTION_REMOVE

    #define E_TREE_VIEW_FRAME_ACTION_REMOVE		"e-tree-view-frame-remove"

The EUIAction name for the "remove" toolbar button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUIAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_TOP

    #define E_TREE_VIEW_FRAME_ACTION_MOVE_TOP "e-tree-view-frame-move-top"

The EUIAction name for the "move selected items to top" button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUIAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_UP

    #define E_TREE_VIEW_FRAME_ACTION_MOVE_UP "e-tree-view-frame-move-up"

The EUIAction name for the "move selected items up" button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUIAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_DOWN

    #define E_TREE_VIEW_FRAME_ACTION_MOVE_DOWN "e-tree-view-frame-move-down"

The EUIAction name for the "move selected items down" button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUIAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_BOTTOM

    #define E_TREE_VIEW_FRAME_ACTION_MOVE_BOTTOM "e-tree-view-frame-move-bottom"

The EUIAction name for the "move selected items to bottom" button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUIAction.

### E_TREE_VIEW_FRAME_ACTION_SELECT_ALL

    #define E_TREE_VIEW_FRAME_ACTION_SELECT_ALL "e-tree-view-frame-select-all"

The EUIAction name for the "select all" button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the EUIAction.

### struct ETreeViewFrame

    struct ETreeViewFrame;

Contains only private data that should be read and manipulated using the functions below.

## Property Details

### The `“hscrollbar-policy”` property

      “hscrollbar-policy”        GtkPolicyType

When the horizontal scrollbar is displayed.

Owner: ETreeViewFrame

Flags: Read / Write / Construct

Default value: GTK_POLICY_AUTOMATIC

### The `“toolbar-visible”` property

      “toolbar-visible”          gboolean

Whether to show the inline toolbar.

Owner: ETreeViewFrame

Flags: Read / Write / Construct

Default value: TRUE

### The `“tree-view”` property

      “tree-view”                GtkTreeView *

The tree view widget.

Owner: ETreeViewFrame

Flags: Read / Write

### The `“vscrollbar-policy”` property

      “vscrollbar-policy”        GtkPolicyType

When the vertical scrollbar is displayed.

Owner: ETreeViewFrame

Flags: Read / Write / Construct

Default value: GTK_POLICY_AUTOMATIC

## Signal Details

### The `“toolbar-action-activate”` signal

    gboolean
    user_function (ETreeViewFrame *tree_view_frame,
                   EUIAction      *action,
                   gpointer        user_data)

Emitted when a toolbar action is activated.

This signal supports "::detail" appendices to the signal name, where the "detail" part is the action name. So you can connect a signal handler to a particular action.

#### Parameters

tree_view_frame | the ETreeViewFrame that received the signal |
action | the EUIAction that was activated |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“update-toolbar-actions”` signal

    void
    user_function (ETreeViewFrame *tree_view_frame,
                   gpointer        user_data)

Requests toolbar actions be updated, usually in response to a GtkTreeSelection change. Handlers should update action properties like “visible” and “sensitive” based on the current “tree-view” state.

#### Parameters

tree_view_frame | the ETreeViewFrame that received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last