1 /** 2 Base class for GUI Sliders. 3 4 Copyright: 5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. 6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) 7 Copyright (c) 2017-2018 Godot-D contributors 8 9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License) 10 11 12 */ 13 module godot.slider; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.meta; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.object; 22 import godot.range; 23 import godot.inputevent; 24 import godot.control; 25 import godot.canvasitem; 26 import godot.node; 27 /** 28 Base class for GUI Sliders. 29 30 31 */ 32 @GodotBaseClass struct Slider 33 { 34 enum string _GODOT_internal_name = "Slider"; 35 public: 36 @nogc nothrow: 37 union { godot_object _godot_object; Range _GODOT_base; } 38 alias _GODOT_base this; 39 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 40 package(godot) __gshared bool _classBindingInitialized = false; 41 package(godot) static struct _classBinding 42 { 43 __gshared: 44 @GodotName("_gui_input") GodotMethod!(void, InputEvent) _guiInput; 45 @GodotName("set_ticks") GodotMethod!(void, long) setTicks; 46 @GodotName("get_ticks") GodotMethod!(long) getTicks; 47 @GodotName("get_ticks_on_borders") GodotMethod!(bool) getTicksOnBorders; 48 @GodotName("set_ticks_on_borders") GodotMethod!(void, bool) setTicksOnBorders; 49 @GodotName("set_editable") GodotMethod!(void, bool) setEditable; 50 @GodotName("is_editable") GodotMethod!(bool) isEditable; 51 @GodotName("set_scrollable") GodotMethod!(void, bool) setScrollable; 52 @GodotName("is_scrollable") GodotMethod!(bool) isScrollable; 53 } 54 bool opEquals(in Slider other) const { return _godot_object.ptr is other._godot_object.ptr; } 55 Slider opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; } 56 bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; } 57 mixin baseCasts; 58 static Slider _new() 59 { 60 static godot_class_constructor constructor; 61 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("Slider"); 62 if(constructor is null) return typeof(this).init; 63 return cast(Slider)(constructor()); 64 } 65 @disable new(size_t s); 66 /** 67 68 */ 69 void _guiInput(InputEvent arg0) 70 { 71 Array _GODOT_args = Array.empty_array; 72 _GODOT_args.append(arg0); 73 String _GODOT_method_name = String("_gui_input"); 74 this.callv(_GODOT_method_name, _GODOT_args); 75 } 76 /** 77 78 */ 79 void setTicks(in long count) 80 { 81 checkClassBinding!(typeof(this))(); 82 ptrcall!(void)(_classBinding.setTicks, _godot_object, count); 83 } 84 /** 85 86 */ 87 long getTicks() const 88 { 89 checkClassBinding!(typeof(this))(); 90 return ptrcall!(long)(_classBinding.getTicks, _godot_object); 91 } 92 /** 93 94 */ 95 bool getTicksOnBorders() const 96 { 97 checkClassBinding!(typeof(this))(); 98 return ptrcall!(bool)(_classBinding.getTicksOnBorders, _godot_object); 99 } 100 /** 101 102 */ 103 void setTicksOnBorders(in bool ticks_on_border) 104 { 105 checkClassBinding!(typeof(this))(); 106 ptrcall!(void)(_classBinding.setTicksOnBorders, _godot_object, ticks_on_border); 107 } 108 /** 109 110 */ 111 void setEditable(in bool editable) 112 { 113 checkClassBinding!(typeof(this))(); 114 ptrcall!(void)(_classBinding.setEditable, _godot_object, editable); 115 } 116 /** 117 118 */ 119 bool isEditable() const 120 { 121 checkClassBinding!(typeof(this))(); 122 return ptrcall!(bool)(_classBinding.isEditable, _godot_object); 123 } 124 /** 125 126 */ 127 void setScrollable(in bool scrollable) 128 { 129 checkClassBinding!(typeof(this))(); 130 ptrcall!(void)(_classBinding.setScrollable, _godot_object, scrollable); 131 } 132 /** 133 134 */ 135 bool isScrollable() const 136 { 137 checkClassBinding!(typeof(this))(); 138 return ptrcall!(bool)(_classBinding.isScrollable, _godot_object); 139 } 140 /** 141 142 */ 143 @property bool editable() 144 { 145 return isEditable(); 146 } 147 /// ditto 148 @property void editable(bool v) 149 { 150 setEditable(v); 151 } 152 /** 153 154 */ 155 @property bool scrollable() 156 { 157 return isScrollable(); 158 } 159 /// ditto 160 @property void scrollable(bool v) 161 { 162 setScrollable(v); 163 } 164 /** 165 166 */ 167 @property long tickCount() 168 { 169 return getTicks(); 170 } 171 /// ditto 172 @property void tickCount(long v) 173 { 174 setTicks(v); 175 } 176 /** 177 178 */ 179 @property bool ticksOnBorders() 180 { 181 return getTicksOnBorders(); 182 } 183 /// ditto 184 @property void ticksOnBorders(bool v) 185 { 186 setTicksOnBorders(v); 187 } 188 /** 189 190 */ 191 @property Control.FocusMode focusMode() 192 { 193 return getFocusMode(); 194 } 195 /// ditto 196 @property void focusMode(long v) 197 { 198 setFocusMode(v); 199 } 200 }