- added extra parameters to PureRESIZE_SetGadgetProportionalResize() allowing to lock the width / height. Gadget still moves proportionaly to the parent, but the width / height is locked (usefull for separators).
Xombie, try this code with the new library : I hope it's what you expected. I don't think I can do better for now.
Code: Select all
;
; /////////////// EXAMPLE 2
;
Enumeration
#WindowMain
EndEnumeration
Enumeration
#ContainTest
#DivideTest01
#DivideTest02
#DivideTest03
#ListTestMain
EndEnumeration
Procedure OpenWindow_WindowMain()
If OpenWindow(#WindowMain, 345, 63, 820, 708, "PureRESIZE proportional demo 2", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#WindowMain))
ContainerGadget(#ContainTest, 10, 0, 798, 680, #PB_Container_Raised)
TextGadget(#DivideTest01, 1, 25, 790, 5, " ", #PB_Text_Border)
TextGadget(#DivideTest02, 1, 165, 790, 5, " ", #PB_Text_Border)
TextGadget(#DivideTest03, 1, 625, 790, 5, " ", #PB_Text_Border)
ListIconGadget(#ListTestMain, 1, 175, 790, 445, "", 0, #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
CloseGadgetList()
EndIf
EndIf
EndProcedure
OpenWindow_WindowMain()
PureRESIZE_SetGadgetResize(#ContainTest, 1, 1, 1, 1)
PureRESIZE_SetGadgetResize(#DivideTest01, 1, 1, 0, 0, #ContainTest)
PureRESIZE_SetGadgetResize(#DivideTest02, 1, 1, 0, 0, #ContainTest)
PureRESIZE_SetGadgetResize(#DivideTest03, 1, 1, 0, 0, #ContainTest)
PureRESIZE_SetGadgetResize(#ListTestMain, 1, 1, 0, 0, #ContainTest)
; Proportional vertical resize with separators
PureRESIZE_SetGadgetProportionalResize(#DivideTest01, 0, 1, 0, 1)
PureRESIZE_SetGadgetProportionalResize(#DivideTest02, 0, 1, 0, 1)
PureRESIZE_SetGadgetProportionalResize(#DivideTest03, 0, 1, 0, 1)
PureRESIZE_SetGadgetProportionalResize(#ListTestMain, 0, 1)
PureRESIZE_SetWindowMinimumSize(#WindowMain, 820, 400)
PureRESIZE_SetWindowMaximumSize(#WindowMain, 820, 800)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Select EventWindow()
Case #WindowMain
CloseWindow(#WindowMain)
Break
EndSelect
EndSelect
ForEver
End