aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/examples/simple/hello.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wx/examples/simple/hello.erl')
-rwxr-xr-xlib/wx/examples/simple/hello.erl69
1 files changed, 69 insertions, 0 deletions
diff --git a/lib/wx/examples/simple/hello.erl b/lib/wx/examples/simple/hello.erl
new file mode 100755
index 0000000000..dc845ddfbb
--- /dev/null
+++ b/lib/wx/examples/simple/hello.erl
@@ -0,0 +1,69 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2009. 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%
+%%
+%%%-------------------------------------------------------------------
+%%% File : hello.erl
+%%% Author : Matthew Harrison <harryhuk at users.sourceforge.net>
+%%% Description : _really_ minimal example of a wxerlang app
+%%%
+%%% Created : 18 Sep 2008 by Matthew Harrison <harryhuk at users.sourceforge.net>
+%%%-------------------------------------------------------------------
+-module(hello).
+
+-include_lib("wx/include/wx.hrl").
+
+-export([start/0]).
+-compile(export_all).
+
+start() ->
+ Wx = wx:new(),
+ Frame = wx:batch(fun() -> create_window(Wx) end),
+ wxWindow:show(Frame),
+ loop(Frame),
+ wx:destroy(),
+ ok.
+
+create_window(Wx) ->
+ Frame = wxFrame:new(Wx,
+ -1, % window id
+ "Hello World", % window title
+ [{size, {600,400}}]),
+
+
+ wxFrame:createStatusBar(Frame,[]),
+
+ %% if we don't handle this ourselves, wxwidgets will close the window
+ %% when the user clicks the frame's close button, but the event loop still runs
+ wxFrame:connect(Frame, close_window),
+
+ ok = wxFrame:setStatusText(Frame, "Hello World!",[]),
+ Frame.
+
+loop(Frame) ->
+ receive
+ #wx{event=#wxClose{}} ->
+ io:format("~p Closing window ~n",[self()]),
+ ok = wxFrame:setStatusText(Frame, "Closing...",[]),
+ wxWindow:destroy(Frame),
+ ok;
+ Msg ->
+ io:format("Got ~p ~n", [Msg]),
+ loop(Frame)
+ end.
+
+