1%%
2%% %CopyrightBegin%
3%%
4%% Copyright Ericsson AB 2008-2016. All Rights Reserved.
5%%
6%% Licensed under the Apache License, Version 2.0 (the "License");
7%% you may not use this file except in compliance with the License.
8%% You may obtain a copy of the License at
9%%
10%%     http://www.apache.org/licenses/LICENSE-2.0
11%%
12%% Unless required by applicable law or agreed to in writing, software
13%% distributed under the License is distributed on an "AS IS" BASIS,
14%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15%% See the License for the specific language governing permissions and
16%% limitations under the License.
17%%
18%% %CopyrightEnd%
19%% This file is generated DO NOT EDIT
20
21%% @doc See external documentation: <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticboxsizer.html">wxStaticBoxSizer</a>.
22%% <p>This class is derived (and can use functions) from:
23%% <br />{@link wxBoxSizer}
24%% <br />{@link wxSizer}
25%% </p>
26%% @type wxStaticBoxSizer().  An object reference, The representation is internal
27%% and can be changed without notice. It can't be used for comparsion
28%% stored on disc or distributed for use on other nodes.
29
30-module(wxStaticBoxSizer).
31-include("wxe.hrl").
32-export([destroy/1,getStaticBox/1,new/2,new/3]).
33
34%% inherited exports
35-export([add/2,add/3,add/4,addSpacer/2,addStretchSpacer/1,addStretchSpacer/2,
36  calcMin/1,clear/1,clear/2,detach/2,fit/2,fitInside/2,getChildren/1,getItem/2,
37  getItem/3,getMinSize/1,getOrientation/1,getPosition/1,getSize/1,hide/2,
38  hide/3,insert/3,insert/4,insert/5,insertSpacer/3,insertStretchSpacer/2,
39  insertStretchSpacer/3,isShown/2,layout/1,parent_class/1,prepend/2,
40  prepend/3,prepend/4,prependSpacer/2,prependStretchSpacer/1,prependStretchSpacer/2,
41  recalcSizes/1,remove/2,replace/3,replace/4,setDimension/5,setItemMinSize/3,
42  setItemMinSize/4,setMinSize/2,setMinSize/3,setSizeHints/2,setVirtualSizeHints/2,
43  show/2,show/3]).
44
45-export_type([wxStaticBoxSizer/0]).
46%% @hidden
47parent_class(wxBoxSizer) -> true;
48parent_class(wxSizer) -> true;
49parent_class(_Class) -> erlang:error({badtype, ?MODULE}).
50
51-type wxStaticBoxSizer() :: wx:wx_object().
52%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticboxsizer.html#wxstaticboxsizerwxstaticboxsizer">external documentation</a>.
53%% <br /> Also:<br />
54%% new(Box, Orient) -> wxStaticBoxSizer() when<br />
55%% 	Box::wxStaticBox:wxStaticBox(), Orient::integer().<br />
56%%
57-spec new(Orient, Win) -> wxStaticBoxSizer() when
58	Orient::integer(), Win::wxWindow:wxWindow();
59      (Box, Orient) -> wxStaticBoxSizer() when
60	Box::wxStaticBox:wxStaticBox(), Orient::integer().
61
62new(Orient,Win)
63 when is_integer(Orient),is_record(Win, wx_ref) ->
64  new(Orient,Win, []);
65new(#wx_ref{type=BoxT,ref=BoxRef},Orient)
66 when is_integer(Orient) ->
67  ?CLASS(BoxT,wxStaticBox),
68  wxe_util:construct(?wxStaticBoxSizer_new_2,
69  <<BoxRef:32/?UI,Orient:32/?UI>>).
70
71%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticboxsizer.html#wxstaticboxsizerwxstaticboxsizer">external documentation</a>.
72-spec new(Orient, Win, [Option]) -> wxStaticBoxSizer() when
73	Orient::integer(), Win::wxWindow:wxWindow(),
74	Option :: {'label', unicode:chardata()}.
75new(Orient,#wx_ref{type=WinT,ref=WinRef}, Options)
76 when is_integer(Orient),is_list(Options) ->
77  ?CLASS(WinT,wxWindow),
78  MOpts = fun({label, Label}, Acc) ->   Label_UC = unicode:characters_to_binary([Label,0]),[<<1:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((0+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>|Acc];
79          (BadOpt, _) -> erlang:error({badoption, BadOpt}) end,
80  BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)),
81  wxe_util:construct(?wxStaticBoxSizer_new_3,
82  <<Orient:32/?UI,WinRef:32/?UI, BinOpt/binary>>).
83
84%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticboxsizer.html#wxstaticboxsizergetstaticbox">external documentation</a>.
85-spec getStaticBox(This) -> wxStaticBox:wxStaticBox() when
86	This::wxStaticBoxSizer().
87getStaticBox(#wx_ref{type=ThisT,ref=ThisRef}) ->
88  ?CLASS(ThisT,wxStaticBoxSizer),
89  wxe_util:call(?wxStaticBoxSizer_GetStaticBox,
90  <<ThisRef:32/?UI>>).
91
92%% @doc Destroys this object, do not use object again
93-spec destroy(This::wxStaticBoxSizer()) -> 'ok'.
94destroy(Obj=#wx_ref{type=Type}) ->
95  ?CLASS(Type,wxStaticBoxSizer),
96  wxe_util:destroy(?DESTROY_OBJECT,Obj),
97  ok.
98 %% From wxBoxSizer
99%% @hidden
100getOrientation(This) -> wxBoxSizer:getOrientation(This).
101 %% From wxSizer
102%% @hidden
103show(This,Index, Options) -> wxSizer:show(This,Index, Options).
104%% @hidden
105show(This,Index) -> wxSizer:show(This,Index).
106%% @hidden
107setVirtualSizeHints(This,Window) -> wxSizer:setVirtualSizeHints(This,Window).
108%% @hidden
109setSizeHints(This,Window) -> wxSizer:setSizeHints(This,Window).
110%% @hidden
111setItemMinSize(This,Index,Width,Height) -> wxSizer:setItemMinSize(This,Index,Width,Height).
112%% @hidden
113setItemMinSize(This,Index,Size) -> wxSizer:setItemMinSize(This,Index,Size).
114%% @hidden
115setMinSize(This,Width,Height) -> wxSizer:setMinSize(This,Width,Height).
116%% @hidden
117setMinSize(This,Size) -> wxSizer:setMinSize(This,Size).
118%% @hidden
119setDimension(This,X,Y,Width,Height) -> wxSizer:setDimension(This,X,Y,Width,Height).
120%% @hidden
121replace(This,Oldwin,Newwin, Options) -> wxSizer:replace(This,Oldwin,Newwin, Options).
122%% @hidden
123replace(This,Oldwin,Newwin) -> wxSizer:replace(This,Oldwin,Newwin).
124%% @hidden
125remove(This,Index) -> wxSizer:remove(This,Index).
126%% @hidden
127recalcSizes(This) -> wxSizer:recalcSizes(This).
128%% @hidden
129prependStretchSpacer(This, Options) -> wxSizer:prependStretchSpacer(This, Options).
130%% @hidden
131prependStretchSpacer(This) -> wxSizer:prependStretchSpacer(This).
132%% @hidden
133prependSpacer(This,Size) -> wxSizer:prependSpacer(This,Size).
134%% @hidden
135prepend(This,Width,Height, Options) -> wxSizer:prepend(This,Width,Height, Options).
136%% @hidden
137prepend(This,Width,Height) -> wxSizer:prepend(This,Width,Height).
138%% @hidden
139prepend(This,Item) -> wxSizer:prepend(This,Item).
140%% @hidden
141layout(This) -> wxSizer:layout(This).
142%% @hidden
143isShown(This,Index) -> wxSizer:isShown(This,Index).
144%% @hidden
145insertStretchSpacer(This,Index, Options) -> wxSizer:insertStretchSpacer(This,Index, Options).
146%% @hidden
147insertStretchSpacer(This,Index) -> wxSizer:insertStretchSpacer(This,Index).
148%% @hidden
149insertSpacer(This,Index,Size) -> wxSizer:insertSpacer(This,Index,Size).
150%% @hidden
151insert(This,Index,Width,Height, Options) -> wxSizer:insert(This,Index,Width,Height, Options).
152%% @hidden
153insert(This,Index,Width,Height) -> wxSizer:insert(This,Index,Width,Height).
154%% @hidden
155insert(This,Index,Item) -> wxSizer:insert(This,Index,Item).
156%% @hidden
157hide(This,Window, Options) -> wxSizer:hide(This,Window, Options).
158%% @hidden
159hide(This,Window) -> wxSizer:hide(This,Window).
160%% @hidden
161getMinSize(This) -> wxSizer:getMinSize(This).
162%% @hidden
163getPosition(This) -> wxSizer:getPosition(This).
164%% @hidden
165getSize(This) -> wxSizer:getSize(This).
166%% @hidden
167getItem(This,Window, Options) -> wxSizer:getItem(This,Window, Options).
168%% @hidden
169getItem(This,Window) -> wxSizer:getItem(This,Window).
170%% @hidden
171getChildren(This) -> wxSizer:getChildren(This).
172%% @hidden
173fitInside(This,Window) -> wxSizer:fitInside(This,Window).
174%% @hidden
175fit(This,Window) -> wxSizer:fit(This,Window).
176%% @hidden
177detach(This,Index) -> wxSizer:detach(This,Index).
178%% @hidden
179clear(This, Options) -> wxSizer:clear(This, Options).
180%% @hidden
181clear(This) -> wxSizer:clear(This).
182%% @hidden
183calcMin(This) -> wxSizer:calcMin(This).
184%% @hidden
185addStretchSpacer(This, Options) -> wxSizer:addStretchSpacer(This, Options).
186%% @hidden
187addStretchSpacer(This) -> wxSizer:addStretchSpacer(This).
188%% @hidden
189addSpacer(This,Size) -> wxSizer:addSpacer(This,Size).
190%% @hidden
191add(This,Width,Height, Options) -> wxSizer:add(This,Width,Height, Options).
192%% @hidden
193add(This,Width,Height) -> wxSizer:add(This,Width,Height).
194%% @hidden
195add(This,Window) -> wxSizer:add(This,Window).
196