History of versions:
- first version
https://github.com/microdevweb/PB_FORM/ ... TA_1.0.zip - add text menu
https://github.com/microdevweb/PB_FORM/ ... TA_1.1.zip - add menu shortcut
https://github.com/microdevweb/PB_FORM/ ... TA_1.2.zip - Turn on dialog technologies
https://github.com/microdevweb/PB_FORM/ ... TA_1.3.zip - Add VLayout; HLayout; Empty
https://github.com/microdevweb/PB_FORM/ ... TA_1.4.zip - Add stringGadget
https://github.com/microdevweb/PB_FORM/ ... TA_1.5.zip - Add frameGadget
https://github.com/microdevweb/PB_FORM/ ... TA_1.6.zip - Add Custom gadget
https://github.com/microdevweb/PB_FORM/ ... TA_1.7.zip - Fixed bug on GadgetCustom constructor
https://github.com/microdevweb/PB_FORM/ ... TA_1.8.zip - ADD gadgetText and font
https://github.com/microdevweb/PB_FORM/ ... TA_1.9.zip - ADD gadgetSpin
https://github.com/microdevweb/PB_FORM/ ... A_1.10.zip - ADD gadgetPanel
https://github.com/microdevweb/PB_FORM/ ... A_1.11.zip - ADD gadgetDate; gadgetTrackBar
https://github.com/microdevweb/PB_FORM/ ... A_1.12.zip - rename classes; ADD checkBoxGadget
https://github.com/microdevweb/PB_FORM/ ... A_1.13.zip - ADD option gadget
https://github.com/microdevweb/PB_FORM/ ... A_1.14.zip - ADD comboBox Gadget
https://github.com/microdevweb/PB_FORM/ ... A_1.15.zip
The project on github
https://github.com/microdevweb/PB_FORM
Code example of version BETA 1.14 EX18.pb
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.14
; LICENCE : MIT
; EXAMPLE : option gadget
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Enumeration
#BT_FONT
#STR_FONT
EndEnumeration
Global mainForm.FORM::Form
LoadFont(#BT_FONT,"arial",12,#PB_Font_Bold)
LoadFont(#STR_FONT,"arial",11)
Procedure evButton(*button.FORM::Button_gadget)
Debug "You're clicked on the button "+*button\getTitle()
If *button\getTitle() = "Exit"
mainForm\close()
End
EndIf
EndProcedure
Procedure evChangeDate(*dt.FORM::Date_gadget)
Debug FormatDate("%yyyy-%mm-%dd",*dt\getValue())
EndProcedure
Procedure evChangeTrackBar(*tb.FORM::TrackBar_gadget)
Debug *tb\getValue()
EndProcedure
Procedure evCheckboxChange(*c.FORM::CheckBox_gadget)
Select *c\getState()
Case #PB_Checkbox_Checked
Debug "CheckBox is checked"
Case #PB_Checkbox_Inbetween
Debug "CheckBox is checked between"
Case #PB_Checkbox_Unchecked
Debug "CheckBox is unchecked"
EndSelect
EndProcedure
Procedure evOption(*o.FORM::Option_gadget)
If *o\getState()
Debug "This option "+*o\getTitle()+" is checked"
Else
Debug "This option "+*o\getTitle()+" is unchecked"
EndIf
EndProcedure
Procedure openMainForm()
UseModule FORM
; open window
mainForm = newForm(0,0,800,0,"Example 18 ")
; for close application
mainForm\setMainForm(#True)
mainForm\setFlags(#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_SystemMenu)
; set min value for main windows
Define sizes.sizes = mainForm\getSize() : sizes\setMinHeight(300) : sizes\setMinWidth(400)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
;{----------------------------- we create the left layout into the main layout --------------------------------
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
;leftLayout\setExpand(#LAYOUT_EXPAND_YES)
Define myDate.Date_gadget = leftLayout\addContent(newDateGadget("%dd-%mm-%yyyy",Date()))
myDate\setListener(newListener(@evChangeDate()))
leftLayout\addContent(newTextGadget("Track bar"))
Define trb.TrackBar_gadget = leftLayout\addContent(newTrackBarGadget(0,100,10))
trb\setSizes(0,30)
trb\setListener(newListener(@evChangeTrackBar()))
Define tbflags.TrackBarFlags = trb\getFlags()
tbflags\setTicks(#True)
Define check.CheckBox_gadget = leftLayout\addContent(newCheckBoxGadget("Check Box",#PB_Checkbox_Inbetween))
Define f.CheckBoxFlags = check\getFlags()
f\setThreeState(#True)
check\setListener(newListener(@evCheckboxChange()))
Define option.Option_gadget = leftLayout\addContent(newOptionGadget("Option 1",1))
option\setListener(newListener(@evOption()))
Define option.Option_gadget = leftLayout\addContent(newOptionGadget("Option 2",1,#True))
option\setListener(newListener(@evOption()))
Define e.Empty = leftLayout\addContent(newEmpty())
e\setSizes(0,10)
Define option.Option_gadget = leftLayout\addContent(newOptionGadget("Option 3",2))
option\setListener(newListener(@evOption()))
Define option.Option_gadget = leftLayout\addContent(newOptionGadget("Option 4",2))
option\setListener(newListener(@evOption()))
Define option.Option_gadget = leftLayout\addContent(newOptionGadget("Option 5",2))
option\setListener(newListener(@evOption()))
;} ------------------------------------------------------------------------------------------------------------
;{------------------------------ we create the right layout ---------------------------------------------------
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
rightLayout\setFont(#BT_FONT)
; we add button into the right layout
Define bt.Button_gadget = rightLayout\addContent(newButtonGadget("New",newListener(@evButton())))
bt\setSizes(100,0)
bt\setShortcut(newShortCut(#PB_Shortcut_Control|#PB_Shortcut_N,"New CTRL + N"))
Define bt.Button_gadget = rightLayout\addContent(newButtonGadget("Edit",newListener(@evButton())))
bt\setShortcut(newShortCut(#PB_Shortcut_Control|#PB_Shortcut_E,"Edit CTRL + E"))
Define bt.Button_gadget = rightLayout\addContent(newButtonGadget("Delete",newListener(@evButton())))
bt\setShortcut(newShortCut(#PB_Shortcut_Control|#PB_Shortcut_Delete,"Delete CTRL + Delete"))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
Define bt.Button_gadget = rightLayout\addContent(newButtonGadget("Exit",newListener(@evButton())))
bt\setShortcut(newShortCut(#PB_Shortcut_Control|#PB_Shortcut_Q,"Exit CTRL + Q"))
;} ------------------------------------------------------------------------------------------------------------
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver
Code example of version BETA 1.10 EX14.pb
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.10
; LICENCE : MIT
; EXAMPLE : gadgetFont
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Enumeration
#BT_FONT
#STR_FONT
EndEnumeration
Global mainForm.PB_FORM::Form
Global.PB_FORM::GadgetString field1,field3,field4
Global.PB_FORM::GadgetSpin field2
LoadFont(#BT_FONT,"arial",12,#PB_Font_Bold)
LoadFont(#STR_FONT,"arial",11)
Procedure evButton(*button.PB_FORM::GadgetButton)
Debug "You're clicked on the button "+*button\getTitle()
EndProcedure
Procedure evChange(*string.PB_FORM::GadgetString)
Debug *string\getValue()
EndProcedure
Procedure spinChange(*spin.PB_FORM::GadgetSpin)
With *spin
SetGadgetText(*spin\getId(),Str(*spin\getValue()) + "%")
EndWith
EndProcedure
Procedure openMainForm()
UseModule PB_FORM
; open window
mainForm = newForm(0,0,800,0,"Example 14 gadget spin ")
; for close application
mainForm\setMainForm(#True)
mainForm\setFlags(#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
; set min value for main windows
Define sizes.sizes = mainForm\getSize() : sizes\setMinHeight(300) : sizes\setMinWidth(400)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
; we create the left layout into the main layout
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
leftLayout\setFont(#STR_FONT)
leftLayout\setExpand(#LAYOUT_EXPAND_YES)
leftLayout\setSpace(15)
; we add string gadget
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 1"))
lb\setFrontColor($0000EE)
field1 = leftLayout\addContent(newGadgetString("i'm the field 1"))
field1\setBackgroundColor($0066CD)
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 2"))
field2 = leftLayout\addContent(newGadgetSpin(0,100))
field2\setListener(newListener(@spinChange()))
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 3"))
field3 = leftLayout\addContent(newGadgetString())
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 4"))
field4 = leftLayout\addContent(newGadgetString())
; we create the right layout
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
rightLayout\setFont(#BT_FONT)
; we add button into the right layout
Define bt.GadgetButton = rightLayout\addContent(newGadgetButton("New",newListener(@evButton())))
bt\setSizes(100,0)
rightLayout\addContent(newGadgetButton("Edit",newListener(@evButton())))
rightLayout\addContent(newGadgetButton("Delete",newListener(@evButton())))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
rightLayout\addContent(newGadgetButton("Exit",newListener(@evButton())))
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver
Code example of version BETA 1.9 EX12.pb
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.8
; LICENCE : MIT
; EXAMPLE : gadgetFont
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Enumeration
#BT_FONT
#STR_FONT
EndEnumeration
Global mainForm.PB_FORM::Form
Global.PB_FORM::GadgetString field1,field2,field3,field4
LoadFont(#BT_FONT,"arial",12,#PB_Font_Bold)
LoadFont(#STR_FONT,"arial",16,#PB_Font_Bold)
Procedure evButton(*button.PB_FORM::GadgetButton)
Debug "You're clicked on the button "+*button\getTitle()
EndProcedure
Procedure evChange(*string.PB_FORM::GadgetString)
Debug *string\getValue()
EndProcedure
Procedure openMainForm()
UseModule PB_FORM
; open window
mainForm = newForm(0,0,800,0,"Example 12 gadget text and set gadget font ")
; for close application
mainForm\setMainForm(#True)
mainForm\setFlags(#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
; set min value for main windows
Define sizes.sizes = mainForm\getSize() : sizes\setMinHeight(300) : sizes\setMinWidth(400)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
; we create the left layout into the main layout
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
leftLayout\setExpand(#LAYOUT_EXPAND_YES)
leftLayout\setSpace(15)
; we add string gadget
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 1"))
lb\setFont(#STR_FONT)
field1 = leftLayout\addContent(newGadgetString())
field1\setFont(#STR_FONT)
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 2"))
field2 = leftLayout\addContent(newGadgetString())
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 3"))
field3 = leftLayout\addContent(newGadgetString())
Define lb.GadgetText = leftLayout\addContent(newGadgetText("Field 4"))
field4 = leftLayout\addContent(newGadgetString())
; we create the right layout
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
rightLayout\setFont(#BT_FONT)
; we add button into the right layout
Define bt.GadgetButton = rightLayout\addContent(newGadgetButton("New",newListener(@evButton())))
bt\setSizes(100,0)
rightLayout\addContent(newGadgetButton("Edit",newListener(@evButton())))
rightLayout\addContent(newGadgetButton("Delete",newListener(@evButton())))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
rightLayout\addContent(newGadgetButton("Exit",newListener(@evButton())))
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver
Code exemple version BETA 1.7 EX11.pb (custom gadget)
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.7
; LICENCE : MIT
; EXAMPLE : add custom gadget
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Global mainForm.PB_FORM::Form
Global.PB_FORM::GadgetCustom cus1,cus2,cus3
LoadFont(0,"arial",12,#PB_Font_HighQuality|#PB_Font_Bold)
Procedure evButton(*button.PB_FORM::GadgetButton)
Debug "You're clicked on the button "+*button\getTitle()
EndProcedure
Procedure evCustom(*cus.PB_FORM::GadgetCustom)
Select EventType()
Case #PB_EventType_MouseMove
Debug GetGadgetAttribute(*cus\getId(),#PB_Canvas_MouseX)
EndSelect
EndProcedure
Procedure buildCustom(*cus.PB_FORM::GadgetCustom)
StartVectorDrawing(CanvasVectorOutput(*cus\getId()))
VectorFont(FontID(0))
Protected w = GadgetWidth(*cus\getId()),
h = GadgetHeight(*cus\getId()),
text.s,wt,ht,xc,yc
AddPathBox(0,0,w,h)
Select *cus
Case cus1
VectorSourceColor($FF08C208)
text = "Field 1"
Case cus2
VectorSourceColor($FF0000FF)
text = "Field 2"
Case cus3
VectorSourceColor($FFCD00CD)
text = "Field 3"
EndSelect
FillPath()
wt = VectorTextWidth(text)
ht = VectorTextHeight(text)
xc = (w / 2) - (wt / 2)
yt = (h / 2) - (ht / 2)
MovePathCursor(xc,yt)
VectorSourceColor($FF000000)
DrawVectorText(text)
StopVectorDrawing()
EndProcedure
Procedure openMainForm()
UseModule PB_FORM
; open window
mainForm = newForm(0,0,800,0,"Example 11 custom gadget ")
; for close application
mainForm\setMainForm(#True)
mainForm\setFlags(#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
; set min value for main windows
Define sizes.sizes = mainForm\getSize() : sizes\setMinHeight(300) : sizes\setMinWidth(400)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
; we create the left layout into the main layout
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
leftLayout\setExpand(#LAYOUT_EXPAND_YES)
leftLayout\setSpace(15)
; we add custom gadget
cus1 = leftLayout\addContent(newGadgetCustom(@buildCustom(),@evCustom()))
cus2 = leftLayout\addContent(newGadgetCustom(@buildCustom(),@evCustom()))
cus3 = leftLayout\addContent(newGadgetCustom(@buildCustom(),@evCustom()))
; we create the right layout
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
; we add button into the right layout
Define bt.GadgetButton = rightLayout\addContent(newGadgetButton("New",newListener(@evButton())))
bt\setSizes(100,0)
rightLayout\addContent(newGadgetButton("Edit",newListener(@evButton())))
rightLayout\addContent(newGadgetButton("Delete",newListener(@evButton())))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
rightLayout\addContent(newGadgetButton("Exit",newListener(@evButton())))
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver
Code example of version BETA 1.6 EX10.pb
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.6
; LICENCE : MIT
; EXAMPLE : add gadget frame
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Global mainForm.PB_FORM::Form
Global.PB_FORM::GadgetString field1,field2,field3,field4
Procedure evButton(*button.PB_FORM::GadgetButton)
Debug "You're clicked on the button "+*button\getTitle()
EndProcedure
Procedure evChange(*string.PB_FORM::GadgetString)
Debug *string\getValue()
EndProcedure
Procedure openMainForm()
UseModule PB_FORM
; open window
mainForm = newForm(0,0,800,0,"Example 10 ")
; for close application
mainForm\setMainForm(#True)
mainForm\setFlags(#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
; set min value for main windows
Define sizes.sizes = mainForm\getSize() : sizes\setMinHeight(300) : sizes\setMinWidth(400)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
; we create the left layout into the main layout
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
leftLayout\setExpand(#LAYOUT_EXPAND_YES)
leftLayout\setSpace(15)
; we add string gadget
Define frame.GadgetFrame = leftLayout\addContent(newGadgetFrame("Field 1"))
field1 = frame\setContent(newGadgetString())
Define frame.GadgetFrame = leftLayout\addContent(newGadgetFrame("Field 2"))
field2 = frame\setContent(newGadgetString())
Define frame.GadgetFrame = leftLayout\addContent(newGadgetFrame("Field 3"))
field3 = frame\setContent(newGadgetString())
Define frame.GadgetFrame = leftLayout\addContent(newGadgetFrame("Field 4"))
field4 = frame\setContent(newGadgetString())
; we create the right layout
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
; we add button into the right layout
Define bt.GadgetButton = rightLayout\addContent(newGadgetButton("New",newListener(@evButton())))
bt\setSizes(100,0)
rightLayout\addContent(newGadgetButton("Edit",newListener(@evButton())))
rightLayout\addContent(newGadgetButton("Delete",newListener(@evButton())))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
rightLayout\addContent(newGadgetButton("Exit",newListener(@evButton())))
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver
Code exemple version BETA 1.5 EX8.pb
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.5
; LICENCE : MIT
; EXAMPLE : use Layout and string gadget
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Global mainForm.PB_FORM::Form
Procedure evButton(*button.PB_FORM::GadgetButton)
Debug "You're clicked on the button "+*button\getTitle()
EndProcedure
Procedure evChange(*string.PB_FORM::GadgetString)
Debug *string\getValue()
EndProcedure
Procedure openMainForm()
UseModule PB_FORM
; open window
mainForm = newForm(0,0,800,0,"Example 8 use HLayout and VLayout with button and String gadget")
mainForm\setMainForm(#True)
Define flag.FormFlags = mainForm\getFlag()
flag\setScreenCentered(#True)
flag\setSizeGadget(#True)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
; we create the left layout into the main layout
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
leftLayout\setExpand(#LAYOUT_EXPAND_YES)
leftLayout\setSpace(15)
; we add string gadget
Define string.GadgetString = leftLayout\addContent(newGadgetString("Field 1"))
String\setChangeListener(newListener(@evChange()))
leftLayout\addContent(newGadgetString("Field 2"))
Define string.GadgetString = leftLayout\addContent(newGadgetString("PassWord"))
Define sflag.PB_FORM::StringFlags = String\getFlags() : sflag\setPassword(#True)
Define string.GadgetString =leftLayout\addContent(newGadgetString("Border less"))
Define sflag.PB_FORM::StringFlags = String\getFlags() : sflag\setBorderLess(#True)
; we create the right layout
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
; we add button into the right layout
Define bt.GadgetButton = rightLayout\addContent(newGadgetButton("New",newListener(@evButton())))
Define btSize.Sizes = bt\getSizes() : btSize\setWidth(100)
rightLayout\addContent(newGadgetButton("Edit",newListener(@evButton())))
rightLayout\addContent(newGadgetButton("Delete",newListener(@evButton())))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
rightLayout\addContent(newGadgetButton("Exit",newListener(@evButton())))
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver
Code of example version BETA 1.4:
Code: Select all
;*********************************************************************************************************************************************
; AUTHOR : microdevWeb
; MODULE : PB_FORM
; VERSION : BETA 1.4
; LICENCE : MIT
; EXAMPLE : use Layout
;*********************************************************************************************************************************************
XIncludeFile "../PB_FORM/Include/PB_FORM.pbi"
Global mainForm.PB_FORM::Form
Procedure evButton(*button.PB_FORM::GadgetButton)
Debug "You're clicked on the button "+*button\getTitle()
EndProcedure
Procedure openMainForm()
UseModule PB_FORM
; open window
mainForm = newForm(0,0,800,0,"Example 7 use HLayout and VLayout")
mainForm\setMainForm(#True)
Define flag.FormFlags = mainForm\getFlag()
flag\setScreenCentered(#True)
flag\setSizeGadget(#True)
; use HLayout as main layout
mainLayout.HLayout = mainForm\setMainLayout(newHLayout())
; we will expand the left layout
mainLayout\setExpand(1)
; we create the left layout into the main layout
Define leftLayout.VLayout = mainLayout\addContent(newVLayout())
leftLayout\setAlignement(#ALIGN_CENTER)
; we add button like field
leftLayout\addContent(newGadgetButton("Field 1",newListener(@evButton())))
leftLayout\addContent(newGadgetButton("Field 2",newListener(@evButton())))
leftLayout\addContent(newGadgetButton("Field 3",newListener(@evButton())))
leftLayout\addContent(newGadgetButton("Field 4",newListener(@evButton())))
; we create the right layout
Define rightLayout.VLayout = mainLayout\addContent(newVLayout())
; we add button into the right layout
Define bt.GadgetButton = rightLayout\addContent(newGadgetButton("New",newListener(@evButton())))
Define btSize.Sizes = bt\getSizes() : btSize\setWidth(100)
rightLayout\addContent(newGadgetButton("Edit",newListener(@evButton())))
rightLayout\addContent(newGadgetButton("Delete",newListener(@evButton())))
Define e.Empty = rightLayout\addContent(newEmpty())
Define s.Sizes = e\getSizes() : s\setHeight(40)
rightLayout\addContent(newGadgetButton("Exit",newListener(@evButton())))
; open window
mainForm\open()
EndProcedure
openMainForm()
Repeat
WaitWindowEvent()
ForEver