12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import { Button } from "babylonjs-gui/2D/controls/button";
- import { Checkbox } from "babylonjs-gui/2D/controls/checkbox";
- import { ColorPicker } from "babylonjs-gui/2D/controls/colorpicker";
- import { Ellipse } from "babylonjs-gui/2D/controls/ellipse";
- import { Line } from "babylonjs-gui/2D/controls/line";
- import { Rectangle } from "babylonjs-gui/2D/controls/rectangle";
- import { Slider } from "babylonjs-gui/2D/controls/sliders/slider";
- import { TextBlock } from "babylonjs-gui/2D/controls/textBlock";
- import { VirtualKeyboard } from "babylonjs-gui/2D/controls/virtualKeyboard";
- import { Image } from "babylonjs-gui/2D/controls/image"
- import { InputText } from "babylonjs-gui/2D/controls/inputText";
- import { InputPassword } from "babylonjs-gui/2D/controls/inputPassword";
- import { Grid } from "babylonjs-gui/2D/controls/grid";
- import { DisplayGrid } from "babylonjs-gui/2D/controls/displayGrid";
- export class GUINodeTools {
- public static CreateControlFromString (data: string) {
- //TODO: Add more elements and create default values for certain types.
- let element;
- switch (data) {
- case "Slider":
- element = new Slider("Slider");
- break;
- case "Checkbox":
- element = new Checkbox("Checkbox");
- break;
- case "ColorPicker":
- element = new ColorPicker("ColorPicker");
- break;
- case "Ellipse":
- element = new Ellipse("Ellipse");
- break;
- case "Rectangle":
- element = new Rectangle("Rectangle");
- break;
- case "Line":
- element = new Line();
- element.x1 = 10;
- element.y1 = 10;
- element.x2 = 100;
- element.y2 = 100;
- element.lineWidth = 5;
- element.dash = [50, 10];
- return element;
- case "Text":
- element = new TextBlock("Textblock");
- element.text = "My Text";
- return element;
- case "ImageButton":
- element = Button.CreateImageButton("Button", "Click Me", "textures/grass.png");
- break;
- case "VirtualKeyboard":
- element = new VirtualKeyboard();
- element.addKeysRow(["1","2", "3","\u2190"]);
- break;
- case "Image":
- element = new Image("Image", "https://i.imgur.com/ntIgFT6.jpg");
- break;
- case "InputText":
- element = new InputText();
- element.maxWidth = 0.6;
- element.text = "Click Me";
- break;
- case "InputPassword":
- element = new InputPassword();
- break;
- case "Grid":
- element = new Grid();
- element.addColumnDefinition(100, true);
- element.addColumnDefinition(0.5);
- element.addColumnDefinition(0.5);
- element.addColumnDefinition(100, true);
- element.addRowDefinition(0.5);
- element.addRowDefinition(0.5);
- return element;
- case "DisplayGrid":
- element = new DisplayGrid();
- element.width = "200px";
- element.height = "200px";
- return element;
- default:
- element = Button.CreateSimpleButton("Button", "Click Me");
- break;
- }
- element.width = "150px";
- element.height = "40px";
- element.color = "#FFFFFFFF";
- element.isPointerBlocker = true;
- return element;
- }
- }
|