diff --git a/src/hx/widgets/Menu.hx b/src/hx/widgets/Menu.hx index 1e4b84e2..73d75be1 100644 --- a/src/hx/widgets/Menu.hx +++ b/src/hx/widgets/Menu.hx @@ -66,6 +66,19 @@ class Menu extends EvtHandler { return menuItem; } + public function destroyItem(menuItem: MenuItem): Bool { + var menuItemPtr: Pointer = menuItem._ref.reinterpret(); + return menuRef.ptr.destroy(menuItemPtr.get_raw()); + } + + public function insertSubMenu(position:Int, id:Int, menu:Menu, text:String):MenuItem { + var str = WxString.fromUTF8(text); + var menuItemRef:Pointer = Pointer.fromRaw(menuRef.ptr.insert(position, id, str, menu.menuRef.get_raw())); + var menuItem:MenuItem = new MenuItem(); + menuItem._ref = menuItemRef.reinterpret(); + return menuItem; + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////// // Helpers ////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/hx/widgets/StandardPaths.hx b/src/hx/widgets/StandardPaths.hx index 8b9f2639..1273da52 100644 --- a/src/hx/widgets/StandardPaths.hx +++ b/src/hx/widgets/StandardPaths.hx @@ -10,6 +10,9 @@ class StandardPaths { private var _ref:Pointer; public function new() { + if (_ref == null) { + _ref = Pointer.addressOf(WxStandardPaths.get()); + } } public var appDocumentsDir(get, null):String; diff --git a/src/wx/widgets/Menu.hx b/src/wx/widgets/Menu.hx index a03552af..6c3a2263 100644 --- a/src/wx/widgets/Menu.hx +++ b/src/wx/widgets/Menu.hx @@ -26,4 +26,8 @@ extern class Menu extends EvtHandler { @:native("AppendSeparator") public function appendSeparator():RawPointer; @:native("AppendSubMenu") public function appendSubMenu(menu:RawPointer, text:WxString):RawPointer; + @:native("Insert") public function insert(position:Int, id:Int, text:WxString, menu:RawPointer):RawPointer; + + @:native("Destroy") public function destroy(menuItem:RawPointer):Bool; + } diff --git a/src/wx/widgets/StandardPaths.hx b/src/wx/widgets/StandardPaths.hx index 4b615c48..1b5aab55 100644 --- a/src/wx/widgets/StandardPaths.hx +++ b/src/wx/widgets/StandardPaths.hx @@ -5,6 +5,7 @@ package wx.widgets; @:native("wxStandardPaths") @:structAccess extern class StandardPaths { + @:native("wxStandardPaths::Get") public static function get():StandardPaths; @:native("GetAppDocumentsDir") public function getAppDocumentsDir():WxString; @:native("GetConfigDir") public function getConfigDir():WxString; @:native("GetDataDir") public function getDataDir():WxString;