Page 1 of 1

Resize event in container gadgets

Posted: Fri Mar 08, 2024 11:52 pm
by Webarion
It is not clear to me why the #PB_EventType_Resize event was removed from ContainerGadget, PanelGadget, ScrollAreaGadget, CanvasGadget?
This is very necessary!

Code: Select all

Enumeration
  #Container1
  #Container2
  #Button
  #Splitter
EndEnumeration

Procedure _EventResizeContainer()
  Protected EvType = EventType()
  CompilerIf Defined(PB_EventType_Resize, #PB_Constant)
    If EvType = #PB_EventType_Resize
      ResizeGadget( #Button, 10, GadgetHeight(#Container1)-34, 80, 24 )
    EndIf
  CompilerEndIf
EndProcedure

If OpenWindow(0, 0, 0, 230, 180, "SplitterGadget for Container", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  ContainerGadget(#Container1, 10, 10, 220, 59, #PB_Container_Double ) : CloseGadgetList()
  ContainerGadget(#Container2, 0, 0, 0, 0, #PB_Container_Double ) : CloseGadgetList()
  
  SplitterGadget(#Splitter, 5, 5, 220, 160, #Container1, #Container2, #PB_Splitter_Separator)
  
  OpenGadgetList(#Container1)
  ButtonGadget(#Button, 10, GadgetHeight(#Container1)-34, 80, 24, "Button")
  CloseGadgetList()
  
  BindGadgetEvent(#Container1, @_EventResizeContainer())
  
EndIf
Maybe now is the time to use ResizeObserver?