GtkCellAreaClass

struct GtkCellAreaClass {}

Members

Variables

activate
bool function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, const(GdkRectangle)* cellArea, GtkCellRendererState flags, bool editOnly) activate;

This is called when the layouting widget rendering the gtk.cell_area.CellArea activates the focus cell (see gtk.cell_area.CellArea.getFocusCell).

add
void function(GtkCellArea* area, GtkCellRenderer* renderer) add;

adds a gtk.cell_renderer.CellRenderer to the area.

applyAttributes
void function(GtkCellArea* area, GtkTreeModel* treeModel, GtkTreeIter* iter, bool isExpander, bool isExpanded) applyAttributes;

Apply the cell attributes to the cells. This is implemented as a signal and generally gtk.cell_area.CellArea subclasses don't need to implement it since it is handled by the base class.

copyContext
GtkCellAreaContext* function(GtkCellArea* area, GtkCellAreaContext* context) copyContext;

Creates a new gtk.cell_area_context.CellAreaContext in the same state as the passed @context with any cell alignment data and allocations intact.

createContext
GtkCellAreaContext* function(GtkCellArea* area) createContext;

Creates and returns a class specific gtk.cell_area_context.CellAreaContext to store cell alignment and allocation details for a said gtk.cell_area.CellArea class.

event
int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkEvent* event, const(GdkRectangle)* cellArea, GtkCellRendererState flags) event;

Handle an event in the area, this is generally used to activate a cell at the event location for button events but can also be used to generically pass events to gtk.widget.Widgets drawn onto the area.

focus
bool function(GtkCellArea* area, GtkDirectionType direction) focus;

This virtual method should be implemented to navigate focus from cell to cell inside the gtk.cell_area.CellArea. The gtk.cell_area.CellArea should move focus from cell to cell inside the area and return false if focus logically leaves the area with the following exceptions: When the area contains no activatable cells, the entire area receives focus. Focus should not be given to cells that are actually “focus siblings” of other sibling cells (see gtk.cell_area.CellArea.getFocusFromSibling). Focus is set by calling gtk.cell_area.CellArea.setFocusCell.

foreachAlloc
void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, const(GdkRectangle)* cellArea, const(GdkRectangle)* backgroundArea, GtkCellAllocCallback callback, void* callbackData) foreachAlloc;

Calls the gtk.types.CellAllocCallback function on every gtk.cell_renderer.CellRenderer in the area with the allocated area for the cell and the provided user data until the callback returns true.

foreach_
void function(GtkCellArea* area, GtkCellCallback callback, void* callbackData) foreach_;

calls the gtk.types.CellCallback function on every gtk.cell_renderer.CellRenderer in the area with the provided user data until the callback returns true.

getCellProperty
void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) getCellProperty;

This should be implemented to report the values of child cell properties for a given child gtk.cell_renderer.CellRenderer.

getPreferredHeight
void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumHeight, int* naturalHeight) getPreferredHeight;

Calculates the minimum and natural height of the areas cells with the current attributes applied. Essentially this is the same as GtkCellAreaClass.get_preferred_width() only for areas that are being requested as gtk.types.SizeRequestMode.WidthForHeight.

getPreferredHeightForWidth
void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;

Calculates the minimum and natural height for the area if the passed @context would be allocated the given width. When implementing this virtual method it is safe to assume that @context has already stored the aligned cell widths for every gtk.tree_model.TreeModel row that @context will be allocated for since this information was stored at GtkCellAreaClass.get_preferred_width() time. This virtual method should also store any necessary alignments of cell heights for the case that the context is allocated a height.

getPreferredWidth
void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumWidth, int* naturalWidth) getPreferredWidth;

Calculates the minimum and natural width of the areas cells with the current attributes applied while considering the particular layouting details of the said gtk.cell_area.CellArea. While requests are performed over a series of rows, alignments and overall minimum and natural sizes should be stored in the corresponding gtk.cell_area_context.CellAreaContext.

getPreferredWidthForHeight
void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;

Calculates the minimum and natural width for the area if the passed @context would be allocated the given height. The same as GtkCellAreaClass.get_preferred_height_for_width() only for handling requests in the gtk.types.SizeRequestMode.WidthForHeight mode.

getRequestMode
GtkSizeRequestMode function(GtkCellArea* area) getRequestMode;

This allows an area to tell its layouting widget whether it prefers to be allocated in gtk.types.SizeRequestMode.HeightForWidth or gtk.types.SizeRequestMode.WidthForHeight mode.

isActivatable
bool function(GtkCellArea* area) isActivatable;

Returns whether the gtk.cell_area.CellArea can respond to GtkCellAreaClass.activate(), usually this does not need to be implemented since the base class takes care of this however it can be enhanced if the gtk.cell_area.CellArea subclass can handle activation in other ways than activating its GtkCellRenderers.

padding
void*[8] padding;
parentClass
GInitiallyUnownedClass parentClass;
remove
void function(GtkCellArea* area, GtkCellRenderer* renderer) remove;

removes a gtk.cell_renderer.CellRenderer from the area.

setCellProperty
void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, const(GValue)* value, GParamSpec* pspec) setCellProperty;

This should be implemented to handle changes in child cell properties for a given gtk.cell_renderer.CellRenderer that were previously installed on the gtk.cell_area_class.CellAreaClass with gtk.cell_area_class.CellAreaClass.installCellProperty.

snapshot
void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GtkSnapshot* snapshot, const(GdkRectangle)* backgroundArea, const(GdkRectangle)* cellArea, GtkCellRendererState flags, bool paintFocus) snapshot;

Actually snapshot the area’s cells to the specified rectangle, @background_area should be correctly distributed to the cells corresponding background areas.