src/hx/widgets/Control.hx
package hx.widgets;
import cpp.Pointer;
import wx.widgets.Control in WxControl;
import wx.widgets.WxString;
class Control extends Window {
public function new(parent:Window, style:Int = 0, id:Int = -1) {
if (_ref == null) {
_ref = WxControl.createInstance().reinterpret();
controlRef.ptr.create(Window.toRaw(parent), id, Point.defaultPosition.ref, Size.defaultSize.ref, style);
}
super(parent, id);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
// Instance functions
//////////////////////////////////////////////////////////////////////////////////////////////////////////
public var label(get, set):String;
private function get_label():String {
var r:WxString = controlRef.ptr.getLabel();
return new String(r.toUTF8().data());
}
private function set_label(value:String):String {
var s = WxString.createInstance(value);
controlRef.ptr.setLabel(s.ref);
s.destroy();
return value;
}
public function setLabelMarkup(value:String):Bool {
var s = WxString.createInstance(value);
var b = controlRef.ptr.setLabelMarkup(s.ref);
s.destroy();
return b;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
// Helpers
//////////////////////////////////////////////////////////////////////////////////////////////////////////
private var controlRef(get, null):Pointer<WxControl>;
private function get_controlRef():Pointer<WxControl> {
return _ref.reinterpret();
}
}