Views
Gadgets Package API Reference Guide
Product Documentation:
Views Documentation Home
List of all members | Public Member Functions | Protected Member Functions
IlvPanedContainer Class Reference

Pane container class. More...

#include <ilviews/gadgets/panecont.h>

Inheritance diagram for IlvPanedContainer:
IlvGadgetContainer IlvContainer IlvStylist IlvDrawingView IlvView IlvAbstractView IlvSystemPort IlvStylable IlvPort IlvValueInterface IlvDockableContainer IlvDockableMainWindow

Public Member Functions

 IlvPanedContainer (IlvAbstractView *parent, const IlvRect &rect, IlvDirection direction, IlBoolean visible=IlTrue)
 Initializes a new instance of the IlvPanedContainer class as a child view of a view. More...
 
 IlvPanedContainer (IlvDisplay *display, const char *name, const char *title, const IlvRect &rect, IlvDirection direction, IlUInt properties=0, IlBoolean visible=IlTrue, IlvSystemView transientFor=0)
 Initializes a new instance of the IlvPanedContainer class as a top window. More...
 
 IlvPanedContainer (IlvDisplay *display, IlvSystemView parent, const IlvRect &rect, IlvDirection direction, IlBoolean visible=IlTrue)
 Initializes a new instance of the IlvPanedContainer class as a child view of a system view. More...
 
 IlvPanedContainer (IlvDisplay *display, IlvSystemView window, IlvDirection direction)
 Initializes a new instance of the IlvPanedContainer class mapped to an existing system view. More...
 
virtual void addPane (IlvPane *pane, IlUInt index=(IlUInt) -1)
 Adds a pane to the paned container at the specified index. More...
 
IlAny applyUntil (IlvApplyPane func, IlAny arg=0)
 Applies the specified function to all the panes of the paned container. More...
 
IlUInt getCardinal () const
 Returns the number of panes managed by the paned container. More...
 
IlvDirection getDirection () const
 Returns the direction of the paned container. More...
 
IlUInt getIndex (const IlvPane *pane) const
 Returns the index of the specified pane. More...
 
IlvPanegetPane (const char *name, IlBoolean all=IlFalse) const
 Searches the pane whose name is specified. More...
 
IlvPanegetPane (IlUInt index) const
 Returns the pane whose index is specified. More...
 
IlvViewPanegetViewPane () const
 Returns the view pane that encapsulates the paned container. More...
 
IlBoolean isManagingSliders () const
 Returns IlTrue if the paned container manages automatic sliders. More...
 
void manageSliders (IlBoolean value)
 Specifies whether the paned container manages sliders automatically. More...
 
void paneBBox (const IlvPane *pane, IlvRect &bbox) const
 Returns the bounding box of the specified pane. More...
 
virtual void paneGeometryChanged (IlvPane *pane)
 Is called when the geometry of the specified pane changes. More...
 
virtual void paneVisibilityChanged (IlvPane *pane)
 Is called when the specified pane is hidden or shown. More...
 
IlUInt pointToPane (const IlvPoint &point) const
 Returns the index of the pane located at the position specified by point. More...
 
virtual IlBoolean read (istream &stream)
 Prevents reading data files. More...
 
virtual IlBoolean readFile (const char *filename)
 Prevents reading data files. More...
 
virtual void removePane (IlUInt index, IlBoolean destroy=IlFalse)
 Removes the pane whose index is specified from the paned container. More...
 
void setDirection (IlvDirection direction)
 Sets the direction of the paned container. More...
 
virtual void updatePanes (IlBoolean all=IlFalse)
 Updates the position and size of all the panes. More...
 
- Public Member Functions inherited from IlvGadgetContainer
 IlvGadgetContainer (IlvAbstractView *parent, const IlvRect &rect, IlBoolean useacc=IlFalse, IlBoolean visible=IlTrue)
 Initializes a new instance of the IlvGadgetContainer class as a child view of another view. More...
 
 IlvGadgetContainer (IlvDisplay *display, const char *name, const char *title, const IlvRect &rect, IlBoolean useacc=IlFalse, IlBoolean visible=IlTrue)
 Initializes a new instance of the IlvGadgetContainer class as a top view. More...
 
 IlvGadgetContainer (IlvDisplay *display, const char *name, const char *title, const IlvRect &rect, IlUInt properties, IlBoolean useacc=IlFalse, IlBoolean visible=IlTrue, IlvSystemView transientFor=0)
 Initializes a new instance of the IlvGadgetContainer class as a top view. More...
 
 IlvGadgetContainer (IlvDisplay *display, IlvSystemView parent, const IlvRect &rect, IlBoolean useacc=IlFalse, IlBoolean visible=IlTrue)
 Initializes a new instance of the IlvGadgetContainer class as a child view of a system view. More...
 
 IlvGadgetContainer (IlvDisplay *display, IlvSystemView window, IlBoolean useacc=IlFalse)
 Initializes a new instance of the IlvGadgetContainer class using an existing system view. More...
 
virtual IlBoolean allowFocus (IlBoolean value)
 Specifies whether the container manages the focus. More...
 
virtual void applyResize (IlFloat sx, IlFloat sy, IlBoolean redraw=IlTrue)
 Is called to carry out the resize events applying to the gadget container. More...
 
IlBoolean autoResize (IlBoolean a)
 Sets the auto resize mode of the gadget container. More...
 
IlvButtongetDefaultButton () const
 Returns the default button of the gadget container. More...
 
virtual IlvGraphicgetFirstFocusGraphic () const
 Returns the first object that receives the focus in this container. More...
 
virtual IlvGraphicgetFocus () const
 Returns the object that has the keyboard focus in the gadget container. More...
 
virtual IlvGraphicgetGrab () const
 Returns the object that is currently grabbing events in the container. More...
 
virtual IlvGraphicgetLastFocusGraphic () const
 Returns the last object that receives the focus in this container. More...
 
IlvLookFeelHandlergetLookFeelHandler () const
 Returns the look and feel handler associated with this container. More...
 
virtual IlvGraphicgetNextFocusGraphic (IlvGraphic *object) const
 Returns the next object that will receive the focus after the specified object. More...
 
IlvGraphicgetOverriddenFocus () const
 Returns the object that will receive the focus after calling setFocus(). More...
 
virtual IlvGraphicgetPreviousFocusGraphic (IlvGraphic *object) const
 Returns the previous object that received the focus before the specified object. More...
 
IlBoolean isAutoResizing () const
 Indicates whether the gadget container gets resized when loading a file. More...
 
virtual IlBoolean isFocusAllowed () const
 Indicates whether the focus is allowed in the container. More...
 
virtual void moveFocusAfter (IlBoolean redraw=IlTrue)
 Is called to find the next focusable object. More...
 
virtual void moveFocusBefore (IlBoolean redraw=IlTrue)
 Is called to find the previous focusable object. More...
 
void overrideFocus (IlvGraphic *obj)
 Sets the object that will receive the focus after calling setFocus(). More...
 
virtual void removeGrab ()
 Cancels the grabbing settings defined with setGrab(). More...
 
void setDefaultButton (IlvButton *button, IlBoolean redraw=IlTrue)
 Sets the default button of the gadget container. More...
 
virtual void setFocus (IlvGraphic *graphic=0, IlBoolean redraw=IlTrue)
 Sets the focus to the specified object of the gadget container. More...
 
virtual void setGrab (IlvGraphic *object)
 Sets the specified object as the grabbing object. More...
 
void setLookFeelHandler (IlvLookFeelHandler *lfh)
 Sets the look and feel handler of this container. More...
 

Protected Member Functions

virtual IlvSliderPanecreateSliderPane (const char *) const
 Creates and returns a new slider pane. More...
 

Detailed Description

Pane container class.

Library: ilvadvgdt

The IlvPanedContainer class is a high-level class that lets you arrange IlvPane instances, called panes, either horizontally (from top to bottom) or vertically (from left to right).

Since an IlvPane object encapsulates a view (by means of the IlvViewPane class), you can build complex structures composed of nested paned containers.

A Vertical Paned Container with Two Panes Separated by a slider

Note that although IlvPanedContainer inherits IlvGadgetContainer, it is not meant to be used as a general purpose container of regular graphic objects. You should therefore not directly use addObject() or read() on a IlvPanedContainer.

See also
IlvDockableContainer, IlvGraphicPane, IlvPane, IlvSliderPane, IlvViewPane.

Constructor & Destructor Documentation

◆ IlvPanedContainer() [1/4]

IlvPanedContainer::IlvPanedContainer ( IlvDisplay display,
const char *  name,
const char *  title,
const IlvRect rect,
IlvDirection  direction,
IlUInt  properties = 0,
IlBoolean  visible = IlTrue,
IlvSystemView  transientFor = 0 
)

Initializes a new instance of the IlvPanedContainer class as a top window.

Parameters
displayThe connection to the display.
nameThe name of the paned container.
titleThe title of the paned container.
rectThe size and position of the paned container.
directionThe direction of the paned container. Valid values are: IlvVertical (panes are arranged from top to bottom), and IlvHorizontal (panes are arranged from left to right).
propertiesProperties of the paned container. See the IlvView constructors for more details.
visibleSpecifies whether the paned container should be visible (IlTrue).
transientForThe system view for which the dockable container is transient. See the IlvView constructors for more details.

◆ IlvPanedContainer() [2/4]

IlvPanedContainer::IlvPanedContainer ( IlvAbstractView parent,
const IlvRect rect,
IlvDirection  direction,
IlBoolean  visible = IlTrue 
)

Initializes a new instance of the IlvPanedContainer class as a child view of a view.

Parameters
parentThe parent view of the new paned container.
rectThe size and position of the paned container.
directionThe direction of the paned container. Valid values are: IlvVertical (panes are arranged from top to bottom), and IlvHorizontal (panes are arranged from left to right). See IlvPanedContainer constructors for more details.
visibleSpecifies whether the dockable container should be visible (IlTrue).

◆ IlvPanedContainer() [3/4]

IlvPanedContainer::IlvPanedContainer ( IlvDisplay display,
IlvSystemView  parent,
const IlvRect rect,
IlvDirection  direction,
IlBoolean  visible = IlTrue 
)

Initializes a new instance of the IlvPanedContainer class as a child view of a system view.

Parameters
displayThe connection to the display.
parentThe parent view of the new paned container.
rectThe size and position of the paned container.
directionThe direction of the paned container. Valid values are: IlvVertical (panes are arranged from top to bottom), and IlvHorizontal (panes are arranged from left to right).
visibleSpecifies whether the paned container should be visible (IlTrue).

◆ IlvPanedContainer() [4/4]

IlvPanedContainer::IlvPanedContainer ( IlvDisplay display,
IlvSystemView  window,
IlvDirection  direction 
)

Initializes a new instance of the IlvPanedContainer class mapped to an existing system view.

Parameters
displayThe connection to the display.
windowThe system view to which the paned container will be mapped.
directionThe direction of the paned container. Valid values are: IlvVertical (panes are arranged from top to bottom), and IlvHorizontal (panes are arranged from left to right).

Member Function Documentation

◆ addPane()

virtual void IlvPanedContainer::addPane ( IlvPane pane,
IlUInt  index = (IlUInt) -1 
)
virtual

Adds a pane to the paned container at the specified index.

Parameters
paneThe pane to be added.
indexThe position where the pane should be inserted. If index is -1, the pane is added at the last position.
See also
removePane(), getPane().

◆ applyUntil()

IlAny IlvPanedContainer::applyUntil ( IlvApplyPane  func,
IlAny  arg = 0 
)

Applies the specified function to all the panes of the paned container.

This member function is recursive, and thus, all the panes contained into sub-paned containers will also be crossed. Note that if the function func returns a non-zero value, the process will be stopped, and applyUntil() will return.

Parameters
funcThe function to be applied.
argThe argument that will be passed to the function func.
Returns
The result of the function that stopped the operation, or 0 if nothing stopped the operation.
See also
IlvApplyPane.

◆ createSliderPane()

virtual IlvSliderPane* IlvPanedContainer::createSliderPane ( const char *  ) const
protectedvirtual

Creates and returns a new slider pane.

Returns
The instance of the IlvSliderPane class that is inserted between two resizable panes when the paned container is set to manage sliders automatically. You may want to override this method to create your subclass of IlvSliderPane.
See also
manageSliders().

◆ getCardinal()

IlUInt IlvPanedContainer::getCardinal ( ) const

Returns the number of panes managed by the paned container.

Returns
The number of panes managed by this paned container.
See also
addPane(), removePane(), getPane().

◆ getDirection()

IlvDirection IlvPanedContainer::getDirection ( ) const

Returns the direction of the paned container.

Returns
The direction of the paned container.
See also
setDirection().

◆ getIndex()

IlUInt IlvPanedContainer::getIndex ( const IlvPane pane) const

Returns the index of the specified pane.

Parameters
paneThe pane whose index is searched for.
Returns
The index of the specified pane in this paned container or -1 if the specified pane does not belong to the paned container.
See also
getPane().

◆ getPane() [1/2]

IlvPane* IlvPanedContainer::getPane ( const char *  name,
IlBoolean  all = IlFalse 
) const

Searches the pane whose name is specified.

Parameters
nameThe name of the pane.
allSpecifies whether the search should be recursive. If all is set to IlTrue, the pane is searched for recursively in each view pane of the paned container that encapsulates an IlvPanedContainer object.
Returns
The specified pane or 0 if this pane does not exist.
See also
IlvPane::setName().

◆ getPane() [2/2]

IlvPane* IlvPanedContainer::getPane ( IlUInt  index) const

Returns the pane whose index is specified.

Parameters
indexThe index of the pane. The index should be a valid value.
Returns
The pane whose index is specified.
See also
addPane(), removePane().

◆ getViewPane()

IlvViewPane* IlvPanedContainer::getViewPane ( ) const

Returns the view pane that encapsulates the paned container.

Returns
The view pane that encapsulates the paned container or 0 if there is none.
See also
IlvViewPane, IlvViewPane::Get().

◆ isManagingSliders()

IlBoolean IlvPanedContainer::isManagingSliders ( ) const

Returns IlTrue if the paned container manages automatic sliders.

Returns
IlTrue if the paned container creates sliders between two resizable panes automatically.
See also
manageSliders().

◆ manageSliders()

void IlvPanedContainer::manageSliders ( IlBoolean  value)

Specifies whether the paned container manages sliders automatically.

A slider is a special IlvPane object that you can use to resize panes that are located on both sides of it. For details, see the class IlvSliderPane. When the manage sliders mode is enabled (the default), calling IlvPanedContainer::updatePanes() automatically creates a slider between two resizable panes. A resizable pane is a pane whose resize mode is IlvPane::Resizable or IlvPane::Elastic.

Parameters
valueSpecifies whether the paned container should creates sliders between two resizable panes automatically.
See also
isManagingSliders(), ResizeMode.

◆ paneBBox()

void IlvPanedContainer::paneBBox ( const IlvPane pane,
IlvRect bbox 
) const

Returns the bounding box of the specified pane.

Parameters
paneThe pane.
bboxThe returned bounding box of the pane, including the pane margins.
See also
pointToPane(), IlvPane::setMargin().

◆ paneGeometryChanged()

virtual void IlvPanedContainer::paneGeometryChanged ( IlvPane pane)
virtual

Is called when the geometry of the specified pane changes.

The default implementation does nothing.

Parameters
paneThe modified pane.
See also
IlvPaneListener::paneGeometryChanged().

◆ paneVisibilityChanged()

virtual void IlvPanedContainer::paneVisibilityChanged ( IlvPane pane)
virtual

Is called when the specified pane is hidden or shown.

The default implementation does nothing.

Parameters
paneThe modified pane.
See also
IlvPaneListener::paneVisibilityChanged().

◆ pointToPane()

IlUInt IlvPanedContainer::pointToPane ( const IlvPoint point) const

Returns the index of the pane located at the position specified by point.

Parameters
pointThe point where the pane is located.
Returns
The index of the pane located at the position specified by point.
See also
IlvPane::moveResize(), IlvPane::boundingBox(), paneBBox().

◆ read()

virtual IlBoolean IlvPanedContainer::read ( istream &  stream)
virtual

Prevents reading data files.

IlvPanedContainer encapsulates specific objects, and cannot handle regular file read as IlvContainer does. Therefore, the local implementation does nothing.

Parameters
streamNot used in this class.
Returns
Always IlFalse.

Reads a set of IlvGraphic objects from the input stream specified in stream.

Parameters
streamThe input stream.

Reimplemented from IlvContainer.

◆ readFile()

virtual IlBoolean IlvPanedContainer::readFile ( const char *  filename)
virtual

Prevents reading data files.

IlvPanedContainer encapsulates specific objects, and cannot handle regular file read as IlvContainer does. Therefore, the local implementation does nothing.

Parameters
filenameNot used in this class.
Returns
Always IlFalse.

Reimplemented from IlvContainer.

◆ removePane()

virtual void IlvPanedContainer::removePane ( IlUInt  index,
IlBoolean  destroy = IlFalse 
)
virtual

Removes the pane whose index is specified from the paned container.

Parameters
indexThe index of the pane to be removed.
destroySpecifies whether the removed pane should be destroyed.
See also
addPane(), getPane().

Reimplemented in IlvDockableContainer.

◆ setDirection()

void IlvPanedContainer::setDirection ( IlvDirection  direction)

Sets the direction of the paned container.

Parameters
directionThe new direction of the paned container. Valid values are IlvVertical and IlvHorizontal. When a paned container is vertical, panes are arranged from top to bottom. When it is horizontal, panes are arranged from left to right.
See also
getDirection().

◆ updatePanes()

virtual void IlvPanedContainer::updatePanes ( IlBoolean  all = IlFalse)
virtual

Updates the position and size of all the panes.

This member function must be called after the content of the paned container is modified, that is, after panes are added, removed, hidden, or shown.

Parameters
allSpecifies whether the method should be recursive. If all is IlTrue, each paned container that is encapsulated in a view pane of this paned container is also updated recursively.
See also
addPane(), removePane(), IlvPane::show(), IlvPane::hide().