IdeGrid

IdeGrid — A grid for IdePage

Functions

Properties

Signals

Types and Values

#define IDE_TYPE_GRID
struct IdeGridClass
  IdeGrid

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── DzlMultiPaned
                    ╰── IdeGrid

Implemented Interfaces

IdeGrid implements AtkImplementorIface, GtkBuildable, GtkOrientable and GListModel.

Description

The IdeGrid provides a grid of pages that the user may manipulate.

Internally, this is implemented with IdeGrid at the top containing one or more of IdeGridColumn. Those columns contain one or more IdeFrame. The stack can contain many IdePage.

IdeGrid implements the GListModel interface to simplify the process of listing (with deduplication) the pages that are contianed within the IdeGrid. If you would instead like to see all possible pages in the stack, use the ide_grid_foreach_page() API.

Functions

ide_grid_new ()

GtkWidget *
ide_grid_new (void);

Creates a new IdeGrid.

Returns

A newly created IdeGrid.

[transfer full]

Since: 3.32


ide_grid_get_nth_column ()

IdeGridColumn *
ide_grid_get_nth_column (IdeGrid *self,
                         gint nth);

Gets the nth column from the grid.

If nth is -1, then a new column at the beginning of the grid is created.

If nth is >= the number of columns in the grid, then a new column at the end of the grid is created.

Parameters

self

a IdeGrid

 

nth

the index of the column, or -1

 

Returns

An IdeGridColumn.

[transfer none]

Since: 3.32


ide_grid_focus_neighbor ()

IdePage *
ide_grid_focus_neighbor (IdeGrid *self,
                         GtkDirectionType dir);

Attempts to focus a neighbor IdePage in the grid based on the direction requested.

If an IdePage was focused, it will be returned to the caller.

Parameters

self

An IdeGrid

 

dir

the direction for the focus change

 

Returns

An IdePage or NULL.

[transfer none][nullable]

Since: 3.32


ide_grid_get_current_column ()

IdeGridColumn *
ide_grid_get_current_column (IdeGrid *self);

Gets the most recently focused column of the grid.

Parameters

self

a IdeGrid

 

Returns

An IdeGridColumn.

[transfer none][not nullable]

Since: 3.32


ide_grid_set_current_column ()

void
ide_grid_set_current_column (IdeGrid *self,
                             IdeGridColumn *column);

Sets the current column for the grid. Generally this is automatically updated for you when the focus changes within the workbench.

column can be NULL out of convenience.

Parameters

self

an IdeGrid

 

column

an IdeGridColumn or NULL.

[nullable]

Since: 3.32


ide_grid_get_current_stack ()

IdeFrame *
ide_grid_get_current_stack (IdeGrid *self);

Gets the most recently focused stack. This is useful when you want to open a document on the stack the user last focused.

Parameters

self

a IdeGrid

 

Returns

an IdeFrame or NULL.

[transfer none][nullable]

Since: 3.32


ide_grid_get_current_page ()

IdePage *
ide_grid_get_current_page (IdeGrid *self);

Gets the most recent page used by the user as determined by tracking the window focus.

Parameters

self

a IdeGrid

 

Returns

An IdePage or NULL.

[transfer none]

Since: 3.32


ide_grid_count_pages ()

guint
ide_grid_count_pages (IdeGrid *self);

ide_grid_foreach_page ()

void
ide_grid_foreach_page (IdeGrid *self,
                       GtkCallback callback,
                       gpointer user_data);

This function will call callback for every page found in self .

Parameters

self

a IdeGrid

 

callback

A callback for each page.

[scope call][closure user_data]

user_data

user data for callback

 

Since: 3.32

Types and Values

IDE_TYPE_GRID

#define IDE_TYPE_GRID (ide_grid_get_type())

struct IdeGridClass

struct IdeGridClass {
  DzlMultiPanedClass parent_class;

  IdeFrame *(*create_frame) (IdeGrid     *self);
  IdePage  *(*create_page)  (IdeGrid     *self,
                             const gchar *uri);
};

IdeGrid

typedef struct _IdeGrid IdeGrid;

Property Details

The “current-column” property

  “current-column”           IdeGridColumn *

The most recently focused grid column.

Owner: IdeGrid

Flags: Read / Write


The “current-page” property

  “current-page”             IdePage *

The most recently focused IdePage.

Owner: IdeGrid

Flags: Read


The “current-stack” property

  “current-stack”            IdeFrame *

The most recently focused IdeFrame.

Owner: IdeGrid

Flags: Read

Signal Details

The “create-page” signal

IdePage*
user_function (IdeGrid *self,
               gchar   *uri,
               gpointer user_data)

Creates a new page for uri to be added to the grid.

Parameters

self

an IdeGrid

 

uri

the URI to open

 

user_data

user data set when the signal handler was connected.

 

Returns

A newly created IdePage.

[transfer full]

Flags: Run Last

Since: 3.32


The “create-stack” signal

IdeFrame*
user_function (IdeGrid *self,
               gpointer user_data)

Creates a new stack to be added to the grid.

Parameters

self

an IdeGrid

 

user_data

user data set when the signal handler was connected.

 

Returns

A newly created IdeFrame.

[transfer full]

Flags: Run Last

Since: 3.32