Example #1
0
void
gui_layout_window_remove (struct t_gui_layout_window *layout_window)
{
    /* first free children */
    if (layout_window->child1)
        gui_layout_window_remove (layout_window->child1);
    if (layout_window->child2)
        gui_layout_window_remove (layout_window->child2);

    /* free data */
    if (layout_window->plugin_name)
        free (layout_window->plugin_name);
    if (layout_window->buffer_name)
        free (layout_window->buffer_name);

    free (layout_window);
}
Example #2
0
void
gui_layout_window_remove_all (struct t_gui_layout_window **layout_windows)
{
    if (*layout_windows)
    {
        gui_layout_window_remove (*layout_windows);
        *layout_windows = NULL;
    }
}
Example #3
0
void
gui_layout_window_remove_all (struct t_gui_layout *layout)
{
    if (!layout)
        return;

    if (layout->layout_windows)
    {
        gui_layout_window_remove (layout->layout_windows);
        layout->layout_windows = NULL;
    }
}
Example #4
0
void
gui_layout_window_store (struct t_gui_layout *layout)
{
    if (!layout)
        return;

    gui_layout_window_remove (layout->layout_windows);

    layout->internal_id = 1;
    layout->internal_id_current_window = -1;

    gui_layout_window_store_tree (layout, &layout->layout_windows, NULL,
                                 gui_windows_tree);
}
Example #5
0
void
gui_layout_free (struct t_gui_layout *layout)
{
    if (!layout)
        return;

    /* remove current layout if this is the layout we are removing */
    if (gui_layout_current == layout)
        gui_layout_current = NULL;

    /* remove buffers and windows */
    gui_layout_buffer_remove_all (layout);
    gui_layout_window_remove (layout->layout_windows);

    /* free data */
    if (layout->name)
        free (layout->name);

    free (layout);
}