## 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 ()
GtkAction * | 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

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

## 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,
                                    GtkAction *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 | a GtkAction |
position | the position of the new action |

### e_tree_view_frame_lookup_toolbar_action ()

    GtkAction *
    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 | a GtkAction name |

#### Returns

a GtkAction, 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

### struct ETreeViewFrame

    struct ETreeViewFrame;

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

### E_TREE_VIEW_FRAME_ACTION_ADD

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

The GtkAction name for the "add" toolbar button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

### E_TREE_VIEW_FRAME_ACTION_REMOVE

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

The GtkAction name for the "remove" toolbar button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_TOP

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

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

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_UP

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

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

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_DOWN

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

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

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

### E_TREE_VIEW_FRAME_ACTION_MOVE_BOTTOM

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

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

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

### E_TREE_VIEW_FRAME_ACTION_SELECT_ALL

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

The GtkAction name for the "select all" button.

Use `e_tree_view_frame_lookup_toolbar_action()` to obtain the GtkAction.

## Property Details

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

      “hscrollbar-policy”        GtkPolicyType

When the horizontal scrollbar is displayed.

Flags: Read / Write / Construct

Default value: GTK_POLICY_AUTOMATIC

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

      “toolbar-visible”          gboolean

Whether to show the inline toolbar.

Flags: Read / Write / Construct

Default value: TRUE

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

      “tree-view”                GtkTreeView *

The tree view widget.

Flags: Read / Write

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

      “vscrollbar-policy”        GtkPolicyType

When the vertical scrollbar is displayed.

Flags: Read / Write / Construct

Default value: GTK_POLICY_AUTOMATIC

## Signal Details

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

    gboolean
    user_function (ETreeViewFrame *tree_view_frame,
                   GtkAction      *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 GtkAction “name”. So you can connect a signal handler to a particular action.

#### Parameters

tree_view_frame | the ETreeViewFrame that received the signal |
action | the GtkAction 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 GtkAction 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