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:wxWindow() | {error, term()}
Types:
Name = {local, atom()}
Mod = atom()
Args = term()
Flag = trace | log | {logfile, string()} | statistics | debug
Options = [{timeout, timeout()} | {debug, [Flag]}]
Starts a generic wx_object server and invokes Mod:init(Args) in the new
process.
start_link(Mod, Args, Options) -> wxWindow:wxWindow() | {error,
term()}
Types:
Mod = atom()
Args = term()
Flag = trace | log | {logfile, string()} | statistics | debug
Options = [{timeout, timeout()} | {debug, [Flag]}]
Starts a generic wx_object server and invokes Mod:init(Args) in the new
process.
start_link(Name, Mod, Args, Options) -> wxWindow:wxWindow() |
{error, term()}
Types:
Name = {local, atom()}
Mod = atom()
Args = term()
Flag = trace | log | {logfile, string()} | statistics | debug
Options = [{timeout, timeout()} | {debug, [Flag]}]
Starts a generic wx_object server and invokes Mod:init(Args) in the new
process.
stop(Obj) -> ok
Types:
Obj = wx:wx_object() | atom() | pid()
Stops a generic wx_object server with reason 'normal'. Invokes
terminate(Reason,State) in the server. The call waits until the process is
terminated. If the process does not exist, an exception is raised.
stop(Obj, Reason, Timeout) -> ok
Types:
Obj = wx:wx_object() | atom() | pid()
Reason = term()
Timeout = timeout()
Stops a generic wx_object server with the given Reason. Invokes
terminate(Reason,State) in the server. The call waits until the process is
terminated. If the call times out, or if the process does not exist, an
exception is raised.
call(Obj, Request) -> term()
Types:
Obj = wx:wx_object() | atom() | pid()
Request = 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(Obj, Request, Timeout) -> term()
Types:
Obj = wx:wx_object() | atom() | pid()
Request = term()
Timeout = integer()
Make a call to a wx_object server with a timeout. Invokes handle_call(Request,
From, State) in server
cast(Obj, Request) -> ok
Types:
Obj = wx:wx_object() | atom() | pid()
Request = term()
Make a cast to a wx_object server. Invokes handle_cast(Request, State) in the
server
get_pid(Obj) -> pid()
Types:
Obj = wx:wx_object() | atom() | pid()
Get the pid of the object handle.
set_pid(Obj, Pid::pid()) -> wx:wx_object()
Types:
Obj = wx:wx_object() | atom() | pid()
Sets the controlling process of the object handle.
reply(X1::{pid(), Tag::term()}, Reply::term()) -> pid()
Get the pid of the object handle.
AUTHORS¶
<>wx 1.8 |