//---------------------------------------------------------------- new GuiControlProfile (HotPinkProfile) { opaque = true; fillColor = "255 128 128"; border = true; borderColor = "255 128 128"; fontType = "Arial"; fontSize = 12; fontColor = "0 0 0"; fontColorHL = "32 100 100"; fixedExtent = true; justify = "center"; }; new GuiControl(GuiEditorGui) { profile = GuiDefaultProfile; position = "0 0"; extent = "800 600"; new GuiControl() // pink background { profile = HotPinkProfile; horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "640 480"; }; new GuiControl(GuiEditorContent) { profile = "GuiDefaultProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "640 480"; }; new GuiEditCtrl(GuiEditor) { profile = "GuiTextEditProfile"; // so it's tabable horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "640 480"; }; new GuiFrameSetCtrl() { position = "640 0"; extent = "160 600"; profile = "GuiButtonProfile"; horizSizing = "width"; vertSizing = "height"; columns = "0"; rows = "0 300"; new GuiScrollCtrl() // tree view { profile = "GuiScrollCtrlProfile"; position = "0 0"; extent = "160 300"; horizSizing = "width"; vertSizing = "height"; vScrollBar = "alwaysOn"; hScrollBar = "dynamic"; new GuiScrollContentCtrl() { profile = "GuiScrollContentProfile"; new GuiTreeView (GuiEditorTreeView) { profile = "GuiTreeViewProfile"; position = "0 0"; horizSizing = "width"; }; }; }; new GuiControl() { // inspector profile = "GuiButtonProfile"; horizSizing = "width"; vertSizing = "height"; position = "0 0"; extent = "160 300"; new GuiButtonCtrl () { profile = "GuiButtonProfile"; position = "4, 4"; extent = "40 16"; font = "12 252 Arial"; fontHL = "12 253 Arial"; text = "APPLY"; command = "GuiEditorInspectApply();"; fillColor = "249"; borderColor = "249"; selectBorderColor = "255"; }; new GuiTextCtrl() { profile = "GuiTextProfile"; position = "52 4"; extent = "30 16"; font = "12 244 Arial"; text = "Name:"; }; new GuiTextEditCtrl (GuiEditorInspectName) { profile = "GuiTextEditProfile"; position = "84 3"; extent = "72 18"; text = ""; horizSizing = "width"; vertSizing = "bottom"; }; new GuiScrollCtrl() { profile = "GuiScrollCtrlProfile"; position = "0 24"; extent = "160 276"; horizSizing = "width"; vertSizing = "height"; vScrollBar = "alwaysOn"; hScrollBar = "alwaysOff"; new GuiScrollContentCtrl() { profile = "GuiDefaultProfile"; extent = "140 274"; horizSizing = "width"; vertSizing = "height"; new GuiInspector (GuiEditorInspectFields) { profile = "GuiDefaultProfile"; position = "0 0"; extent = "140 0"; horizSizing = "width"; vertSizing = "bottom"; }; }; }; }; }; // toolbar new GuiControl() { profile = "GuiWindowProfile"; horizSizing = "right"; vertSizing = "height"; position = "0 480"; extent = "640 120"; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "4 24"; extent = "70 16"; text = "Align Left"; command = "GuiEditor.Justify(0);"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "80 24"; extent = "70 16"; text = "Align Right"; command = "GuiEditor.Justify(2);"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "156 24"; extent = "70 16"; text = "Center Horiz"; command = "GuiEditor.Justify(1);"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "232 24"; extent = "70 16"; text = "Align Top"; command = "GuiEditor.Justify(3);"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "308 24"; extent = "70 16"; text = "Align Bottom"; command = "GuiEditor.Justify(4);"; }; new GuiControlListPopup(GuiEditorClassPopup) { profile = "GuiButtonProfile"; position = "382 24"; extent = "180 16"; }; new GuiPopUpMenuCtrl(GuiEditorContentList) { profile = "GuiButtonProfile"; position = "382 44"; extent = "180 16"; }; new GuiButtonCtrl () { profile = "GuiButtonProfile"; position = "570 24"; extent = "60 16"; text = "New..."; command = "GuiEditorStartCreate();"; }; new GuiButtonCtrl () { profile = "GuiButtonProfile"; position = "570 44"; extent = "60 16"; text = "Save"; command = "GuiEditorSaveGui();"; }; new GuiButtonCtrl ("GuiEditorButtonToggle") { profile = "GuiButtonProfile"; position = "4 44"; extent = "70 16"; text = "Stop Edit"; command = "GuiEdit();"; }; new GuiButtonCtrl () { profile = "GuiButtonProfile"; position = "80 44"; extent = "70 16"; text = "Space Vert"; command = "GuiEditor.Justify(5);"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "156 44"; extent = "70 16"; text = "Space Horiz"; command = "GuiEditor.Justify(6);"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "232 44"; extent = "70 16"; text = "Bring Front"; command = "GuiEditor.BringToFront();"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "308 44"; extent = "70 16"; text = "Send Back"; command = "GuiEditor.PushToBack();"; }; }; }; new GuiControl(NewGuiDialog) { profile = "GuiDialogProfile"; position = "0 0"; extent = "640 480"; new GuiWindowCtrl() { profile = "GuiWindowProfile"; position = "220 146"; extent = "200 188"; text = "Create new GUI"; canMove = "false"; canClose = "false"; canMinimize = "false"; canMaximize = "false"; horizSizing = "center"; vertSizing = "center"; new GuiTextCtrl() { profile = "GuiTextProfile"; position = "20 28"; text = "GUI Name:"; }; new GuiTextEditCtrl(NewGuiDialogName) { profile = "GuiTextEditProfile"; position = "20 44"; extent = "160 20"; }; new GuiTextCtrl() { profile = "GuiTextProfile"; position = "20 68"; text = "Class:"; }; new GuiControlListPopup(NewGuiDialogClass) { profile = "GuiTextEditProfile"; position = "20 84"; extent = "160 20"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "56 156"; extent = "40 16"; text = "Create"; command = "GuiEditorCreate();"; }; new GuiButtonCtrl() { profile = "GuiButtonProfile"; position = "104 156"; extent = "40 16"; text = "Cancel"; command = "Canvas.popDialog(NewGuiDialog);"; }; }; }; function GuiEditorStartCreate() { NewGuiDialogClass.setText("GuiControl"); NewGuiDialogClass.sort(); NewGuiDialogName.setValue("NewGui"); Canvas.pushDialog(NewGuiDialog); } function GuiEditorCreate() { %name = NewGuiDialogName.getValue(); %class = NewGuiDialogClass.getText(); Canvas.popDialog(NewGuiDialog); %obj = eval("return new " @ %class @ "(" @ %name @ ");"); GuiEditorOpen(%obj); } function GuiEditorSaveGui() { %obj = GuiEditorContent.getObject(0); if(%obj == -1 || %obj.getName() $= "") return; %obj.save("gui/" @ %obj.getName() @ ".gui"); } function GuiEdit(%val) { if(%val != 0) return; %content = Canvas.getContent(); if(%content == GuiEditorGui.getId()) { //GlobalActionMap.bind(mouse, button1, mouselook); %obj = GuiEditorContent.getObject(0); if(%obj != -1) { GuiGroup.add(%obj); Canvas.setContent(%obj); } } else { //GlobalActionMap.unbind(mouse, button1); GuiEditorOpen(%content); } } function GuiEditorOpen(%content) { Canvas.setContent(GuiEditorGui); while((%obj = GuiEditorContent.getObject(0)) != -1) GuiGroup.add(%obj); // get rid of anything being edited %i = 0; GuiEditorContentList.clear(); while((%obj = GuiGroup.getObject(%i)) != -1) { if(%obj.getName() !$= Canvas) { if(%obj.getName() $= "") %name = "(unnamed) - " @ %obj; else %name = %obj.getName() @ " - " @ %obj; GuiEditorContentList.add(%name, %obj); } %i++; } GuiEditorContent.add(%content); GuiEditorContentList.sort(); GuiEditorClassPopup.sort(); if(%content.getName() $= "") %name = "(unnamed) - " @ %content; else %name = %content.getName() @ " - " @ %content; GuiEditorContentList.setText(%name); GuiEditorClassPopup.setText("New Control"); GuiEditor.setRoot(%content); %content.resize(0,0,640,480); GuiEditorTreeView.open(%content); } function GuiEditorContentList::onSelect(%this, %id) { GuiEditorOpen(%id); } function GuiEditorClassPopup::onSelect(%this, %id) { %class = %this.getText(); %obj = eval("return new " @ %class @ "();"); GuiEditor.addNewCtrl(%obj); GuiEditorClassPopup.setText("New Control"); } function GuiEditorTreeView::onSelect(%this, %obj) { GuiEditorInspectFields.inspect(%obj); GuiEditorInspectName.setValue(%obj.getName()); GuiEditor.select(%obj); } function GuiEditorInspectApply() { GuiEditorInspectFields.apply(GuiEditorInspectName.getValue()); } function GuiEditor::onSelect(%this, %ctrl) { GuiEditorInspectFields.inspect(%ctrl); GuiEditorInspectName.setValue(%ctrl.getName()); } if (!isDemo()) GlobalActionMap.bind(keyboard, "alt f1", GuiEdit);