Dock the sheet
Member of Tab Sheet (PRIM_TBSH)
The Dock method is used to programmatically dock a tab that has been undocked.
In this example, the sheets can be undocked by dragging or double clicking on the dotted grabbers. The doc button will reattach the undocked sheets.
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) Height(38) Units(Pixels) Define_Com Class(#PRIM_TBLO.Row) Name(#Row2) Displayposition(2) Parent(#TableLayout1) Height(1.82) Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem1) Column(#Column1) Manage(#Tab1) Parent(#TableLayout1) Row(#Row2) Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem2) Alignment(CenterLeft) Column(#Column1) Flow(Right) Manage(#Dock) Parent(#TableLayout1) Row(#Row1) Sizing(None) Marginleft(8) Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem3) Alignment(CenterLeft) Column(#Column1) Flow(Right) Parent(#TableLayout1) Row(#Row1) Sizing(None) Marginleft(8) Define_Com Class(#PRIM_TAB) Name(#Tab1) Bottomlayoutpriority(4) Componentversion(2) Displayposition(1) Height(378) Left(0) Leftlayoutpriority(1) Parent(#COM_OWNER) Rightlayoutpriority(2) Tabposition(1) Top(38) 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(354) 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(354) 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(354) 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(354) 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(226) 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(226) 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(226) Left(130) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(453) Dockclosebutton(True) Dockallowedpositions(Left+Bottom+Right+Center) Dockallowundock(True) Define_Com Class(#PRIM_PHBN) Name(#Dock) Caption('Dock') Displayposition(2) Left(8) Parent(#COM_OWNER) Tabposition(2) Top(7) Evtroutine Handling(#Dock.Click) For Each(#Member) In(#Com_owner.ComponentMembers) Continue If(#Member *IsNot #prim_tbsh) (#Member *As #prim_tbsh).Dock Endfor Endroutine End_Com
LANSA Version 15, April 2020