diff options
author | Dan Gudmundsson <[email protected]> | 2013-01-25 15:56:43 +0100 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2013-01-25 15:56:43 +0100 |
commit | 697e9178b8c9dc825e221f2750afac516478976a (patch) | |
tree | 30ed18f6a14c825b7ee78fac8ab82c4ad63e4f5a /lib/wx/api_gen | |
parent | ed2be3f6913559b8d9ffd65609b7a2ca32367c05 (diff) | |
parent | 489b963bae3dd522bca228978f0b164ec422fc6f (diff) | |
download | otp-697e9178b8c9dc825e221f2750afac516478976a.tar.gz otp-697e9178b8c9dc825e221f2750afac516478976a.tar.bz2 otp-697e9178b8c9dc825e221f2750afac516478976a.zip |
Merge branch 'dgud/wx/treectrl/OTP-10743'
* dgud/wx/treectrl/OTP-10743:
wx: Add wxTreeCtrl:isTreeItemIdOk/1
wx: Fix wxTreeCtrl return values
Diffstat (limited to 'lib/wx/api_gen')
-rw-r--r-- | lib/wx/api_gen/wx_extra/bugs.h | 6 | ||||
-rw-r--r-- | lib/wx/api_gen/wx_extra/wxTreeCtrl.c_src | 28 | ||||
-rw-r--r-- | lib/wx/api_gen/wx_gen_erl.erl | 59 | ||||
-rw-r--r-- | lib/wx/api_gen/wxapi.conf | 7 |
4 files changed, 72 insertions, 28 deletions
diff --git a/lib/wx/api_gen/wx_extra/bugs.h b/lib/wx/api_gen/wx_extra/bugs.h index b8f3dfcb00..e3a4fa200b 100644 --- a/lib/wx/api_gen/wx_extra/bugs.h +++ b/lib/wx/api_gen/wx_extra/bugs.h @@ -34,3 +34,9 @@ class WXDLLIMPEXP_ADV wxGridCellNumberRenderer : public wxGridCellStringRenderer wxGridCellNumberRenderer(); }; +// Enable test for valid wxTreeItemId's +class WXDLLIMPEXP_ADV wxTreeCtrlBase : public wxControl +{ + public: + static bool IsTreeItemIdOk(wxTreeItemId id); +} diff --git a/lib/wx/api_gen/wx_extra/wxTreeCtrl.c_src b/lib/wx/api_gen/wx_extra/wxTreeCtrl.c_src new file mode 100644 index 0000000000..50dca4e2bb --- /dev/null +++ b/lib/wx/api_gen/wx_extra/wxTreeCtrl.c_src @@ -0,0 +1,28 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2013. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% + + +<<wxTreeCtrl_IsTreeItemIdOk +case ~s: { // wxTreeCtrl::IsTreeItemIdOk + wxTreeItemId item = wxTreeItemId((void *) *(wxUint64 *) bp); bp += 8; + bool Result = item.IsOk(); + rt.addBool(Result); + break; +} +wxTreeCtrl_IsTreeItemIdOk>> diff --git a/lib/wx/api_gen/wx_gen_erl.erl b/lib/wx/api_gen/wx_gen_erl.erl index a999a869e6..2e1a0d617a 100644 --- a/lib/wx/api_gen/wx_gen_erl.erl +++ b/lib/wx/api_gen/wx_gen_erl.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2012. All Rights Reserved. +%% Copyright Ericsson AB 2008-2013. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -218,33 +218,37 @@ check_class(#type{base={class,Name},xml=Xml}) -> gen_export(#class{name=Class,abstract=Abs},Ms0) -> RemoveC = fun(#method{where=merged_c}) -> false;(_Other) -> true end, Res = filter(RemoveC, Ms0), + GetF = fun(M=#method{method_type=constructor,where=W,params=Ps}) -> + {Args,Opts} = split_optional(Ps), + OptLen = case Opts of + [] -> 0; + _ when W =:= erl_no_opt -> 0; + _ -> 1 + end, + deprecated(M, "new" ++ "/" ++ integer_to_list(length(Args)+OptLen)); + (M=#method{method_type=destructor}) -> + case Abs of + true -> []; + _ -> deprecated(M, "destroy/1") + end; + (M=#method{name=N,alias=A,where=W, params=Ps}) -> + {Args,Opts} = split_optional(Ps), + OptLen = case Opts of + [] -> 0; + _ when W =:= erl_no_opt -> 0; + _ -> 1 + end, + deprecated(M, erl_func_name(N,A) ++ "/" ++ integer_to_list(length(Args) + OptLen)) + end, case Res of [] -> []; [M=#method{where=taylormade}|_] -> - [deprecated(M, taylormade_export(Class, M))]; + try + [deprecated(M, taylormade_export(Class, M))] + catch error:{badmatch, {error, enoent}} -> + lists:map(GetF, Res) + end; Ms -> - GetF = fun(M=#method{method_type=constructor,where=W,params=Ps}) -> - {Args,Opts} = split_optional(Ps), - OptLen = case Opts of - [] -> 0; - _ when W =:= erl_no_opt -> 0; - _ -> 1 - end, - deprecated(M, "new" ++ "/" ++ integer_to_list(length(Args)+OptLen)); - (M=#method{method_type=destructor}) -> - case Abs of - true -> []; - _ -> deprecated(M, "destroy/1") - end; - (M=#method{name=N,alias=A,where=W, params=Ps}) -> - {Args,Opts} = split_optional(Ps), - OptLen = case Opts of - [] -> 0; - _ when W =:= erl_no_opt -> 0; - _ -> 1 - end, - deprecated(M, erl_func_name(N,A) ++ "/" ++ integer_to_list(length(Args) + OptLen)) - end, lists:map(GetF, Ms) end. @@ -262,7 +266,12 @@ gen_method(Class,Ms0) -> case Res of [] -> Ms0; [#method{where=taylormade}|_] -> - taylormade_func(Class, Res), + try + taylormade_func(Class, Res) + catch error:{badmatch, {error, enoent}} -> + gen_doc(Class,Res), + gen_method1(Res) + end, Ms0; Ms -> gen_doc(Class,Ms), diff --git a/lib/wx/api_gen/wxapi.conf b/lib/wx/api_gen/wxapi.conf index 94142ff6ba..81f2a389ab 100644 --- a/lib/wx/api_gen/wxapi.conf +++ b/lib/wx/api_gen/wxapi.conf @@ -2,7 +2,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2012. All Rights Reserved. +%% Copyright Ericsson AB 2008-2013. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -975,7 +975,7 @@ 'AssignImageList','AssignStateImageList','Collapse','CollapseAndReset', 'Create','Delete','DeleteAllItems','DeleteChildren', {'EditLabel', [{"textCtrlClass", [nowhere]}]}, %'EndEditLabel', - 'EnsureVisible','Expand','GetBoundingRect', + 'EnsureVisible','Expand',{'GetBoundingRect', [{"rect", [out]}]}, 'GetChildrenCount','GetCount','GetEditControl', {'GetFirstChild',[{"cookie", out}]}, {'GetNextChild',[{"cookie", [both]}]}, 'GetFirstVisibleItem',{'GetImageList',0},'GetIndent', @@ -984,9 +984,10 @@ 'GetNextSibling','GetNextVisible','GetItemParent',%'GetParent', 'GetPrevSibling','GetPrevVisible','GetRootItem', 'GetSelection',{'GetSelections', [{return, nowhere},{"val",out}]}, - 'GetStateImageList',{'HitTest', 1}, + 'GetStateImageList', {{'HitTest', 2}, [{"flags", out}]}, {'InsertItem',[{"insertAfter", skip_member}]}, 'IsBold','IsExpanded','IsSelected','IsVisible','ItemHasChildren', + {'IsTreeItemIdOk', [{where, taylormade}]}, %%'OnCompareItems', 'PrependItem','ScrollTo','SelectItem', 'SetIndent',{'SetImageList',1},'SetItemBackgroundColour', |