table of contents
other versions
- jessie 1:17.3-dfsg-4+deb8u2
- jessie-backports 1:19.2.1+dfsg-2+deb9u1~bpo8+1
- stretch 1:19.2.1+dfsg-2+deb9u2
- testing 1:21.2.5+dfsg-1
- unstable 1:21.2.6+dfsg-1
- experimental 1:22.0~rc1+dfsg-1
| wx_object(3erl) | Erlang Module Definition | wx_object(3erl) |
NAME¶
wx_object - wx_object - Generic wx object behaviour.DESCRIPTION¶
wx_object - Generic wx object behaviour This is a behaviour module that can be used for "sub classing" wx objects. It works like a regular gen_server module and creates a server per object. NOTE: Currently no form of inheritance is implemented. The user module should export: init(Args) should return -module(myDialog).
-export([new/2, show/1, destroy/1]). %% API
-export([init/1, handle_call/3, handle_event/2,
handle_info/2, code_change/3, terminate/2]).
new/2, showModal/1, destroy/1]). %% Callbacks
%% Client API
new(Parent, Msg) ->
wx_object:start(?MODULE, [Parent,Id], []).
show(Dialog) ->
wx_object:call(Dialog, show_modal).
destroy(Dialog) ->
wx_object:call(Dialog, destroy).
%% Server Implementation ala gen_server
init([Parent, Str]) ->
Dialog = wxDialog:new(Parent, 42, "Testing", []),
...
wxDialog:connect(Dialog, command_button_clicked),
{Dialog, MyState}.
handle_call(show, _From, State) ->
wxDialog:show(State#state.win),
{reply, ok, State};
...
handle_event(#wx{}, State) ->
io:format("Users clicked button~n",[]),
{noreply, State};
...
EXPORTS¶
start(Name, Mod, Args, Options) -> wxWindow() (see module wxWindow)
Types:
Name = {local, atom()}
Mod = atom()
Args = term()
Options = [{timeout, Timeout} | {debug, [Flag]}]
Flag = trace | log | {logfile, File} | statistics | debug
Starts a generic wx_object server and invokes Mod:init(Args) in the new
process.
start_link(Mod, Args, Options) -> wxWindow() (see module wxWindow)
Types:
Mod = atom()
Args = term()
Options = [{timeout, Timeout} | {debug, [Flag]}]
Flag = trace | log | {logfile, File} | statistics | debug
Starts a generic wx_object server and invokes Mod:init(Args) in the new
process.
start_link(Name, Mod, Args, Options) -> wxWindow() (see module
wxWindow)
Types:
Name = {local, atom()}
Mod = atom()
Args = term()
Options = [{timeout, Timeout} | {debug, [Flag]}]
Flag = trace | log | {logfile, File} | statistics | debug
Starts a generic wx_object server and invokes Mod:init(Args) in the new
process.
call(Ref::wxObject() | atom() | pid(), Request::term()) -> term()
Make a call to a wx_object server. The call waits until it gets a result.
Invokes handle_call(Request, From, State) in the server
call(Ref::wxObject() | atom() | pid(), Request::term(), Timeout::integer())
-> term()
Make a call to a wx_object server with a timeout. Invokes handle_call(Request,
From, State) in server
cast(Ref::wxObject() | atom() | pid(), Request::term()) -> ok
Make a cast to a wx_object server. Invokes handle_cast(Request, State) in the
server
get_pid(Ref::wxObject()) -> pid()
Get the pid of the object handle.
reply(From::tuple(), Reply::term()) -> pid()
Get the pid of the object handle.
AUTHORS¶
<>| wx 1.3.1 |