]> git.saurik.com Git - wxWidgets.git/commitdiff
GTK:
authorRobert Roebling <robert@roebling.de>
Sat, 30 May 1998 17:10:15 +0000 (17:10 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 30 May 1998 17:10:15 +0000 (17:10 +0000)
    Added wxTabCtrl
    Work on wxEventhandler (delete clientdata)
            wxChoice (derive from wxControl)
            wxTextCtrl (init with text)
    Added sample for tabctrl (and more)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

17 files changed:
samples/controls/Makefile [new file with mode: 0644]
samples/controls/Makefile.in [new file with mode: 0644]
samples/controls/aiai.ico [new file with mode: 0644]
samples/controls/aiai.xbm [new file with mode: 0644]
samples/controls/makefile.b32 [new file with mode: 0644]
samples/controls/makefile.bcc [new file with mode: 0644]
samples/controls/makefile.dos [new file with mode: 0644]
samples/controls/makefile.g95 [new file with mode: 0644]
samples/controls/makefile.nt [new file with mode: 0644]
samples/controls/makefile.sc [new file with mode: 0644]
samples/controls/makefile.unx [new file with mode: 0644]
samples/controls/makefile.vms [new file with mode: 0644]
samples/controls/makefile.wat [new file with mode: 0644]
samples/controls/minimal.cpp [new file with mode: 0644]
samples/controls/minimal.def [new file with mode: 0644]
samples/controls/minimal.rc [new file with mode: 0644]
samples/controls/mondrian.ico [new file with mode: 0644]

diff --git a/samples/controls/Makefile b/samples/controls/Makefile
new file mode 100644 (file)
index 0000000..027d82a
--- /dev/null
@@ -0,0 +1 @@
+include ../../src/gtk/setup/general/makeapp
diff --git a/samples/controls/Makefile.in b/samples/controls/Makefile.in
new file mode 100644 (file)
index 0000000..13d042e
--- /dev/null
@@ -0,0 +1,26 @@
+# WXXT base directory
+WXBASEDIR=@WXBASEDIR@
+
+# set the OS type for compilation
+OS=@OS@
+# compile a library only
+RULE=bin
+
+# define library name
+BIN_TARGET=test
+# define library sources
+BIN_SRC=\
+minimal.cpp
+
+#define library objects
+BIN_OBJ=\
+minimal.o
+
+# additional things needed to link
+BIN_LINK=
+
+# additional things needed to compile
+ADD_COMPILE=
+
+# include the definitions now
+include ../../../template.mak
diff --git a/samples/controls/aiai.ico b/samples/controls/aiai.ico
new file mode 100644 (file)
index 0000000..a3db656
Binary files /dev/null and b/samples/controls/aiai.ico differ
diff --git a/samples/controls/aiai.xbm b/samples/controls/aiai.xbm
new file mode 100644 (file)
index 0000000..1a6f0a3
--- /dev/null
@@ -0,0 +1,38 @@
+#define aiai_width 64
+#define aiai_height 64
+static char aiai_bits[] = {
+ 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+ 0x11,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+ 0x44,0x44,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+ 0x11,0x11,0x11,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+ 0x44,0x44,0x44,0x44,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+ 0x11,0x11,0x11,0x11,0x11,0x44,0x44,0x44,0x42,0x44,0x44,0x44,0x44,0x44,0x44,
+ 0x44,0x47,0x44,0x44,0x44,0x44,0x11,0x11,0x11,0x17,0x11,0x11,0x11,0x11,0x11,
+ 0x11,0x91,0x1f,0x11,0x11,0x11,0x11,0x44,0x44,0xc4,0x4f,0x44,0x44,0x44,0x44,
+ 0x44,0x44,0xc4,0x5f,0x44,0xf4,0x45,0x44,0x11,0x11,0xf1,0x1f,0x11,0xf9,0x13,
+ 0x11,0x11,0x11,0xf1,0x3f,0x11,0xfd,0x13,0x11,0x44,0x44,0xf4,0x7f,0x44,0xfc,
+ 0x47,0x44,0x44,0x44,0xf4,0x7f,0x44,0xfc,0x47,0x44,0x11,0x11,0xf9,0x7f,0x11,
+ 0xf9,0x13,0x11,0x11,0x11,0xfd,0xff,0x11,0xf1,0x11,0x11,0x44,0x44,0xfc,0xff,
+ 0x44,0x44,0x44,0x44,0x44,0x44,0xfe,0xff,0x45,0x44,0x44,0x44,0x11,0x11,0xff,
+ 0xff,0x11,0xfd,0x13,0x11,0x11,0x11,0xff,0xff,0x13,0xfd,0x13,0x11,0x44,0xc4,
+ 0xff,0xff,0x07,0xfc,0x43,0x44,0x44,0xff,0xff,0xf9,0xff,0xfd,0xfb,0xff,0x11,
+ 0xc0,0xff,0x00,0x00,0xfc,0x03,0x00,0x11,0xc0,0x7f,0x00,0x00,0xfc,0x03,0x00,
+ 0x04,0xe0,0x7f,0x00,0x00,0xfc,0x03,0x00,0xf4,0xf7,0xbf,0xff,0xff,0xfd,0xfb,
+ 0x7f,0x01,0xf0,0x1f,0x00,0x00,0xfc,0x03,0x00,0x01,0xf8,0x1f,0x00,0x00,0xfc,
+ 0x03,0x00,0x00,0xfc,0x0f,0x00,0x00,0xfc,0x03,0x40,0xfe,0xfd,0xef,0xff,0xff,
+ 0xfd,0xfb,0x4f,0x00,0xfe,0x07,0x00,0x00,0xfc,0x03,0x10,0x00,0xfe,0x03,0x00,
+ 0x00,0xfc,0x03,0x10,0x00,0xff,0x03,0x00,0x00,0xfc,0x03,0x44,0x7f,0xff,0x01,
+ 0x00,0x00,0xfc,0xfb,0x44,0x91,0xff,0xff,0xff,0xff,0xff,0x13,0x11,0xd1,0xff,
+ 0xff,0xff,0xff,0xff,0x13,0x11,0xe4,0xff,0xff,0xff,0xff,0xff,0x47,0x44,0xe4,
+ 0xff,0xff,0xff,0xff,0xff,0x47,0x44,0xf1,0xff,0xff,0xff,0xff,0xff,0x13,0x11,
+ 0xf1,0xff,0xff,0xff,0xff,0xff,0x13,0x11,0xfc,0xff,0xff,0xff,0xff,0xff,0x47,
+ 0x44,0xfc,0xff,0xff,0xff,0xff,0xff,0x47,0x44,0x11,0x11,0x11,0x11,0x11,0x11,
+ 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x11,0x44,0x44,0xc4,0x44,0x44,
+ 0xc4,0x44,0x44,0x44,0x4e,0xc4,0x44,0x4e,0xc4,0x44,0x44,0x11,0x1f,0xd1,0x11,
+ 0x1f,0xd1,0x11,0x11,0x91,0x31,0xd1,0x91,0x31,0xd1,0x11,0x11,0xc4,0x64,0xcc,
+ 0xcc,0x64,0xcc,0x44,0x44,0x64,0xc4,0xcc,0x6c,0xc4,0xcc,0x44,0x44,0xf1,0xff,
+ 0xd1,0xf1,0xff,0xd1,0x11,0x11,0xf9,0xff,0xd3,0xf9,0xff,0xd3,0x11,0x11,0x4c,
+ 0x44,0xc6,0x4c,0x44,0xc6,0x44,0x44,0x4c,0x44,0xc6,0x4c,0x44,0xc6,0x44,0x44,
+ 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+ 0x11,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+ 0x44,0x44};
diff --git a/samples/controls/makefile.b32 b/samples/controls/makefile.b32
new file mode 100644 (file)
index 0000000..06d7def
--- /dev/null
@@ -0,0 +1,64 @@
+#
+# File:                makefile.bcc
+# Author:      Julian Smart
+# Created:     1993
+# Updated:     
+# Copyright:   (c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile : Builds minimal example (DOS).
+
+# WXWIN and BCCDIR are set by parent make
+
+WXDIR = $(WXWIN)
+!include $(WXDIR)\src\makeb32.env
+
+WXLIBDIR = $(WXDIR)\lib
+WXINC = $(WXDIR)\include\msw
+WXLIB = $(WXLIBDIR)\wx32.lib
+LIBS=$(WXLIB) cw32 import32 ole2w32
+
+TARGET=minimal
+
+!if "$(FINAL)" == "0"
+LINKFLAGS=/v /Tpe /L$(WXLIBDIR);$(BCCDIR)\lib
+OPT = -Od
+DEBUG_FLAGS= -v
+!else
+LINKFLAGS=/Tpe /L$(WXLIBDIR);$(BCCDIR)\lib
+OPT = -Od
+DEBUG_FLAGS =
+!endif
+CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
+
+OBJECTS = minimal.obj
+
+$(TARGET).exe: $(OBJECTS) $(TARGET).def $(TARGET).res
+  tlink32 $(LINKFLAGS) @&&!
+c0w32.obj $(OBJECTS)
+$(TARGET)
+nul
+$(LIBS)
+$(TARGET).def
+!
+        brc32 -K $(TARGET).res
+
+.$(SRCSUFF).obj:
+       bcc32 $(CPPFLAGS) -c {$< }
+
+.c.obj:
+       bcc32 $(CPPFLAGS) -P- -c {$< }
+
+minimal.obj:      minimal.$(SRCSUFF)
+
+$(TARGET).res :      $(TARGET).rc $(WXDIR)\include\wx\msw\wx.rc
+    brc32 -r /i$(BCCDIR)\include /i$(WXDIR)\include $(TARGET)
+
+clean:
+        -erase *.obj
+        -erase *.exe
+        -erase *.res
+        -erase *.map
+        -erase *.rws
+
diff --git a/samples/controls/makefile.bcc b/samples/controls/makefile.bcc
new file mode 100644 (file)
index 0000000..b68a9b6
--- /dev/null
@@ -0,0 +1,73 @@
+#
+# File:                makefile.bcc
+# Author:      Julian Smart
+# Created:     1993
+# Updated:     
+# Copyright:   (c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile : Builds minimal example (DOS).
+
+!if "$(BCCDIR)" == ""
+!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
+!endif
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+!include $(WXDIR)\src\makebcc.env
+
+THISDIR = $(WXDIR)\samples\minimal
+WXLIB = $(WXDIR)\lib\wx.lib
+LIBS=$(WXLIB) mathwl cwl import
+INC=-I$(WXDIR)\include\base -I$(WXDIR)\include\msw
+CFG=$(WXDIR)\src\wxwin.cfg
+
+!ifndef FINAL
+FINAL=0
+!endif
+
+!if "$(FINAL)" == "0"
+LINKFLAGS=/v/Vt /Twe /L$(WXDIR)\lib;$(BCCDIR)\lib
+OPT = -Od
+DEBUG_FLAGS= -v
+!else
+LINKFLAGS=/Twe /L$(WXDIR)\lib;$(BCCDIR)\lib
+OPT = -O2
+DEBUG_FLAGS=
+!endif
+CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
+
+OBJECTS = minimal.obj
+
+minimal:    minimal.exe
+
+all:    minimal.exe
+
+minimal.exe:    $(WXLIB) minimal.obj minimal.def minimal.res
+        tlink $(LINKFLAGS) @&&!
+c0wl.obj minimal.obj
+minimal
+nul
+$(LIBS)
+minimal.def
+!
+        rc -31 -K minimal.res
+
+.$(SRCSUFF).obj:
+       bcc $(CPPFLAGS) -c {$< }
+
+minimal.obj:      minimal.$(SRCSUFF)
+
+minimal.res :      minimal.rc $(WXDIR)\include\msw\wx.rc
+    rc -r /i$(BCCDIR)\include /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa minimal
+
+clean:
+        -erase *.obj
+        -erase *.exe
+        -erase *.res
+        -erase *.map
+        -erase *.rws
diff --git a/samples/controls/makefile.dos b/samples/controls/makefile.dos
new file mode 100644 (file)
index 0000000..aa7e6dd
--- /dev/null
@@ -0,0 +1,65 @@
+#
+# File:                makefile.dos
+# Author:      Julian Smart
+# Created:     1993
+# Updated:     
+# Copyright:   (c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile : Builds minimal example (DOS).
+# Use FINAL=1 argument to nmake to build final version with no debugging
+# info
+
+WXDIR = $(WXWIN)
+
+!include $(WXDIR)\src\makemsc.env
+
+THISDIR = $(WXDIR)\samples\minimal
+
+!ifndef FINAL
+FINAL=0
+!endif
+
+HEADERS =
+SOURCES = minimal.$(SRCSUFF)
+OBJECTS = minimal.obj
+
+all:    minimal.exe
+
+wx:
+        cd $(WXDIR)\src\msw
+        nmake -f makefile.dos FINAL=$(FINAL)
+        cd $(THISDIR)
+
+wxclean:
+        cd $(WXDIR)\src\msw
+        nmake -f makefile.dos clean
+        cd $(THISDIR)
+
+minimal.exe:      $(WXDIR)\src\msw\dummy.obj $(WXLIB) minimal.obj minimal.def minimal.res
+        link $(LINKFLAGS) @<<
+minimal.obj $(WXDIR)\src\msw\dummy.obj,
+minimal,
+NUL,
+$(LIBS),
+minimal.def
+;
+<<
+        rc -K minimal.res
+
+minimal.obj:      minimal.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+<<
+
+minimal.res :      minimal.rc $(WXDIR)\include\wx\msw\wx.rc
+    rc -r /i$(WXDIR)\include minimal
+
+clean:
+        -erase *.obj
+        -erase *.exe
+        -erase *.res
+        -erase *.map
+        -erase *.sbr
+        -erase *.pdb
diff --git a/samples/controls/makefile.g95 b/samples/controls/makefile.g95
new file mode 100644 (file)
index 0000000..6ad1b1b
--- /dev/null
@@ -0,0 +1,37 @@
+#
+# File:                makefile.unx
+# Author:      Julian Smart
+# Created:     1993
+# Updated:     
+# Copyright:   (c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile for minimal example (UNIX).
+
+WXDIR = ../..
+
+# All common UNIX compiler flags and options are now in
+# this central makefile.
+include $(WXDIR)/src/makeg95.env
+
+OBJECTS = $(OBJDIR)/minimal.$(OBJSUFF) $(OBJDIR)/minimal_resources.$(OBJSUFF)
+
+all:    $(OBJDIR) minimal$(GUISUFFIX)$(EXESUFF)
+
+wx:
+
+$(OBJDIR):
+       mkdir $(OBJDIR)
+
+minimal$(GUISUFFIX)$(EXESUFF): $(OBJECTS) $(WXLIB)
+       $(CC) $(LDFLAGS) -o minimal$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(LDLIBS)
+
+$(OBJDIR)/minimal.$(OBJSUFF):  minimal.$(SRCSUFF)
+       $(CC) -c $(CPPFLAGS) -o $@ minimal.$(SRCSUFF)
+
+$(OBJDIR)/minimal_resources.o:  minimal.rc
+       $(RESCOMP) -i minimal.rc -o $(OBJDIR)/minimal_resources.o $(RESFLAGS)
+
+clean:
+       rm -f $(OBJECTS) minimal$(GUISUFFIX).exe core *.rsc *.res
diff --git a/samples/controls/makefile.nt b/samples/controls/makefile.nt
new file mode 100644 (file)
index 0000000..276311e
--- /dev/null
@@ -0,0 +1,64 @@
+#
+# File:                makefile.nt
+# Author:      Julian Smart
+# Created:     1993
+# Updated:     
+# Copyright:   (c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile : Builds minimal example (MS VC++).
+# Use FINAL=1 argument to nmake to build final version with no debugging
+# info
+
+# Set WXDIR for your system
+WXDIR = $(WXWIN)
+
+WXUSINGDLL=0
+
+!include $(WXDIR)\src\ntwxwin.mak
+
+THISDIR = $(WXDIR)\samples\minimal
+PROGRAM=minimal
+OBJECTS = $(PROGRAM).obj
+
+$(PROGRAM):    $(PROGRAM).exe
+
+all:    wx $(PROGRAM).exe
+
+wx:
+        cd $(WXDIR)\src\msw
+        nmake -f makefile.nt FINAL=$(FINAL)
+        cd $(THISDIR)
+
+wxclean:
+        cd $(WXDIR)\src\msw
+        nmake -f makefile.nt clean
+        cd $(THISDIR)
+
+$(PROGRAM).exe:      $(DUMMYOBJ) $(WXLIB) $(OBJECTS) $(PROGRAM).res
+       $(link) @<<
+-out:$(PROGRAM).exe
+$(LINKFLAGS)
+$(DUMMYOBJ) $(OBJECTS) $(PROGRAM).res
+$(LIBS)
+<<
+
+
+$(PROGRAM).obj:      $(PROGRAM).$(SRCSUFF) $(DUMMYOBJ)
+        $(cc) @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+<<
+
+$(PROGRAM).res :      $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc
+    $(rc) -r /i$(WXDIR)\include -fo$@ $(PROGRAM).rc
+
+
+clean:
+        -erase *.obj
+        -erase *.exe
+        -erase *.res
+        -erase *.map
+        -erase *.sbr
+        -erase *.pdb
diff --git a/samples/controls/makefile.sc b/samples/controls/makefile.sc
new file mode 100644 (file)
index 0000000..8709d2c
--- /dev/null
@@ -0,0 +1,35 @@
+# Symantec C++ makefile for minimal example
+# NOTE that peripheral libraries are now dealt in main wxWindows makefile.
+
+WXDIR = $(WXWIN)
+!include $(WXDIR)\src\makesc.env
+
+WXLIB = $(WXDIR)\lib\wx.lib
+INCDIR = $(WXDIR)\include
+MSWINC = $(INCDIR)\msw
+BASEINC = $(INCDIR)\base
+
+CC=sc
+RC=rc
+CFLAGS = -o -ml -W -Dwx_msw
+LDFLAGS = -ml -W
+
+INCLUDE=$(BASEINC);$(MSWINC)
+
+LIBS=$(WXLIB) libw.lib commdlg.lib shell.lib
+
+.$(SRCSUFF).obj:
+       *$(CC) -c $(CFLAGS) -I$(INCLUDE) $<
+
+.rc.res:
+       *$(RC) -r -I$(INCLUDE) $<
+
+minimal.exe: minimal.obj minimal.def minimal.res
+       *$(CC) $(LDFLAGS) -o$@ $** $(LIBS)
+
+clean:
+        -del *.obj
+       -del *.exe
+       -del *.res
+       -del *.map
+       -del *.rws
diff --git a/samples/controls/makefile.unx b/samples/controls/makefile.unx
new file mode 100644 (file)
index 0000000..9685d06
--- /dev/null
@@ -0,0 +1,58 @@
+#
+# File:                makefile.unx
+# Author:      Julian Smart
+# Created:     1993
+# Updated:     
+# Copyright:   (c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile for minimal example (UNIX).
+
+WXDIR = ../..
+
+# All common UNIX compiler flags and options are now in
+# this central makefile.
+include $(WXDIR)/src/make.env
+
+OBJECTS = $(OBJDIR)/minimal.$(OBJSUFF)
+
+.SUFFIXES:
+
+all:    $(OBJDIR) minimal$(GUISUFFIX)
+
+wx:
+
+
+motif:
+       $(MAKE) -f makefile.unx GUISUFFIX=_motif GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' WXLIB=$(WXDIR)/lib/libwx_motif.a  OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' XVIEW_LINK=
+
+xview:
+       cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview
+       $(MAKE) -f makefile.unx GUI=-Dwx_xview GUISUFFIX=_ol CC=$(CC) OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)'
+
+hp:
+       cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx hp
+       $(MAKE) -f makefile.unx GUI=-Dwx_motif GUISUFFIX=_hp CC=CC DEBUG='$(DEBUG)' WARN='-w' \
+         XINCLUDE='$(HPXINCLUDE)' XLIB='$(HPXLIB)' XVIEW_LINK='' LDLIBS='$(HPLDLIBS)'
+
+$(OBJDIR):
+       mkdir $(OBJDIR)
+
+minimal$(GUISUFFIX):   $(OBJDIR)/minimal.$(OBJSUFF) $(WXLIB)
+       $(CC) $(LDFLAGS) -o minimal$(GUISUFFIX) $(OBJDIR)/minimal.$(OBJSUFF) $(XVIEW_LINK) $(LDLIBS)
+
+$(OBJDIR)/minimal.$(OBJSUFF):  minimal.$(SRCSUFF)
+       $(CC) -c $(CPPFLAGS) -o $@ minimal.$(SRCSUFF)
+
+clean_motif:
+       $(MAKE) -f makefile.unx GUISUFFIX=_motif cleanany
+
+clean_ol:
+       $(MAKE) -f makefile.unx GUISUFFIX=_ol cleanany
+
+clean_hp:
+       $(MAKE) -f makefile.unx GUISUFFIX=_hp cleanany
+
+cleanany:
+       rm -f $(OBJECTS) minimal$(GUISUFFIX) core
diff --git a/samples/controls/makefile.vms b/samples/controls/makefile.vms
new file mode 100644 (file)
index 0000000..9b76b14
--- /dev/null
@@ -0,0 +1,38 @@
+#************************************************************************
+# Makefile for MINIMAL under VMS
+# by Stefan Hammes
+# (incomplete) update history:
+# 11.04.95
+#************************************************************************
+
+#************************************************************************
+# Definition section
+# (cave: definitions and includes must begin with ',')
+#************************************************************************
+
+APPOPTS = 
+APPDEFS = 
+APPINCS = 
+
+#************************************************************************
+# Module section
+#************************************************************************
+
+# Name of main module
+MAIN = minimal
+
+# Object modules of the application.
+OBJS = minimal.obj
+OBJLIST =minimal.obj
+
+.include [--.src]makevms.env
+
+# main dependency
+$(MAIN).exe : $(OBJS)
+    $(LINK) $(LINKFLAGS) /exec=$(MAIN).exe $(OBJLIST),$(WXLIB)/lib,$(OPTSFILE)/option
+    - purge *.exe
+
+#************************************************************************
+# Header file depedencies following
+#************************************************************************
+
diff --git a/samples/controls/makefile.wat b/samples/controls/makefile.wat
new file mode 100644 (file)
index 0000000..21219d7
--- /dev/null
@@ -0,0 +1,43 @@
+#
+# Makefile for WATCOM
+#
+# Created by D.Chubraev, chubraev@iem.ee.ethz.ch
+# 8 Nov 1994
+#
+
+WXDIR = ..\.. 
+
+!include $(WXDIR)\src\makewat.env
+
+WXLIB = $(WXDIR)\lib
+NAME = minimal
+LNK = $(name).lnk
+OBJS = $(name).obj 
+
+all: $(name).exe
+
+$(name).exe : $(OBJS) $(name).res $(LNK) $(WXLIB)\wx$(LEVEL).lib
+    wlink @$(LNK)
+    $(BINDCOMMAND) $(name).res
+
+$(name).res :      $(name).rc $(WXDIR)\include\msw\wx.rc
+     $(RC) $(RESFLAGS1) $(name).rc
+
+$(LNK) : makefile.wat
+    %create $(LNK)
+    @%append $(LNK) debug all
+    @%append $(LNK) system $(LINKOPTION)
+    @%append $(LNK) $(MINDATA)
+    @%append $(LNK) $(MAXDATA)
+    @%append $(LNK) $(STACK)
+    @%append $(LNK) name $(name)
+    @%append $(LNK) file $(WXLIB)\wx$(LEVEL).lib
+    @for %i in ($(EXTRALIBS)) do @%append $(LNK) file %i
+    @for %i in ($(OBJS)) do @%append $(LNK) file %i
+
+thing: .SYMBOLIC
+    echo $(WATLIBDIR)
+
+clean:   .SYMBOLIC
+    -erase *.obj *.bak *.err *.pch *.lib *.lnk *.res *.exe
+
diff --git a/samples/controls/minimal.cpp b/samples/controls/minimal.cpp
new file mode 100644 (file)
index 0000000..bf209f8
--- /dev/null
@@ -0,0 +1,208 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        minimal.cpp
+// Purpose:     Controls wxWindows sample
+// Author:      Robert Roebling
+// Modified by:
+// RCS-ID:      $Id$
+// Copyright:   (c) Robert Roebling, Julian Smart and Markus Holzem
+// Licence:    wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma implementation "minimal.cpp"
+#pragma interface "minimal.cpp"
+#endif
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/tabctrl.h"
+
+//----------------------------------------------------------------------
+// class definitions
+//----------------------------------------------------------------------
+
+class MyApp: public wxApp
+{ 
+  public:
+    bool OnInit(void);
+};
+
+class MyPanel: public wxPanel
+{
+  public:
+    MyPanel(wxFrame *frame, int x, int y, int w, int h);
+    
+    void OnSize( wxSizeEvent& event );
+    void OnListBox( wxCommandEvent &event );
+    void OnListBoxButtons( wxCommandEvent &event );
+    
+    wxListBox   *m_listbox;
+    
+    wxTextCtrl  *m_text;
+    wxTabCtrl   *m_tab;    
+  
+  DECLARE_EVENT_TABLE() 
+};
+
+class MyFrame: public wxFrame
+{
+  public:
+  
+    MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
+    
+  public:
+  
+    void OnQuit(wxCommandEvent& event);
+    void OnAbout(wxCommandEvent& event);
+    bool OnClose(void) { return TRUE; }
+    
+  DECLARE_EVENT_TABLE()    
+};
+
+//----------------------------------------------------------------------
+// main()
+//----------------------------------------------------------------------
+
+IMPLEMENT_APP  (MyApp)
+
+//----------------------------------------------------------------------
+// MyApp
+//----------------------------------------------------------------------
+
+const   MINIMAL_QUIT   = 100;
+const   MINIMAL_TEXT   = 101;
+const   MINIMAL_ABOUT  = 102;
+
+bool MyApp::OnInit(void)
+{
+  // Create the main frame window
+  MyFrame *frame = new MyFrame(NULL, "Controls wxWindows App", 50, 50, 500, 420 );
+  
+  // Give it an icon
+#ifdef __WINDOWS__
+  frame->SetIcon(wxIcon("mondrian"));
+#endif
+#ifdef __X__
+  frame->SetIcon(wxIcon("aiai.xbm"));
+#endif
+
+  wxMenu *file_menu = new wxMenu;
+
+  file_menu->Append(MINIMAL_ABOUT, "&About");
+  file_menu->Append(MINIMAL_QUIT, "E&xit");
+  wxMenuBar *menu_bar = new wxMenuBar;
+  menu_bar->Append(file_menu, "&File");
+  frame->SetMenuBar(menu_bar);
+
+  frame->Show(TRUE);
+  
+  SetTopWindow(frame);
+
+  return TRUE;
+}
+
+//----------------------------------------------------------------------
+// MyPanel
+//----------------------------------------------------------------------
+
+const  MINIMAL_TAB          = 1000;
+
+const  ID_LISTBOX           = 130;
+const  ID_LISTBOX_SEL_NUM   = 131;
+const  ID_LISTBOX_SEL_STR   = 132;
+const  ID_LISTBOX_CLEAR     = 133;
+const  ID_LISTBOX_APPEND    = 134;
+
+BEGIN_EVENT_TABLE(MyPanel, wxPanel)
+  EVT_SIZE      (                       MyPanel::OnSize)
+  EVT_LISTBOX   (ID_LISTBOX,            MyPanel::OnListBox)
+  EVT_BUTTON    (ID_LISTBOX_SEL_NUM,    MyPanel::OnListBoxButtons)
+  EVT_BUTTON    (ID_LISTBOX_SEL_STR,    MyPanel::OnListBoxButtons)
+  EVT_BUTTON    (ID_LISTBOX_CLEAR,      MyPanel::OnListBoxButtons)
+  EVT_BUTTON    (ID_LISTBOX_APPEND,     MyPanel::OnListBoxButtons)
+END_EVENT_TABLE()
+
+MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
+  wxPanel( frame, -1, wxPoint(x, y), wxSize(w, h) )
+{
+  m_text = new wxTextCtrl( this, -1, "This is the log window.\n", wxPoint(0,50), wxSize(100,50), wxTE_MULTILINE );
+  
+  m_tab = new wxTabCtrl( this, MINIMAL_TAB, wxPoint(0,0), wxSize(200,150) );
+  
+  wxString choices[4] =
+  {
+    "This",
+    "is",
+    "a",
+    "wonderfull example."
+  };
+  
+  m_tab->InsertItem( 0, "wxList" );
+  m_listbox = new wxListBox( m_tab, ID_LISTBOX, wxPoint(10,10), wxSize(120,70), 4, choices );
+  (void)new wxButton( m_tab, ID_LISTBOX_SEL_NUM, "Select #2", wxPoint(140,30), wxSize(100,30) );
+  (void)new wxButton( m_tab, ID_LISTBOX_SEL_STR, "Select 'This'", wxPoint(260,30), wxSize(100,30) );
+  (void)new wxButton( m_tab, ID_LISTBOX_CLEAR, "Clear", wxPoint(140,80), wxSize(100,30) );
+  (void)new wxButton( m_tab, ID_LISTBOX_APPEND, "Append 'Hi!'", wxPoint(260,80), wxSize(100,30) );
+  
+  m_tab->InsertItem( 1, "wxChoice" );
+}
+
+void MyPanel::OnSize( wxSizeEvent& WXUNUSED(event) )
+{
+  int x = 0;
+  int y = 0;
+  GetClientSize( &x, &y );
+  
+  if (m_tab) m_tab->SetSize( 2, 2, x-4, y/2-4 );
+  if (m_text) m_text->SetSize( 2, y/2+2, x-4, y/2-4 );
+}
+
+void MyPanel::OnListBox( wxCommandEvent &event )
+{
+  m_text->WriteText( "ListBox Event:\n");
+  m_text->WriteText( "ListBox selection string is: " );
+  m_text->WriteText( event.GetString() );
+  m_text->WriteText( "\n" );
+}
+
+void MyPanel::OnListBoxButtons( wxCommandEvent &WXUNUSED(event) )
+{
+}
+
+//----------------------------------------------------------------------
+// MyFrame
+//----------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+    EVT_MENU(MINIMAL_QUIT,   MyFrame::OnQuit)
+    EVT_MENU(MINIMAL_ABOUT,  MyFrame::OnAbout)
+END_EVENT_TABLE()
+
+MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
+  wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
+{
+  (void*) new MyPanel( this, 10, 10, 300, 100 );
+}
+
+void MyFrame::OnQuit (wxCommandEvent& WXUNUSED(event) )
+{
+  Close(TRUE);
+}
+
+void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) )
+{
+  wxMessageDialog dialog(this, "This is a control sample", "About Controls", wxOK );
+  dialog.ShowModal();
+}
+
+
diff --git a/samples/controls/minimal.def b/samples/controls/minimal.def
new file mode 100644 (file)
index 0000000..060bfe3
--- /dev/null
@@ -0,0 +1,8 @@
+NAME         Minimal
+DESCRIPTION  'Minimal wxWindows application'
+EXETYPE      WINDOWS
+STUB         'WINSTUB.EXE'
+CODE         PRELOAD MOVEABLE DISCARDABLE
+DATA         PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE     4048
+STACKSIZE    16000
diff --git a/samples/controls/minimal.rc b/samples/controls/minimal.rc
new file mode 100644 (file)
index 0000000..7655c62
--- /dev/null
@@ -0,0 +1,3 @@
+mondrian ICON "mondrian.ico"
+#include "wx/msw/wx.rc"
+
diff --git a/samples/controls/mondrian.ico b/samples/controls/mondrian.ico
new file mode 100644 (file)
index 0000000..2310c5d
Binary files /dev/null and b/samples/controls/mondrian.ico differ