Browse Source

✨ Create Select UIObject

Pedro Schneider 3 years ago
parent
commit
b4cf6e7d55
2 changed files with 58 additions and 0 deletions
  1. 1 0
      index.html
  2. 57 0
      pandora/game_objects/ui_objects/Select.js

+ 1 - 0
index.html

@@ -35,6 +35,7 @@
     <script type="text/javascript" src="pandora/game_objects/ui_objects/Label.js"></script>
     <script type="text/javascript" src="pandora/game_objects/ui_objects/Slider.js"></script>
     <script type="text/javascript" src="pandora/game_objects/ui_objects/CheckBox.js"></script>
+    <script type="text/javascript" src="pandora/game_objects/ui_objects/Select.js"></script>
 
     <!-- Handlers -->
     <script type="text/javascript" src="pandora/handlers/GameHandler.js"></script>

+ 57 - 0
pandora/game_objects/ui_objects/Select.js

@@ -0,0 +1,57 @@
+class Select extends UIObject
+{
+    constructor(name)
+    {
+        super(name);
+
+        this.P5Element = createSelect();
+        this.setPosition(0, 0);
+        this.setSize(100, 20);
+        this.setStyle(DEFAULT_STYLE);
+
+        this.connectCallbacks();
+        this.P5Element.changed(this.onChanged);
+    }
+
+    // Setters
+    setSelected(value)
+    {
+        this.P5Element.selected(value);
+    }
+
+    // Getters
+    getSelected()
+    {
+        return this.P5Element.selected();
+    }
+
+    // Methods
+    addOption(value)
+    {
+        this.P5Element.option(value);
+    }
+
+    // TODO confirm if disable methods really dont exist or if
+    // something is fucky wooky.
+
+    // disableAll()
+    // {
+    //     this.P5Element.disable();
+    // }
+
+    // disableOption(value)
+    // {
+    //     this.P5Element.disable(value);
+    // }
+
+    // Callbacks
+    _onChanged()
+    {
+
+    }
+
+    onChanged()
+    {
+        this.pandoraObject._onChanged();
+    }
+}