Splitter gadget

BlitzMax Forums/BlitzMax GUI Programming/Splitter gadget

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Does this help? Should be crossplatform as it uses pure MaxGui(Ex).

'Source Code created on 25 Nov 2008 19:45:26 with Logic Gui Version 4.0 Build 362

'Start of external Header File
SuperStrict
Import MaxGui.Drivers
Import MaxGui.ProxyGadgets

'End of Header File


Local Window1:TGadget = CreateWindow:TGadget("Window1",274,118,362,196,Null,WINDOW_TITLEBAR|WINDOW_RESIZABLE |WINDOW_STATUS |WINDOW_CLIENTCOORDS )
	Local PSplitter1:TSplitter = CreateSplitter( 0,0,362,196,Window1:TGadget,SPLIT_VERTICAL )
		SetSplitterPosition( PSplitter1:TSplitter, 108 )
		SetGadgetLayout( PSplitter1:TSplitter,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED )
		Local PSplitter1_Main:TGadget = SplitterPanel( PSplitter1,SPLITPANEL_MAIN )
		Local PSplitter1_Side:TGadget = SplitterPanel( PSplitter1,SPLITPANEL_SIDEPANE )
		Local Canvas2:TGadget = CreateCanvas:TGadget(0,1,104,194,PSplitter1_Side:TGadget,Null)
			SetGadgetLayout( Canvas2:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED )
		Local Canvas1:TGadget = CreateCanvas:TGadget(1,1,244,194,PSplitter1_Main:TGadget,Null)
			SetGadgetLayout( Canvas1:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_ALIGNED )

Repeat
	WaitEvent()
	Select EventID()
		Case EVENT_WINDOWCLOSE
			Select EventSource()
				Case Window1	Window1_WC( Window1:TGadget )
			End Select

		Case EVENT_GADGETPAINT
			Select EventSource()
				Case Canvas2	Canvas2_GP( Canvas2:TGadget )
				Case Canvas1	Canvas1_GP( Canvas1:TGadget )
			End Select

	End Select
Forever

Function Window1_WC( Window:TGadget )
	DebugLog "Window Window1 wants to be closed"
'	HideGadget( Window:TGadget )

	End
End Function

Function Canvas2_GP( Canvas:TGadget )
	'DebugLog "Canvas Canvas2 needs to be redrawn"
	SetGraphics CanvasGraphics ( Canvas )
	SetViewport 0,0,GadgetWidth( Canvas ),GadgetHeight( Canvas )
	
	SetColor( 208,216,61 )
	SetClsColor( 118,131,184 )
	Cls
	DrawText( "Side" ,1,1 )
	Flip

End Function

Function Canvas1_GP( Canvas:TGadget )
	'DebugLog "Canvas Canvas1 needs to be redrawn"
	SetGraphics CanvasGraphics ( Canvas )
	SetViewport 0,0,GadgetWidth( Canvas ),GadgetHeight( Canvas )
	
	SetColor( 208,216,61 )
	SetClsColor( 118,131,184 )
	Cls
	DrawText( "Main" ,1,1 )
	Flip

End Function