has anyone got an example of adding a canvas either side of a splitter gadget?
also is it cross platform?
also is it cross platform?
'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
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 Function MyHook:Object(iId:Int,tData:Object,tContext:Object) Local Event:TEvent=TEvent(tData) If Event.source=psplitter1_main EndIf Return tData EndFunction