Tab Folder (PRIM_TAB)

Folder with several tab sheets

Ancestors - Container (PRIM_CPST)Control (PRIM_CTRL)Object (PRIM_OBJT)

Details

Tab folder use one or more Tab Sheets to organise large amounts of information. Typically, each sheet shows a caption in a tab at the top of the Tab Folder.  Clicking on the tabs brings the tab to the front.
 
In its simplest form, a Tab Folder is just a couple of sheets, however it can also be used to create complex application frames with many sheets docked in different positions. Sheets can be dragged from their dock position to a different one and snapped in to place.  Dock positions can autohide, showing just the tabs, or be floated and continue to execute in a window.

Example

A simple 2 sheet Tab Folder.
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientwidth(484) Clientheight(301) Left(188) Top(247) Layoutmanager(#TableLayout1)
 
   Define_Com Class(#PRIM_TBLO) Name(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Item) Name(#Tab1Item1) Column(#Column1) Manage(#Tab1) Parent(#TableLayout1) Row(#Row1)
 
   Define_Com Class(#PRIM_TAB) Name(#Tab1) Bottomlayoutpriority(4) Componentversion(2) Displayposition(1) Height(301) Left(0) Leftlayoutpriority(1) Parent(#COM_OWNER) Rightlayoutpriority(2) Tabposition(1) Top(0) Toplayoutpriority(3) Width(484)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet1) Caption('Page1') Displayposition(1) Height(277) Left(0) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(484)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet2) Caption('Page2') Displayposition(2) Height(277) Left(0) Parent(#Tab1) Tabposition(2) Tabstop(False) Top(24) Width(484)
 
End_Com
This example has 9 sheets using 4 of the available DockPositions.
Begin_Com Role(*EXTENDS #PRIM_FORM) Caption('Docking Framework Sample') Clientheight(416) Clientwidth(785) Height(455) Left(188) Top(205) Width(801) Layoutmanager(#TableLayout1)
 
   Define_Com Class(#PRIM_TBLO) Name(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout1)
   Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem1) Column(#Column1) Manage(#Tab1) Parent(#TableLayout1) Row(#Row1)
 
   Define_Com Class(#PRIM_TAB) Name(#Tab1) Bottomlayoutpriority(4) Componentversion(2) Displayposition(1) Height(416) Left(0) Leftlayoutpriority(1) Parent(#COM_OWNER) Rightlayoutpriority(2) Tabposition(1) Top(0) Toplayoutpriority(3) Width(785) Righttabwidth(197) Lefttabwidth(125) Bottomtabheight(123) Bottomcloseposition(TabHeader) Leftcloseposition(TabHeader) Rightcloseposition(TabHeader) Closeposition(TabHeader)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet1) Caption('Page1') Displayposition(1) Height(392) Left(0) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(125) Dockposition(Left) Dockclosebutton(True) Dockallowundock(True) Opened(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet2) Caption('Page2') Displayposition(2) Height(392) Left(0) Parent(#Tab1) Tabposition(2) Tabstop(False) Top(24) Width(125) Dockposition(Left) Dockclosebutton(True) Dockallowundock(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet3) Caption('Page3') Displayposition(1) Height(392) Left(0) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(197) Dockposition(Right) Dockclosebutton(True) Dockallowundock(True) Opened(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet4) Caption('Page4') Displayposition(2) Height(392) Left(0) Parent(#Tab1) Tabposition(2) Tabstop(False) Top(24) Width(197) Dockposition(Right) Dockclosebutton(True) Dockallowundock(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet5) Caption('Page5') Displayposition(1) Height(99) Left(0) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(453) Dockposition(Bottom) Dockallowedpositions(Left+Bottom+Right) Dockclosebutton(True) Dockallowundock(True) Opened(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet6) Caption('Page6') Displayposition(2) Height(99) Left(0) Parent(#Tab1) Tabposition(2) Tabstop(False) Top(24) Width(453) Dockallowedpositions(Left+Bottom+Right) Dockposition(Bottom) Dockclosebutton(True) Dockallowundock(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet7) Caption('Page7') Displayposition(1) Height(264) Left(130) Parent(#Tab1) Tabposition(10) Tabstop(False) Top(24) Width(453) Dockclosebutton(True) Dockallowedpositions(Left+Bottom+Right+Center) Dockallowundock(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet8) Caption('Page8') Displayposition(10) Height(264) Left(130) Parent(#Tab1) Tabposition(11) Tabstop(False) Top(24) Width(453) Dockclosebutton(True) Dockallowedpositions(Left+Bottom+Right+Center) Dockallowundock(True)
   Define_Com Class(#PRIM_TBSH) Name(#Sheet9) Caption('Page9') Displayposition(11) Height(264) Left(130) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(453) Dockclosebutton(True) Dockallowedpositions(Left+Bottom+Right+Center) Dockallowundock(True)
 
End_Com

Properties

Name Description
BottomAllowAutoHide Show the autohide icon for the bottom dock area
BottomAutoHide Automatically hide the bottom dock area when not active
BottomClosePosition Location of the close image
BottomLayoutPriority Controls which of the dock areas takes precedence
BottomShowPageTabs Show page tabs for the bottom dock area
BottomTabHeight Height of the page tabs in pixels
BottomTabLocation Position of the page tabs
BottomViewStyle Defines the appearance and behaviour of the tabs pages in the bottom dock area
BusyUpdates BusyUpdates specifies how the control updates itself Inherited from Control (PRIM_CTRL)
BusyUpdatesOfParent BusyUpdatesOfParent specifies whether the parent controls updates Inherited from Control (PRIM_CTRL)
CanFocus CanFocus returns a value indicating whether the control can receive keyboard focus Inherited from Control (PRIM_CTRL)
ClosePosition Location of the close image
ComponentClassName ComponentClassName is the name of the component's class. Inherited from Object (PRIM_OBJT)
ComponentControls ComponentControls is a collection of all the controls contained in this component. Inherited from Container (PRIM_CPST)
ComponentMembers ComponentMembers provides access to all the member components of this component Inherited from Object (PRIM_OBJT)
ComponentPatternName ComponentPatternName is used to qualify the class of the component. Inherited from Object (PRIM_OBJT)
ComponentTag Generic space allowing a value to be stored for the instance Inherited from Object (PRIM_OBJT)
ComponentType ComponentType gives you access to the type information about the component Inherited from Object (PRIM_OBJT)
ComponentTypeName ComponentTypeName is the fully qualified name of the component's class. Inherited from Object (PRIM_OBJT)
ComponentVersion Variant of the control being used
CurrentPage Reference to the active tab sheet
Cursor Cursor sets the cursor image Inherited from Control (PRIM_CTRL)
DisplayPosition DisplayPosition determines the order in which components are shown Inherited from Control (PRIM_CTRL)
DragStyle DragStyle determines how a component can be dragged Inherited from Control (PRIM_CTRL)
DragTabs Allow tab page to be reorder
Ellipses Show ellipses for truncated text
EnableChildren EnableChildren specifies if the parent sets the Enabled property of child components Inherited from Container (PRIM_CPST)
Enabled Enable activates/deactivates the component Inherited from Control (PRIM_CTRL)
FixedPosition Fix the control position so that it does not move if the parent is scrolled Inherited from Control (PRIM_CTRL)
FixedWidth FixedWidth specifies that all the tabs should have the same width.
Focus Focus tells whether the component has focus Inherited from Control (PRIM_CTRL)
FocusedStyle Reference to a style to be applied when the control is focus Inherited from Control (PRIM_CTRL)
FocusedStyles Collection of styles to be applied when the control is focus Inherited from Control (PRIM_CTRL)
FocusPage Reference to the focus tab sheet
FocusStyle Behavior when the tab receives focus
Handle Returns the Windows handle in desktop applications Inherited from Control (PRIM_CTRL)
Height The height of the control in pixels Inherited from Control (PRIM_CTRL)
Hint Caption displayed when the mouse hovers over the control Inherited from Control (PRIM_CTRL)
HintPopup HintPopup allows a PopupPanel instance to be used instead of the default hint text box Inherited from Control (PRIM_CTRL)
HintShow Enabled or disable the appearance of hints Inherited from Control (PRIM_CTRL)
HintShowOfParent Delegate hints appearance to the parent control Inherited from Control (PRIM_CTRL)
HintTitle HintTitle defines the text shown at the top of the hint window in emphasized text Inherited from Control (PRIM_CTRL)
IsAnimating IsAnimating indicates that a control is currently being animated Inherited from Control (PRIM_CTRL)
IsRealized True if the control is currently realized Inherited from Control (PRIM_CTRL)
LayoutPriorityButton Location of the layout priority button
Left Position of the control relative to the left boundary of its parent Inherited from Control (PRIM_CTRL)
LeftAllowAutoHide Show the autohide icon for the left dock area
LeftAutoHide Automatically hide the left dock area when not active
LeftClosePosition Location of the close image
LeftLayoutPriority Controls which of the dock areas takes precedence
LeftShowPageTabs Show page tabs for the left dock area
LeftTabLocation Position of the page tabs
LeftTabWidth Width of the page tabs in pixels
LeftViewStyle Defines the appearance and behaviour of the tabs pages in the left dock area
Modified Modified indicates that the contents of the component have changed Inherited from Control (PRIM_CTRL)
MouseOver MouseOver determines whether the mouse is directly over a control Inherited from Control (PRIM_CTRL)
MouseOverPart True if the cursor is within the bounds of a child component Inherited from Container (PRIM_CPST)
MouseOverStyle MouseOverStyle defines the style to be applied to a control when the mouse is over it Inherited from Control (PRIM_CTRL)
MouseOverStyles MouseOverStyles is a collection of styles to be applied to a control when the mouse is over it Inherited from Control (PRIM_CTRL)
MultiLine Wrap tabs on to another line if there is insufficient space
Name Name identifies the component Inherited from Object (PRIM_OBJT)
NavigatorButtonsMenu Menu to be used when showing tab in Navigator style
NavigatorPagesCount Number of pages
NavigatorTitleMenu Title Menu
NotificationStyle NotificationStyle controls how events are triggered
Opacity Opacity denotes the appearance of a control in terms of its interaction with its background Inherited from Control (PRIM_CTRL)
OpenPage OpenPage is the topmost tab sheet in the tab folder
Owner Owner owns this component Inherited from Object (PRIM_OBJT)
Parent Reference to the control in which this control is visually positioned Inherited from Control (PRIM_CTRL)
Popup Popup allows a PopupPanel instance to be used instead of the typical right click popup menu Inherited from Control (PRIM_CTRL)
PopupMenu Reference to a PopupMenu to be shown on a right click Inherited from Control (PRIM_CTRL)
PrivateStyle Style applied to the control but not inherited by child controls Inherited from Container (PRIM_CPST)
PrivateStyles Collection of styles applied to the control but not inherited by child controls Inherited from Container (PRIM_CPST)
RaggedRight RaggedRight specifies how tab sheets are shown
RightAllowAutoHide Show the autohide icon for the right dock area
RightAutoHide Automatically hide the right dock area when not active
RightClosePosition Location of the close image
RightLayoutPriority Controls which of the dock areas takes precedence
RightShowPageTabs Show page tabs for the right dock area
RightTabLocation Position of the page tabs
RightTabWidth Width of the page tabs in pixels
RightViewStyle Defines the appearance and behaviour of the tabs pages in the right dock area
Rotation Rotation allows a control to rotate a number of degrees about a given origin Inherited from Control (PRIM_CTRL)
RotationOriginLeft RotationOriginLeft defines the left coordinate of an imaginary point around which a control will rotate Inherited from Control (PRIM_CTRL)
RotationOriginTop RotationOriginTop defines the top coordinate of an imaginary point around which a control will rotate Inherited from Control (PRIM_CTRL)
ScaleHeight ScaleHeight is the percentage of the height to use in the visual appearance of a control Inherited from Control (PRIM_CTRL)
ScaleOriginLeft ScaleOriginLeft defines the left coordinate of an imaginary point from which a control will scale Inherited from Control (PRIM_CTRL)
ScaleOriginTop ScaleOriginTop defines the top coordinate of an imaginary point from which a control will scale Inherited from Control (PRIM_CTRL)
ScaleWidth ScaleWidth is the percentage of the width to use in the visual appearance of a control Inherited from Control (PRIM_CTRL)
ScreenLeft ScreenLeft sets the distance from the left of the screen Inherited from Control (PRIM_CTRL)
ScreenTop ScreenTop sets the distance from the top of the screen Inherited from Control (PRIM_CTRL)
ScrollLeft Left position of a horizontally scrolled child control relative to its parent control Inherited from Control (PRIM_CTRL)
ScrollTop Top position of a vertically scrolled child control relative to its parent control Inherited from Control (PRIM_CTRL)
ShowMenus Navigator default menu options
ShowPageTabs Show page tabs for non-dockable tab pages
SkewLeft SkewLeft defines the angle at which to skew the control horizontally Inherited from Control (PRIM_CTRL)
SkewOriginLeft SkewOriginLeft defines the left coordinate of an imaginary point from which a control will skew Inherited from Control (PRIM_CTRL)
SkewOriginTop SkewOriginTop defines the top coordinate of an imaginary point from which a control will skew Inherited from Control (PRIM_CTRL)
SkewTop SkewTop defines the angle at which to skew the control vertically Inherited from Control (PRIM_CTRL)
Style Style defines the style to be applied to a control Inherited from Control (PRIM_CTRL)
Styles Collection of styles to be applied to the control Inherited from Control (PRIM_CTRL)
TabHeight Height of the page tabs in pixels
TabLayout TabLayout controls the layout of the tab
TabLocation Position of the page tabs
TabPosition TabPosition sets the order of focus when the Tab key is used Inherited from Control (PRIM_CTRL)
TabStop Set to false to stop focus being given to the control via the Tab key Inherited from Control (PRIM_CTRL)
TabStyle TabStyle controls the style of the tabs
TabWidth TabWidth sets the width of the tab
ThemeDrawStyle Name of the Theme DrawStyle to be applied to the control
ThemeStyle Specifies how theme usage is determined
Top Position of the control relative to the top boundary of its parent Inherited from Control (PRIM_CTRL)
TopAllowAutoHide Show the autohide icon for the top dock area
TopAutoHide Automatically hide the top dock area when not active
TopClosePosition Location of the close image
TopLayoutPriority Controls which of the dock areas takes precedence
TopShowPageTabs Show page tabs for the top dock area
TopTabHeight Height of the page tabs in pixels
TopTabLocation Position of the page tabs
TopViewStyle Defines the appearance and behaviour of the tabs pages in the top dock area
TouchMove Determines how the control will respond to touch move processing Inherited from Control (PRIM_CTRL)
TouchRotate Determines how the control will respond to touch rotation Inherited from Control (PRIM_CTRL)
TouchScale Determines how the control will respond to touch scaling Inherited from Control (PRIM_CTRL)
TouchSize Determines whether a control can be resized Inherited from Control (PRIM_CTRL)
ViewStyle Defines the appearance and behaviour of the tabs pages
Visible Show or hide the control Inherited from Control (PRIM_CTRL)
VisualStyle VisualStyle sets the appearance Inherited from Control (PRIM_CTRL)
VisualStyleOfParent Adopt the Visual style from the parent control Inherited from Control (PRIM_CTRL)
Width Width of the component in pixels Inherited from Control (PRIM_CTRL)

Events

Name Description
AnimationEnded Fired when an animation is ended Inherited from Control (PRIM_CTRL)
Cancelled
CreateInstance CreateInstance is signalled when an instance of a component is created Inherited from Control (PRIM_CTRL)
DestroyInstance DestroyInstance is signalled when an instance of a component is about to be destroyed Inherited from Control (PRIM_CTRL)
DragDrop Fired on mouse up to signify the end of a drag process Inherited from Control (PRIM_CTRL)
PosX, PosY, Source, Payload, AggregatedSource, Origin, Handled, DragResult
DragOver Fired during the drag and drop process when the cursor moves over the control Inherited from Control (PRIM_CTRL)
PosX, PosY, Source, Payload, DragState, AcceptDrop, DragCursor, ShowDropHilight, AggregatedSource, Origin, Handled
EndDrag Fired when the drag and drop process has completed Inherited from Control (PRIM_CTRL)
Source, Payload, DragResult, AggregatedSource, Origin, Handled
Initialize Fired after a component has been realized for the first time Inherited from Control (PRIM_CTRL)
MouseEnter The mouse has entered the bounds of the control Inherited from Control (PRIM_CTRL)
MouseHover The mouse has hovered over the control Inherited from Control (PRIM_CTRL)
Origin, Handled
MouseLeave The mouse has left the bounds of the control Inherited from Control (PRIM_CTRL)
StartDrag Fired when the user starts a drag and drop process Inherited from Control (PRIM_CTRL)
Source, Payload, Continue, DragList, AggregatedSource, Origin, Handled
TabChanging TabChanging happens just before a tab is displayed
OpenPage, OpeningPage, CanChangePage
TouchChange Fired repeatedly between the TouchStart and TouchEnd boundaries to provide details of the touch events Inherited from Control (PRIM_CTRL)
MoveLeft, MoveTop, ScaleWidth, ScaleHeight, Rotation, Continue
TouchEnd Fired when the user stops touching the screen Inherited from Control (PRIM_CTRL)
TouchStart Fired when the user first makes physical contact with the screen Inherited from Control (PRIM_CTRL)
Origin, TouchMove, TouchRotate, TouchScale, TouchSize

Methods

Name Description
FadeIn Animate from invisible to visible Inherited from Control (PRIM_CTRL)
Duration, Delay
FadeOut Animate from visible to invisible Inherited from Control (PRIM_CTRL)
Duration, Delay, Visible
MoveFrom Move a control from the specified position to the current position Inherited from Control (PRIM_CTRL)
Left, Top, Duration, Delay
MoveTo Animate a move from the specified number of pixels Inherited from Control (PRIM_CTRL)
Left, Top, Duration, Delay
Realize Creates the visual portion of dynamically created controls Inherited from Control (PRIM_CTRL)
Scale Animate a change of scale Inherited from Control (PRIM_CTRL)
ScaleWidth, ScaleHeight, Duration, Delay
SetFocus Sets the control to be the focus control Inherited from Control (PRIM_CTRL)
ShowMessages LANSA Internal Use Inherited from Control (PRIM_CTRL)
SizeTo Changes and animates control size changing Inherited from Control (PRIM_CTRL)
Width, Height, Duration, Delay
Transition Animate the change from one control to another Inherited from Container (PRIM_CPST)
From, To, TransitionType, Duration, Delay
Unrealize Destroys the visual portion of dynamically created controls Inherited from Control (PRIM_CTRL)
UpdateDisplay UpdateDisplay updates the display immediately Inherited from Control (PRIM_CTRL)

See also

All Component Classes

Technical Reference

LANSA Version 15, April 2020