CellAreaBox

The #GtkCellAreaBox renders cell renderers into a row or a column depending on its #GtkOrientation.

GtkCellAreaBox uses a notion of packing. Packing refers to adding cell renderers with reference to a particular position in a #GtkCellAreaBox. There are two reference positions: the start and the end of the box. When the #GtkCellAreaBox is oriented in the %GTK_ORIENTATION_VERTICAL orientation, the start is defined as the top of the box and the end is defined as the bottom. In the %GTK_ORIENTATION_HORIZONTAL orientation start is defined as the left side and the end is defined as the right side.

Alignments of #GtkCellRenderers rendered in adjacent rows can be configured by configuring the #GtkCellAreaBox align child cell property with gtk_cell_area_cell_set_property() or by specifying the "align" argument to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end().

Constructors

this
this(GtkCellAreaBox* gtkCellAreaBox, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a new #GtkCellAreaBox.

Members

Functions

getCellAreaBoxStruct
GtkCellAreaBox* getCellAreaBoxStruct(bool transferOwnership)

Get the main Gtk struct

getSpacing
int getSpacing()

Gets the spacing added between cell renderers.

getStruct
void* getStruct()

the main Gtk struct as a void*

packEnd
void packEnd(CellRenderer renderer, bool expand, bool align_, bool fixed)

Adds @renderer to @box, packed with reference to the end of @box.

packStart
void packStart(CellRenderer renderer, bool expand, bool align_, bool fixed)

Adds @renderer to @box, packed with reference to the start of @box.

setSpacing
void setSpacing(int spacing)

Sets the spacing to add between cell renderers in @box.

Mixins

__anonymous
mixin OrientableT!(GtkCellAreaBox)
Undocumented in source.

Static functions

getType
GType getType()

Variables

gtkCellAreaBox
GtkCellAreaBox* gtkCellAreaBox;

the main Gtk struct

Inherited Members

From CellArea

gtkCellArea
GtkCellArea* gtkCellArea;

the main Gtk struct

getCellAreaStruct
GtkCellArea* getCellAreaStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

__anonymous
mixin BuildableT!(GtkCellArea)
Undocumented in source.
__anonymous
mixin CellLayoutT!(GtkCellArea)
Undocumented in source.
getType
GType getType()
activate
bool activate(CellAreaContext context, Widget widget, GdkRectangle* cellArea, GtkCellRendererState flags, bool editOnly)

Activates @area, usually by activating the currently focused cell, however some subclasses which embed widgets in the area can also activate a widget if it currently has the focus.

activateCell
bool activateCell(Widget widget, CellRenderer renderer, Event event, GdkRectangle* cellArea, GtkCellRendererState flags)

This is used by #GtkCellArea subclasses when handling events to activate cells, the base #GtkCellArea class activates cells for keyboard events for free in its own GtkCellArea->activate() implementation.

add
void add(CellRenderer renderer)

Adds @renderer to @area with the default child cell properties.

addFocusSibling
void addFocusSibling(CellRenderer renderer, CellRenderer sibling)

Adds @sibling to @renderer’s focusable area, focus will be drawn around @renderer and all of its siblings if @renderer can focus for a given row.

applyAttributes
void applyAttributes(TreeModelIF treeModel, TreeIter iter, bool isExpander, bool isExpanded)

Applies any connected attributes to the renderers in @area by pulling the values from @tree_model.

attributeConnect
void attributeConnect(CellRenderer renderer, string attribute, int column)

Connects an @attribute to apply values from @column for the #GtkTreeModel in use.

attributeDisconnect
void attributeDisconnect(CellRenderer renderer, string attribute)

Disconnects @attribute for the @renderer in @area so that attribute will no longer be updated with values from the model.

attributeGetColumn
int attributeGetColumn(CellRenderer renderer, string attribute)

Returns the model column that an attribute has been mapped to, or -1 if the attribute is not mapped.

cellGetProperty
void cellGetProperty(CellRenderer renderer, string propertyName, Value value)

Gets the value of a cell property for @renderer in @area.

cellGetValist
void cellGetValist(CellRenderer renderer, string firstPropertyName, void* varArgs)

Gets the values of one or more cell properties for @renderer in @area.

cellSetProperty
void cellSetProperty(CellRenderer renderer, string propertyName, Value value)

Sets a cell property for @renderer in @area.

cellSetValist
void cellSetValist(CellRenderer renderer, string firstPropertyName, void* varArgs)

Sets one or more cell properties for @renderer in @area.

copyContext
CellAreaContext copyContext(CellAreaContext context)

This is sometimes needed for cases where rows need to share alignments in one orientation but may be separately grouped in the opposing orientation.

createContext
CellAreaContext createContext()

Creates a #GtkCellAreaContext to be used with @area for all purposes. #GtkCellAreaContext stores geometry information for rows for which it was operated on, it is important to use the same context for the same row of data at all times (i.e. one should render and handle events with the same #GtkCellAreaContext which was used to request the size of those rows of data).

event
int event(CellAreaContext context, Widget widget, Event event, GdkRectangle* cellArea, GtkCellRendererState flags)

Delegates event handling to a #GtkCellArea.

focus
bool focus(GtkDirectionType direction)

This should be called by the @area’s owning layout widget when focus is to be passed to @area, or moved within @area for a given @direction and row data.

foreac
alias foreac = foreach_
Undocumented in source.
foreach_
void foreach_(GtkCellCallback callback, void* callbackData)

Calls @callback for every #GtkCellRenderer in @area.

foreachAlloc
void foreachAlloc(CellAreaContext context, Widget widget, GdkRectangle* cellArea, GdkRectangle* backgroundArea, GtkCellAllocCallback callback, void* callbackData)

Calls @callback for every #GtkCellRenderer in @area with the allocated rectangle inside @cell_area.

getCellAllocation
void getCellAllocation(CellAreaContext context, Widget widget, CellRenderer renderer, GdkRectangle* cellArea, GdkRectangle allocation)

Derives the allocation of @renderer inside @area if @area were to be renderered in @cell_area.

getCellAtPosition
CellRenderer getCellAtPosition(CellAreaContext context, Widget widget, GdkRectangle* cellArea, int x, int y, GdkRectangle allocArea)

Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally returns the full cell allocation for it inside @cell_area.

getCurrentPathString
string getCurrentPathString()

Gets the current #GtkTreePath string for the currently applied #GtkTreeIter, this is implicitly updated when gtk_cell_area_apply_attributes() is called and can be used to interact with renderers from #GtkCellArea subclasses.

getEditWidget
CellEditableIF getEditWidget()

Gets the #GtkCellEditable widget currently used to edit the currently edited cell.

getEditedCell
CellRenderer getEditedCell()

Gets the #GtkCellRenderer in @area that is currently being edited.

getFocusCell
CellRenderer getFocusCell()

Retrieves the currently focused cell for @area

getFocusFromSibling
CellRenderer getFocusFromSibling(CellRenderer renderer)

Gets the #GtkCellRenderer which is expected to be focusable for which @renderer is, or may be a sibling.

getFocusSiblings
ListG getFocusSiblings(CellRenderer renderer)

Gets the focus sibling cell renderers for @renderer.

getPreferredHeight
void getPreferredHeight(CellAreaContext context, Widget widget, int minimumHeight, int naturalHeight)

Retrieves a cell area’s initial minimum and natural height.

getPreferredHeightForWidth
void getPreferredHeightForWidth(CellAreaContext context, Widget widget, int width, int minimumHeight, int naturalHeight)

Retrieves a cell area’s minimum and natural height if it would be given the specified @width.

getPreferredWidth
void getPreferredWidth(CellAreaContext context, Widget widget, int minimumWidth, int naturalWidth)

Retrieves a cell area’s initial minimum and natural width.

getPreferredWidthForHeight
void getPreferredWidthForHeight(CellAreaContext context, Widget widget, int height, int minimumWidth, int naturalWidth)

Retrieves a cell area’s minimum and natural width if it would be given the specified @height.

getRequestMode
GtkSizeRequestMode getRequestMode()

Gets whether the area prefers a height-for-width layout or a width-for-height layout.

hasRenderer
bool hasRenderer(CellRenderer renderer)

Checks if @area contains @renderer.

innerCellArea
void innerCellArea(Widget widget, GdkRectangle* cellArea, GdkRectangle innerArea)

This is a convenience function for #GtkCellArea implementations to get the inner area where a given #GtkCellRenderer will be rendered. It removes any padding previously added by gtk_cell_area_request_renderer().

isActivatable
bool isActivatable()

Returns whether the area can do anything when activated, after applying new attributes to @area.

isFocusSibling
bool isFocusSibling(CellRenderer renderer, CellRenderer sibling)

Returns whether @sibling is one of @renderer’s focus siblings (see gtk_cell_area_add_focus_sibling()).

remove
void remove(CellRenderer renderer)

Removes @renderer from @area.

removeFocusSibling
void removeFocusSibling(CellRenderer renderer, CellRenderer sibling)

Removes @sibling from @renderer’s focus sibling list (see gtk_cell_area_add_focus_sibling()).

render
void render(CellAreaContext context, Widget widget, Context cr, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags, bool paintFocus)

Renders @area’s cells according to @area’s layout onto @widget at the given coordinates.

requestRenderer
void requestRenderer(CellRenderer renderer, GtkOrientation orientation, Widget widget, int forSize, int minimumSize, int naturalSize)

This is a convenience function for #GtkCellArea implementations to request size for cell renderers. It’s important to use this function to request size and then use gtk_cell_area_inner_cell_area() at render and event time since this function will add padding around the cell for focus painting.

setFocusCell
void setFocusCell(CellRenderer renderer)

Explicitly sets the currently focused cell to @renderer.

stopEditing
void stopEditing(bool canceled)

Explicitly stops the editing of the currently edited cell.

addOnAddEditable
gulong addOnAddEditable(void delegate(CellRenderer, CellEditableIF, GdkRectangle*, string, CellArea) dlg, ConnectFlags connectFlags)

Indicates that editing has started on @renderer and that @editable should be added to the owning cell-layouting widget at @cell_area.

addOnApplyAttributes
gulong addOnApplyAttributes(void delegate(TreeModelIF, TreeIter, bool, bool, CellArea) dlg, ConnectFlags connectFlags)

This signal is emitted whenever applying attributes to @area from @model

addOnFocusChanged
gulong addOnFocusChanged(void delegate(CellRenderer, string, CellArea) dlg, ConnectFlags connectFlags)

Indicates that focus changed on this @area. This signal is emitted either as a result of focus handling or event handling.

addOnRemoveEditable
gulong addOnRemoveEditable(void delegate(CellRenderer, CellEditableIF, CellArea) dlg, ConnectFlags connectFlags)

Indicates that editing finished on @renderer and that @editable should be removed from the owning cell-layouting widget.

From OrientableIF

getOrientableStruct
GtkOrientable* getOrientableStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getType
GType getType()
getOrientation
GtkOrientation getOrientation()

Retrieves the orientation of the @orientable.

setOrientation
void setOrientation(GtkOrientation orientation)

Sets the orientation of the @orientable.

Meta