#!yab // MessageWorld - shows the messages the widgets return // by DasJott // Main background colors r = 206 : g = 226 : b = 246 // open main window window open 100, 200 to 600, 450, "MainView", "MessageWorld - Select a widget to be explained" window set "MainView", "maximumto", 500, 250 window set "MainView", "minimumto", 500, 250 draw set "bgcolor", r, g, b, "MainView" // open view inside the main window view 0, 0 to 500, 180, "ContentView", "MainView" // for the contents; widgets and text. draw set "bgcolor", r+20, g+20, b+20, "ContentView" draw text 210, 60, "MessageWorld", "ContentView" draw text 150, 75, "Shows the messages the widgets return.", "ContentView" draw text 149, 100, "Please select the widget to be explained.", "ContentView" draw text 125, 125, "Please use each widget to get the message shown.", "ContentView" draw text 135, 140, "The sourcecode is also shown for each widget.", "ContentView" view 0, 181 to 500, 199, "MessageView", "MainView" // for the message display draw set "bgcolor", r+20, g+20, b+20, "MessageView" draw set "lowcolor", r+10, g+10, b+10, "MessageView" draw set "highcolor", 255, 0, 0, "MessageView" draw set "Swis721 BT, Roman, 12", "MessageView" view 0, 200 to 500, 250, "SwitchView", "MainView" // for the buttons draw set "bgcolor", r, g, b, "SwitchView" //color the buttons for cc = 0 to 25 draw set "highcolor", r+30-(2*cc), g+30-(2*cc), b+30-(2*cc), "SwitchView" draw line 0, cc to 500, cc, "SwitchView" next cc for cc = 0 to 25 draw set "highcolor", r+30-(2*cc), g+30-(2*cc), b+30-(2*cc), "SwitchView" draw line 0, 25+cc to 500, 25+cc, "SwitchView" next cc // draw lines between the buttons draw set "highcolor", r-70, g-70, b-70, "SwitchView" draw line 0, 0 to 500, 0, "SwitchView" draw line 0, 25 to 500, 25, "SwitchView" draw line 99, 0 to 99, 50, "SwitchView" draw line 199, 0 to 199, 50, "SwitchView" draw line 299, 0 to 299, 50, "SwitchView" draw line 399, 0 to 399, 50, "SwitchView" draw set "highcolor", r+35, g+35, b+35, "SwitchView" draw line 0, 1 to 500, 1, "SwitchView" draw line 0, 26 to 500, 26, "SwitchView" draw line 100, 1 to 100, 50, "SwitchView" draw line 200, 1 to 200, 50, "SwitchView" draw line 300, 1 to 300, 50, "SwitchView" draw line 400, 1 to 400, 50, "SwitchView" draw set "highcolor", 0, 0, 0, "SwitchView" draw text 10, 15, "Button", "SwitchView" draw text 110, 15, "Menu", "SwitchView" draw text 210, 15, "Listbox", "SwitchView" draw text 310, 15, "Textcontrol", "SwitchView" draw text 410, 15, "Checkbox", "SwitchView" draw text 10, 40, "Radiobutton", "SwitchView" draw text 110, 40, "Dropbox", "SwitchView" draw text 210, 40, "Dropzone", "SwitchView" draw text 310, 40, "Slider", "SwitchView" draw text 410, 40, "Colorcontrol", "SwitchView" // main program loop Xmouse = 1000 dim cmd$(1) dim mouse$(10) // NEU! if(ismousein("SwitchView")) then outsideButton = false else outsideButton = true fi inloop = true while (inloop) msg$ = message$ if (split(msg$, cmd$(), ":|") > 2) item$ = cmd$(2) mmsg$ = mouse message$("SwitchView") n = split(mmsg$, mouse$(), ":") if (msg$ <> "") then draw flush "MessageView" draw Text 10, 10, "Message: "+msg$, "MessageView" fi if (ismousein("SwitchView")) then // NEU! if(outsideButton) then while(ismousein("SwitchView") and mouse$(3) = "1") mmsg$ = mousemessage$("SwitchView") n = split(mmsg$, mouse$(), ":") sleep 0.1 wend fi if(ismousein("SwitchView")) then outsideButton = false Xmouse = val(mouse$(1)) Ymouse = val(mouse$(2)) BLmouse = val(mouse$(3)) else outsideButton = true fi else outsideButton = true fi if (BLmouse = 0) Fbl = 0 if (Ymouse < 25 and BLmouse = 1 and Ymouse > 0 and Fbl = 0) then if (Xmouse < 100) then VButton(0) fi if (Xmouse > 100 and Xmouse < 200) then VButton(1) fi if (Xmouse > 200 and Xmouse < 300) then VButton(2) fi if (Xmouse > 300 and Xmouse < 400) then VButton(3) fi if (Xmouse > 400 and Xmouse < 500) then VButton(4) fi Fbl = 1 fi if (Ymouse > 25 and BLmouse = 1 and Fbl = 0) then if (Xmouse < 100) then VButton(5) fi if (Xmouse > 100 and Xmouse < 200) then VButton(6) fi if (Xmouse > 200 and Xmouse < 300) then VButton(7) fi if (Xmouse > 300 and Xmouse < 400) then VButton(8) fi if (Xmouse > 400 and Xmouse < 500) then VButton(9) fi Fbl = 1 fi switch msg$ case "MainView:_QuitRequested|" inloop = false break end switch sleep 0.01 wend exit sub VButton(n) draw flush "MessageView" if(ck) then view remove "CBView" ck = false endif view remove "ContentView" view 0, 0 to 500, 200, "ContentView", "MainView" draw set "bgcolor", r+20, g+20, b+20, "ContentView" draw set "lowcolor", r, g, b, "ContentView" draw set "Swis721 BT, Bold, 16", "ContentView" if (n = 0) then // Button draw text 10, 25, "BUTTON x1,y1 TO x2,y2, ID$, Label$, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" button 100, 50 to 400, 70, "Button_", "Testbutton", "ContentView" draw text 60, 130, "button 100, 50 to 400, 70, \"Button_\", \"Testbutton\", \"MainView\"", "ContentView" fi if (n = 1) then // Menu draw text 10, 25, "MENU Head$, Menu$, Shortcut$, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" view 40, 50 to 460, 100, "MenuView", "ContentView" draw text 60, 130, "view 40, 50 to 460, 100, \"MenuView\", \"MainView\"", "ContentView" menu "File", "Open file", "", "MenuView" menu "File", "Quit", "", "MenuView" draw text 60, 145, "menu \"File\", \"Open file\", \"\", \"MenuView\"", "ContentView" draw text 60, 160, "menu \"File\", \"Quit\", \"\", \"MenuView\"", "ContentView" fi if (n = 2) then // Listbox draw text 10, 25, "LISTBOX x1,y1 TO x2,y2, ID$, ScrollbarType, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" listbox 40, 50 to 460, 100, "ListBox_", 1, "ContentView" draw text 60, 130, "listbox 40, 50 to 460, 100, \"ListBox_\", 1, \"MainView\"", "ContentView" listbox add "ListBox_", "First entry" listbox add "ListBox_", "Second entry" draw text 60, 145, "listbox add \"ListBox_\", \"First entry\"", "ContentView" draw text 60, 160, "listbox add \"ListBox_\", \"Second entry\"", "ContentView" fi if (n = 3) then // Textcontrol draw text 10, 25, "TEXTCONTROL x1,y1 TO x2,y2, ID$, Label$, Text$, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" textcontrol 100, 50 to 400, 70, "Textcontrol-ID", "Label", "Text", "ContentView" draw text 60, 130, "textcontrol 100, 50 to 400, 70, \"Textcontrol-ID\", \"Label\", \"Text\", \"MainView\"", "ContentView" fi if (n = 4) then // Checkbox draw text 10, 25, "CHECKBOX x1,y1, ID$, Label$, IsActivated, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" view 100, 50 to 400, 100, "CBView", "ContentView" draw text 60, 130, "view 100, 50 to 400, 100, \"CBView\", \"MainView\"", "ContentView" checkbox 10, 8, "Checkbox1-ID", "Label1", 0, "CBView" checkbox 10, 28, "Checkbox2-ID", "Label2", 1, "CBView" draw text 60, 145, "checkbox 10, 8, \"Checkbox1-ID\", \"Label1\", 0, \"CBView\"", "ContentView" draw text 60, 160, "checkbox 10, 28, \"Checkbox2-ID\", \"Label2\", 1, \"CBView\"", "ContentView" ck = true fi if (n = 5) then // Radiobutton draw text 10, 25, "RADIOBUTTON x1,y1, ID$, Label$, IsActivated, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" view 100, 50 to 400, 100, "RBView", "ContentView" draw text 60, 130, "view 100, 50 to 400, 100, \"RBView\", \"MainView\"", "ContentView" radiobutton 10, 8, "Radiobutton1-ID", "Label1", 0, "RBView" radiobutton 10, 28, "Radiobutton2-ID", "Label2", 1, "RBView" draw text 60, 145, "radiobutton 10, 8, \"Radiobutton1-ID\", \"Label1\", 0, \"RBView\"", "ContentView" draw text 60, 160, "radiobutton 10, 28, \"Radiobutton2-ID\", \"Label2\", 1, \"RBView\"", "ContentView" fi if (n = 6) then // Dropbox draw text 10, 25, "DROPBOX x1,y1 TO x2,y2, ID$, Label$, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" dropbox 40, 50 to 460, 100, "DropBox_", "Label", "ContentView" draw text 60, 130, "dropbox 40, 50 to 460, 100, \"DropBox_\", \"Label\", \"MainView\"", "ContentView" dropbox add "DropBox_", "First entry" dropbox add "DropBox_", "Second entry" draw text 60, 145, "dropbox add \"DropBox_\", \"First entry\"", "ContentView" draw text 60, 160, "dropbox add \"DropBox_\", \"Second entry\"", "ContentView" fi if (n = 7) then // Dropzone draw text 10, 25, "VIEW DROPZONE View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" view 100, 50 to 400, 100, "DropView", "ContentView" draw text 60, 130, "view 100, 50 to 400, 100, \"DropView\", \"MainView\"", "ContentView" view dropzone "DropView" draw text 60, 145, "view dropzone \"DropView\"", "ContentView" fi if (n = 8) then // Slider draw text 10, 25, "SLIDER x1,y1 TO x2,y2, ID$, Label$, Min, Max, Option$, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" slider 100, 50 to 400, 70, "Slider-ID", "Label", 0, 255, "horizontal", "ContentView" draw text 60, 130, "slider 100, 50 to 400, 70, \"slider-ID\", \"Label\", 0, 255, \"horizontal\", \"MainView\"", "ContentView" fi if (n = 9) then // Colorcontrol draw text 10, 25, "COLORCONTROL x,y, ID$, View$", "ContentView" draw set "Swis721 BT, Roman, 12", "ContentView" colorcontrol 100, 50, "ColCon-ID", "ContentView" draw text 60, 130, "colorcontrol 100, 50, \"ColCon-ID\", \"MainView\"", "ContentView" fi draw text 10, 130, "Source:", "ContentView" BLmouse = 0 return end sub