[3374] | 1 | ----------------------------------------- |
---|
| 2 | -- Start of handler functions |
---|
| 3 | ----------------------------------------- |
---|
| 4 | ----------------------------------------- |
---|
| 5 | -- Alpha slider handler (not used!) |
---|
| 6 | ----------------------------------------- |
---|
| 7 | function sliderHandler(args) |
---|
| 8 | CEGUI.System:getSingleton():getGUISheet():setAlpha(CEGUI.toSlider(CEGUI.toWindowEventArgs(args).window):getCurrentValue()) |
---|
| 9 | end |
---|
| 10 | |
---|
| 11 | ----------------------------------------- |
---|
| 12 | -- Handler to slide pane |
---|
| 13 | -- |
---|
| 14 | -- Here we move the 'Demo8' sheet window |
---|
| 15 | -- and re-position the scrollbar |
---|
| 16 | ----------------------------------------- |
---|
| 17 | function panelSlideHandler(args) |
---|
| 18 | local scroller = CEGUI.toScrollbar(CEGUI.toWindowEventArgs(args).window) |
---|
| 19 | local demoWnd = CEGUI.WindowManager:getSingleton():getWindow("Demo8") |
---|
| 20 | |
---|
| 21 | local relHeight = demoWnd:getHeight():asRelative(demoWnd:getParentPixelHeight()) |
---|
| 22 | |
---|
| 23 | scroller:setPosition(CEGUI.UVector2(CEGUI.UDim(0,0), CEGUI.UDim(scroller:getScrollPosition() / relHeight,0))) |
---|
| 24 | demoWnd:setPosition(CEGUI.UVector2(CEGUI.UDim(0,0), CEGUI.UDim(-scroller:getScrollPosition(),0))) |
---|
| 25 | end |
---|
| 26 | |
---|
| 27 | ----------------------------------------- |
---|
| 28 | -- Handler to set preview colour when |
---|
| 29 | -- colour selector scrollers change |
---|
| 30 | ----------------------------------------- |
---|
| 31 | function colourChangeHandler(args) |
---|
| 32 | local winMgr = CEGUI.WindowManager:getSingleton() |
---|
| 33 | |
---|
| 34 | local r = CEGUI.toScrollbar(winMgr:getWindow("Demo8/Window1/Controls/Red")):getScrollPosition() |
---|
| 35 | local g = CEGUI.toScrollbar(winMgr:getWindow("Demo8/Window1/Controls/Green")):getScrollPosition() |
---|
| 36 | local b = CEGUI.toScrollbar(winMgr:getWindow("Demo8/Window1/Controls/Blue")):getScrollPosition() |
---|
| 37 | local col = CEGUI.colour:new_local(r, g, b, 1) |
---|
| 38 | local crect = CEGUI.ColourRect(col) |
---|
| 39 | |
---|
| 40 | winMgr:getWindow("Demo8/Window1/Controls/ColourSample"):setProperty("ImageColours", CEGUI.PropertyHelper:colourRectToString(crect)) |
---|
| 41 | end |
---|
| 42 | |
---|
| 43 | |
---|
| 44 | ----------------------------------------- |
---|
| 45 | -- Handler to add an item to the box |
---|
| 46 | ----------------------------------------- |
---|
| 47 | function addItemHandler(args) |
---|
| 48 | local winMgr = CEGUI.WindowManager:getSingleton() |
---|
| 49 | |
---|
| 50 | local text = winMgr:getWindow("Demo8/Window1/Controls/Editbox"):getText() |
---|
| 51 | local cols = CEGUI.PropertyHelper:stringToColourRect(winMgr:getWindow("Demo8/Window1/Controls/ColourSample"):getProperty("ImageColours")) |
---|
| 52 | |
---|
| 53 | local newItem = CEGUI.createListboxTextItem(text, 0, nil, false, true) |
---|
| 54 | newItem:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush") |
---|
| 55 | newItem:setSelectionColours(cols) |
---|
| 56 | |
---|
| 57 | CEGUI.toListbox(winMgr:getWindow("Demo8/Window1/Listbox")):addItem(newItem) |
---|
| 58 | end |
---|
| 59 | |
---|
| 60 | ----------------------------------------- |
---|
| 61 | -- Script Entry Point |
---|
| 62 | ----------------------------------------- |
---|
| 63 | local guiSystem = CEGUI.System:getSingleton() |
---|
| 64 | local schemeMgr = CEGUI.SchemeManager:getSingleton() |
---|
| 65 | local winMgr = CEGUI.WindowManager:getSingleton() |
---|
| 66 | |
---|
| 67 | -- load our demo8 scheme |
---|
| 68 | schemeMgr:loadScheme("Demo8.scheme"); |
---|
| 69 | -- load our demo8 window layout |
---|
| 70 | local root = winMgr:loadWindowLayout("Demo8.layout") |
---|
| 71 | -- set the layout as the root |
---|
| 72 | guiSystem:setGUISheet(root) |
---|
| 73 | -- set default mouse cursor |
---|
| 74 | guiSystem:setDefaultMouseCursor("TaharezLook", "MouseArrow") |
---|
| 75 | -- set the Tooltip type |
---|
| 76 | guiSystem:setDefaultTooltip("TaharezLook/Tooltip") |
---|
| 77 | |
---|
| 78 | -- subscribe required events |
---|
| 79 | winMgr:getWindow("Demo8/ViewScroll"):subscribeEvent("ScrollPosChanged", "panelSlideHandler") |
---|
| 80 | winMgr:getWindow("Demo8/Window1/Controls/Blue"):subscribeEvent("ScrollPosChanged", "colourChangeHandler") |
---|
| 81 | winMgr:getWindow("Demo8/Window1/Controls/Red"):subscribeEvent("ScrollPosChanged", "colourChangeHandler") |
---|
| 82 | winMgr:getWindow("Demo8/Window1/Controls/Green"):subscribeEvent("ScrollPosChanged", "colourChangeHandler") |
---|
| 83 | winMgr:getWindow("Demo8/Window1/Controls/Add"):subscribeEvent("Clicked", "addItemHandler") |
---|