Initial revision
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
321
INSTALL
Normal file
321
INSTALL
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
* General
|
||||||
|
----------
|
||||||
|
|
||||||
|
wxGTK uses GNU configure. If you have problems with your make use GNU
|
||||||
|
make instead.
|
||||||
|
|
||||||
|
* Create your configuration
|
||||||
|
-----------------------------
|
||||||
|
Usage:
|
||||||
|
./configure options
|
||||||
|
|
||||||
|
If you want to use system's C and C++ compiler,
|
||||||
|
set environment variables CC and CCC as
|
||||||
|
|
||||||
|
% setenv CC cc
|
||||||
|
% setenv CCC CC
|
||||||
|
% ./configure options
|
||||||
|
|
||||||
|
to see all the options please use:
|
||||||
|
|
||||||
|
./configure --help
|
||||||
|
|
||||||
|
The basic philosophy is that if you want to use different
|
||||||
|
configurations, like a debug and a release version,
|
||||||
|
or use the same source tree on different systems,
|
||||||
|
you have only to change the environment variable OSTYPE.
|
||||||
|
(Sadly this variable is not set by default on some systems
|
||||||
|
in some shells - on SGI's for example). So you will have to
|
||||||
|
set it there. This variable HAS to be set before starting
|
||||||
|
configure, so that it knows which system it tries to
|
||||||
|
configure for.
|
||||||
|
|
||||||
|
Configure will complain if the system variable OSTYPE has
|
||||||
|
not been defined. And Make in some circumstances as well...
|
||||||
|
|
||||||
|
* General options
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
The following options handle the kind of library you want to build.
|
||||||
|
|
||||||
|
--with-shared Create shared libraries.
|
||||||
|
|
||||||
|
--without-optimise Do not optimise the code.
|
||||||
|
|
||||||
|
--with-profile Add profiling info to the
|
||||||
|
object files. Currently
|
||||||
|
broken.
|
||||||
|
|
||||||
|
--with-mem_tracing Add built-in memory tracing.
|
||||||
|
Not yet.
|
||||||
|
|
||||||
|
--with-debug Add debug info to object
|
||||||
|
files.
|
||||||
|
|
||||||
|
* Feature Options
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
When using the Windows version of wxWindows, it is possible
|
||||||
|
to edit the file /include/wx/msw/setup.h in order to enable
|
||||||
|
or disable some features of wxWindows so that the resulting
|
||||||
|
binaries get smaller.
|
||||||
|
|
||||||
|
As I don't yet care for binary size and target mainly at
|
||||||
|
producing a shared library, wxGTK's configure system auto-
|
||||||
|
matically enables all features, as long as they are already
|
||||||
|
implemented.
|
||||||
|
|
||||||
|
* Additional libraries
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
[Note: Currently wxGTK will compile out-of-the-box
|
||||||
|
with no extra libraries required. Support for
|
||||||
|
OpenGl, threads, Python and hopefully ODBC
|
||||||
|
support will soon be added.]
|
||||||
|
|
||||||
|
wxGTK requires the GTK (The Gimp Toolkit) to be installed,
|
||||||
|
which probably makes sense.
|
||||||
|
|
||||||
|
There will be a few more features of wxGTK, which will
|
||||||
|
require further libraries (on some platforms). These
|
||||||
|
features will be optional. I hope to teach configure
|
||||||
|
to check that out automatically.
|
||||||
|
|
||||||
|
Thread support:
|
||||||
|
|
||||||
|
Requires pthreads under Linux without glibc.
|
||||||
|
|
||||||
|
OpenGl:
|
||||||
|
|
||||||
|
Requires OpenGl or MesaGl.
|
||||||
|
|
||||||
|
Python scripting language support:
|
||||||
|
|
||||||
|
Requires Python.
|
||||||
|
|
||||||
|
* Compiling
|
||||||
|
-------------
|
||||||
|
|
||||||
|
First you have to create all makefiles in all subdirectories:
|
||||||
|
|
||||||
|
make makefiles
|
||||||
|
|
||||||
|
Dependencies are generated automatically using
|
||||||
|
|
||||||
|
make depend
|
||||||
|
|
||||||
|
Now the makefiles are created you can compile everything is as simple
|
||||||
|
as typing:
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
make yourself some coffee, as it will try to compile
|
||||||
|
ALL the files in this distribution.
|
||||||
|
|
||||||
|
if you want to be more selective:
|
||||||
|
|
||||||
|
make src will build only the base libraries
|
||||||
|
make utils will build the utils
|
||||||
|
make samples will build the samples
|
||||||
|
make other will build the other samples
|
||||||
|
make user will build the files in the directory other
|
||||||
|
|
||||||
|
Depending on the configuration of some files, the libraries
|
||||||
|
and binaries will be placed in different directories.
|
||||||
|
The "global" binaries and libraries will be placed in:
|
||||||
|
|
||||||
|
bin/$(OSTYPE) and
|
||||||
|
lib/$(OSTYPE) respectively
|
||||||
|
|
||||||
|
"local" binaries and libraries will be placed in:
|
||||||
|
|
||||||
|
(basedir of that application)/$(OSTYPE).
|
||||||
|
|
||||||
|
This is also the place where all the object-files will go.
|
||||||
|
|
||||||
|
If you want to conserve disk space by removing unnecessary
|
||||||
|
object-files:
|
||||||
|
|
||||||
|
make clean_obj
|
||||||
|
|
||||||
|
will do the work for you.
|
||||||
|
|
||||||
|
* Creating a new Project
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
I propose to put all contributed programs in the directory
|
||||||
|
"user", with a directory of its own.
|
||||||
|
|
||||||
|
This directory then should include the following files:
|
||||||
|
|
||||||
|
Makefile (You can copy this one from any application in samples
|
||||||
|
probably you will not need to edit this one. There is
|
||||||
|
only one case where you might be interested in changing
|
||||||
|
this file, but about that see later.)
|
||||||
|
Makefile.in (This is the base application-Makefile template, from
|
||||||
|
which the actual Makefile for each system is created.
|
||||||
|
More about this later)
|
||||||
|
|
||||||
|
put ALL your source code along with all the other stuff you need for
|
||||||
|
your application in this directory (subdirectories are welcome).
|
||||||
|
|
||||||
|
** Something about Makefiles
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
On general principle it should only contain ONE line, which is as follows:
|
||||||
|
|
||||||
|
include ../../src/gtk/setup/general/makeapp
|
||||||
|
|
||||||
|
this will include all the necessary definitions for creating the applications
|
||||||
|
|
||||||
|
the only case where you might want to add another line is the following:
|
||||||
|
this version of configure also supports creation of source archives of the
|
||||||
|
application for easy distribution and updates to newer version of wxxt.
|
||||||
|
For this purpose all files in the application-directory will be put into
|
||||||
|
a gziped tar-file in the full notation user/<your application>/*
|
||||||
|
if you want to include some other files that you want "more visible", like
|
||||||
|
a README.<yourApp> or a shell script for easy
|
||||||
|
compilation/installation/distribution, then you have to add a variable
|
||||||
|
|
||||||
|
DISTRIBUTE_ADDITIONAL=<your files>
|
||||||
|
|
||||||
|
to the Makefile.
|
||||||
|
So it would look like this:
|
||||||
|
|
||||||
|
DISTRIBUTE_ADDITIONAL=README.TheApp
|
||||||
|
include ../../src/gtk/setup/general/makeapp
|
||||||
|
|
||||||
|
As we have already talked about distribution the command to create a
|
||||||
|
distribution is:
|
||||||
|
|
||||||
|
make distrib
|
||||||
|
|
||||||
|
NOTE: If you are in the base directory of wxxt it will create
|
||||||
|
distribution packages for wxxt as well as for all packages in the
|
||||||
|
user directory.
|
||||||
|
So if you want to create only packages for the files in user,
|
||||||
|
then go to the directory other and type:
|
||||||
|
|
||||||
|
make distrib
|
||||||
|
|
||||||
|
or if you only want one application to be created then
|
||||||
|
enter the specific directory and type there:
|
||||||
|
make distrib
|
||||||
|
|
||||||
|
All the distribution files will be put in the directory
|
||||||
|
distrib at the base of the wxxt-tree (where also configure
|
||||||
|
and template.mak can be found).
|
||||||
|
|
||||||
|
** Something about Makefile.in
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
As you have already seen with Makefile, configure makes a lot of use
|
||||||
|
if the include statement in make to keep the Makefiles as simple as
|
||||||
|
possible.
|
||||||
|
|
||||||
|
So basically there are only variables to define and then a include command.
|
||||||
|
Exception to this rule is if you have special rules for some stuff...
|
||||||
|
These rules should go AFTER the include statement!!!
|
||||||
|
|
||||||
|
so the general header looks like this:
|
||||||
|
|
||||||
|
# wxGTK base directory
|
||||||
|
WXBASEDIR=@WXBASEDIR@
|
||||||
|
# set the OS type for compilation
|
||||||
|
OS=@OS@
|
||||||
|
# compile a library only
|
||||||
|
RULE=bin
|
||||||
|
|
||||||
|
and the general footer will look like this:
|
||||||
|
|
||||||
|
# include the definitions now
|
||||||
|
include ../../../template.mak
|
||||||
|
|
||||||
|
the key variable is RULE, which defines what make should create
|
||||||
|
in this directory.
|
||||||
|
|
||||||
|
here are some examples:
|
||||||
|
|
||||||
|
RULE description
|
||||||
|
===========================================================================
|
||||||
|
bin creates a local binary (for a global binary prefix bin with g)
|
||||||
|
additional variables needed:
|
||||||
|
BIN_TARGET this gives the name of your application
|
||||||
|
BIN_OBJ this gives the object files needed to
|
||||||
|
link the application
|
||||||
|
optional variables are:
|
||||||
|
BIN_SRC this gives the list of c/c++ files for
|
||||||
|
which dependencies will be checked.
|
||||||
|
(This can be achieved with: make depend)
|
||||||
|
BIN_LINK this gives commands for additional
|
||||||
|
libraries needed to link the application
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
bin2 creates two local binaries (for global binaries prefix bin2 with g)
|
||||||
|
in addition to the variables specified above you MUST also
|
||||||
|
provide the same variables with BIN2_ instead of BIN_
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
lib creates a local library (for a global binary prefix bin with g)
|
||||||
|
additional variables needed:
|
||||||
|
LIB_TARGET this gives the name of your library
|
||||||
|
LIB_OBJ this gives the object files needed for
|
||||||
|
the library to be build.
|
||||||
|
optional variables are:
|
||||||
|
LIB_SRC this gives the list of c/c++ files for
|
||||||
|
which dependencies will be checked.
|
||||||
|
libbin and libgbin are also possible and will need in addition
|
||||||
|
the variables from bin
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
gslib is similar to lib, but it creates a shared library if the system
|
||||||
|
supports it.
|
||||||
|
additional variables needed:
|
||||||
|
LIB_MAJOR major number of the shared library
|
||||||
|
LIB_MINOR minor number of the shared library
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
other additional variables:
|
||||||
|
|
||||||
|
ADD_COMPILE define additional includes/defines that
|
||||||
|
are needed to compile the object files
|
||||||
|
(if you need to reference some directory
|
||||||
|
utils - like wxGrid -, then please
|
||||||
|
reference them with the variables defined
|
||||||
|
in template.mak - e.g.: $(SRCDIR),$(UTILS),
|
||||||
|
$(SAMPLES),$(OTHERS))
|
||||||
|
|
||||||
|
NEEDED_DEFINES lists all the defines that HAVE to be set in
|
||||||
|
/include/wx/setup.h to compile correctly.
|
||||||
|
|
||||||
|
SRC_DIR lists all directories that are needed to
|
||||||
|
compile. (i.e: lists all the directories,
|
||||||
|
where there are source-files.) But it is
|
||||||
|
also needed to clean an object and for
|
||||||
|
machines, for which make does not support
|
||||||
|
VPATH
|
||||||
|
|
||||||
|
currently there are the following compiling rules provided:
|
||||||
|
object files are created for the following file extensions:
|
||||||
|
.c .cc .cpp
|
||||||
|
|
||||||
|
Please have a closer look at the Makefiles in this distribution.
|
||||||
|
|
||||||
|
* Platforms configure is working with
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Please report build succes on any machine. Especially non-
|
||||||
|
Linux operating systems (which I don't have).
|
||||||
|
|
||||||
|
Original author of the autoconf system for wxxt-1.66 and for this INSTALL
|
||||||
|
file:
|
||||||
|
|
||||||
|
Martin Sperl sperl@dsn.ast.univie.ac.at
|
||||||
|
|
||||||
|
Ported to wxGTK 0.1:
|
||||||
|
|
||||||
|
Wolfram Gloger wmglo@dent.med.uni-muenchen.de
|
||||||
|
|
||||||
|
Thanks alot to both of them.
|
||||||
|
|
||||||
|
In the hope that it will be useful,
|
||||||
|
|
||||||
|
Robert Roebling roebling@sun2.ruf.uni-freiburg.de
|
||||||
|
|
||||||
|
|
||||||
167
Makefile
Normal file
167
Makefile
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
# Top-level Makefile for wxGTK by Wolfram Gloger
|
||||||
|
# based on the version for wx-Xt by Martin Sperl
|
||||||
|
|
||||||
|
SHELL=/bin/sh
|
||||||
|
|
||||||
|
#if DIRS are defind make only executes in these diretories
|
||||||
|
all::
|
||||||
|
@if test "x$(DIRS)" = x; then \
|
||||||
|
for i in src samples utils user; do \
|
||||||
|
echo "entering directory $$i building $@"; \
|
||||||
|
(cd $$i; ${MAKE} -k $@); \
|
||||||
|
done; \
|
||||||
|
else \
|
||||||
|
for i in $(DIRS) xxx; do \
|
||||||
|
if test "$$i" != xxx; then \
|
||||||
|
echo "entering directory $$i building $@"; \
|
||||||
|
(cd $$i; ${MAKE} -k $@); \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# what to do if a target is not understood:
|
||||||
|
# pass it on to all the children...
|
||||||
|
|
||||||
|
.DEFAULT::
|
||||||
|
@if test "x$(DIRS)" = x; then \
|
||||||
|
for i in src samples utils user; do \
|
||||||
|
echo "entering directory $$i building $@"; \
|
||||||
|
(cd $$i; ${MAKE} -k $@); \
|
||||||
|
done; \
|
||||||
|
else \
|
||||||
|
for i in $(DIRS) xxx; do \
|
||||||
|
if test "$$i" != xxx; then \
|
||||||
|
echo "entering directory $$i building $@"; \
|
||||||
|
(cd $$i; ${MAKE} -k $@); \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
src::
|
||||||
|
@echo "entering directory src building all"
|
||||||
|
@cd src; ${MAKE} all
|
||||||
|
|
||||||
|
samples::
|
||||||
|
@echo "entering directory samples building all"
|
||||||
|
@cd samples; ${MAKE} all
|
||||||
|
|
||||||
|
utils::
|
||||||
|
@echo "entering directory utils building all"
|
||||||
|
@cd utils; ${MAKE} all
|
||||||
|
|
||||||
|
user::
|
||||||
|
@echo "entering directory user building all"
|
||||||
|
@cd user; ${MAKE} all
|
||||||
|
|
||||||
|
# the following ones recreate all Makefiles.
|
||||||
|
|
||||||
|
makefiles:: recreate
|
||||||
|
Makefiles:: recreate
|
||||||
|
recreate::
|
||||||
|
@src/gtk/setup/general/createall
|
||||||
|
|
||||||
|
# the following ones define what needs to be done to distribute the
|
||||||
|
# library and its components
|
||||||
|
|
||||||
|
distribute:: distrib
|
||||||
|
distrib:: distrib_base distrib_user join_utils join_samples
|
||||||
|
|
||||||
|
distrib_samples::
|
||||||
|
@echo "entering directory samples creating distribution files"
|
||||||
|
@(cd samples; ${MAKE} -k distrib)
|
||||||
|
|
||||||
|
distrib_user::
|
||||||
|
@echo "entering directory user creating distribution files"
|
||||||
|
@(cd user; ${MAKE} -k distrib)
|
||||||
|
|
||||||
|
distrib_utils::
|
||||||
|
@echo "entering directory utils creating distribution files"
|
||||||
|
@(cd utils; ${MAKE} -k distrib)
|
||||||
|
|
||||||
|
join_utils:: distrib_utils
|
||||||
|
@$(MAKE) join \
|
||||||
|
BASEDIR=utils \
|
||||||
|
FILES=`echo distrib/utils/*.tgz `
|
||||||
|
|
||||||
|
join_samples:: distrib_samples
|
||||||
|
@$(MAKE) join \
|
||||||
|
BASEDIR=samples \
|
||||||
|
FILES=`echo distrib/samples/*.tgz `
|
||||||
|
|
||||||
|
join_user:: distrib_user
|
||||||
|
@$(MAKE) join \
|
||||||
|
BASEDIR=user \
|
||||||
|
FILES=`echo distrib/user/*.tgz `
|
||||||
|
|
||||||
|
join::
|
||||||
|
@# needed are BASEDIR and FILES
|
||||||
|
@if test "x$$BASEDIR" = x; then\
|
||||||
|
echo "BASEDIR not specified.";\
|
||||||
|
exit -1;\
|
||||||
|
fi
|
||||||
|
@if test "x$$FILES" != x ; then \
|
||||||
|
echo "putting all seperate distribution files:";\
|
||||||
|
echo "$$FILES";\
|
||||||
|
echo "into distrib/$(BASEDIR).tgz";\
|
||||||
|
src/gtk/setup/general/jointar $(BASEDIR) $$FILES distrib/$(BASEDIR).tgz; \
|
||||||
|
else \
|
||||||
|
echo "Nothing to join - deleting..."; \
|
||||||
|
echo "This may be the case, if you have not specified FILES."\
|
||||||
|
rm -f distrib/$(BASEDIR).tgz; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
distrib_base::
|
||||||
|
@if test ! -d distrib ; then mkdir distrib; fi;
|
||||||
|
@if test ! -f system.list ; then \
|
||||||
|
echo "dummy" > system.list;\
|
||||||
|
fi
|
||||||
|
@(curr=`pwd`; direc=`basename $$curr`;\
|
||||||
|
(cd ..; \
|
||||||
|
echo creating distrib/$$direc.tar from the current directory;\
|
||||||
|
tar -cf /tmp/$$direc.tar \
|
||||||
|
$$direc/COPYING\
|
||||||
|
$$direc/INSTALL\
|
||||||
|
$$direc/Makefile\
|
||||||
|
$$direc/template.mak\
|
||||||
|
$$direc/configure\
|
||||||
|
$$direc/configure.in\
|
||||||
|
$$direc/config.guess\
|
||||||
|
$$direc/config.sub\
|
||||||
|
$$direc/install-sh\
|
||||||
|
$$direc/user/Makefile \
|
||||||
|
$$direc/utils/Makefile \
|
||||||
|
$$direc/samples/Makefile \
|
||||||
|
;\
|
||||||
|
sed "s|^\(.*\)$$|/\1/|g" $$direc/system.list \
|
||||||
|
| uniq > /tmp/$$direc.list; \
|
||||||
|
echo "/RCS/" >> /tmp/$$direc.list; \
|
||||||
|
for each in misc docs wx src setup; do \
|
||||||
|
tar -uf /tmp/$$direc.tar \
|
||||||
|
`\
|
||||||
|
find $$direc/$$each \( -type f -o -type l \) -print \
|
||||||
|
| fgrep -vf /tmp/$$direc.list \
|
||||||
|
| grep -v "[~#]$$" \
|
||||||
|
` ;\
|
||||||
|
done; \
|
||||||
|
echo compressing $$direc.tar to $$direc.tgz;\
|
||||||
|
gzip -9 -c /tmp/$$direc.tar > $$direc/distrib/$$direc.tgz;\
|
||||||
|
rm /tmp/$$direc.tar /tmp/$$direc.list;\
|
||||||
|
)\
|
||||||
|
)
|
||||||
|
|
||||||
|
# the following ones are only needed if configure.in has changed
|
||||||
|
# and needs to be updated...
|
||||||
|
|
||||||
|
config:: configure
|
||||||
|
|
||||||
|
configure::
|
||||||
|
@autoconf
|
||||||
|
@cat configure \
|
||||||
|
| sed "s/config.cache/\$$OSTYPE.config.cache/g" \
|
||||||
|
| sed "s/config.status/\$$OSTYPE.config.status/g" \
|
||||||
|
| sed "s/\*\*--/ --/g" \
|
||||||
|
> configure1
|
||||||
|
@chmod a+x configure1
|
||||||
|
@mv configure1 configure
|
||||||
|
|
||||||
|
|
||||||
599
config.guess
vendored
Executable file
599
config.guess
vendored
Executable file
@@ -0,0 +1,599 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Attempt to guess a canonical system name.
|
||||||
|
# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
#
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Written by Per Bothner <bothner@cygnus.com>.
|
||||||
|
# The master version of this file is at the FSF in /home/gd/gnu/lib.
|
||||||
|
#
|
||||||
|
# This script attempts to guess a canonical system name similar to
|
||||||
|
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||||
|
# exits with 0. Otherwise, it exits with 1.
|
||||||
|
#
|
||||||
|
# The plan is that this can be called by configure scripts if you
|
||||||
|
# don't specify an explicit system type (host/target name).
|
||||||
|
#
|
||||||
|
# Only a few systems have been added to this list; please add others
|
||||||
|
# (but try to keep the structure clean).
|
||||||
|
#
|
||||||
|
|
||||||
|
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||||
|
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||||
|
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
||||||
|
PATH=$PATH:/.attbin ; export PATH
|
||||||
|
fi
|
||||||
|
|
||||||
|
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||||
|
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||||
|
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||||
|
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||||
|
|
||||||
|
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
|
||||||
|
|
||||||
|
# Note: order is significant - the case branches are not exclusive.
|
||||||
|
|
||||||
|
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
|
alpha:OSF1:[VX]*:*)
|
||||||
|
# After 1.2, OSF1 uses "V1.3" for uname -r.
|
||||||
|
# After 4.x, OSF1 uses "X4.x" for uname -r.
|
||||||
|
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VX]//'`
|
||||||
|
exit 0 ;;
|
||||||
|
alpha:OSF1:*:*)
|
||||||
|
# 1.2 uses "1.2" for uname -r.
|
||||||
|
echo alpha-dec-osf${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
21064:Windows_NT:50:3)
|
||||||
|
echo alpha-dec-winnt3.5
|
||||||
|
exit 0 ;;
|
||||||
|
Amiga*:UNIX_System_V:4.0:*)
|
||||||
|
echo m68k-cbm-sysv4
|
||||||
|
exit 0;;
|
||||||
|
amiga:NetBSD:*:*)
|
||||||
|
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||||
|
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||||
|
exit 0;;
|
||||||
|
Pyramid*:OSx*:*:*)
|
||||||
|
if test "`(/bin/universe) 2>/dev/null`" = att ; then
|
||||||
|
echo pyramid-pyramid-sysv3
|
||||||
|
else
|
||||||
|
echo pyramid-pyramid-bsd
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
sun4*:SunOS:5.*:*)
|
||||||
|
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
|
exit 0 ;;
|
||||||
|
i86pc:SunOS:5.*:*)
|
||||||
|
echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
|
exit 0 ;;
|
||||||
|
sun4*:SunOS:6*:*)
|
||||||
|
# According to config.sub, this is the proper way to canonicalize
|
||||||
|
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
||||||
|
# it's likely to be more like Solaris than SunOS4.
|
||||||
|
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
|
exit 0 ;;
|
||||||
|
sun4*:SunOS:*:*)
|
||||||
|
case "`/usr/bin/arch -k`" in
|
||||||
|
Series*|S4*)
|
||||||
|
UNAME_RELEASE=`uname -v`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# Japanese Language versions have a version number like `4.1.3-JL'.
|
||||||
|
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
|
||||||
|
exit 0 ;;
|
||||||
|
sun3*:SunOS:*:*)
|
||||||
|
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
atari*:NetBSD:*:*)
|
||||||
|
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
sun3*:NetBSD:*:*)
|
||||||
|
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
mac68k:NetBSD:*:*)
|
||||||
|
echo m68k-apple-netbsd${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
RISC*:ULTRIX:*:*)
|
||||||
|
echo mips-dec-ultrix${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
VAX*:ULTRIX*:*:*)
|
||||||
|
echo vax-dec-ultrix${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
mips:*:4*:UMIPS)
|
||||||
|
echo mips-mips-riscos4sysv
|
||||||
|
exit 0 ;;
|
||||||
|
mips:*:5*:RISCos)
|
||||||
|
echo mips-mips-riscos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
Night_Hawk:Power_UNIX:*:*)
|
||||||
|
echo powerpc-harris-powerunix
|
||||||
|
exit 0 ;;
|
||||||
|
m88k:CX/UX:7*:*)
|
||||||
|
echo m88k-harris-cxux7
|
||||||
|
exit 0 ;;
|
||||||
|
m88k:*:4*:R4*)
|
||||||
|
echo m88k-motorola-sysv4
|
||||||
|
exit 0 ;;
|
||||||
|
m88k:*:3*:R3*)
|
||||||
|
echo m88k-motorola-sysv3
|
||||||
|
exit 0 ;;
|
||||||
|
AViiON:dgux:*:*)
|
||||||
|
# DG/UX returns AViiON for all architectures
|
||||||
|
UNAME_PROCESSOR=`uname -p`
|
||||||
|
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88100 ] ; then
|
||||||
|
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||||
|
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
||||||
|
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||||
|
else
|
||||||
|
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
||||||
|
fi
|
||||||
|
else echo i586-dg-dgux${UNAME_RELEASE}
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||||
|
echo m88k-dolphin-sysv3
|
||||||
|
exit 0 ;;
|
||||||
|
M88*:*:R3*:*)
|
||||||
|
# Delta 88k system running SVR3
|
||||||
|
echo m88k-motorola-sysv3
|
||||||
|
exit 0 ;;
|
||||||
|
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
|
||||||
|
echo m88k-tektronix-sysv3
|
||||||
|
exit 0 ;;
|
||||||
|
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
|
||||||
|
echo m68k-tektronix-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
*:IRIX*:*:*)
|
||||||
|
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
|
||||||
|
exit 0 ;;
|
||||||
|
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||||
|
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||||
|
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||||
|
i[34]86:AIX:*:*)
|
||||||
|
echo i386-ibm-aix
|
||||||
|
exit 0 ;;
|
||||||
|
*:AIX:2:3)
|
||||||
|
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||||
|
sed 's/^ //' << EOF >dummy.c
|
||||||
|
#include <sys/systemcfg.h>
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
if (!__power_pc())
|
||||||
|
exit(1);
|
||||||
|
puts("powerpc-ibm-aix3.2.5");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||||
|
rm -f dummy.c dummy
|
||||||
|
echo rs6000-ibm-aix3.2.5
|
||||||
|
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||||
|
echo rs6000-ibm-aix3.2.4
|
||||||
|
else
|
||||||
|
echo rs6000-ibm-aix3.2
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
*:AIX:*:4)
|
||||||
|
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
|
||||||
|
IBM_ARCH=rs6000
|
||||||
|
else
|
||||||
|
IBM_ARCH=powerpc
|
||||||
|
fi
|
||||||
|
if [ -x /usr/bin/oslevel ] ; then
|
||||||
|
IBM_REV=`/usr/bin/oslevel`
|
||||||
|
else
|
||||||
|
IBM_REV=4.${UNAME_RELEASE}
|
||||||
|
fi
|
||||||
|
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
||||||
|
exit 0 ;;
|
||||||
|
*:AIX:*:*)
|
||||||
|
echo rs6000-ibm-aix
|
||||||
|
exit 0 ;;
|
||||||
|
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
||||||
|
echo romp-ibm-bsd4.4
|
||||||
|
exit 0 ;;
|
||||||
|
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
||||||
|
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
||||||
|
exit 0 ;; # report: romp-ibm BSD 4.3
|
||||||
|
*:BOSX:*:*)
|
||||||
|
echo rs6000-bull-bosx
|
||||||
|
exit 0 ;;
|
||||||
|
DPX/2?00:B.O.S.:*:*)
|
||||||
|
echo m68k-bull-sysv3
|
||||||
|
exit 0 ;;
|
||||||
|
9000/[34]??:4.3bsd:1.*:*)
|
||||||
|
echo m68k-hp-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
||||||
|
echo m68k-hp-bsd4.4
|
||||||
|
exit 0 ;;
|
||||||
|
9000/[3478]??:HP-UX:*:*)
|
||||||
|
case "${UNAME_MACHINE}" in
|
||||||
|
9000/31? ) HP_ARCH=m68000 ;;
|
||||||
|
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||||
|
9000/7?? | 9000/8?[679] ) HP_ARCH=hppa1.1 ;;
|
||||||
|
9000/8?? ) HP_ARCH=hppa1.0 ;;
|
||||||
|
esac
|
||||||
|
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||||
|
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||||
|
exit 0 ;;
|
||||||
|
3050*:HI-UX:*:*)
|
||||||
|
sed 's/^ //' << EOF >dummy.c
|
||||||
|
#include <unistd.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
long cpu = sysconf (_SC_CPU_VERSION);
|
||||||
|
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
||||||
|
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
||||||
|
results, however. */
|
||||||
|
if (CPU_IS_PA_RISC (cpu))
|
||||||
|
{
|
||||||
|
switch (cpu)
|
||||||
|
{
|
||||||
|
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
|
||||||
|
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
|
||||||
|
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
|
||||||
|
default: puts ("hppa-hitachi-hiuxwe2"); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (CPU_IS_HP_MC68K (cpu))
|
||||||
|
puts ("m68k-hitachi-hiuxwe2");
|
||||||
|
else puts ("unknown-hitachi-hiuxwe2");
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||||
|
rm -f dummy.c dummy
|
||||||
|
echo unknown-hitachi-hiuxwe2
|
||||||
|
exit 0 ;;
|
||||||
|
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
|
||||||
|
echo hppa1.1-hp-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
9000/8??:4.3bsd:*:*)
|
||||||
|
echo hppa1.0-hp-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
|
||||||
|
echo hppa1.1-hp-osf
|
||||||
|
exit 0 ;;
|
||||||
|
hp8??:OSF1:*:*)
|
||||||
|
echo hppa1.0-hp-osf
|
||||||
|
exit 0 ;;
|
||||||
|
parisc*:Lites*:*:*)
|
||||||
|
echo hppa1.1-hp-lites
|
||||||
|
exit 0 ;;
|
||||||
|
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||||
|
echo c1-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||||
|
if getsysinfo -f scalar_acc
|
||||||
|
then echo c32-convex-bsd
|
||||||
|
else echo c2-convex-bsd
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||||
|
echo c34-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||||
|
echo c38-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||||
|
echo c4-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
CRAY*X-MP:*:*:*)
|
||||||
|
echo xmp-cray-unicos
|
||||||
|
exit 0 ;;
|
||||||
|
CRAY*Y-MP:*:*:*)
|
||||||
|
echo ymp-cray-unicos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
CRAY*C90:*:*:*)
|
||||||
|
echo c90-cray-unicos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
CRAY-2:*:*:*)
|
||||||
|
echo cray2-cray-unicos
|
||||||
|
exit 0 ;;
|
||||||
|
hp3[0-9][05]:NetBSD:*:*)
|
||||||
|
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
*:FreeBSD:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||||
|
exit 0 ;;
|
||||||
|
*:NetBSD:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||||
|
exit 0 ;;
|
||||||
|
i*:CYGWIN*:*)
|
||||||
|
echo i386-unknown-cygwin32
|
||||||
|
exit 0 ;;
|
||||||
|
p*:CYGWIN*:*)
|
||||||
|
echo powerpcle-unknown-cygwin32
|
||||||
|
exit 0 ;;
|
||||||
|
*:GNU:*:*)
|
||||||
|
echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||||
|
exit 0 ;;
|
||||||
|
*:Linux:*:*)
|
||||||
|
# The BFD linker knows what the default object file format is, so
|
||||||
|
# first see if it will tell us.
|
||||||
|
ld_help_string=`ld --help 2>&1`
|
||||||
|
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
|
||||||
|
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
|
||||||
|
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
|
||||||
|
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
|
||||||
|
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then
|
||||||
|
echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
|
||||||
|
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
|
||||||
|
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
|
||||||
|
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
|
||||||
|
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
|
||||||
|
elif test "${UNAME_MACHINE}" = "alpha" ; then
|
||||||
|
echo alpha-unknown-linux ; exit 0
|
||||||
|
else
|
||||||
|
# Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
|
||||||
|
# useful --help. Gcc wants to distinguish between linuxoldld and linuxaout.
|
||||||
|
test ! -d /usr/lib/ldscripts/. \
|
||||||
|
&& echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0
|
||||||
|
# Determine whether the default compiler is a.out or elf
|
||||||
|
cat >dummy.c <<EOF
|
||||||
|
main(argc, argv)
|
||||||
|
int argc;
|
||||||
|
char *argv[];
|
||||||
|
{
|
||||||
|
#ifdef __ELF__
|
||||||
|
printf ("%s-unknown-linux\n", argv[1]);
|
||||||
|
#else
|
||||||
|
printf ("%s-unknown-linuxaout\n", argv[1]);
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||||
|
rm -f dummy.c dummy
|
||||||
|
fi ;;
|
||||||
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
||||||
|
# are messed up and put the nodename in both sysname and nodename.
|
||||||
|
i[34]86:DYNIX/ptx:4*:*)
|
||||||
|
echo i386-sequent-sysv4
|
||||||
|
exit 0 ;;
|
||||||
|
i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
|
||||||
|
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||||
|
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||||
|
else
|
||||||
|
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
i[34]86:*:3.2:*)
|
||||||
|
if test -f /usr/options/cb.name; then
|
||||||
|
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||||
|
echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
|
||||||
|
elif /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||||
|
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
|
||||||
|
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
|
||||||
|
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
|
||||||
|
&& UNAME_MACHINE=i586
|
||||||
|
echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
|
||||||
|
else
|
||||||
|
echo ${UNAME_MACHINE}-unknown-sysv32
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
Intel:Mach:3*:*)
|
||||||
|
echo i386-unknown-mach3
|
||||||
|
exit 0 ;;
|
||||||
|
paragon:*:*:*)
|
||||||
|
echo i860-intel-osf1
|
||||||
|
exit 0 ;;
|
||||||
|
i860:*:4.*:*) # i860-SVR4
|
||||||
|
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
|
||||||
|
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
|
||||||
|
else # Add other i860-SVR4 vendors below as they are discovered.
|
||||||
|
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
mini*:CTIX:SYS*5:*)
|
||||||
|
# "miniframe"
|
||||||
|
echo m68010-convergent-sysv
|
||||||
|
exit 0 ;;
|
||||||
|
M680[234]0:*:R3V[567]*:*)
|
||||||
|
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||||
|
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
|
||||||
|
uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
|
&& echo i486-ncr-sysv4.3 && exit 0 ;;
|
||||||
|
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||||
|
uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
|
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||||
|
m680[234]0:LynxOS:2.[23]*:*)
|
||||||
|
echo m68k-lynx-lynxos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
mc68030:UNIX_System_V:4.*:*)
|
||||||
|
echo m68k-atari-sysv4
|
||||||
|
exit 0 ;;
|
||||||
|
i[34]86:LynxOS:2.[23]*:*)
|
||||||
|
echo i386-lynx-lynxos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
TSUNAMI:LynxOS:2.[23]*:*)
|
||||||
|
echo sparc-lynx-lynxos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
rs6000:LynxOS:2.[23]*:*)
|
||||||
|
echo rs6000-lynx-lynxos${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
RM*:SINIX-*:*:*)
|
||||||
|
echo mips-sni-sysv4
|
||||||
|
exit 0 ;;
|
||||||
|
*:SINIX-*:*:*)
|
||||||
|
if uname -p 2>/dev/null >/dev/null ; then
|
||||||
|
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||||
|
echo ${UNAME_MACHINE}-sni-sysv4
|
||||||
|
else
|
||||||
|
echo ns32k-sni-sysv
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
mc68*:A/UX:*:*)
|
||||||
|
echo m68k-apple-aux${UNAME_RELEASE}
|
||||||
|
exit 0 ;;
|
||||||
|
R3000:*System_V*:*:*)
|
||||||
|
if [ -d /usr/nec ]; then
|
||||||
|
echo mips-nec-sysv${UNAME_RELEASE}
|
||||||
|
else
|
||||||
|
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||||
|
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||||
|
|
||||||
|
cat >dummy.c <<EOF
|
||||||
|
#ifdef _SEQUENT_
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/utsname.h>
|
||||||
|
#endif
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#if defined (sony)
|
||||||
|
#if defined (MIPSEB)
|
||||||
|
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||||
|
I don't know.... */
|
||||||
|
printf ("mips-sony-bsd\n"); exit (0);
|
||||||
|
#else
|
||||||
|
#include <sys/param.h>
|
||||||
|
printf ("m68k-sony-newsos%s\n",
|
||||||
|
#ifdef NEWSOS4
|
||||||
|
"4"
|
||||||
|
#else
|
||||||
|
""
|
||||||
|
#endif
|
||||||
|
); exit (0);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||||
|
printf ("arm-acorn-riscix"); exit (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (hp300) && !defined (hpux)
|
||||||
|
printf ("m68k-hp-bsd\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (NeXT)
|
||||||
|
#if !defined (__ARCHITECTURE__)
|
||||||
|
#define __ARCHITECTURE__ "m68k"
|
||||||
|
#endif
|
||||||
|
int version;
|
||||||
|
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||||
|
printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3");
|
||||||
|
exit (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (MULTIMAX) || defined (n16)
|
||||||
|
#if defined (UMAXV)
|
||||||
|
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||||
|
#else
|
||||||
|
#if defined (CMU)
|
||||||
|
printf ("ns32k-encore-mach\n"); exit (0);
|
||||||
|
#else
|
||||||
|
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (__386BSD__)
|
||||||
|
printf ("i386-unknown-bsd\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (sequent)
|
||||||
|
#if defined (i386)
|
||||||
|
printf ("i386-sequent-dynix\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
#if defined (ns32000)
|
||||||
|
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (_SEQUENT_)
|
||||||
|
struct utsname un;
|
||||||
|
|
||||||
|
uname(&un);
|
||||||
|
|
||||||
|
if (strncmp(un.version, "V2", 2) == 0) {
|
||||||
|
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||||
|
}
|
||||||
|
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||||
|
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||||
|
}
|
||||||
|
printf ("i386-sequent-ptx\n"); exit (0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (vax)
|
||||||
|
#if !defined (ultrix)
|
||||||
|
printf ("vax-dec-bsd\n"); exit (0);
|
||||||
|
#else
|
||||||
|
printf ("vax-dec-ultrix\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (alliant) && defined (i860)
|
||||||
|
printf ("i860-alliant-bsd\n"); exit (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
|
||||||
|
rm -f dummy.c dummy
|
||||||
|
|
||||||
|
# Apollos put the system type in the environment.
|
||||||
|
|
||||||
|
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
|
||||||
|
|
||||||
|
# Convex versions that predate uname can use getsysinfo(1)
|
||||||
|
|
||||||
|
if [ -x /usr/convex/getsysinfo ]
|
||||||
|
then
|
||||||
|
case `getsysinfo -f cpu_type` in
|
||||||
|
c1*)
|
||||||
|
echo c1-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
c2*)
|
||||||
|
if getsysinfo -f scalar_acc
|
||||||
|
then echo c32-convex-bsd
|
||||||
|
else echo c2-convex-bsd
|
||||||
|
fi
|
||||||
|
exit 0 ;;
|
||||||
|
c34*)
|
||||||
|
echo c34-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
c38*)
|
||||||
|
echo c38-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
c4*)
|
||||||
|
echo c4-convex-bsd
|
||||||
|
exit 0 ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
#echo '(Unable to guess system type)' 1>&2
|
||||||
|
|
||||||
|
exit 1
|
||||||
927
config.sub
vendored
Executable file
927
config.sub
vendored
Executable file
@@ -0,0 +1,927 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Configuration validation subroutine script, version 1.1.
|
||||||
|
# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||||
|
# This file is (in principle) common to ALL GNU software.
|
||||||
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
|
# can handle that machine. It does not imply ALL GNU software can.
|
||||||
|
#
|
||||||
|
# This file is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
# Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||||
|
# Supply the specified configuration type as an argument.
|
||||||
|
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||||
|
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||||
|
|
||||||
|
# This file is supposed to be the same for all GNU packages
|
||||||
|
# and recognize all the CPU types, system types and aliases
|
||||||
|
# that are meaningful with *any* GNU software.
|
||||||
|
# Each package is responsible for reporting which valid configurations
|
||||||
|
# it does not support. The user should be able to distinguish
|
||||||
|
# a failure to support a valid configuration from a meaningless
|
||||||
|
# configuration.
|
||||||
|
|
||||||
|
# The goal of this file is to map all the various variations of a given
|
||||||
|
# machine specification into a single specification in the form:
|
||||||
|
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||||
|
# or in some cases, the newer four-part form:
|
||||||
|
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||||
|
# It is wrong to echo any other type of specification.
|
||||||
|
|
||||||
|
if [ x$1 = x ]
|
||||||
|
then
|
||||||
|
echo Configuration name missing. 1>&2
|
||||||
|
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||||
|
echo "or $0 ALIAS" 1>&2
|
||||||
|
echo where ALIAS is a recognized configuration type. 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# First pass through any local machine types.
|
||||||
|
case $1 in
|
||||||
|
*local*)
|
||||||
|
echo $1
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||||
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||||
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||||
|
case $maybe_os in
|
||||||
|
linux-gnu*)
|
||||||
|
os=-$maybe_os
|
||||||
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
||||||
|
if [ $basic_machine != $1 ]
|
||||||
|
then os=`echo $1 | sed 's/.*-/-/'`
|
||||||
|
else os=; fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
### Let's recognize common machines as not being operating systems so
|
||||||
|
### that things like config.sub decstation-3100 work. We also
|
||||||
|
### recognize some manufacturers as not being operating systems, so we
|
||||||
|
### can provide default operating systems below.
|
||||||
|
case $os in
|
||||||
|
-sun*os*)
|
||||||
|
# Prevent following clause from handling this invalid input.
|
||||||
|
;;
|
||||||
|
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
|
||||||
|
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
|
||||||
|
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
|
||||||
|
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||||
|
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||||
|
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||||
|
-apple)
|
||||||
|
os=
|
||||||
|
basic_machine=$1
|
||||||
|
;;
|
||||||
|
-hiux*)
|
||||||
|
os=-hiuxwe2
|
||||||
|
;;
|
||||||
|
-sco5)
|
||||||
|
os=sco3.2v5
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-sco4)
|
||||||
|
os=-sco3.2v4
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-sco3.2.[4-9]*)
|
||||||
|
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-sco3.2v[4-9]*)
|
||||||
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-sco*)
|
||||||
|
os=-sco3.2v2
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-isc)
|
||||||
|
os=-isc2.2
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-clix*)
|
||||||
|
basic_machine=clipper-intergraph
|
||||||
|
;;
|
||||||
|
-isc*)
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
|
-lynx*)
|
||||||
|
os=-lynxos
|
||||||
|
;;
|
||||||
|
-ptx*)
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
||||||
|
;;
|
||||||
|
-windowsnt*)
|
||||||
|
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
||||||
|
;;
|
||||||
|
-psos*)
|
||||||
|
os=-psos
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Decode aliases for certain CPU-COMPANY combinations.
|
||||||
|
case $basic_machine in
|
||||||
|
# Recognize the basic CPU types without company name.
|
||||||
|
# Some are omitted here because they have special meanings below.
|
||||||
|
tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \
|
||||||
|
| arme[lb] | pyramid \
|
||||||
|
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
|
||||||
|
| alpha | we32k | ns16k | clipper | i370 | sh \
|
||||||
|
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
|
||||||
|
| pdp11 | mips64el | mips64orion | mips64orionel \
|
||||||
|
| sparc | sparclet | sparclite | sparc64)
|
||||||
|
basic_machine=$basic_machine-unknown
|
||||||
|
;;
|
||||||
|
# We use `pc' rather than `unknown'
|
||||||
|
# because (1) that's what they normally are, and
|
||||||
|
# (2) the word "unknown" tends to confuse beginning users.
|
||||||
|
i[3456]86)
|
||||||
|
basic_machine=$basic_machine-pc
|
||||||
|
;;
|
||||||
|
# Object if more than one company name word.
|
||||||
|
*-*-*)
|
||||||
|
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
# Recognize the basic CPU types with company name.
|
||||||
|
vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
|
||||||
|
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
|
||||||
|
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
|
||||||
|
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
|
||||||
|
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
|
||||||
|
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
|
||||||
|
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
|
||||||
|
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
|
||||||
|
;;
|
||||||
|
# Recognize the various machine names and aliases which stand
|
||||||
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
|
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||||
|
basic_machine=m68000-att
|
||||||
|
;;
|
||||||
|
3b*)
|
||||||
|
basic_machine=we32k-att
|
||||||
|
;;
|
||||||
|
alliant | fx80)
|
||||||
|
basic_machine=fx80-alliant
|
||||||
|
;;
|
||||||
|
altos | altos3068)
|
||||||
|
basic_machine=m68k-altos
|
||||||
|
;;
|
||||||
|
am29k)
|
||||||
|
basic_machine=a29k-none
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
amdahl)
|
||||||
|
basic_machine=580-amdahl
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
amiga | amiga-*)
|
||||||
|
basic_machine=m68k-cbm
|
||||||
|
;;
|
||||||
|
amigados)
|
||||||
|
basic_machine=m68k-cbm
|
||||||
|
os=-amigados
|
||||||
|
;;
|
||||||
|
amigaunix | amix)
|
||||||
|
basic_machine=m68k-cbm
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
apollo68)
|
||||||
|
basic_machine=m68k-apollo
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
aux)
|
||||||
|
basic_machine=m68k-apple
|
||||||
|
os=-aux
|
||||||
|
;;
|
||||||
|
balance)
|
||||||
|
basic_machine=ns32k-sequent
|
||||||
|
os=-dynix
|
||||||
|
;;
|
||||||
|
convex-c1)
|
||||||
|
basic_machine=c1-convex
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
convex-c2)
|
||||||
|
basic_machine=c2-convex
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
convex-c32)
|
||||||
|
basic_machine=c32-convex
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
convex-c34)
|
||||||
|
basic_machine=c34-convex
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
convex-c38)
|
||||||
|
basic_machine=c38-convex
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
cray | ymp)
|
||||||
|
basic_machine=ymp-cray
|
||||||
|
os=-unicos
|
||||||
|
;;
|
||||||
|
cray2)
|
||||||
|
basic_machine=cray2-cray
|
||||||
|
os=-unicos
|
||||||
|
;;
|
||||||
|
[ctj]90-cray)
|
||||||
|
basic_machine=c90-cray
|
||||||
|
os=-unicos
|
||||||
|
;;
|
||||||
|
crds | unos)
|
||||||
|
basic_machine=m68k-crds
|
||||||
|
;;
|
||||||
|
da30 | da30-*)
|
||||||
|
basic_machine=m68k-da30
|
||||||
|
;;
|
||||||
|
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
||||||
|
basic_machine=mips-dec
|
||||||
|
;;
|
||||||
|
delta | 3300 | motorola-3300 | motorola-delta \
|
||||||
|
| 3300-motorola | delta-motorola)
|
||||||
|
basic_machine=m68k-motorola
|
||||||
|
;;
|
||||||
|
delta88)
|
||||||
|
basic_machine=m88k-motorola
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
dpx20 | dpx20-*)
|
||||||
|
basic_machine=rs6000-bull
|
||||||
|
os=-bosx
|
||||||
|
;;
|
||||||
|
dpx2* | dpx2*-bull)
|
||||||
|
basic_machine=m68k-bull
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
ebmon29k)
|
||||||
|
basic_machine=a29k-amd
|
||||||
|
os=-ebmon
|
||||||
|
;;
|
||||||
|
elxsi)
|
||||||
|
basic_machine=elxsi-elxsi
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
encore | umax | mmax)
|
||||||
|
basic_machine=ns32k-encore
|
||||||
|
;;
|
||||||
|
fx2800)
|
||||||
|
basic_machine=i860-alliant
|
||||||
|
;;
|
||||||
|
genix)
|
||||||
|
basic_machine=ns32k-ns
|
||||||
|
;;
|
||||||
|
gmicro)
|
||||||
|
basic_machine=tron-gmicro
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
h3050r* | hiux*)
|
||||||
|
basic_machine=hppa1.1-hitachi
|
||||||
|
os=-hiuxwe2
|
||||||
|
;;
|
||||||
|
h8300hms)
|
||||||
|
basic_machine=h8300-hitachi
|
||||||
|
os=-hms
|
||||||
|
;;
|
||||||
|
harris)
|
||||||
|
basic_machine=m88k-harris
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
hp300-*)
|
||||||
|
basic_machine=m68k-hp
|
||||||
|
;;
|
||||||
|
hp300bsd)
|
||||||
|
basic_machine=m68k-hp
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
hp300hpux)
|
||||||
|
basic_machine=m68k-hp
|
||||||
|
os=-hpux
|
||||||
|
;;
|
||||||
|
hp9k2[0-9][0-9] | hp9k31[0-9])
|
||||||
|
basic_machine=m68000-hp
|
||||||
|
;;
|
||||||
|
hp9k3[2-9][0-9])
|
||||||
|
basic_machine=m68k-hp
|
||||||
|
;;
|
||||||
|
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
||||||
|
basic_machine=hppa1.1-hp
|
||||||
|
;;
|
||||||
|
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||||
|
basic_machine=hppa1.0-hp
|
||||||
|
;;
|
||||||
|
hppa-next)
|
||||||
|
os=-nextstep3
|
||||||
|
;;
|
||||||
|
i370-ibm* | ibm*)
|
||||||
|
basic_machine=i370-ibm
|
||||||
|
os=-mvs
|
||||||
|
;;
|
||||||
|
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||||
|
i[3456]86v32)
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
|
os=-sysv32
|
||||||
|
;;
|
||||||
|
i[3456]86v4*)
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
i[3456]86v)
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
i[3456]86sol2)
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||||
|
os=-solaris2
|
||||||
|
;;
|
||||||
|
iris | iris4d)
|
||||||
|
basic_machine=mips-sgi
|
||||||
|
case $os in
|
||||||
|
-irix*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
os=-irix4
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
isi68 | isi)
|
||||||
|
basic_machine=m68k-isi
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
m88k-omron*)
|
||||||
|
basic_machine=m88k-omron
|
||||||
|
;;
|
||||||
|
magnum | m3230)
|
||||||
|
basic_machine=mips-mips
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
merlin)
|
||||||
|
basic_machine=ns32k-utek
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
miniframe)
|
||||||
|
basic_machine=m68000-convergent
|
||||||
|
;;
|
||||||
|
mips3*-*)
|
||||||
|
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||||
|
;;
|
||||||
|
mips3*)
|
||||||
|
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
||||||
|
;;
|
||||||
|
ncr3000)
|
||||||
|
basic_machine=i486-ncr
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
news | news700 | news800 | news900)
|
||||||
|
basic_machine=m68k-sony
|
||||||
|
os=-newsos
|
||||||
|
;;
|
||||||
|
news1000)
|
||||||
|
basic_machine=m68030-sony
|
||||||
|
os=-newsos
|
||||||
|
;;
|
||||||
|
news-3600 | risc-news)
|
||||||
|
basic_machine=mips-sony
|
||||||
|
os=-newsos
|
||||||
|
;;
|
||||||
|
next | m*-next )
|
||||||
|
basic_machine=m68k-next
|
||||||
|
case $os in
|
||||||
|
-nextstep* )
|
||||||
|
;;
|
||||||
|
-ns2*)
|
||||||
|
os=-nextstep2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
os=-nextstep3
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
nh3000)
|
||||||
|
basic_machine=m68k-harris
|
||||||
|
os=-cxux
|
||||||
|
;;
|
||||||
|
nh[45]000)
|
||||||
|
basic_machine=m88k-harris
|
||||||
|
os=-cxux
|
||||||
|
;;
|
||||||
|
nindy960)
|
||||||
|
basic_machine=i960-intel
|
||||||
|
os=-nindy
|
||||||
|
;;
|
||||||
|
np1)
|
||||||
|
basic_machine=np1-gould
|
||||||
|
;;
|
||||||
|
pa-hitachi)
|
||||||
|
basic_machine=hppa1.1-hitachi
|
||||||
|
os=-hiuxwe2
|
||||||
|
;;
|
||||||
|
paragon)
|
||||||
|
basic_machine=i860-intel
|
||||||
|
os=-osf
|
||||||
|
;;
|
||||||
|
pbd)
|
||||||
|
basic_machine=sparc-tti
|
||||||
|
;;
|
||||||
|
pbb)
|
||||||
|
basic_machine=m68k-tti
|
||||||
|
;;
|
||||||
|
pc532 | pc532-*)
|
||||||
|
basic_machine=ns32k-pc532
|
||||||
|
;;
|
||||||
|
pentium | p5)
|
||||||
|
basic_machine=i586-intel
|
||||||
|
;;
|
||||||
|
pentiumpro | p6)
|
||||||
|
basic_machine=i686-intel
|
||||||
|
;;
|
||||||
|
pentium-* | p5-*)
|
||||||
|
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
|
pentiumpro-* | p6-*)
|
||||||
|
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
|
k5)
|
||||||
|
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
|
||||||
|
basic_machine=i586-amd
|
||||||
|
;;
|
||||||
|
nexen)
|
||||||
|
# We don't have specific support for Nexgen yet, so just call it a Pentium
|
||||||
|
basic_machine=i586-nexgen
|
||||||
|
;;
|
||||||
|
pn)
|
||||||
|
basic_machine=pn-gould
|
||||||
|
;;
|
||||||
|
power) basic_machine=rs6000-ibm
|
||||||
|
;;
|
||||||
|
ppc) basic_machine=powerpc-unknown
|
||||||
|
;;
|
||||||
|
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
|
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||||
|
basic_machine=powerpcle-unknown
|
||||||
|
;;
|
||||||
|
ppcle-* | powerpclittle-*)
|
||||||
|
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
|
ps2)
|
||||||
|
basic_machine=i386-ibm
|
||||||
|
;;
|
||||||
|
rm[46]00)
|
||||||
|
basic_machine=mips-siemens
|
||||||
|
;;
|
||||||
|
rtpc | rtpc-*)
|
||||||
|
basic_machine=romp-ibm
|
||||||
|
;;
|
||||||
|
sequent)
|
||||||
|
basic_machine=i386-sequent
|
||||||
|
;;
|
||||||
|
sh)
|
||||||
|
basic_machine=sh-hitachi
|
||||||
|
os=-hms
|
||||||
|
;;
|
||||||
|
sps7)
|
||||||
|
basic_machine=m68k-bull
|
||||||
|
os=-sysv2
|
||||||
|
;;
|
||||||
|
spur)
|
||||||
|
basic_machine=spur-unknown
|
||||||
|
;;
|
||||||
|
sun2)
|
||||||
|
basic_machine=m68000-sun
|
||||||
|
;;
|
||||||
|
sun2os3)
|
||||||
|
basic_machine=m68000-sun
|
||||||
|
os=-sunos3
|
||||||
|
;;
|
||||||
|
sun2os4)
|
||||||
|
basic_machine=m68000-sun
|
||||||
|
os=-sunos4
|
||||||
|
;;
|
||||||
|
sun3os3)
|
||||||
|
basic_machine=m68k-sun
|
||||||
|
os=-sunos3
|
||||||
|
;;
|
||||||
|
sun3os4)
|
||||||
|
basic_machine=m68k-sun
|
||||||
|
os=-sunos4
|
||||||
|
;;
|
||||||
|
sun4os3)
|
||||||
|
basic_machine=sparc-sun
|
||||||
|
os=-sunos3
|
||||||
|
;;
|
||||||
|
sun4os4)
|
||||||
|
basic_machine=sparc-sun
|
||||||
|
os=-sunos4
|
||||||
|
;;
|
||||||
|
sun4sol2)
|
||||||
|
basic_machine=sparc-sun
|
||||||
|
os=-solaris2
|
||||||
|
;;
|
||||||
|
sun3 | sun3-*)
|
||||||
|
basic_machine=m68k-sun
|
||||||
|
;;
|
||||||
|
sun4)
|
||||||
|
basic_machine=sparc-sun
|
||||||
|
;;
|
||||||
|
sun386 | sun386i | roadrunner)
|
||||||
|
basic_machine=i386-sun
|
||||||
|
;;
|
||||||
|
symmetry)
|
||||||
|
basic_machine=i386-sequent
|
||||||
|
os=-dynix
|
||||||
|
;;
|
||||||
|
tower | tower-32)
|
||||||
|
basic_machine=m68k-ncr
|
||||||
|
;;
|
||||||
|
udi29k)
|
||||||
|
basic_machine=a29k-amd
|
||||||
|
os=-udi
|
||||||
|
;;
|
||||||
|
ultra3)
|
||||||
|
basic_machine=a29k-nyu
|
||||||
|
os=-sym1
|
||||||
|
;;
|
||||||
|
vaxv)
|
||||||
|
basic_machine=vax-dec
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
vms)
|
||||||
|
basic_machine=vax-dec
|
||||||
|
os=-vms
|
||||||
|
;;
|
||||||
|
vpp*|vx|vx-*)
|
||||||
|
basic_machine=f301-fujitsu
|
||||||
|
;;
|
||||||
|
vxworks960)
|
||||||
|
basic_machine=i960-wrs
|
||||||
|
os=-vxworks
|
||||||
|
;;
|
||||||
|
vxworks68)
|
||||||
|
basic_machine=m68k-wrs
|
||||||
|
os=-vxworks
|
||||||
|
;;
|
||||||
|
vxworks29k)
|
||||||
|
basic_machine=a29k-wrs
|
||||||
|
os=-vxworks
|
||||||
|
;;
|
||||||
|
xmp)
|
||||||
|
basic_machine=xmp-cray
|
||||||
|
os=-unicos
|
||||||
|
;;
|
||||||
|
xps | xps100)
|
||||||
|
basic_machine=xps100-honeywell
|
||||||
|
;;
|
||||||
|
none)
|
||||||
|
basic_machine=none-none
|
||||||
|
os=-none
|
||||||
|
;;
|
||||||
|
|
||||||
|
# Here we handle the default manufacturer of certain CPU types. It is in
|
||||||
|
# some cases the only manufacturer, in others, it is the most popular.
|
||||||
|
mips)
|
||||||
|
basic_machine=mips-mips
|
||||||
|
;;
|
||||||
|
romp)
|
||||||
|
basic_machine=romp-ibm
|
||||||
|
;;
|
||||||
|
rs6000)
|
||||||
|
basic_machine=rs6000-ibm
|
||||||
|
;;
|
||||||
|
vax)
|
||||||
|
basic_machine=vax-dec
|
||||||
|
;;
|
||||||
|
pdp11)
|
||||||
|
basic_machine=pdp11-dec
|
||||||
|
;;
|
||||||
|
we32k)
|
||||||
|
basic_machine=we32k-att
|
||||||
|
;;
|
||||||
|
sparc)
|
||||||
|
basic_machine=sparc-sun
|
||||||
|
;;
|
||||||
|
cydra)
|
||||||
|
basic_machine=cydra-cydrome
|
||||||
|
;;
|
||||||
|
orion)
|
||||||
|
basic_machine=orion-highlevel
|
||||||
|
;;
|
||||||
|
orion105)
|
||||||
|
basic_machine=clipper-highlevel
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Here we canonicalize certain aliases for manufacturers.
|
||||||
|
case $basic_machine in
|
||||||
|
*-digital*)
|
||||||
|
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
||||||
|
;;
|
||||||
|
*-commodore*)
|
||||||
|
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Decode manufacturer-specific aliases for certain operating systems.
|
||||||
|
|
||||||
|
if [ x"$os" != x"" ]
|
||||||
|
then
|
||||||
|
case $os in
|
||||||
|
# First match some system type aliases
|
||||||
|
# that might get confused with valid system types.
|
||||||
|
# -solaris* is a basic system type, with this one exception.
|
||||||
|
-solaris1 | -solaris1.*)
|
||||||
|
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||||
|
;;
|
||||||
|
-solaris)
|
||||||
|
os=-solaris2
|
||||||
|
;;
|
||||||
|
-unixware* | svr4*)
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
-gnu/linux*)
|
||||||
|
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||||
|
;;
|
||||||
|
# First accept the basic system types.
|
||||||
|
# The portable systems comes first.
|
||||||
|
# Each alternative MUST END IN A *, to match a version number.
|
||||||
|
# -sysv* is not here because it comes later, after sysvr4.
|
||||||
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||||
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||||
|
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
|
||||||
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
|
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
||||||
|
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
|
||||||
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||||
|
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
|
| -linux-gnu* | -uxpv*)
|
||||||
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
|
;;
|
||||||
|
-linux*)
|
||||||
|
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||||
|
;;
|
||||||
|
-sunos5*)
|
||||||
|
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||||
|
;;
|
||||||
|
-sunos6*)
|
||||||
|
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
||||||
|
;;
|
||||||
|
-osfrose*)
|
||||||
|
os=-osfrose
|
||||||
|
;;
|
||||||
|
-osf*)
|
||||||
|
os=-osf
|
||||||
|
;;
|
||||||
|
-utek*)
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
-dynix*)
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
-acis*)
|
||||||
|
os=-aos
|
||||||
|
;;
|
||||||
|
-ctix* | -uts*)
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
-ns2 )
|
||||||
|
os=-nextstep2
|
||||||
|
;;
|
||||||
|
# Preserve the version number of sinix5.
|
||||||
|
-sinix5.*)
|
||||||
|
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||||
|
;;
|
||||||
|
-sinix*)
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
-triton*)
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
-oss*)
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
-svr4)
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
-svr3)
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
-sysvr4)
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
# This must come after -sysvr4.
|
||||||
|
-sysv*)
|
||||||
|
;;
|
||||||
|
-xenix)
|
||||||
|
os=-xenix
|
||||||
|
;;
|
||||||
|
-none)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Get rid of the `-' at the beginning of $os.
|
||||||
|
os=`echo $os | sed 's/[^-]*-//'`
|
||||||
|
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
|
||||||
|
# Here we handle the default operating systems that come with various machines.
|
||||||
|
# The value should be what the vendor currently ships out the door with their
|
||||||
|
# machine or put another way, the most popular os provided with the machine.
|
||||||
|
|
||||||
|
# Note that if you're going to try to match "-MANUFACTURER" here (say,
|
||||||
|
# "-sun"), then you have to tell the case statement up towards the top
|
||||||
|
# that MANUFACTURER isn't an operating system. Otherwise, code above
|
||||||
|
# will signal an error saying that MANUFACTURER isn't an operating
|
||||||
|
# system, and we'll never get to this point.
|
||||||
|
|
||||||
|
case $basic_machine in
|
||||||
|
*-acorn)
|
||||||
|
os=-riscix1.2
|
||||||
|
;;
|
||||||
|
arm*-semi)
|
||||||
|
os=-aout
|
||||||
|
;;
|
||||||
|
pdp11-*)
|
||||||
|
os=-none
|
||||||
|
;;
|
||||||
|
*-dec | vax-*)
|
||||||
|
os=-ultrix4.2
|
||||||
|
;;
|
||||||
|
m68*-apollo)
|
||||||
|
os=-domain
|
||||||
|
;;
|
||||||
|
i386-sun)
|
||||||
|
os=-sunos4.0.2
|
||||||
|
;;
|
||||||
|
m68000-sun)
|
||||||
|
os=-sunos3
|
||||||
|
# This also exists in the configure program, but was not the
|
||||||
|
# default.
|
||||||
|
# os=-sunos4
|
||||||
|
;;
|
||||||
|
*-tti) # must be before sparc entry or we get the wrong os.
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
sparc-* | *-sun)
|
||||||
|
os=-sunos4.1.1
|
||||||
|
;;
|
||||||
|
*-ibm)
|
||||||
|
os=-aix
|
||||||
|
;;
|
||||||
|
*-hp)
|
||||||
|
os=-hpux
|
||||||
|
;;
|
||||||
|
*-hitachi)
|
||||||
|
os=-hiux
|
||||||
|
;;
|
||||||
|
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
*-cbm)
|
||||||
|
os=-amigados
|
||||||
|
;;
|
||||||
|
*-dg)
|
||||||
|
os=-dgux
|
||||||
|
;;
|
||||||
|
*-dolphin)
|
||||||
|
os=-sysv3
|
||||||
|
;;
|
||||||
|
m68k-ccur)
|
||||||
|
os=-rtu
|
||||||
|
;;
|
||||||
|
m88k-omron*)
|
||||||
|
os=-luna
|
||||||
|
;;
|
||||||
|
*-next )
|
||||||
|
os=-nextstep
|
||||||
|
;;
|
||||||
|
*-sequent)
|
||||||
|
os=-ptx
|
||||||
|
;;
|
||||||
|
*-crds)
|
||||||
|
os=-unos
|
||||||
|
;;
|
||||||
|
*-ns)
|
||||||
|
os=-genix
|
||||||
|
;;
|
||||||
|
i370-*)
|
||||||
|
os=-mvs
|
||||||
|
;;
|
||||||
|
*-next)
|
||||||
|
os=-nextstep3
|
||||||
|
;;
|
||||||
|
*-gould)
|
||||||
|
os=-sysv
|
||||||
|
;;
|
||||||
|
*-highlevel)
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
*-encore)
|
||||||
|
os=-bsd
|
||||||
|
;;
|
||||||
|
*-sgi)
|
||||||
|
os=-irix
|
||||||
|
;;
|
||||||
|
*-siemens)
|
||||||
|
os=-sysv4
|
||||||
|
;;
|
||||||
|
*-masscomp)
|
||||||
|
os=-rtu
|
||||||
|
;;
|
||||||
|
f301-fujitsu)
|
||||||
|
os=-uxpv
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
os=-none
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Here we handle the case where we know the os, and the CPU type, but not the
|
||||||
|
# manufacturer. We pick the logical manufacturer.
|
||||||
|
vendor=unknown
|
||||||
|
case $basic_machine in
|
||||||
|
*-unknown)
|
||||||
|
case $os in
|
||||||
|
-riscix*)
|
||||||
|
vendor=acorn
|
||||||
|
;;
|
||||||
|
-sunos*)
|
||||||
|
vendor=sun
|
||||||
|
;;
|
||||||
|
-aix*)
|
||||||
|
vendor=ibm
|
||||||
|
;;
|
||||||
|
-hpux*)
|
||||||
|
vendor=hp
|
||||||
|
;;
|
||||||
|
-hiux*)
|
||||||
|
vendor=hitachi
|
||||||
|
;;
|
||||||
|
-unos*)
|
||||||
|
vendor=crds
|
||||||
|
;;
|
||||||
|
-dgux*)
|
||||||
|
vendor=dg
|
||||||
|
;;
|
||||||
|
-luna*)
|
||||||
|
vendor=omron
|
||||||
|
;;
|
||||||
|
-genix*)
|
||||||
|
vendor=ns
|
||||||
|
;;
|
||||||
|
-mvs*)
|
||||||
|
vendor=ibm
|
||||||
|
;;
|
||||||
|
-ptx*)
|
||||||
|
vendor=sequent
|
||||||
|
;;
|
||||||
|
-vxsim* | -vxworks*)
|
||||||
|
vendor=wrs
|
||||||
|
;;
|
||||||
|
-aux*)
|
||||||
|
vendor=apple
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo $basic_machine$os
|
||||||
1453
configure.in
Normal file
1453
configure.in
Normal file
File diff suppressed because it is too large
Load Diff
227
docs/changes.txt
Normal file
227
docs/changes.txt
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
|
||||||
|
Generic wxWindows 2.0 Change Log
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
Note: for platform-specific changes, see wx/docs/XXX/changes.txt
|
||||||
|
where XXX is one of msw, motif, xt, gtk, mac.
|
||||||
|
|
||||||
|
Alpha 9, April 27th 1998
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- Corrected some bugs, such as the wxModule compilation problem.
|
||||||
|
- Added Gnu-Win32 b19/Mingw32 support by changing resource
|
||||||
|
compilation and pragmas.
|
||||||
|
- Changed SIZEOF to WXSIZEOF.
|
||||||
|
|
||||||
|
Alpha 8, April 17th 1998
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- Added src/other/png, src/other/zlib directories.
|
||||||
|
- Added samples/png.
|
||||||
|
- IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros.
|
||||||
|
Porters, please check particularly your wxTreeCtrl and wxListCtrl
|
||||||
|
header files.
|
||||||
|
- Added modules.h/cpp, config.cpp, fileconf.cpp, textfile.cpp/h.
|
||||||
|
|
||||||
|
Alpha 7, March 30th 1998
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- Added tab classes, tab sample.
|
||||||
|
- Revised memory.cpp, memory.h slightly; memory.h now #defines
|
||||||
|
new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp
|
||||||
|
now checks for leaks on exit. Added memcheck sample.
|
||||||
|
See src/msw/issues.txt for more details.
|
||||||
|
- resource.h, resource.cpp changed to make wxDefaultResourceTable
|
||||||
|
a pointer. Now initialize resource system with
|
||||||
|
wxInitializeResourceSystem and wxCleanUpResourceSystem, to
|
||||||
|
allow better control of memory.
|
||||||
|
- wxString now derives from wxObject, to enable memory leak
|
||||||
|
checking.
|
||||||
|
- Added some #include fixes in various files, plus changed
|
||||||
|
float to long in wxToolBar files.
|
||||||
|
|
||||||
|
Alpha 6, March 10th 1998
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- Added Vadim's dynarray.h, dynarray.cpp.
|
||||||
|
- Added Vadim's menuitem.cpp.
|
||||||
|
- Added Windows-specific wxCheckListBox,
|
||||||
|
owner-draw wxListBox, and drag-and-drop
|
||||||
|
(see docs/msw/changes.txt).
|
||||||
|
|
||||||
|
Alpha 5, 14th February 1998
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
|
||||||
|
DISTRIBUTIONS. This change log will therefore now refer to
|
||||||
|
the generic code only. See docs/msw/changes.txt for Windows-specific
|
||||||
|
changes.
|
||||||
|
- Readmes, change logs and installation files now go in
|
||||||
|
platform-specific directories under docs, e.g. docs/msw,
|
||||||
|
docs/gtk.
|
||||||
|
- Added DECLARE_APP and IMPLEMENT_APP macros so wxApp object gets
|
||||||
|
created dynamically, not as a global object.
|
||||||
|
- Put wxColour into wx/msw/colour.h, src/msw/colour.cpp.
|
||||||
|
- Changed names of some include/wx/generic headers to be
|
||||||
|
consistent and to conform to gcc pragma conventions. Also
|
||||||
|
changed choicesg.cpp to choicdgg.cpp.
|
||||||
|
- Added gcc pragmas.
|
||||||
|
- Added gtk inclusion in include/wx headers.
|
||||||
|
- Added consistent file headings to source and headers.
|
||||||
|
- Removed lang.cpp, lang.h and references to wxSTR_... variables;
|
||||||
|
added a few references to wxTransString.
|
||||||
|
- Added operator to wxTransString that converts automatically
|
||||||
|
to wxString, so we can say e.g. wxMessageBox(wxTransString("Hello"), ...).
|
||||||
|
- samples/internat now works (minimally).
|
||||||
|
- Added wxMouseEvent::GetPosition and
|
||||||
|
wxMouseEvent::GetLogicalPosition, both returning wxPoints.
|
||||||
|
- Made wxSize and wxRect contain longs not ints.
|
||||||
|
- Cured some lemory leaks (thanks Vadim).
|
||||||
|
- Tidied up OnIdle and introduced RequestMore/MoreRequested so
|
||||||
|
will only keep processing OnIdle if it returns TRUE from
|
||||||
|
MoreRequested.
|
||||||
|
|
||||||
|
Alpha 4, 31st January 1998
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
- Changed wxDC functions to take longs instead of floats. GetSize now takes
|
||||||
|
integer pointers, plus a version that returns a wxSize.
|
||||||
|
- const keyword added to various wxDC functions.
|
||||||
|
- Under Windows, wxDC no longer has any knowledge of whether
|
||||||
|
an associated window is scrolled or not. Instead, the device
|
||||||
|
origin is set by wxScrolledWindow in wxScrolledWindow::PrepareDC.
|
||||||
|
- wxScrolledWindow applications can optionally override the virtual OnDraw
|
||||||
|
function instead of using the OnPaint event handler. The wxDC passed to
|
||||||
|
OnDraw will be translated by PrepareDC to reflect scrolling.
|
||||||
|
When drawing outside of OnDraw, must call PrepareDC explicitly.
|
||||||
|
- wxToolBarBase/wxToolBarSimple similarly changed to allow for
|
||||||
|
scrolling toolbars.
|
||||||
|
- Integrated wxPostScriptDC patches for 1.xx by Chris Breeze,
|
||||||
|
to help printing with multiple pages.
|
||||||
|
- IPC classes given base classes (wxConnectionBase etc.) which
|
||||||
|
define the API used by different implementations. DDE
|
||||||
|
implementation updated to use these base classes.
|
||||||
|
- wxHelpInstance now separated into wxHelpControllerBase (base
|
||||||
|
for all implementations), wxWinHelpController (uses standard
|
||||||
|
WinHelp), wxXLPHelPController (talks to wxHelp by DDE or
|
||||||
|
TCP/IP). There will be others eventually, such as
|
||||||
|
wxHTMLHelpController for Microsoft (and Netscape?) HTML Help.
|
||||||
|
- Added Vadim Zeitlin's wxString class plus
|
||||||
|
internationalization code (gettext simulation, wxLocale, etc.).
|
||||||
|
New files from Vadim:
|
||||||
|
include\wx\string.h
|
||||||
|
include\wx\debug.h
|
||||||
|
include\wx\file.h
|
||||||
|
include\wx\log.h
|
||||||
|
include\wx\intl.h
|
||||||
|
src\common\string.cpp
|
||||||
|
src\common\log.cpp
|
||||||
|
src\common\intl.cpp
|
||||||
|
src\common\file.cpp
|
||||||
|
No longer use GNU wxString files.
|
||||||
|
- Split off file-related functions into include\wx\filefn.h and
|
||||||
|
src\common\filefn.cpp.
|
||||||
|
- Borland C++ support (WIN32) for main library and
|
||||||
|
samples, using makefile.b32 files.
|
||||||
|
- Preparation done for allowing BC++ to compile wxWin as a DLL,
|
||||||
|
including changes to defs.h.
|
||||||
|
- wxIntPoint removed, wxPoint is now int, and wxRealPoint
|
||||||
|
introduced.
|
||||||
|
- Added wxShowEvent (generated when window is being shown or
|
||||||
|
hidden).
|
||||||
|
- Got minimal, docview, mdi samples working for 16-bit VC++ and
|
||||||
|
cured 16-bit problem with wxTextCtrl (removed global memory
|
||||||
|
trick).
|
||||||
|
- Updated GnuWin32 makefiles, checked minimal, mdi, docview samples.
|
||||||
|
|
||||||
|
Alpha 3, September 1997
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
- wxListCtrl, wxTreeCtrl, wxImageList classes done.
|
||||||
|
- Instigated new file hierarchy, split files and classes up more logically.
|
||||||
|
- PrologIO and some other utils now put into core library.
|
||||||
|
- Revamped print/preview classes, added wxPageSetupDialog.
|
||||||
|
- Started documentation.
|
||||||
|
|
||||||
|
Alpha 2, 30th April 1997
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- EVT_... macros now have at least one argument, for conformance
|
||||||
|
with MetroWerks compiler.
|
||||||
|
- Added ids to .wxr file format.
|
||||||
|
- Got Dialog Editor compiled and running again but need
|
||||||
|
to extend functionality to be in line with new controls.
|
||||||
|
Added dialoged\test app to allow dynamic loading of .wxr files
|
||||||
|
for testing purposes.
|
||||||
|
- Rewrote wxBitmap to allow installable file type
|
||||||
|
handlers.
|
||||||
|
- Rewrote wxBitmapButton, wxStaticBitmap to not use Fafa.
|
||||||
|
- Wrote most of wxTreeCtrl and sample (need wxImageList to implement it
|
||||||
|
fully).
|
||||||
|
- Added back wxRadioBox.
|
||||||
|
- Tidied up wx_main.cpp, wxApp class, putting PenWin code in
|
||||||
|
a separate file.
|
||||||
|
|
||||||
|
Alpha 1, 5th April 1997
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
At this point, the following has been achieved:
|
||||||
|
|
||||||
|
- A lot, but not all, of the code has been revamped for better
|
||||||
|
naming conventions, protection of data members, and use of
|
||||||
|
wxString instead of char *.
|
||||||
|
- Obsolete functionality deleted (e.g. default wxPanel layout,
|
||||||
|
old system event system) and code size reduced.
|
||||||
|
- Class hierarchy changed (see design doc) - base classes such
|
||||||
|
as wxbWindow now removed.
|
||||||
|
- No longer includes windows.h in wxWin headers, by using stand-in
|
||||||
|
Windows types where needed e.g. WXHWND.
|
||||||
|
- PrologIO revised.
|
||||||
|
- wxScrolledWindow, wxStatusBar and new MDI classes added.
|
||||||
|
MDI is now achived using separate classes, not window styles.
|
||||||
|
- wxSystemSettings added, and made use of to reflect standard
|
||||||
|
Windows settings.
|
||||||
|
- SetButtonFont/SetLabelFont replaced by SetFont; font and colour
|
||||||
|
settings mucho rationalised.
|
||||||
|
- All windows are now subclassed with the same window proc to make
|
||||||
|
event handling far more consistent. Old internal wxWnd and derived
|
||||||
|
classes removed.
|
||||||
|
- API for controls revised, in particular addition of
|
||||||
|
wxValidator parameters and removal of labels for some controls.
|
||||||
|
- 1 validator written: see examples/validate.
|
||||||
|
- Event table system introduced (see most samples and
|
||||||
|
wx_event.cpp/ProcessEvent, wx_event.h). wxEvtHandler
|
||||||
|
made more flexible, with Push/PopEventHandler allowing a chain
|
||||||
|
of event handlers.
|
||||||
|
- wxRadioBox removed - will be added back soon.
|
||||||
|
- Toolbar class hierarchy revised:
|
||||||
|
wxToolBarBase
|
||||||
|
wxToolBarSimple (= old wxToolBar)
|
||||||
|
wxToolBar95 (= old wxButtonBar under Win95
|
||||||
|
wxToolBarMSW (= old wxButtonBar under WIN16/WIN32)
|
||||||
|
- Constraint system debugged somewhat (sizers now work properly).
|
||||||
|
- wxFileDialog, wxDirDialog added; other common dialogs now
|
||||||
|
have class equivalents. Generic colour and font dialogs
|
||||||
|
rewritten to not need obsolete panel layout.
|
||||||
|
- .wxr resource system partially reinstated, though needs
|
||||||
|
an integer ID for controls. Hopefully the resource system
|
||||||
|
will be replaced by something better and more efficient
|
||||||
|
in the future.
|
||||||
|
- Device contexts no longer stored with window and accessed
|
||||||
|
with GetDC - use wxClientDC, wxPaintDC, wxWindowDC stack
|
||||||
|
variables instead.
|
||||||
|
- wxSlider uses trackbar class under Win95, and wxSL_LABELS flag
|
||||||
|
determines whether labels are shown. Other Win95-specific flags
|
||||||
|
introduced, e.g. for showing ticks.
|
||||||
|
- Styles introduced for dealing with 3D effects per window, for
|
||||||
|
any window: all Win95 3D effects supported, plus transparent windows.
|
||||||
|
- Major change to allow 3D effect support without CTL3D, under
|
||||||
|
Win95.
|
||||||
|
- Bitmap versions of button and checkbox separated out into new
|
||||||
|
classes, but unimplemented as yet because I intend to remove
|
||||||
|
the need for Fafa - it apparently causes GPFs in Win95 OSR 2.
|
||||||
|
- utils/wxprop classes working (except maybe wxPropertyFormView)
|
||||||
|
in preparation for use in Dialog Editor.
|
||||||
|
- GNU-WIN32 compilation verified (a month or so ago).
|
||||||
|
|
||||||
|
|
||||||
292
docs/gtk/welcome.html
Normal file
292
docs/gtk/welcome.html
Normal file
@@ -0,0 +1,292 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>wxGTK Homepage</title>
|
||||||
|
</head>
|
||||||
|
<body bgcolor=#FFFFFF text=#000000 link=#0020FF vlink=#800000 alink=#007777>
|
||||||
|
<h1>"wxWindows for the GTK" Homepage</h1>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3>Current version</h3>
|
||||||
|
15th May '98: wxGTK v0.12 (alpha-)
|
||||||
|
<p>
|
||||||
|
This release is hardly more stable than the one before, but it
|
||||||
|
has many new features. It's main purpose is actually to prepare
|
||||||
|
the final merge of the Windows port and the GTK port source
|
||||||
|
trees into a common tree, developed using CVS. The growing
|
||||||
|
number of demos which compile and run with wxGTK "although"
|
||||||
|
being written for wxMSW shows that we seem to be on the right
|
||||||
|
track. One nice new feature for many potential users is that
|
||||||
|
wxGTK no longer needs any extra libraries to be installed,
|
||||||
|
other than the GTK.
|
||||||
|
<p>
|
||||||
|
If you have a compiler
|
||||||
|
better than gcc 2.7.2.2 then you can uncomment a line in src/common/prntbase.cpp
|
||||||
|
which defines __GOOD_COMPILER__. This should make the printing demo work.
|
||||||
|
I haven't got such a compiler, so I actually don't know. Somebody reported
|
||||||
|
problems with version 2.7.2.3 as well.
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Acknowledgements</h3>
|
||||||
|
I'd like to thank the
|
||||||
|
<a href="http://www.freiburg.linux.de">Freiburg Linux User Group</a>
|
||||||
|
for kindly providing
|
||||||
|
this site and Christian Wetzel in particular for helping me with
|
||||||
|
this site's administration.
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3>What is wxWindows?</h3>
|
||||||
|
wxWindows is a C++ cross-platform GUI toolkit written mainly by Julian Smart.
|
||||||
|
More information about wxWindows can be found at the
|
||||||
|
<a href="http://web.ukonline.co.uk/julian.smart/wxwin">wxWindows Homepage</a>.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The current version of wxWindows (v1.68) supports Windows ('95 and NT), Motif and
|
||||||
|
XView (aka OpenLook). There is another port (wxXt) available, which uses the
|
||||||
|
free-ware widget set from the Free Widget Foundation (FSF). Ports have been
|
||||||
|
started for the Mac, OS/2 and NextStep.
|
||||||
|
<p>
|
||||||
|
For different reasons, it was decided to start a complete rewrite of wxWindows,
|
||||||
|
which will then be called wxWindows 2.0. For a list of new features and changes
|
||||||
|
from the current version, you may read the wxWindows Homepage (see above).
|
||||||
|
<p>
|
||||||
|
Currently, work is being done on four ports of wxWindows 2.0:
|
||||||
|
<dl>
|
||||||
|
<li> Windows (wxMSW, main author Julian Smart)
|
||||||
|
<li> Unix, Motif (wxMotif, main author Markus Holzhem)
|
||||||
|
<li> Unix, GIMP Toolkit (wxGTK, main author Robert Roebling)
|
||||||
|
<li> Macintosh (wxMac, main author Greg Whitehead)
|
||||||
|
</dl>
|
||||||
|
<p>
|
||||||
|
wxWindows provides a rich set of classes which help to make cross-platform
|
||||||
|
GUI programming easy. In many aspect, it is modelled after MFC, making transition
|
||||||
|
from MFC to wxWindows relatively painless. The main technical
|
||||||
|
difference between most other free or commercial cross platform libraries is
|
||||||
|
that wxWindows is a wrapper around existing widget sets, whereas the other
|
||||||
|
toolkits (Qt, Tk, Java, Amulet, OPaC, JX, Fresko) draw their widgets themselves,
|
||||||
|
which results in applications having a different look than native applications
|
||||||
|
for that specific platform.
|
||||||
|
<p>
|
||||||
|
There are classes for the following categories
|
||||||
|
<dl>
|
||||||
|
<li> Window classes: wxWindow, wxFrame, wxDialogBox, wxPanel, wxCanvas etc.
|
||||||
|
<li> Widget classes: wxButton, wxCheckbox, wxChoice, wxListBox, wxListCtrl, wxText, wxGauge etc.
|
||||||
|
<li> Data structures: wxList, wxString, wxHashTable, wxDate etc.
|
||||||
|
<li> Layout/constraint system
|
||||||
|
<li> GDI classes: wxPen, wxBrush, wxFont, wxBitmap etc.
|
||||||
|
<li> Events: wxCommandEvent, wxMouseEvent, wxKeyEvent etc.
|
||||||
|
<li> Devices contexts: wxCanvasDC, wxPostScriptDC, wxMemoryDC, wxPrinterDC
|
||||||
|
<li> Base classes for runtime-type information: wxObject
|
||||||
|
<li> Interprocess communication: wxClient, wxConnection, wxSocket, wxServer etc.
|
||||||
|
<li> Document-view architecture: wxDocument, wxView, wxDocManager etc.
|
||||||
|
<li> Printing framework: wxPreviewFrame, wxPrintDialog, wxPrinter etc.
|
||||||
|
<li> Many helper classes, wxApplication, wxTypeTree, wxPathList etc.
|
||||||
|
<li> Classes for internationalization
|
||||||
|
<li> Built-in memory leak checking, log-files
|
||||||
|
<li> A multitude of functions and macros
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3>Copyright</h3>
|
||||||
|
The choice of a suitable copyright has been subject to endless discussions. It
|
||||||
|
has always been the aim, to put wxWindows under a copyright, which protects
|
||||||
|
the work of its authors while at the same time encouraging the use of wxWindows
|
||||||
|
in as many projects as possible.
|
||||||
|
<p>
|
||||||
|
The (so far) last decision has been to put the whole of wxWindows
|
||||||
|
under a modified (less restrictive) version of the GNU library general
|
||||||
|
public license.
|
||||||
|
<p>
|
||||||
|
The only exception is that wxGTK now contains code (gdk_imlib) which is
|
||||||
|
under the GNU library general public license. When you make changes to
|
||||||
|
this part of wxGTK, you'll have to make these changes public (in contrast
|
||||||
|
to changes to the rest).
|
||||||
|
<p>
|
||||||
|
It is obviously encouraged that anybody who uses wxWindows and who
|
||||||
|
makes any improvements to it will make these changes available to
|
||||||
|
wxWindows' authors.
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>What can I do with wxWindows 2.0?</h3>
|
||||||
|
wxWindows is still in alpha stage, which means that there are still bugs
|
||||||
|
waiting for you and several features are not yet (fully) implemented, but
|
||||||
|
you can expect the interface to be more or less stable, so no major
|
||||||
|
modifications will have to be made to your source code. wxGTK is already
|
||||||
|
used in a number of medium sized projects and is it being developped
|
||||||
|
in close cooperation with the authors of these applications.
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Can I write a GNOME application with wxGTK 2.0?</h3>
|
||||||
|
Good question. The idea to use wxGTK for the GNOME desktop environment is
|
||||||
|
quite obvious. When this topic came up on the GNOME mailing list, the GNOME
|
||||||
|
people have shown an amazingly negative opinion about wxWindows. One reason
|
||||||
|
might be that several of the main authors of the GNOME-project consider
|
||||||
|
C++ a "broken language". I don't share that view and I am sure many people
|
||||||
|
find C++ easier to handle and better suited for GUI programming than C.
|
||||||
|
<p>
|
||||||
|
Just recently, the topic of C++ in general and wxGTK in particular appeared
|
||||||
|
again on the GNOME list. It has shown that - at least - the opinion on C++
|
||||||
|
on the GNOME list is split.
|
||||||
|
<p>
|
||||||
|
There is already a C++ wrapper for the GTK called GTK-- written by Tero Pulkkinen.
|
||||||
|
It is very small and adds very little overhead to the GTK. If platform
|
||||||
|
independence is no issue for you and you want to write a small tool
|
||||||
|
for Linux, you should probably use GTK--. Of course you can use wxGTK
|
||||||
|
for that, too :-)
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Screenshots</h3>
|
||||||
|
What would a home page of a GUI be without a screenshot? Well, as wxWindows
|
||||||
|
is a wrapper around existing widget/item sets, a wxWindows application will
|
||||||
|
look like any other native Windows, Motif, GTK or Mac application.
|
||||||
|
<p>
|
||||||
|
But for those of you, who wouldn't download wxGTK only because there
|
||||||
|
is no screenshot,
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/sshot.jpg">here it comes</a>.
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Download 1.68</h3>
|
||||||
|
Go to the
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">FTP</a>
|
||||||
|
section directly.
|
||||||
|
<p>
|
||||||
|
There is documentation for version 1.68 in html available.
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet.
|
||||||
|
<p>
|
||||||
|
You can download current wxWindows version 1.68 for Windows, Motif and
|
||||||
|
XView from
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet.
|
||||||
|
<p>
|
||||||
|
You can download wxXt 1.66d from
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxxt166d.tgz">here</a>.
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Download 2.0 alpha</h3>
|
||||||
|
There is documentation for version 2.0 in html available.
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK_doc.tgz">here</a>.
|
||||||
|
<p>
|
||||||
|
You can download the first alpha for wxWindows 2.0 for Windows from
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/">here</a>. Not yet.
|
||||||
|
<p>
|
||||||
|
You can download the current alpha for wxWindows 2.0 for GTK from
|
||||||
|
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK-0.12.tgz">here</a>.
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3>News from wxGTK 0.12</h3>
|
||||||
|
<p>
|
||||||
|
PNG, zlib and gdk_imlib code included.
|
||||||
|
<p>
|
||||||
|
MDI implementation. More a basis for further testing
|
||||||
|
than of real value.
|
||||||
|
<p>
|
||||||
|
Split "--with-debug" option into two options: "--with-debug_info"
|
||||||
|
and "--with-debug_flag". The first one sets the "-g" flag when
|
||||||
|
compiling, the second defines "DEBUG" in setup.h (which is included
|
||||||
|
from defs.h).
|
||||||
|
<p>
|
||||||
|
Merged DocView framework. The sample doesn't compile yet, because
|
||||||
|
it uses features from wxTextCtrl, which I haven't implemented yet.
|
||||||
|
<p>
|
||||||
|
Merged TabCtrl. Doesn't look perfect, but it seems to work.
|
||||||
|
<p>
|
||||||
|
Merged remaining classes from the newest wxMSW alpha. (wxDynArray,
|
||||||
|
wxModule etc.).
|
||||||
|
<p>
|
||||||
|
Further updates, bug fixes or additions:
|
||||||
|
<p>
|
||||||
|
<dl>
|
||||||
|
<li> wxYield() (again)
|
||||||
|
<li> postscript support for bitmaps
|
||||||
|
<li> spline code merged
|
||||||
|
<li> several bug fixes
|
||||||
|
<li> new samples
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Known problems</h3>
|
||||||
|
|
||||||
|
Missing implementation of:
|
||||||
|
<dl>
|
||||||
|
<li>Impossible to set new font in GTK's widgets
|
||||||
|
<li>Items containing bitmaps
|
||||||
|
<li>Masks, bitmap handlers (partially done)
|
||||||
|
<li>Gauge
|
||||||
|
<li>Combobox
|
||||||
|
<li>Palettes (colormaps)
|
||||||
|
<li>Keyboard accelerators for menus
|
||||||
|
<li>Validation
|
||||||
|
<li>Clipboard functions
|
||||||
|
<li>Resources (for use with wxIDE-to-be)
|
||||||
|
<li>Drag and Drop
|
||||||
|
<li>Threads, Interprocess communication
|
||||||
|
<li>Sockets
|
||||||
|
<li>Database classes
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<h3>Installation of wxGTK under Linux</h3>
|
||||||
|
|
||||||
|
GTK requires an up-to-date version of the
|
||||||
|
<dl>
|
||||||
|
<li> GTK (GIMP ToolKit)
|
||||||
|
</dl>
|
||||||
|
to be installed as a shared lib on your system. wxGTK is being developped with
|
||||||
|
version 1.0.1 and it is known not to work with earlier versions.
|
||||||
|
The GTK library is available from
|
||||||
|
<a href="ftp://ftp.gtk.org/pub/">somewhere here (gtk.org).</a>
|
||||||
|
After having typed "make install" the GTK header files should be
|
||||||
|
in "/usr/local/include". Correct me, if I am wrong.
|
||||||
|
<p>
|
||||||
|
Compilation itself works as usual with autoconf:
|
||||||
|
<dl>
|
||||||
|
<li> Unpack it to a suitable subdirectory, let's say ~/wxGTK
|
||||||
|
<li> Type "cd wxGTK"
|
||||||
|
<li> Type "configure"
|
||||||
|
<li> Type "make"
|
||||||
|
</dl>
|
||||||
|
Some demos use files stored in the source directory of those demos
|
||||||
|
(e.g. internat uses files in samples/internat) whereas the binaries
|
||||||
|
will end up in samples/internat/linux. You'll have to copy the binaries
|
||||||
|
down or call them like "linux/test" from samples/internat. This is
|
||||||
|
also the case for wxTest (which should display a horse).
|
||||||
|
<p>
|
||||||
|
You can create a shared library by adding the option "--with-shared" to
|
||||||
|
the "configure" command. Afterwards, you'll have to copy the library
|
||||||
|
~/wxGTK/lib/linux (if you have Linux) to a directory in your LDPATH (e.g. /usr/X11R6/lib)
|
||||||
|
and run "ldconfig".
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3>Mailing list for wxGTK</h3>
|
||||||
|
The mailing list (as well as this page) is called wxxt for more
|
||||||
|
or less historical reasons.
|
||||||
|
<p>
|
||||||
|
You can subsribe to the mailing list by sending a mail to
|
||||||
|
<a href="mailto:majordomo@wesley.informatik.uni-freiburg.de">majordomo@wesley.informatik.uni-freiburg.de</a>.
|
||||||
|
This mail must contain the text "subscribe wxxt" in the body (not the subject) of the
|
||||||
|
mail. You will then get a confirmation that somebody asked majordomo to put you
|
||||||
|
on the list and you will have to confirm this once again by sending back
|
||||||
|
the authentisation, which comes in the confirmation mail. The last step
|
||||||
|
is also described in the actual confirmation mail (I think).
|
||||||
|
<p>
|
||||||
|
You can send a mail to the mailing list to the address
|
||||||
|
<a href="mailto:wxxt@www.freiburg.linux.de">wxxt@www.freiburg.linux.de</a>.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Unsubscribe by sending "unsubscribe wxxt" to majordomo (see above). Not to
|
||||||
|
the actual mailing list.
|
||||||
|
<p>
|
||||||
|
<hr>
|
||||||
|
<address>
|
||||||
|
<br>This page is maintained by <a href="mailto:roebling@sun2.ruf.uni-freiburg.de">Robert Roebling</a>.
|
||||||
|
Comments, in contrast to junk and flames, welcome.
|
||||||
|
<p>
|
||||||
|
Last changed 15th Mai '98.
|
||||||
|
</address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
224
docs/licence.txt
Normal file
224
docs/licence.txt
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
wxWindows Licence
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Copyright (c) 1998 Julian Smart, Markus Holzem
|
||||||
|
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
--------
|
||||||
|
|
||||||
|
This licence is intended to protect wxWindows, its developers,
|
||||||
|
and its users, so that the considerable investment it represents
|
||||||
|
is not abused.
|
||||||
|
|
||||||
|
Unlike the wxWindows licence, you as a user are not obliged to
|
||||||
|
distribute wxWindows source code with your products. However,
|
||||||
|
you are prevented from selling the code without permission from
|
||||||
|
the authors, or denying others the rights to use or distribute
|
||||||
|
wxWindows in the way intended.
|
||||||
|
|
||||||
|
The wxWindows Licence establishes the copyright for the code and
|
||||||
|
related material, and it gives you legal permission to copy,
|
||||||
|
distribute and/or modify the library. It also asserts that no
|
||||||
|
warranty is given by the authors for this or derived code.
|
||||||
|
|
||||||
|
Finally, the licence specifies that any patent involving
|
||||||
|
wxWindows, must be licenced for everyone's free use.
|
||||||
|
|
||||||
|
wxWindows Licence
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Terms and conditions for copying, distribution and modification
|
||||||
|
|
||||||
|
1. This Licence Agreement applies to any software library which
|
||||||
|
contains a notice placed by the copyright holder or other
|
||||||
|
authorized party saying it may be distributed under the terms of
|
||||||
|
this wxWindows Licence (also called "this Licence"). Each
|
||||||
|
licencee is addressed as "you".
|
||||||
|
|
||||||
|
A "library" means a collection of software functions and/or data
|
||||||
|
prepared so as to be conveniently linked with application
|
||||||
|
programs (which use some of those functions and data) to form
|
||||||
|
executables.
|
||||||
|
|
||||||
|
The "Library", below, refers to any such software library or
|
||||||
|
work which has been distributed under these terms. A "work
|
||||||
|
based on the Library" means either the Library or any derivative
|
||||||
|
work under copyright law: that is to say, a work containing the
|
||||||
|
Library or a portion of it, either verbatim or with
|
||||||
|
modifications and/or translated straightforwardly into another
|
||||||
|
language. (Hereinafter, translation is included without
|
||||||
|
limitation in the term "modification".)
|
||||||
|
|
||||||
|
"Source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. For a library, complete source
|
||||||
|
code means all the source code for all modules it contains, plus
|
||||||
|
any associated interface definition files, plus the scripts used
|
||||||
|
to control compilation and installation of the library.
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are
|
||||||
|
not covered by this Licence; they are outside its scope. The act
|
||||||
|
of running a program using the Library is not restricted, and
|
||||||
|
output from such a program is covered only if its contents
|
||||||
|
constitute a work based on the Library (independent of the use
|
||||||
|
of the Library in a tool for writing it). Whether that is true
|
||||||
|
depends on what the Library does and what the program that uses
|
||||||
|
the Library does.
|
||||||
|
|
||||||
|
2. You may copy and distribute verbatim copies of the Library's
|
||||||
|
complete source code as you receive it, in any medium, provided
|
||||||
|
that you conspicuously and appropriately publish on each copy an
|
||||||
|
appropriate copyright notice and disclaimer of warranty; keep
|
||||||
|
intact all the notices that refer to this Licence and to the
|
||||||
|
absence of any warranty; and distribute a copy of this Licence
|
||||||
|
along with the Library.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a
|
||||||
|
copy, and you may at your option offer warranty protection in
|
||||||
|
exchange for a fee.
|
||||||
|
|
||||||
|
3. You may modify your copy or copies of the Library or any
|
||||||
|
portion of it, thus forming a work based on the Library, and
|
||||||
|
copy and distribute such modifications or work under the terms
|
||||||
|
of Section 1 above, provided that you cause the files modified
|
||||||
|
to carry prominent notices stating that you changed the files
|
||||||
|
and the date of any change. With agreement from the authors of
|
||||||
|
wxWindows, you may charge for value added to the Library, for
|
||||||
|
example, a commercially supported version, or a port to a new
|
||||||
|
platform. It is expected that collaboration between such
|
||||||
|
commercial interests and the free wxWindows community will yield
|
||||||
|
benefits to both parties, since wxWindows represents a
|
||||||
|
substantial investment of time and effort. It is not in the
|
||||||
|
spirit of this agreement that commercial exploitation of
|
||||||
|
wxWindows should in any way detract from the free version.
|
||||||
|
|
||||||
|
4. You may copy and distribute the Library in object code or
|
||||||
|
derived library form under the terms of Sections 1 and 2 above
|
||||||
|
provided that you accompany it with the complete corresponding
|
||||||
|
machine-readable source code.
|
||||||
|
|
||||||
|
If distribution of object code is made by offering access to
|
||||||
|
copy from a designated place, then offering equivalent access to
|
||||||
|
copy the source code from the same place satisfies the
|
||||||
|
requirement to distribute the source code, even though third
|
||||||
|
parties are not compelled to copy the source along with the
|
||||||
|
object code.
|
||||||
|
|
||||||
|
5. You may not copy, modify, sublicence, link with, or
|
||||||
|
distribute the Library except as expressly provided under this
|
||||||
|
Licence. Any attempt otherwise to copy, modify, sublicence,
|
||||||
|
link with, or distribute the Library is void, and will
|
||||||
|
automatically terminate your rights under this Licence.
|
||||||
|
However, parties who have received copies, or rights, from you
|
||||||
|
under this Licence will not have their licences terminated so
|
||||||
|
long as such parties remain in full compliance.
|
||||||
|
|
||||||
|
6. You are not required to accept this Licence, since you have
|
||||||
|
not signed it. However, nothing else grants you permission to
|
||||||
|
modify or distribute the Library or its derivative works. These
|
||||||
|
actions are prohibited by law if you do not accept this Licence.
|
||||||
|
Therefore, by modifying or distributing the Library (or any work
|
||||||
|
based on the Library), you indicate your acceptance of this
|
||||||
|
Licence to do so, and all its terms and conditions for copying,
|
||||||
|
distributing or modifying the Library or works based on it.
|
||||||
|
|
||||||
|
7. Each time you redistribute the Library (or any work based on
|
||||||
|
the Library), the recipient automatically receives a licence
|
||||||
|
from the original licensor to copy, distribute, link with or
|
||||||
|
modify the Library subject to these terms and conditions. You
|
||||||
|
may not impose any further restrictions on the recipients'
|
||||||
|
exercise of the rights granted herein. You are not responsible
|
||||||
|
for enforcing compliance by third parties to this Licence.
|
||||||
|
|
||||||
|
8. If, as a consequence of a court judgment or allegation of
|
||||||
|
patent infringement or for any other reason (not limited to
|
||||||
|
patent issues), conditions are imposed on you (whether by court
|
||||||
|
order, agreement or otherwise) that contradict the conditions of
|
||||||
|
this Licence, they do not excuse you from the conditions of this
|
||||||
|
Licence. If you cannot distribute so as to satisfy
|
||||||
|
simultaneously your obligations under this Licence and any other
|
||||||
|
pertinent obligations, then as a consequence you may not
|
||||||
|
distribute the Library at all. For example, if a patent licence
|
||||||
|
would not permit royalty-free redistribution of the Library by
|
||||||
|
all those who receive copies directly or indirectly through you,
|
||||||
|
then the only way you could satisfy both it and this Licence
|
||||||
|
would be to refrain entirely from distribution of the Library.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable
|
||||||
|
under any particular circumstance, the balance of the section is
|
||||||
|
intended to apply, and the section as a whole is intended to
|
||||||
|
apply in other circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe
|
||||||
|
any patents or other property right claims or to contest
|
||||||
|
validity of any such claims; this section has the sole purpose
|
||||||
|
of protecting the integrity of the free software distribution
|
||||||
|
system which is implemented by public licence practices. Many
|
||||||
|
people have made generous contributions to the wide range of
|
||||||
|
software distributed through that system in reliance on
|
||||||
|
consistent application of that system; it is up to the
|
||||||
|
author/donor to decide if he or she is willing to distribute
|
||||||
|
software through any other system and a licencee cannot impose
|
||||||
|
that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is
|
||||||
|
believed to be a consequence of the rest of this Licence.
|
||||||
|
|
||||||
|
9. If the distribution and/or use of the Library is restricted
|
||||||
|
in certain countries either by patents or by copyrighted
|
||||||
|
interfaces, the original copyright holder who places the Library
|
||||||
|
under this Licence may add an explicit geographical distribution
|
||||||
|
limitation excluding those countries, so that distribution is
|
||||||
|
permitted only in or among countries not thus excluded. In such
|
||||||
|
case, this Licence incorporates the limitation as if written in
|
||||||
|
the body of this Licence.
|
||||||
|
|
||||||
|
10. The authors of wxWindows may publish revised and/or new
|
||||||
|
versions of the wxWindows Licence from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but
|
||||||
|
may differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library specifies a version number of this Licence which applies
|
||||||
|
to it and "any later version", you have the option of following
|
||||||
|
the terms and conditions either of that version or of any later
|
||||||
|
version published by the wxWindows authors. If the Library does
|
||||||
|
not specify a licence version number, you may choose any version
|
||||||
|
ever published by the wxWindows authors.
|
||||||
|
|
||||||
|
11. If you wish to incorporate parts of the Library into other
|
||||||
|
free programs whose distribution conditions are incompatible
|
||||||
|
with these, write to the program author to ask for permission.
|
||||||
|
For software which is copyrighted by the wxWindows authors,
|
||||||
|
write to the wxWindows authors. Our decision will be guided by
|
||||||
|
the two goals of preserving the free status of all derivatives
|
||||||
|
of our free software and of promoting the sharing and reuse of
|
||||||
|
software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
-----------
|
||||||
|
|
||||||
|
12. BECAUSE THE LIBRARY IS LICENCED FREE OF CHARGE, THERE IS NO
|
||||||
|
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||||
|
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT
|
||||||
|
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
||||||
|
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
|
||||||
|
QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
|
||||||
|
LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
||||||
|
SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO
|
||||||
|
IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
|
||||||
|
MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
|
||||||
|
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
||||||
|
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||||
|
INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS
|
||||||
|
OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH
|
||||||
|
ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
10
docs/readme.txt
Normal file
10
docs/readme.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
wxWindows 2.0 alpha
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
This is an alpha distribution of wxWindows 2.0. It may be made up
|
||||||
|
of sources for different platforms from different authors.
|
||||||
|
|
||||||
|
For generic installation information, see the docs directory. For
|
||||||
|
platform-specific installation information see for example docs/msw or
|
||||||
|
docs/gtk.
|
||||||
|
|
||||||
56
docs/symbols.txt
Normal file
56
docs/symbols.txt
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
This is a list of preprocessor symbols used in the wxWindows source.
|
||||||
|
|
||||||
|
GUIs:
|
||||||
|
-----
|
||||||
|
|
||||||
|
__X__ any X, but not GTK
|
||||||
|
__MOTIF__ Motif
|
||||||
|
__XT__ Xt; mutually exclusive with WX_MOTIF (?)
|
||||||
|
__GTK__ GTK
|
||||||
|
__XVIEW__ Obsolete!
|
||||||
|
__WINDOWS__ Any Windows
|
||||||
|
__MAC__ MacOS
|
||||||
|
__UNIX__ any Unix
|
||||||
|
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
||||||
|
__WIN32__ WIN32 API
|
||||||
|
__NT__ Windows NT
|
||||||
|
__CURSES__ CURSES
|
||||||
|
|
||||||
|
OSes/machines:
|
||||||
|
|
||||||
|
__HPUX__
|
||||||
|
__SVR4__
|
||||||
|
__SYSV__
|
||||||
|
__LINUX__
|
||||||
|
__SGI__
|
||||||
|
__ULTRIX__
|
||||||
|
__BSD__
|
||||||
|
__VMS__
|
||||||
|
__SUN__ Any Sun
|
||||||
|
__SUNOS__
|
||||||
|
__SOLARIS__
|
||||||
|
__ALPHA__
|
||||||
|
__AIX__
|
||||||
|
__DATA_GENERAL__
|
||||||
|
__OSF__
|
||||||
|
__FREEBSD__
|
||||||
|
|
||||||
|
Compilers:
|
||||||
|
----------
|
||||||
|
|
||||||
|
__GNUWIN32__ Gnu-Win32 compiler
|
||||||
|
__DJGPP__ DJGPP
|
||||||
|
__GNUG__ Gnu C++ on any platform
|
||||||
|
__BORLANDC__ Borland C++
|
||||||
|
__WATCOMC__ Watcom C++
|
||||||
|
__SYMANTECC__ Symantec C++
|
||||||
|
__VISUALC__ VC++
|
||||||
|
__SUNCC__
|
||||||
|
__XLC__ ?? compiler
|
||||||
|
|
||||||
|
wxWindows modes:
|
||||||
|
----------------
|
||||||
|
|
||||||
|
__DEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
||||||
|
WXDEBUG usage: #if DEBUG (0: release, 1: minimal debug code, ...)
|
||||||
|
|
||||||
48
im_palette.pal
Normal file
48
im_palette.pal
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
0x00 0x00 0x00
|
||||||
|
0xff 0xff 0xff
|
||||||
|
0xdd 0xdd 0xdd
|
||||||
|
0xbb 0xbb 0xbb
|
||||||
|
0x99 0x99 0x99
|
||||||
|
0x77 0x77 0x77
|
||||||
|
0x55 0x55 0x55
|
||||||
|
0x33 0x33 0x33
|
||||||
|
0x88 0x00 0x00
|
||||||
|
0xcc 0x00 0x00
|
||||||
|
0xff 0x00 0x00
|
||||||
|
0xff 0x44 0x00
|
||||||
|
0xff 0x88 0x00
|
||||||
|
0xff 0xcc 0x00
|
||||||
|
0xff 0xff 0x00
|
||||||
|
0xcc 0xcc 0x00
|
||||||
|
0x88 0x88 0x00
|
||||||
|
0x44 0x44 0x00
|
||||||
|
0x00 0x44 0x00
|
||||||
|
0x00 0x88 0x00
|
||||||
|
0x00 0xcc 0x00
|
||||||
|
0x00 0xff 0x00
|
||||||
|
0x00 0x44 0x44
|
||||||
|
0x00 0x88 0x88
|
||||||
|
0x00 0xff 0xff
|
||||||
|
0x00 0x00 0x44
|
||||||
|
0x00 0x00 0x88
|
||||||
|
0x00 0x00 0xff
|
||||||
|
0x88 0x00 0x88
|
||||||
|
0xff 0xcc 0x99
|
||||||
|
0xcc 0xaa 0x77
|
||||||
|
0xaa 0x88 0x55
|
||||||
|
0x88 0x66 0x33
|
||||||
|
0x66 0x44 0x11
|
||||||
|
0x44 0x22 0x00
|
||||||
|
0x22 0x00 0x00
|
||||||
|
0x00 0x44 0x88
|
||||||
|
0x44 0x88 0xcc
|
||||||
|
0x88 0xcc 0xff
|
||||||
|
0x00 0xcc 0x44
|
||||||
|
0x44 0x88 0x44
|
||||||
|
0x88 0xcc 0x00
|
||||||
|
0x22 0x44 0x11
|
||||||
|
0x33 0x66 0x22
|
||||||
|
0x44 0x55 0x33
|
||||||
|
0x66 0x88 0x44
|
||||||
|
0x33 0x66 0x22
|
||||||
|
0x22 0x44 0x11
|
||||||
99
imrc
Normal file
99
imrc
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
################################
|
||||||
|
# Config file for Imlib #
|
||||||
|
################################
|
||||||
|
|
||||||
|
# The file that contains palette entries for a global palette for all Imlib
|
||||||
|
# based programs.
|
||||||
|
# options: full path to palette file
|
||||||
|
PaletteFile /etc/im_palette.pal
|
||||||
|
# This defines if when the display is greater than 8 bit, that it still remaps
|
||||||
|
# the images to the palette defined, rather than using "perfect" rendering
|
||||||
|
# options: yes/no
|
||||||
|
PaletteOverride no
|
||||||
|
# If remapping to the palette, whether to use Floyd-Steinberg dithering. Saying
|
||||||
|
# yes will slow things down though.
|
||||||
|
# options: yes/no
|
||||||
|
Dither yes
|
||||||
|
# when remapping to the palette, saying fast will reduce accuracy, but improve
|
||||||
|
# speed quite considerably
|
||||||
|
# options: fast/slow
|
||||||
|
Remap fast
|
||||||
|
# This turns on dithering for 15/16 bpp. This makes smooth gradients look much
|
||||||
|
# smoother - in fact almost perfect. You will find it nigh impossible to tell
|
||||||
|
# the difference between 15/16bpp dithered and 24bpp. Unless you have extra
|
||||||
|
# CPU to burn, its not recommended, unless you are a image quality freak, and
|
||||||
|
# you insist on maximum quality in 15/16bpp. It does slow things down. It
|
||||||
|
# would be best to leave it off and let the applications themselves allow
|
||||||
|
# you to select it for certain purposes only.
|
||||||
|
HighQuality off
|
||||||
|
# This option if specified off will force MIT-SHM off, otherwise will allow
|
||||||
|
# Imlib to work it out itself.
|
||||||
|
Mit-Shm on
|
||||||
|
# This will turn shared pixmaps on or off (off forces off, on lets imlib
|
||||||
|
# work it out). This is yet another speedup. leave it on unless it doesn't
|
||||||
|
# work.. then turn it off.
|
||||||
|
SharedPixmaps off
|
||||||
|
# This speeds up rendering considerably, but may not work on your hardware
|
||||||
|
# due to it bypassing a few layers and byte-twiddling the rendered image data
|
||||||
|
# manually, and due to endianess, bit-ordering or RGB ordering it may screw up
|
||||||
|
# and not work, so try it.. if things work great!, if not, wait until a
|
||||||
|
# renderer for your situation is written, or write one yourself and donate
|
||||||
|
# it. It's easy to do, just look at rend.c
|
||||||
|
FastRender on
|
||||||
|
# This is in fact a workaround due to Solaris's shared memory theories.
|
||||||
|
# This specifies the maximum size of a shared memory chunk in bytes. If an
|
||||||
|
# image is larger that this in bytes for the video mode you're in, imlib will
|
||||||
|
# not use MIT-SHM. if you comment this out, imlib will use as much memory as
|
||||||
|
# necessary to render the image.
|
||||||
|
# Shm_Max_Size 1000000
|
||||||
|
# This turns Image loading (24) bit caching on or off. HIGHLY suggested to be
|
||||||
|
# turned ON!
|
||||||
|
Image_Cache on
|
||||||
|
# Image cache size in bytes. As with any cache, the more, the better. If you
|
||||||
|
# load the same image more than once. Imlib will used a previously loaded
|
||||||
|
# copy, and if its freed, the Image_Cache_Size amount of bytes of image data
|
||||||
|
# are kept even after being freed, in case the same image is loaded again soon
|
||||||
|
# afterwards. Neat eh?
|
||||||
|
Image_Cache_Size 4000000
|
||||||
|
# This turns the pixmap caching system on or off. If on, only well-behaved
|
||||||
|
# programs that conform to the specs for using Imlib will exhibit the
|
||||||
|
# behavior as expected. It is suggested to leave this on, as it will boost
|
||||||
|
# performance considerably, speed-wise and memory-wise. The reason apps need
|
||||||
|
# to be well-behaved is so that they don't go drawing on, and XFreePixmap'ing
|
||||||
|
# these pixmaps themselves, because this will trample all over the cache
|
||||||
|
# and give very horrid effects, or even make the apps crash with segfaults or
|
||||||
|
# Xlib errors.
|
||||||
|
Pixmap_Cache on
|
||||||
|
# Pixmap cache is in **-> BITS <-**... the end result is APPROXIMATELY
|
||||||
|
# 10000000 bits of pixmap make your Xserver grow by 1Mb of RAM (VERY rough).
|
||||||
|
# As with any cache, the more, the better. The more you have, the less likely
|
||||||
|
# it is that you will get cache misses and so performance on scaling the same
|
||||||
|
# image to commonly used sizes (ie if 3 or 4 sizes of the same image are used)
|
||||||
|
# will be lightning fast, in fact in some tests I did, in 16bpp up to 38 times
|
||||||
|
# as fast, and in 8bpp (with dithering on) up to 105 times faster!!! (these
|
||||||
|
# are nominal figures obtained on my machine. these are MAXIMUM speedup
|
||||||
|
# results. Results may vary on other machines and according to the way
|
||||||
|
# programs are written and use Imlib)
|
||||||
|
Pixmap_Cache_Size 40000000
|
||||||
|
# This FORCES Imlib to use the hexadecimal visual id stated here if it is
|
||||||
|
# defined in the imrc. This bypasses Imlib's routines that hunt for the best
|
||||||
|
# visual. You can obtain a list of visual ID's using the xdpyinfo command.
|
||||||
|
# You should only need this if Imlib doesn't pick the correct visual or you
|
||||||
|
# have strange hardware/Xserver combinations.
|
||||||
|
#ForceVisualID 22
|
||||||
|
# This allows Imlib to fall back on Imagemagick and/or NETPBM
|
||||||
|
# utilities if it can't load the file.
|
||||||
|
Fallback on
|
||||||
|
# Default Gamma, Brightness and Contrast stuff....
|
||||||
|
Gamma 1.0
|
||||||
|
Brightness 1.0
|
||||||
|
Contrast 1.0
|
||||||
|
Red_Gamma 1.0
|
||||||
|
Red_Brightness 1.0
|
||||||
|
Red_Contrast 1.0
|
||||||
|
Green_Gamma 1.0
|
||||||
|
Green_Brightness 1.0
|
||||||
|
Green_Contrast 1.0
|
||||||
|
Blue_Gamma 1.0
|
||||||
|
Blue_Brightness 1.0
|
||||||
|
Blue_Contrast 1.0
|
||||||
61
include/wx/app.h
Normal file
61
include/wx/app.h
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: app.h
|
||||||
|
// Purpose: wxApp inclusion
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __APPH_BASE__
|
||||||
|
#define __APPH_BASE__
|
||||||
|
|
||||||
|
/*
|
||||||
|
class WXDLLEXPORT wxApp;
|
||||||
|
typedef wxApp* (*wxAppInitializerFunction) (void);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "wx/object.h"
|
||||||
|
|
||||||
|
typedef wxObject* (*wxAppInitializerFunction) (void); // returning wxApp* won't work with gcc
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/app.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/app.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/app.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// Having a global instance of this class allows
|
||||||
|
// wxApp to be aware of the app creator function.
|
||||||
|
// wxApp can then call this function to create a new
|
||||||
|
// app object. Convoluted, but necessary.
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxAppInitializer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxAppInitializer(wxAppInitializerFunction fn)
|
||||||
|
{
|
||||||
|
wxApp::SetInitializerFunction(fn);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#define IMPLEMENT_APP(appname) \
|
||||||
|
wxApp *wxCreateApp(void) { return new appname; } \
|
||||||
|
wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \
|
||||||
|
appname& wxGetApp(void) { return *(appname *)wxTheApp; } \
|
||||||
|
\
|
||||||
|
extern int wxEntry( int argc, char *argv[] ); \
|
||||||
|
int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
|
||||||
|
|
||||||
|
|
||||||
|
#define DECLARE_APP(appname) \
|
||||||
|
extern appname& wxGetApp(void) ;
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __APPH_BASE__
|
||||||
13
include/wx/bitmap.h
Normal file
13
include/wx/bitmap.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __BITMAPH_BASE__
|
||||||
|
#define __BITMAPH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/bitmap.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/bitmap.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/bitmap.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __BITMAPH_BASE__
|
||||||
12
include/wx/bmpbuttn.h
Normal file
12
include/wx/bmpbuttn.h
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#ifndef __BMPBUTTONH_BASE__
|
||||||
|
#define __BMPBUTTONH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/bmpbuttn.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/bmpbuttn.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/bmpbuttn.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
13
include/wx/brush.h
Normal file
13
include/wx/brush.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __BRUSHH_BASE__
|
||||||
|
#define __BRUSHH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/brush.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/brush.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/brush.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __BRUSHH_BASE__
|
||||||
13
include/wx/button.h
Normal file
13
include/wx/button.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __BUTTONH_BASE__
|
||||||
|
#define __BUTTONH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/button.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/button.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/button.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __BUTTONH_BASE__
|
||||||
13
include/wx/checkbox.h
Normal file
13
include/wx/checkbox.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __CHECKBOXH_BASE__
|
||||||
|
#define __CHECKBOXH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/checkbox.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/checkbox.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/checkbox.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CHECKBOXH_BASE__
|
||||||
7
include/wx/choicdlg.h
Normal file
7
include/wx/choicdlg.h
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#ifndef __CHOICDLGH_BASE__
|
||||||
|
#define __CHOICDLGH_BASE__
|
||||||
|
|
||||||
|
#include "wx/generic/choicdgg.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CHOICDLGH_BASE__
|
||||||
13
include/wx/choice.h
Normal file
13
include/wx/choice.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __CHOICEH_BASE__
|
||||||
|
#define __CHOICEH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/choice.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/choice.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/choice.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CHOICEH_BASE__
|
||||||
13
include/wx/clipbrd.h
Normal file
13
include/wx/clipbrd.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __CLIPBRDH_BASE__
|
||||||
|
#define __CLIPBRDH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/clipbrd.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/clipbrd.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/clipbrd.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CLIPBRDH_BASE__
|
||||||
223
include/wx/cmndata.h
Normal file
223
include/wx/cmndata.h
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: cmndata.h
|
||||||
|
// Purpose: Common GDI data classes
|
||||||
|
// Author: Julian Smart and others
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __CMNDATAH_BASE__
|
||||||
|
#define __CMNDATAH_BASE__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "cmndata.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxColourData: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxColourData)
|
||||||
|
public:
|
||||||
|
wxColour dataColour;
|
||||||
|
wxColour custColours[16];
|
||||||
|
bool chooseFull;
|
||||||
|
|
||||||
|
wxColourData(void);
|
||||||
|
~wxColourData(void);
|
||||||
|
|
||||||
|
inline void SetChooseFull(bool flag) { chooseFull = flag; }
|
||||||
|
inline bool GetChooseFull(void) { return chooseFull; }
|
||||||
|
inline void SetColour(wxColour& colour) { dataColour = colour; }
|
||||||
|
inline wxColour &GetColour(void) { return dataColour; }
|
||||||
|
|
||||||
|
// Array of 16 custom colours
|
||||||
|
void SetCustomColour(int i, wxColour& colour);
|
||||||
|
wxColour GetCustomColour(int i);
|
||||||
|
|
||||||
|
void operator=(const wxColourData& data);
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxFontData: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFontData)
|
||||||
|
public:
|
||||||
|
wxColour fontColour;
|
||||||
|
bool showHelp;
|
||||||
|
bool allowSymbols;
|
||||||
|
bool enableEffects;
|
||||||
|
wxFont initialFont;
|
||||||
|
wxFont chosenFont;
|
||||||
|
int minSize;
|
||||||
|
int maxSize;
|
||||||
|
|
||||||
|
wxFontData(void);
|
||||||
|
~wxFontData(void);
|
||||||
|
|
||||||
|
inline void SetAllowSymbols(bool flag) { allowSymbols = flag; }
|
||||||
|
inline bool GetAllowSymbols(void) { return allowSymbols; }
|
||||||
|
inline void SetColour(const wxColour& colour) { fontColour = colour; }
|
||||||
|
inline wxColour &GetColour(void) { return fontColour; }
|
||||||
|
inline void SetShowHelp(bool flag) { showHelp = flag; }
|
||||||
|
inline bool GetShowHelp(void) { return showHelp; }
|
||||||
|
inline void EnableEffects(bool flag) { enableEffects = flag; }
|
||||||
|
inline bool GetEnableEffects(void) { return enableEffects; }
|
||||||
|
inline void SetInitialFont(const wxFont& font) { initialFont = font; }
|
||||||
|
inline wxFont GetInitialFont(void) { return initialFont; }
|
||||||
|
inline void SetChosenFont(const wxFont& font) { chosenFont = font; }
|
||||||
|
inline wxFont GetChosenFont(void) { return chosenFont; }
|
||||||
|
inline void SetRange(int minRange, int maxRange) { minSize = minRange; maxSize = maxRange; }
|
||||||
|
|
||||||
|
void operator=(const wxFontData& data);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxPrintData
|
||||||
|
* Encapsulates information displayed and edited in the printer dialog box.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxPrintData: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
||||||
|
|
||||||
|
public:
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
void *printData;
|
||||||
|
#endif
|
||||||
|
int printFromPage;
|
||||||
|
int printToPage;
|
||||||
|
int printMinPage;
|
||||||
|
int printMaxPage;
|
||||||
|
int printNoCopies;
|
||||||
|
int printOrientation;
|
||||||
|
bool printAllPages;
|
||||||
|
bool printCollate;
|
||||||
|
bool printToFile;
|
||||||
|
bool printEnableSelection;
|
||||||
|
bool printEnablePageNumbers;
|
||||||
|
bool printEnableHelp;
|
||||||
|
bool printEnablePrintToFile;
|
||||||
|
bool printSetupDialog;
|
||||||
|
|
||||||
|
wxPrintData(void);
|
||||||
|
~wxPrintData(void);
|
||||||
|
|
||||||
|
inline int GetFromPage(void) { return printFromPage; };
|
||||||
|
inline int GetToPage(void) { return printToPage; };
|
||||||
|
inline int GetMinPage(void) { return printMinPage; };
|
||||||
|
inline int GetMaxPage(void) { return printMaxPage; };
|
||||||
|
inline int GetNoCopies(void) { return printNoCopies; };
|
||||||
|
inline bool GetAllPages(void) { return printAllPages; };
|
||||||
|
inline bool GetCollate(void) { return printCollate; };
|
||||||
|
inline bool GetPrintToFile(void) { return printToFile; };
|
||||||
|
inline bool GetSetupDialog(void) { return printSetupDialog; };
|
||||||
|
inline int GetOrientation(void) { return printOrientation; };
|
||||||
|
|
||||||
|
inline void SetFromPage(int v) { printFromPage = v; };
|
||||||
|
inline void SetToPage(int v) { printToPage = v; };
|
||||||
|
inline void SetMinPage(int v) { printMinPage = v; };
|
||||||
|
inline void SetMaxPage(int v) { printMaxPage = v; };
|
||||||
|
inline void SetNoCopies(int v) { printNoCopies = v; };
|
||||||
|
inline void SetAllPages(bool flag) { printAllPages = flag; };
|
||||||
|
inline void SetCollate(bool flag) { printCollate = flag; };
|
||||||
|
inline void SetPrintToFile(bool flag) { printToFile = flag; };
|
||||||
|
inline void SetSetupDialog(bool flag) { printSetupDialog = flag; };
|
||||||
|
inline void SetOrientation(int orient) { printOrientation = orient; };
|
||||||
|
|
||||||
|
inline void EnablePrintToFile(bool flag) { printEnablePrintToFile = flag; };
|
||||||
|
inline void EnableSelection(bool flag) { printEnableSelection = flag; };
|
||||||
|
inline void EnablePageNumbers(bool flag) { printEnablePageNumbers = flag; };
|
||||||
|
inline void EnableHelp(bool flag) { printEnableHelp = flag; };
|
||||||
|
|
||||||
|
inline bool GetEnablePrintToFile(void) { return printEnablePrintToFile; };
|
||||||
|
inline bool GetEnableSelection(void) { return printEnableSelection; };
|
||||||
|
inline bool GetEnablePageNumbers(void) { return printEnablePageNumbers; };
|
||||||
|
inline bool GetEnableHelp(void) { return printEnableHelp; };
|
||||||
|
|
||||||
|
void operator=(const wxPrintData& data);
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
// Convert to/from the PRINTDLG structure
|
||||||
|
void ConvertToNative(void);
|
||||||
|
void ConvertFromNative(void);
|
||||||
|
void SetOwnerWindow(wxWindow* win);
|
||||||
|
inline void* GetNativeData(void) { return printData; }
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the data used (and returned) by the wxPageSetupDialog.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxPageSetupData: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPageSetupData)
|
||||||
|
|
||||||
|
public:
|
||||||
|
#if defined(__WIN95__)
|
||||||
|
void* m_pageSetupData;
|
||||||
|
#endif
|
||||||
|
wxPoint m_paperSize;
|
||||||
|
wxPoint m_minMarginTopLeft;
|
||||||
|
wxPoint m_minMarginBottomRight;
|
||||||
|
wxPoint m_marginTopLeft;
|
||||||
|
wxPoint m_marginBottomRight;
|
||||||
|
int m_orientation;
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
bool m_defaultMinMargins;
|
||||||
|
bool m_enableMargins;
|
||||||
|
bool m_enableOrientation;
|
||||||
|
bool m_enablePaper;
|
||||||
|
bool m_enablePrinter;
|
||||||
|
bool m_getDefaultInfo; // Equiv. to PSD_RETURNDEFAULT
|
||||||
|
bool m_enableHelp;
|
||||||
|
|
||||||
|
wxPageSetupData(void);
|
||||||
|
~wxPageSetupData(void);
|
||||||
|
|
||||||
|
inline wxPoint GetPaperSize(void) { return m_paperSize; };
|
||||||
|
inline wxPoint GetMinMarginTopLeft(void) { return m_minMarginTopLeft; };
|
||||||
|
inline wxPoint GetMinMarginBottomRight(void) { return m_minMarginBottomRight; };
|
||||||
|
inline wxPoint GetMarginTopLeft(void) { return m_marginTopLeft; };
|
||||||
|
inline wxPoint GetMarginBottomRight(void) { return m_marginBottomRight; };
|
||||||
|
inline int GetOrientation(void) { return m_orientation; };
|
||||||
|
|
||||||
|
inline bool GetDefaultMinMargins(void) { return m_defaultMinMargins; };
|
||||||
|
inline bool GetEnableMargins(void) { return m_enableMargins; };
|
||||||
|
inline bool GetEnableOrientation(void) { return m_enableOrientation; };
|
||||||
|
inline bool GetEnablePaper(void) { return m_enablePaper; };
|
||||||
|
inline bool GetEnablePrinter(void) { return m_enablePrinter; };
|
||||||
|
inline bool GetDefaultInfo(void) { return m_getDefaultInfo; };
|
||||||
|
inline bool GetEnableHelp(void) { return m_enableHelp; };
|
||||||
|
|
||||||
|
inline void SetPaperSize(const wxPoint& pt) { m_paperSize = pt; };
|
||||||
|
inline void SetMinMarginTopLeft(const wxPoint& pt) { m_minMarginTopLeft = pt; };
|
||||||
|
inline void SetMinMarginBottomRight(const wxPoint& pt) { m_minMarginBottomRight = pt; };
|
||||||
|
inline void SetMarginTopLeft(const wxPoint& pt) { m_marginTopLeft = pt; };
|
||||||
|
inline void SetMarginBottomRight(const wxPoint& pt) { m_marginBottomRight = pt; };
|
||||||
|
inline void SetOrientation(int orient) { m_orientation = orient; };
|
||||||
|
inline void SetDefaultMinMargins(bool flag) { m_defaultMinMargins = flag; };
|
||||||
|
inline void SetDefaultInfo(bool flag) { m_getDefaultInfo = flag; };
|
||||||
|
|
||||||
|
inline void EnableMargins(bool flag) { m_enableMargins = flag; };
|
||||||
|
inline void EnableOrientation(bool flag) { m_enableOrientation = flag; };
|
||||||
|
inline void EnablePaper(bool flag) { m_enablePaper = flag; };
|
||||||
|
inline void EnablePrinter(bool flag) { m_enablePrinter = flag; };
|
||||||
|
inline void EnableHelp(bool flag) { m_enableHelp = flag; };
|
||||||
|
|
||||||
|
#if defined(__WIN95__)
|
||||||
|
// Convert to/from the PAGESETUPDLG structure
|
||||||
|
void ConvertToNative(void);
|
||||||
|
void ConvertFromNative(void);
|
||||||
|
void SetOwnerWindow(wxWindow* win);
|
||||||
|
inline void* GetNativeData(void) { return m_pageSetupData; }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void operator=(const wxPageSetupData& data);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CMNDATAH_BASE__
|
||||||
13
include/wx/colordlg.h
Normal file
13
include/wx/colordlg.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __COLORDLGH_BASE__
|
||||||
|
#define __COLORDLGH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/colordlg.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/generic/colrdlgg.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/generic/colrdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __COLORDLGH_BASE__
|
||||||
13
include/wx/combobox.h
Normal file
13
include/wx/combobox.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __COMBOBOXH_BASE__
|
||||||
|
#define __COMBOBOXH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/combobox.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/combobox.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/combobox.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __COMBOBOXH_BASE__
|
||||||
121
include/wx/config.h
Normal file
121
include/wx/config.h
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name:
|
||||||
|
// Purpose:
|
||||||
|
// Author: Karsten Ball<6C>der & Vadim Zeitlin
|
||||||
|
// Modified by:
|
||||||
|
// Created: 07.04.98 (adapted from appconf.h)
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 1997 Karsten Ball<6C>der Ballueder@usa.net
|
||||||
|
// Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
|
// Licence: wxWindows license
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _APPCONF_H
|
||||||
|
#define _APPCONF_H
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/// shall we be case sensitive in parsing variable names?
|
||||||
|
#ifndef APPCONF_CASE_SENSITIVE
|
||||||
|
#define APPCONF_CASE_SENSITIVE FALSE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// separates group and entry names
|
||||||
|
#ifndef APPCONF_PATH_SEPARATOR
|
||||||
|
#define APPCONF_PATH_SEPARATOR '/'
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// introduces immutable entries
|
||||||
|
#ifndef APPCONF_IMMUTABLE_PREFIX
|
||||||
|
#define APPCONF_IMMUTABLE_PREFIX '!'
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// should we use registry instead of configuration files under Win32?
|
||||||
|
#ifndef APPCONF_WIN32_NATIVE
|
||||||
|
#define APPCONF_WIN32_NATIVE TRUE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// global functions
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/*
|
||||||
|
Replace environment variables ($SOMETHING) with their values. The format is
|
||||||
|
$VARNAME or ${VARNAME} where VARNAME contains alphanumeric characters and
|
||||||
|
'_' only. '$' must be escaped ('\$') in order to be taken literally.
|
||||||
|
*/
|
||||||
|
wxString ExpandEnvVars(const wxString& str);
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// abstract base class wxConfig which defines the interface for derived classes
|
||||||
|
//
|
||||||
|
// wxConfig organizes the items in a tree-like structure (modeled after the
|
||||||
|
// Unix/Dos filesystem). There are groups (directories) and keys (files).
|
||||||
|
// There is always one current group given by the current path.
|
||||||
|
//
|
||||||
|
// Keys are pairs "key_name = value" where value may be of string or integer
|
||||||
|
// (long) type (@@@ doubles and other types such as wxDate coming soon).
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
class wxConfig
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// ctor & virtual dtor
|
||||||
|
wxConfig() { }
|
||||||
|
virtual ~wxConfig();
|
||||||
|
|
||||||
|
// path management
|
||||||
|
// set current path: if the first character is '/', it's the absolute path,
|
||||||
|
// otherwise it's a relative path. '..' is supported. If the strPath
|
||||||
|
// doesn't exist it is created.
|
||||||
|
virtual void SetPath(const wxString& strPath) = 0;
|
||||||
|
// retrieve the current path (always as absolute path)
|
||||||
|
virtual const wxString& GetPath() const = 0;
|
||||||
|
|
||||||
|
// enumeration: all functions here return false when there are no more items.
|
||||||
|
// you must pass the same lIndex to GetNext and GetFirst (don't modify it)
|
||||||
|
// enumerate subgroups
|
||||||
|
virtual bool GetFirstGroup(wxString& str, long& lIndex) = 0;
|
||||||
|
virtual bool GetNextGroup (wxString& str, long& lIndex) = 0;
|
||||||
|
// enumerate entries
|
||||||
|
virtual bool GetFirstEntry(wxString& str, long& lIndex) = 0;
|
||||||
|
virtual bool GetNextEntry (wxString& str, long& lIndex) = 0;
|
||||||
|
|
||||||
|
// key access
|
||||||
|
// read a string or long value from the key. If the key is not
|
||||||
|
// found the default value is returned.
|
||||||
|
virtual const char *Read(const char *szKey,
|
||||||
|
const char *szDefault = NULL) const = 0;
|
||||||
|
virtual long Read(const char *szKey, long lDefault) const = 0;
|
||||||
|
|
||||||
|
// write the value (return true on success)
|
||||||
|
virtual bool Write(const char *szKey, const char *szValue) = 0;
|
||||||
|
virtual bool Write(const char *szKey, long lValue) = 0;
|
||||||
|
// permanently writes all changes
|
||||||
|
virtual bool Flush(bool bCurrentOnly = FALSE) = 0;
|
||||||
|
|
||||||
|
// delete entries/groups
|
||||||
|
// deletes the specified entry and the group it belongs to if
|
||||||
|
// it was the last key in it and the second parameter is true
|
||||||
|
virtual bool DeleteEntry(const char *szKey,
|
||||||
|
bool bDeleteGroupIfEmpty = TRUE) = 0;
|
||||||
|
// delete the group (with all subgroups)
|
||||||
|
virtual bool DeleteGroup(const char *szKey) = 0;
|
||||||
|
// delete the whole underlying object (disk file, registry key, ...)
|
||||||
|
// primarly for use by desinstallation routine.
|
||||||
|
virtual bool DeleteAll() = 0;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// true if environment variables are to be auto-expanded
|
||||||
|
bool m_bExpandEnvVars;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// functions to create different config implementations
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxConfig *CreateFileConfig(const wxString& strFile, bool bLocalOnly = FALSE);
|
||||||
|
|
||||||
|
#endif //_APPCONF_H
|
||||||
|
|
||||||
13
include/wx/control.h
Normal file
13
include/wx/control.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __CONTROLH_BASE__
|
||||||
|
#define __CONTROLH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/control.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/control.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/control.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CONTROLH_BASE__
|
||||||
13
include/wx/cursor.h
Normal file
13
include/wx/cursor.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __CURSORH_BASE__
|
||||||
|
#define __CURSORH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/cursor.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/cursor.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/cursor.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __CURSORH_BASE__
|
||||||
131
include/wx/date.h
Normal file
131
include/wx/date.h
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: date.h
|
||||||
|
// Purpose: wxDate class
|
||||||
|
// Author: Julian Smart, Steve Marcus, Eric Simon, Chris Hill,
|
||||||
|
// Charles D. Price
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __WXDATEH__
|
||||||
|
#define __WXDATEH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "date.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
|
||||||
|
#if USE_TIMEDATE
|
||||||
|
|
||||||
|
enum wxdate_format_type {wxMDY, wxDAY, wxMONTH, wxFULL, wxEUROPEAN};
|
||||||
|
|
||||||
|
#define wxNO_CENTURY 0x02
|
||||||
|
#define wxDATE_ABBR 0x04
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxDate: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxDate)
|
||||||
|
protected:
|
||||||
|
unsigned long julian; // see julDate(); days since 1/1/4713 B.C.
|
||||||
|
int month; // see NMonth()
|
||||||
|
int day; // see Day()
|
||||||
|
int year; // see NYear4()
|
||||||
|
int day_of_week; // see NDOW(); 1 = Sunday, ... 7 = Saturday
|
||||||
|
|
||||||
|
private:
|
||||||
|
int DisplayFormat;
|
||||||
|
unsigned char DisplayOptions;
|
||||||
|
|
||||||
|
void julian_to_mdy (); // convert julian day to mdy
|
||||||
|
void julian_to_wday (); // convert julian day to day_of_week
|
||||||
|
void mdy_to_julian (); // convert mdy to julian day
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxDate ();
|
||||||
|
wxDate (const long j);
|
||||||
|
wxDate (const int m, const int d, const int y);
|
||||||
|
wxDate (const wxString& dat);
|
||||||
|
wxDate (const wxDate &dt);
|
||||||
|
|
||||||
|
operator wxString (void);
|
||||||
|
void operator = (const wxDate& date);
|
||||||
|
void operator = (const wxString& date);
|
||||||
|
|
||||||
|
wxDate operator + (const long i);
|
||||||
|
wxDate operator + (const int i);
|
||||||
|
|
||||||
|
wxDate operator - (const long i);
|
||||||
|
wxDate operator - (const int i);
|
||||||
|
|
||||||
|
long operator - (const wxDate &dt);
|
||||||
|
|
||||||
|
wxDate &operator += (const long i);
|
||||||
|
wxDate &operator -= (const long i);
|
||||||
|
|
||||||
|
wxDate &operator ++ (); // Prefix increment
|
||||||
|
wxDate &operator ++ (int); // Postfix increment
|
||||||
|
wxDate &operator -- (); // Prefix decrement
|
||||||
|
wxDate &operator -- (int); // Postfix decrement
|
||||||
|
|
||||||
|
friend bool operator < (const wxDate &dt1, const wxDate &dt2);
|
||||||
|
friend bool operator <= (const wxDate &dt1, const wxDate &dt2);
|
||||||
|
friend bool operator > (const wxDate &dt1, const wxDate &dt2);
|
||||||
|
friend bool operator >= (const wxDate &dt1, const wxDate &dt2);
|
||||||
|
friend bool operator == (const wxDate &dt1, const wxDate &dt2);
|
||||||
|
friend bool operator != (const wxDate &dt1, const wxDate &dt2);
|
||||||
|
|
||||||
|
friend ostream &operator << (ostream &os, const wxDate &dt);
|
||||||
|
|
||||||
|
wxString FormatDate (const int type=-1) const;
|
||||||
|
void SetFormat (const int format);
|
||||||
|
int SetOption (const int option, const bool enable=TRUE);
|
||||||
|
|
||||||
|
long GetJulianDate() const; // returns julian date
|
||||||
|
int GetDayOfYear() const; // returns relative date since Jan. 1
|
||||||
|
bool IsLeapYear() const; // returns TRUE if leap year, FALSE if not
|
||||||
|
|
||||||
|
// Version 4.0 Extension to Public Interface - CDP
|
||||||
|
|
||||||
|
// These 'Set's modify the date object and actually SET it
|
||||||
|
// They all return a reference to self (*this)
|
||||||
|
|
||||||
|
wxDate &Set(); // Sets to current system date
|
||||||
|
wxDate &Set(long lJulian);
|
||||||
|
wxDate &Set(int nMonth, int nDay, int nYear);
|
||||||
|
|
||||||
|
wxDate &AddWeeks(int nCount = 1); //
|
||||||
|
wxDate &AddMonths(int nCount = 1); // May also pass neg# to decrement
|
||||||
|
wxDate &AddYears(int nCount = 1); //
|
||||||
|
|
||||||
|
int GetDay() const; // Numeric Day of date object
|
||||||
|
int GetDaysInMonth(); // Number of days in month (1..31)
|
||||||
|
int GetFirstDayOfMonth() const; // First Day Of Month (1..7)
|
||||||
|
|
||||||
|
wxString GetDayOfWeekName(); // Character Day Of Week ('Sunday'..'Saturday')
|
||||||
|
int GetDayOfWeek() const; // (1..7)
|
||||||
|
|
||||||
|
int GetWeekOfMonth(); // Numeric Week Of Month (1..6)
|
||||||
|
int GetWeekOfYear(); // Numeric Week Of Year (1..52)
|
||||||
|
|
||||||
|
wxString GetMonthName(); // Character Month name
|
||||||
|
int GetMonth() const; // Month Number (1..12)
|
||||||
|
wxDate GetMonthStart(); // First Date Of Month
|
||||||
|
wxDate GetMonthEnd(); // Last Date Of Month
|
||||||
|
|
||||||
|
int GetYear() const; // eg. 1992
|
||||||
|
wxDate GetYearStart(); // First Date Of Year
|
||||||
|
wxDate GetYearEnd(); // Last Date Of Year
|
||||||
|
|
||||||
|
bool IsBetween(const wxDate& first, const wxDate& second) const;
|
||||||
|
|
||||||
|
wxDate Previous(const int dayOfWeek) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
// __WXDATEH__
|
||||||
13
include/wx/dc.h
Normal file
13
include/wx/dc.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DCH_BASE__
|
||||||
|
#define __DCH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dc.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dc.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dc.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DCH_BASE__
|
||||||
13
include/wx/dcclient.h
Normal file
13
include/wx/dcclient.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DCCLIENTH_BASE__
|
||||||
|
#define __DCCLIENTH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dcclient.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dcclient.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dcclient.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DCCLIENTH_BASE__
|
||||||
13
include/wx/dcmemory.h
Normal file
13
include/wx/dcmemory.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DCMEMORYH_BASE__
|
||||||
|
#define __DCMEMORYH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dcmemory.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dcmemory.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dcmemory.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DCMEMORYH_BASE__
|
||||||
9
include/wx/dcprint.h
Normal file
9
include/wx/dcprint.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#ifndef __DCPRINTH_BASE__
|
||||||
|
#define __DCPRINTH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dcprint.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DCPRINTH_BASE__
|
||||||
13
include/wx/dcscreen.h
Normal file
13
include/wx/dcscreen.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DCSCREENH_BASE__
|
||||||
|
#define __DCSCREENH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dcscreen.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dcscreen.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dcscreen.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DCSCREENH_BASE__
|
||||||
13
include/wx/dde.h
Normal file
13
include/wx/dde.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DDEH_BASE__
|
||||||
|
#define __DDEH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dde.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dde.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dde.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DDEH_BASE__
|
||||||
94
include/wx/debug.h
Normal file
94
include/wx/debug.h
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: debug.h
|
||||||
|
// Purpose: Misc debug functions and macros
|
||||||
|
// Author: Vadim Zeitlin
|
||||||
|
// Modified by:
|
||||||
|
// Created: 29/01/98
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __DEBUGH__
|
||||||
|
#define __DEBUGH__
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
@name Debugging macros
|
||||||
|
|
||||||
|
All debugging macros rely on ASSERT() which in turn calls user-defined
|
||||||
|
OnAssert() function. To keep things simple, it's called even when the
|
||||||
|
expression is TRUE (i.e. everything is ok) and by default does nothing: just
|
||||||
|
returns the same value back. But if you redefine it to do something more sexy
|
||||||
|
(popping up a message box in your favourite GUI, sending you e-mail or
|
||||||
|
whatever) it will affect all ASSERTs, FAILs and CHECKs in your code.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<b>Warning</b>: if you don't like advices on programming style, don't read
|
||||||
|
further! ;-)
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
Extensive use of these macros is recommended! Remember that ASSERTs are
|
||||||
|
disabled in final (without DEBUG defined) build, so they add strictly
|
||||||
|
nothing to your program's code. On the other hand, CHECK macros do stay
|
||||||
|
even in release builds, but in general are not much of a burden, while
|
||||||
|
a judicious use of them might increase your program's stability.
|
||||||
|
|
||||||
|
@memo Debugging macros (replacement for standard assert()) and more.
|
||||||
|
*/
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
//@{
|
||||||
|
|
||||||
|
/** @name Macros which are completely disabled in 'release' mode */
|
||||||
|
//@{
|
||||||
|
#ifdef __DEBUG__
|
||||||
|
/**
|
||||||
|
this function may be redefined to do something non trivial and is called
|
||||||
|
whenever one of debugging macros fails (i.e. condition is false in an
|
||||||
|
assertion)
|
||||||
|
@param szFile and nLine - file name and line number of the ASSERT
|
||||||
|
szMsg - optional message explaining the reason
|
||||||
|
*/
|
||||||
|
void wxOnAssert(const char *szFile, int nLine, const char *szMsg = NULL);
|
||||||
|
|
||||||
|
/// generic assert macro
|
||||||
|
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
|
||||||
|
/// assert with additional message explaining it's cause
|
||||||
|
#define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__, m)
|
||||||
|
#else
|
||||||
|
// nothing to do in release modes (hopefully at this moment there are
|
||||||
|
// no more bugs ;-)
|
||||||
|
#define wxASSERT(cond)
|
||||||
|
#define wxASSERT_MSG(x, m)
|
||||||
|
#endif //DEBUG
|
||||||
|
|
||||||
|
/// special form of assert: always triggers it (in debug mode)
|
||||||
|
#define wxFAIL wxASSERT(0)
|
||||||
|
/// FAIL with some message
|
||||||
|
#define wxFAIL_MSG(msg) wxASSERT_MSG(0, msg)
|
||||||
|
//@}
|
||||||
|
|
||||||
|
// NB: these macros work also in release mode!
|
||||||
|
|
||||||
|
/**
|
||||||
|
These macros must be used only in invalid situation: for example, an
|
||||||
|
invalid parameter (NULL pointer) is passed to a function. Instead of
|
||||||
|
dereferencing it and causing core dump the function might try using
|
||||||
|
CHECK( p != NULL ) or CHECK( p != NULL, return LogError("p is NULL!!") )
|
||||||
|
|
||||||
|
@name Macros which remain even in 'release' mode
|
||||||
|
*/
|
||||||
|
//@{
|
||||||
|
/// check that expression is true, "return" if not (also FAILs in debug mode)
|
||||||
|
#define wxCHECK(x) if (!(x)) {wxFAIL; return; }
|
||||||
|
/// check that expression is true, "return ret" if not
|
||||||
|
#define wxCHECK_RET(x, ret) if (!(x)) {wxFAIL; return ret; }
|
||||||
|
/// check that expression is true, perform op if not
|
||||||
|
#define wxCHECK2(x, op) if (!(x)) {wxFAIL; op; }
|
||||||
|
//@}
|
||||||
|
|
||||||
|
//@}
|
||||||
|
|
||||||
|
#endif // __DEBUGH__
|
||||||
861
include/wx/defs.h
Normal file
861
include/wx/defs.h
Normal file
@@ -0,0 +1,861 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: defs.h
|
||||||
|
// Purpose: Declarations/definitions common to all wx source files
|
||||||
|
// Author: Julian Smart and others
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __DEFSH__
|
||||||
|
#define __DEFSH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "defs.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __GTK__
|
||||||
|
|
||||||
|
#include "glib.h"
|
||||||
|
#include "gdk/gdk.h"
|
||||||
|
#include "gtk/gtk.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/version.h"
|
||||||
|
|
||||||
|
// Helps SGI compilation, apparently
|
||||||
|
#if defined(__SGI__) && defined(__GNUG__)
|
||||||
|
#define __need_wchar_t
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Eliminate double/float warnings
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
# pragma warning(disable:4244)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Currently Only MS-Windows/NT, XView and Motif are supported
|
||||||
|
//
|
||||||
|
#if defined(__HPUX__) && !defined(__MOTIF__)
|
||||||
|
# define __MOTIF__
|
||||||
|
#endif
|
||||||
|
#if defined(__MOTIF__)
|
||||||
|
# define __X__
|
||||||
|
#elif defined(__WINDOWS__) || defined(__WINDOWS_386__) || defined(__NT__) || defined(__MSDOS__)
|
||||||
|
# ifndef __WINDOWS__
|
||||||
|
# define __WINDOWS__
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// wxWindows checks for WIN32, not __WIN32__
|
||||||
|
#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__))
|
||||||
|
#define __WIN32__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __WIN32__
|
||||||
|
#define __WIN16__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(__WIN95__) && (WINVER >= 0x0400)
|
||||||
|
#define __WIN95__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Make sure the environment is set correctly
|
||||||
|
#if defined(__WINDOWS__) && defined(__X__)
|
||||||
|
# error "Target can't be both X and Windows"
|
||||||
|
#elif !defined(__MOTIF__) && !defined(__WINDOWS__) && !defined(__GTK__) && !defined(__MAC__) && !defined(__X__)
|
||||||
|
#error "No Target! Use -D[__MOTIF__|__GTK__|__WINDOWS__|__MAC__]"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__MOTIF__) || defined(__GTK__)
|
||||||
|
|
||||||
|
// Bool is now obsolete, use bool instead
|
||||||
|
// typedef int Bool;
|
||||||
|
|
||||||
|
#ifndef TRUE
|
||||||
|
# define TRUE 1
|
||||||
|
# define FALSE 0
|
||||||
|
# define Bool_DEFINED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif defined(__WINDOWS__)
|
||||||
|
|
||||||
|
#ifndef TRUE
|
||||||
|
# define TRUE 1
|
||||||
|
# define FALSE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// VC++ 4.0 is 1000.
|
||||||
|
|
||||||
|
// Add more tests here for compilers that don't already define bool.
|
||||||
|
#if ( defined(_MSC_VER) && (_MSC_VER <= 1000) ) || (defined(__BORLANDC__) && (__BORLANDC__ < 0x500))
|
||||||
|
typedef unsigned int bool;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__)
|
||||||
|
#define byte unsigned char
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef short int WXTYPE;
|
||||||
|
typedef int wxWindowID;
|
||||||
|
|
||||||
|
// Macro to cut down on compiler warnings.
|
||||||
|
#if REMOVE_UNUSED_ARG
|
||||||
|
#define WXUNUSED(identifier) /* identifier */
|
||||||
|
#else // stupid, broken compiler
|
||||||
|
#define WXUNUSED(identifier) identifier
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Making or using wxWindows as a Windows DLL
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
|
||||||
|
# ifdef WXMAKINGDLL
|
||||||
|
# define WXDLLEXPORT __export
|
||||||
|
# define WXDLLEXPORT_DATA(type) type __export
|
||||||
|
# define WXDLLEXPORT_CTORFN __export
|
||||||
|
# elif defined(WXUSINGDLL)
|
||||||
|
# define WXDLLEXPORT __import
|
||||||
|
# define WXDLLEXPORT_DATA(type) type __import
|
||||||
|
# define WXDLLEXPORT_CTORFN
|
||||||
|
# else
|
||||||
|
# define WXDLLEXPORT
|
||||||
|
# define WXDLLEXPORT_DATA(type) type
|
||||||
|
# define WXDLLEXPORT_CTORFN
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
# ifdef WXMAKINGDLL
|
||||||
|
# define WXDLLEXPORT __declspec( dllexport )
|
||||||
|
# define WXDLLEXPORT_DATA(type) __declspec( dllexport ) type
|
||||||
|
# define WXDLLEXPORT_CTORFN __declspec( dllexport )
|
||||||
|
# elif defined(WXUSINGDLL)
|
||||||
|
# define WXDLLEXPORT __declspec( dllimport )
|
||||||
|
# define WXDLLEXPORT_DATA(type) __declspec( dllimport ) type
|
||||||
|
# define WXDLLEXPORT_CTORFN
|
||||||
|
# else
|
||||||
|
# define WXDLLEXPORT
|
||||||
|
# define WXDLLEXPORT_DATA(type) type
|
||||||
|
# define WXDLLEXPORT_CTORFN
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
// Non-Windows
|
||||||
|
# define WXDLLEXPORT
|
||||||
|
# define WXDLLEXPORT_DATA(type) type
|
||||||
|
# define WXDLLEXPORT_CTORFN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For ostream, istream ofstream
|
||||||
|
#if defined(__BORLANDC__) && defined( _RTLDLL )
|
||||||
|
# define WXDLLIMPORT __import
|
||||||
|
#else
|
||||||
|
# define WXDLLIMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxObject;
|
||||||
|
class WXDLLEXPORT wxEvent;
|
||||||
|
|
||||||
|
// Vadim's types - check whether we need them all
|
||||||
|
|
||||||
|
/// the type for various indexes (string, arrays, ...)
|
||||||
|
typedef unsigned int uint;
|
||||||
|
|
||||||
|
/// extended boolean type: { yes, no, may be }
|
||||||
|
typedef signed int EBool;
|
||||||
|
|
||||||
|
/// with TRUE and FALSE is a possible value for a "3-state" boolean var
|
||||||
|
#define UNKNOWN (-1)
|
||||||
|
/** symbolic constant used by all Find()-like functions returning positive
|
||||||
|
integer on success as failure indicator */
|
||||||
|
#define NOT_FOUND (-1)
|
||||||
|
/** useful for Windows programmers: makes somewhat more clear all these
|
||||||
|
zeroes being passed to Windows APIs */
|
||||||
|
#define RESERVED (NULL)
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Error codes
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/// Standard error codes
|
||||||
|
enum ErrCode
|
||||||
|
{
|
||||||
|
/// invalid parameter (in broad sense)
|
||||||
|
ERR_PARAM = (-4000),
|
||||||
|
/// no more data (iteration functions usually return this)
|
||||||
|
ERR_NODATA,
|
||||||
|
/// user cancelled the operation
|
||||||
|
ERR_CANCEL,
|
||||||
|
/// no error (the only non negative error code)
|
||||||
|
ERR_SUCCESS = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
/** @name Very common macros */
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
//@{
|
||||||
|
/// delete pointer if it is not NULL
|
||||||
|
#define DELETEP(p) if ( (p) != NULL ) delete (p)
|
||||||
|
/// delete array pointer if it is not NULL
|
||||||
|
#define DELETEA(p) if ( (p) != NULL ) delete [] (p)
|
||||||
|
|
||||||
|
/// size of statically declared array
|
||||||
|
#define WXSIZEOF(array) (sizeof(array)/sizeof(array[0]))
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// compiler and OS identification
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// OS
|
||||||
|
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__)
|
||||||
|
#ifndef __UNIX__
|
||||||
|
#define __UNIX__
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __UNIX__ // Windows
|
||||||
|
#ifndef __WINDOWS__
|
||||||
|
#define __WINDOWS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
#define __VISUALC__
|
||||||
|
#elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
|
||||||
|
#define __BORLANDC__
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
//#define __WATCOMC__
|
||||||
|
#elif defined(__SC__)
|
||||||
|
#define __SYMANTECC__
|
||||||
|
#endif // compiler
|
||||||
|
|
||||||
|
#endif // OS
|
||||||
|
|
||||||
|
#if defined(__UNIX__)
|
||||||
|
#define FILE_PATH_SEPARATOR ('/')
|
||||||
|
#elif defined(__WINDOWS__)
|
||||||
|
#define FILE_PATH_SEPARATOR ('\\')
|
||||||
|
#else
|
||||||
|
#error "don't know path separator for this platform"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// compiler specific settings
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// to allow compiling with warning level 4 under Microsoft Visual C++ some
|
||||||
|
// warnings just must be disabled
|
||||||
|
#ifdef __VISUALC__
|
||||||
|
#pragma warning(disable: 4514) // unreferenced inline func has been removed
|
||||||
|
/*
|
||||||
|
you might be tempted to disable this one also: triggered by CHECK and FAIL
|
||||||
|
macros in debug.h, but it's, overall, is a rather useful one, so I leave it
|
||||||
|
and will try to find some way to disable this warning just for CHECK/FAIL.
|
||||||
|
Anyone?
|
||||||
|
*/
|
||||||
|
#pragma warning(disable: 4127) // conditional expression is constant
|
||||||
|
|
||||||
|
#endif // VC++
|
||||||
|
|
||||||
|
// Callback function type definition
|
||||||
|
typedef void (*wxFunction) (wxObject&, wxEvent&);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Window style flags.
|
||||||
|
* Values are chosen so they can be |'ed in a bit list.
|
||||||
|
* Some styles are used across more than one group,
|
||||||
|
* so the values mustn't clash with others in the group.
|
||||||
|
* Otherwise, numbers can be reused across groups.
|
||||||
|
*
|
||||||
|
* From version 1.66:
|
||||||
|
* Window (cross-group) styles now take up the first half
|
||||||
|
* of the flag, and control-specific styles the
|
||||||
|
* second half.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Window (Frame/dialog/subwindow/panel item) style flags
|
||||||
|
*/
|
||||||
|
#define wxVSCROLL 0x80000000
|
||||||
|
#define wxHSCROLL 0x40000000
|
||||||
|
#define wxCAPTION 0x20000000
|
||||||
|
|
||||||
|
// New styles
|
||||||
|
#define wxDOUBLE_BORDER 0x10000000
|
||||||
|
#define wxSUNKEN_BORDER 0x08000000
|
||||||
|
#define wxRAISED_BORDER 0x04000000
|
||||||
|
#define wxBORDER 0x02000000
|
||||||
|
#define wxSIMPLE_BORDER 0x02000000
|
||||||
|
#define wxSTATIC_BORDER 0x01000000
|
||||||
|
#define wxTRANSPARENT_WINDOW 0x00100000
|
||||||
|
#define wxNO_BORDER 0x00200000
|
||||||
|
|
||||||
|
#define wxUSER_COLOURS 0x00800000
|
||||||
|
// Override CTL3D etc. control colour processing to
|
||||||
|
// allow own background colour
|
||||||
|
// OBSOLETE - use wxNO_CTL3D instead
|
||||||
|
#define wxNO_3D 0x00800000
|
||||||
|
// Override CTL3D or native 3D styles for children
|
||||||
|
#define wxOVERRIDE_KEY_TRANSLATIONS 0x00400000
|
||||||
|
// TODO: do we need this??? (Motif only)
|
||||||
|
|
||||||
|
// Add this style to a panel to get tab traversal working
|
||||||
|
// outside of dialogs.
|
||||||
|
#define wxTAB_TRAVERSAL 0x00080000
|
||||||
|
|
||||||
|
// Orientations
|
||||||
|
#define wxHORIZONTAL 0x01
|
||||||
|
#define wxVERTICAL 0x02
|
||||||
|
#define wxBOTH (wxVERTICAL|wxHORIZONTAL)
|
||||||
|
#define wxCENTER_FRAME 0x04 /* centering into frame rather than screen */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Frame/dialog style flags
|
||||||
|
*/
|
||||||
|
#define wxSTAY_ON_TOP 0x8000
|
||||||
|
#define wxICONIZE 0x4000
|
||||||
|
#define wxMINIMIZE wxICONIZE
|
||||||
|
#define wxMAXIMIZE 0x2000
|
||||||
|
#define wxTHICK_FRAME 0x1000
|
||||||
|
#define wxSYSTEM_MENU 0x0800
|
||||||
|
#define wxMINIMIZE_BOX 0x0400
|
||||||
|
#define wxMAXIMIZE_BOX 0x0200
|
||||||
|
#define wxTINY_CAPTION_HORIZ 0x0100
|
||||||
|
#define wxTINY_CAPTION_VERT 0x0080
|
||||||
|
#define wxRESIZE_BOX wxMAXIMIZE_BOX
|
||||||
|
#define wxRESIZE_BORDER 0x0040
|
||||||
|
#define wxDIALOG_MODAL 0x0020
|
||||||
|
#define wxDIALOG_MODELESS 0x0000
|
||||||
|
|
||||||
|
#define wxDEFAULT_FRAME_STYLE (wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION)
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY
|
||||||
|
#define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Subwindow style flags
|
||||||
|
*/
|
||||||
|
#define wxRETAINED 0x0001
|
||||||
|
#define wxBACKINGSTORE wxRETAINED
|
||||||
|
// wxCanvas or wxPanel can optionally have a thick frame under MS Windows.
|
||||||
|
// #define wxTHICK_FRAME 0x1000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxToolBar style flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxTB_3DBUTTONS 0x8000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Apply to all panel items
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxCOLOURED 0x0800
|
||||||
|
// Alignment for panel item labels: replaces characters with zeros
|
||||||
|
// when creating label, so spaces can be included in string for alignment.
|
||||||
|
#define wxFIXED_LENGTH 0x0400
|
||||||
|
#define wxALIGN_LEFT 0x0000
|
||||||
|
#define wxALIGN_CENTER 0x0100
|
||||||
|
#define wxALIGN_CENTRE 0x0100
|
||||||
|
#define wxALIGN_RIGHT 0x0200
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Styles for wxListBox
|
||||||
|
*/
|
||||||
|
|
||||||
|
// In wxListBox style flag
|
||||||
|
#define wxSB_MASK 0x0008
|
||||||
|
#define wxNEEDED_SB 0x0000
|
||||||
|
#define wxALWAYS_SB 0x0008
|
||||||
|
|
||||||
|
// New naming convention
|
||||||
|
#define wxLB_NEEDED_SB wxNEEDED_SB
|
||||||
|
#define wxLB_ALWAYS_SB wxALWAYS_SB
|
||||||
|
#define wxLB_SORT 0x0010
|
||||||
|
// These duplicate the styles in the Multiple argument
|
||||||
|
#define wxLB_SINGLE 0x0000
|
||||||
|
#define wxLB_MULTIPLE 0x0040
|
||||||
|
#define wxLB_EXTENDED 0x0080
|
||||||
|
// wxLB_OWNERDRAW is Windows-only
|
||||||
|
#define wxLB_OWNERDRAW 0x0100
|
||||||
|
#define wxLB_HSCROLL wxHSCROLL
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxTextCtrl style flags
|
||||||
|
*/
|
||||||
|
#define wxPROCESS_ENTER 0x0004
|
||||||
|
#define wxPASSWORD 0x0008
|
||||||
|
#define wxTE_PROCESS_ENTER wxPROCESS_ENTER
|
||||||
|
#define wxTE_PASSWORD wxPASSWORD
|
||||||
|
#define wxTE_READONLY 0x0010
|
||||||
|
#define wxTE_MULTILINE 0x0020
|
||||||
|
|
||||||
|
// TODO For backward compatibility, need wxOLD_READONLY
|
||||||
|
#define wxREADONLY wxTE_READONLY
|
||||||
|
#define wxEDITABLE 0
|
||||||
|
|
||||||
|
// #define wxTE_RICHTEXT 0x0020
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxComboBox style flags
|
||||||
|
*/
|
||||||
|
#define wxCB_SIMPLE 0x0004
|
||||||
|
#define wxCB_DROPDOWN 0x0000
|
||||||
|
#define wxCB_SORT 0x0008
|
||||||
|
#define wxCB_READONLY wxREADONLY
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxRadioBox/wxRadioButton style flags
|
||||||
|
*/
|
||||||
|
#define wxRA_HORIZONTAL wxHORIZONTAL
|
||||||
|
#define wxRA_VERTICAL wxVERTICAL
|
||||||
|
#define wxRB_GROUP 0x0004
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxGauge flags
|
||||||
|
*/
|
||||||
|
#define wxGA_PROGRESSBAR 0x0004
|
||||||
|
#define wxGA_HORIZONTAL wxHORIZONTAL
|
||||||
|
#define wxGA_VERTICAL wxVERTICAL
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxSlider flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxSL_HORIZONTAL wxHORIZONTAL
|
||||||
|
#define wxSL_VERTICAL wxVERTICAL
|
||||||
|
// The next one is obsolete - use scroll events instead
|
||||||
|
#define wxSL_NOTIFY_DRAG 0x0000
|
||||||
|
#define wxSL_AUTOTICKS 0x0008
|
||||||
|
// #define wxSL_MANUALTICKS 0x0010
|
||||||
|
#define wxSL_LABELS 0x0020
|
||||||
|
#define wxSL_LEFT 0x0040
|
||||||
|
#define wxSL_TOP 0x0080
|
||||||
|
#define wxSL_RIGHT 0x0100
|
||||||
|
#define wxSL_BOTTOM 0x0200
|
||||||
|
#define wxSL_BOTH 0x0400
|
||||||
|
#define wxSL_SELRANGE 0x0800
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxScrollBar flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxSB_HORIZONTAL wxHORIZONTAL
|
||||||
|
#define wxSB_VERTICAL wxVERTICAL
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxButton flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxBU_AUTODRAW 0x0004
|
||||||
|
#define wxBU_NOAUTODRAW 0x0000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxTreeCtrl flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxTR_HAS_BUTTONS 0x0004
|
||||||
|
#define wxTR_EDIT_LABELS 0x0008
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxListCtrl flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxLC_ICON 0x0004
|
||||||
|
#define wxLC_SMALL_ICON 0x0008
|
||||||
|
#define wxLC_LIST 0x0010
|
||||||
|
#define wxLC_REPORT 0x0020
|
||||||
|
#define wxLC_ALIGN_TOP 0x0040
|
||||||
|
#define wxLC_ALIGN_LEFT 0x0080
|
||||||
|
#define wxLC_AUTOARRANGE 0x0100
|
||||||
|
#define wxLC_USER_TEXT 0x0200
|
||||||
|
#define wxLC_EDIT_LABELS 0x0400
|
||||||
|
#define wxLC_NO_HEADER 0x0800
|
||||||
|
#define wxLC_NO_SORT_HEADER 0x1000
|
||||||
|
#define wxLC_SINGLE_SEL 0x2000
|
||||||
|
#define wxLC_SORT_ASCENDING 0x4000
|
||||||
|
#define wxLC_SORT_DESCENDING 0x8000
|
||||||
|
|
||||||
|
#define wxLC_MASK_TYPE (wxLC_ICON | wxLC_SMALL_ICON | wxLC_LIST | wxLC_REPORT)
|
||||||
|
#define wxLC_MASK_ALIGN (wxLC_ALIGN_TOP | wxLC_ALIGN_LEFT)
|
||||||
|
#define wxLC_MASK_SORT (wxLC_SORT_ASCENDING | wxLC_SORT_DESCENDING)
|
||||||
|
|
||||||
|
// Omitted because (a) too much detail (b) not enough style flags
|
||||||
|
// #define wxLC_NO_SCROLL
|
||||||
|
// #define wxLC_NO_LABEL_WRAP
|
||||||
|
// #define wxLC_OWNERDRAW_FIXED
|
||||||
|
// #define wxLC_SHOW_SEL_ALWAYS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxSpinButton flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxSP_VERTICAL 0x0004
|
||||||
|
#define wxSP_HORIZONTAL 0x0008
|
||||||
|
#define wxSP_ARROW_KEYS 0x0010
|
||||||
|
#define wxSP_WRAP 0x0020
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxSplitterWnd flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxSP_NOBORDER 0x0000
|
||||||
|
#define wxSP_3D 0x0004
|
||||||
|
#define wxSP_BORDER 0x0008
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxTabCtrl flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxTAB_MULTILINE 0x0000
|
||||||
|
#define wxTAB_RIGHTJUSTIFY 0x0004
|
||||||
|
#define wxTAB_FIXEDWIDTH 0x0008
|
||||||
|
#define wxTAB_OWNERDRAW 0x0010
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxStatusBar95 flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxSB_SIZEGRIP 0x0002
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GDI descriptions
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum {
|
||||||
|
// Text font families
|
||||||
|
wxDEFAULT = 70,
|
||||||
|
wxDECORATIVE,
|
||||||
|
wxROMAN,
|
||||||
|
wxSCRIPT,
|
||||||
|
wxSWISS,
|
||||||
|
wxMODERN,
|
||||||
|
wxTELETYPE, /* @@@@ */
|
||||||
|
|
||||||
|
// Proportional or Fixed width fonts (not yet used)
|
||||||
|
wxVARIABLE = 80,
|
||||||
|
wxFIXED,
|
||||||
|
|
||||||
|
wxNORMAL = 90,
|
||||||
|
wxLIGHT,
|
||||||
|
wxBOLD,
|
||||||
|
// Also wxNORMAL for normal (non-italic text)
|
||||||
|
wxITALIC,
|
||||||
|
wxSLANT,
|
||||||
|
|
||||||
|
// Pen styles
|
||||||
|
wxSOLID = 100,
|
||||||
|
wxDOT,
|
||||||
|
wxLONG_DASH,
|
||||||
|
wxSHORT_DASH,
|
||||||
|
wxDOT_DASH,
|
||||||
|
wxUSER_DASH,
|
||||||
|
|
||||||
|
wxTRANSPARENT,
|
||||||
|
|
||||||
|
// Brush & Pen Stippling. Note that a stippled pen cannot be dashed!!
|
||||||
|
// Note also that stippling a Pen IS meaningfull, because a Line is
|
||||||
|
// drawn with a Pen, and without any Brush -- and it can be stippled.
|
||||||
|
wxSTIPPLE = 110,
|
||||||
|
wxBDIAGONAL_HATCH,
|
||||||
|
wxCROSSDIAG_HATCH,
|
||||||
|
wxFDIAGONAL_HATCH,
|
||||||
|
wxCROSS_HATCH,
|
||||||
|
wxHORIZONTAL_HATCH,
|
||||||
|
wxVERTICAL_HATCH,
|
||||||
|
#define IS_HATCH(s) ((s)>=wxBDIAGONAL_HATCH && (s)<=wxVERTICAL_HATCH)
|
||||||
|
|
||||||
|
wxJOIN_BEVEL = 120,
|
||||||
|
wxJOIN_MITER,
|
||||||
|
wxJOIN_ROUND,
|
||||||
|
|
||||||
|
wxCAP_ROUND = 130,
|
||||||
|
wxCAP_PROJECTING,
|
||||||
|
wxCAP_BUTT
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Logical ops
|
||||||
|
typedef enum {
|
||||||
|
wxCLEAR, // 0
|
||||||
|
wxXOR, // src XOR dst
|
||||||
|
wxINVERT, // NOT dst
|
||||||
|
wxOR_REVERSE, // src OR (NOT dst)
|
||||||
|
wxAND_REVERSE,// src AND (NOT dst)
|
||||||
|
wxCOPY, // src
|
||||||
|
wxAND, // src AND dst
|
||||||
|
wxAND_INVERT, // (NOT src) AND dst
|
||||||
|
wxNO_OP, // dst
|
||||||
|
wxNOR, // (NOT src) AND (NOT dst)
|
||||||
|
wxEQUIV, // (NOT src) XOR dst
|
||||||
|
wxSRC_INVERT, // (NOT src)
|
||||||
|
wxOR_INVERT, // (NOT src) OR dst
|
||||||
|
wxNAND, // (NOT src) OR (NOT dst)
|
||||||
|
wxOR, // src OR dst
|
||||||
|
wxSET, // 1
|
||||||
|
wxSRC_OR, // source _bitmap_ OR destination
|
||||||
|
wxSRC_AND // source _bitmap_ AND destination
|
||||||
|
} form_ops_t;
|
||||||
|
|
||||||
|
// Flood styles
|
||||||
|
#define wxFLOOD_SURFACE 1
|
||||||
|
#define wxFLOOD_BORDER 2
|
||||||
|
|
||||||
|
// Polygon filling mode
|
||||||
|
#define wxODDEVEN_RULE 1
|
||||||
|
#define wxWINDING_RULE 2
|
||||||
|
|
||||||
|
// ToolPanel in wxFrame
|
||||||
|
#define wxTOOL_TOP 1
|
||||||
|
#define wxTOOL_BOTTOM 2
|
||||||
|
#define wxTOOL_LEFT 3
|
||||||
|
#define wxTOOL_RIGHT 4
|
||||||
|
|
||||||
|
// Dialog specifiers/return values
|
||||||
|
|
||||||
|
#define wxOK 0x0001
|
||||||
|
#define wxYES_NO 0x0002
|
||||||
|
#define wxCANCEL 0x0004
|
||||||
|
#define wxYES 0x0008
|
||||||
|
#define wxNO 0x0010
|
||||||
|
|
||||||
|
#define wxICON_EXCLAMATION 0x0020
|
||||||
|
#define wxICON_HAND 0x0040
|
||||||
|
#define wxICON_QUESTION 0x0080
|
||||||
|
#define wxICON_INFORMATION 0x0100
|
||||||
|
|
||||||
|
#define wxICON_STOP wxICON_HAND
|
||||||
|
#define wxICON_ASTERISK wxICON_INFORMATION
|
||||||
|
#define wxICON_MASK (0x0020|0x0040|0x0080|0x0100)
|
||||||
|
|
||||||
|
#define wxCENTRE 0x0200
|
||||||
|
#define wxCENTER wxCENTRE
|
||||||
|
|
||||||
|
// Possible SetSize flags
|
||||||
|
|
||||||
|
// Use internally-calculated width if -1
|
||||||
|
#define wxSIZE_AUTO_WIDTH 1
|
||||||
|
// Use internally-calculated height if -1
|
||||||
|
#define wxSIZE_AUTO_HEIGHT 2
|
||||||
|
// Use internally-calculated width and height if each is -1
|
||||||
|
#define wxSIZE_AUTO 3
|
||||||
|
// Ignore missing (-1) dimensions (use existing).
|
||||||
|
// For readability only: test for wxSIZE_AUTO_WIDTH/HEIGHT in code.
|
||||||
|
#define wxSIZE_USE_EXISTING 0
|
||||||
|
// Allow -1 as a valid position
|
||||||
|
#define wxSIZE_ALLOW_MINUS_ONE 4
|
||||||
|
|
||||||
|
// Clipboard formats
|
||||||
|
// Numbers as per winuser.h
|
||||||
|
# define wxCF_TEXT 1 /* CF_TEXT */
|
||||||
|
# define wxCF_BITMAP 2 /* CF_BITMAP */
|
||||||
|
# define wxCF_METAFILE 3 /* CF_METAFILEPICT */
|
||||||
|
# define wxCF_DIB 8 /* CF_DIB */
|
||||||
|
# define wxCF_OEMTEXT 7 /* CF_OEMTEXT */
|
||||||
|
|
||||||
|
// Virtual keycodes
|
||||||
|
enum _Virtual_keycodes {
|
||||||
|
WXK_BACK = 8,
|
||||||
|
WXK_TAB = 9,
|
||||||
|
WXK_RETURN = 13,
|
||||||
|
WXK_ESCAPE = 27,
|
||||||
|
WXK_SPACE = 32,
|
||||||
|
WXK_DELETE = 127,
|
||||||
|
|
||||||
|
WXK_START = 300,
|
||||||
|
WXK_LBUTTON,
|
||||||
|
WXK_RBUTTON,
|
||||||
|
WXK_CANCEL,
|
||||||
|
WXK_MBUTTON,
|
||||||
|
WXK_CLEAR,
|
||||||
|
WXK_SHIFT,
|
||||||
|
WXK_CONTROL,
|
||||||
|
WXK_MENU,
|
||||||
|
WXK_PAUSE,
|
||||||
|
WXK_CAPITAL,
|
||||||
|
WXK_PRIOR, // Page up
|
||||||
|
WXK_NEXT, // Page down
|
||||||
|
WXK_END,
|
||||||
|
WXK_HOME,
|
||||||
|
WXK_LEFT,
|
||||||
|
WXK_UP,
|
||||||
|
WXK_RIGHT,
|
||||||
|
WXK_DOWN,
|
||||||
|
WXK_SELECT,
|
||||||
|
WXK_PRINT,
|
||||||
|
WXK_EXECUTE,
|
||||||
|
WXK_SNAPSHOT,
|
||||||
|
WXK_INSERT,
|
||||||
|
WXK_HELP,
|
||||||
|
WXK_NUMPAD0,
|
||||||
|
WXK_NUMPAD1,
|
||||||
|
WXK_NUMPAD2,
|
||||||
|
WXK_NUMPAD3,
|
||||||
|
WXK_NUMPAD4,
|
||||||
|
WXK_NUMPAD5,
|
||||||
|
WXK_NUMPAD6,
|
||||||
|
WXK_NUMPAD7,
|
||||||
|
WXK_NUMPAD8,
|
||||||
|
WXK_NUMPAD9,
|
||||||
|
WXK_MULTIPLY,
|
||||||
|
WXK_ADD,
|
||||||
|
WXK_SEPARATOR,
|
||||||
|
WXK_SUBTRACT,
|
||||||
|
WXK_DECIMAL,
|
||||||
|
WXK_DIVIDE,
|
||||||
|
WXK_F1,
|
||||||
|
WXK_F2,
|
||||||
|
WXK_F3,
|
||||||
|
WXK_F4,
|
||||||
|
WXK_F5,
|
||||||
|
WXK_F6,
|
||||||
|
WXK_F7,
|
||||||
|
WXK_F8,
|
||||||
|
WXK_F9,
|
||||||
|
WXK_F10,
|
||||||
|
WXK_F11,
|
||||||
|
WXK_F12,
|
||||||
|
WXK_F13,
|
||||||
|
WXK_F14,
|
||||||
|
WXK_F15,
|
||||||
|
WXK_F16,
|
||||||
|
WXK_F17,
|
||||||
|
WXK_F18,
|
||||||
|
WXK_F19,
|
||||||
|
WXK_F20,
|
||||||
|
WXK_F21,
|
||||||
|
WXK_F22,
|
||||||
|
WXK_F23,
|
||||||
|
WXK_F24,
|
||||||
|
WXK_NUMLOCK,
|
||||||
|
WXK_SCROLL,
|
||||||
|
WXK_PAGEUP,
|
||||||
|
WXK_PAGEDOWN
|
||||||
|
};
|
||||||
|
|
||||||
|
// Colours - see wx_gdi.cc for database
|
||||||
|
|
||||||
|
// OS mnemonics -- Identify the running OS (useful for Windows)
|
||||||
|
// [Not all platforms are currently available or supported]
|
||||||
|
enum {
|
||||||
|
wxCURSES,
|
||||||
|
wxXVIEW_X, // Sun's XView OpenLOOK toolkit
|
||||||
|
wxMOTIF_X, // OSF Motif 1.x.x
|
||||||
|
wxCOSE_X, // OSF Common Desktop Environment
|
||||||
|
wxNEXTSTEP, // NeXTStep
|
||||||
|
wxMACINTOSH, // Apple System 7
|
||||||
|
wxGEOS, // GEOS
|
||||||
|
wxOS2_PM, // OS/2 Workplace
|
||||||
|
wxWINDOWS, // Windows or WfW
|
||||||
|
wxPENWINDOWS, // Windows for Pen Computing
|
||||||
|
wxWINDOWS_NT, // Windows NT
|
||||||
|
wxWIN32S, // Windows 32S API
|
||||||
|
wxWIN95, // Windows 95
|
||||||
|
wxWIN386 // Watcom 32-bit supervisor modus
|
||||||
|
};
|
||||||
|
|
||||||
|
// Printing
|
||||||
|
#ifndef wxPORTRAIT
|
||||||
|
#define wxPORTRAIT 1
|
||||||
|
#define wxLANDSCAPE 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Standard menu identifiers
|
||||||
|
#define wxID_OPEN 5000
|
||||||
|
#define wxID_CLOSE 5001
|
||||||
|
#define wxID_NEW 5002
|
||||||
|
#define wxID_SAVE 5003
|
||||||
|
#define wxID_SAVEAS 5004
|
||||||
|
#define wxID_REVERT 5005
|
||||||
|
#define wxID_EXIT 5006
|
||||||
|
#define wxID_UNDO 5007
|
||||||
|
#define wxID_REDO 5008
|
||||||
|
#define wxID_HELP 5009
|
||||||
|
#define wxID_PRINT 5010
|
||||||
|
#define wxID_PRINT_SETUP 5011
|
||||||
|
#define wxID_PREVIEW 5012
|
||||||
|
#define wxID_ABOUT 5013
|
||||||
|
#define wxID_HELP_CONTENTS 5014
|
||||||
|
#define wxID_HELP_COMMANDS 5015
|
||||||
|
#define wxID_HELP_PROCEDURES 5016
|
||||||
|
#define wxID_HELP_CONTEXT 5017
|
||||||
|
|
||||||
|
#define wxID_CUT 5030
|
||||||
|
#define wxID_COPY 5031
|
||||||
|
#define wxID_PASTE 5032
|
||||||
|
#define wxID_CLEAR 5033
|
||||||
|
#define wxID_FIND 5034
|
||||||
|
|
||||||
|
#define wxID_FILE1 5050
|
||||||
|
#define wxID_FILE2 5051
|
||||||
|
#define wxID_FILE3 5052
|
||||||
|
#define wxID_FILE4 5053
|
||||||
|
#define wxID_FILE5 5054
|
||||||
|
#define wxID_FILE6 5055
|
||||||
|
#define wxID_FILE7 5056
|
||||||
|
#define wxID_FILE8 5057
|
||||||
|
#define wxID_FILE9 5058
|
||||||
|
|
||||||
|
#define wxID_OK 5100
|
||||||
|
#define wxID_CANCEL 5101
|
||||||
|
#define wxID_APPLY 5102
|
||||||
|
#define wxID_YES 5103
|
||||||
|
#define wxID_NO 5104
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
// Stand-ins for Windows types, to avoid
|
||||||
|
// #including all of windows.h
|
||||||
|
|
||||||
|
typedef unsigned long WXHWND;
|
||||||
|
typedef unsigned long WXHANDLE;
|
||||||
|
typedef unsigned long WXHICON;
|
||||||
|
typedef unsigned long WXHFONT;
|
||||||
|
typedef unsigned long WXHMENU;
|
||||||
|
typedef unsigned long WXHPEN;
|
||||||
|
typedef unsigned long WXHBRUSH;
|
||||||
|
typedef unsigned long WXHPALETTE;
|
||||||
|
typedef unsigned long WXHCURSOR;
|
||||||
|
typedef unsigned long WXHRGN;
|
||||||
|
typedef unsigned long WXHINSTANCE;
|
||||||
|
typedef unsigned long WXHBITMAP;
|
||||||
|
typedef unsigned long WXHIMAGELIST;
|
||||||
|
typedef unsigned long WXHGLOBAL;
|
||||||
|
typedef unsigned long WXHDC;
|
||||||
|
typedef unsigned int WXUINT;
|
||||||
|
typedef unsigned long WXDWORD;
|
||||||
|
typedef unsigned short WXWORD;
|
||||||
|
typedef unsigned int WXWPARAM;
|
||||||
|
typedef long WXLPARAM;
|
||||||
|
typedef unsigned long WXCOLORREF;
|
||||||
|
typedef void * WXRGN;
|
||||||
|
typedef void * WXRGNDATA;
|
||||||
|
typedef void * WXMSG;
|
||||||
|
typedef unsigned long WXHCONV;
|
||||||
|
typedef void * WXDRAWITEMSTRUCT;
|
||||||
|
typedef void * WXMEASUREITEMSTRUCT;
|
||||||
|
typedef void * WXLPCREATESTRUCT;
|
||||||
|
typedef int (*WXFARPROC)();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __WXDEFSH__
|
||||||
13
include/wx/dialog.h
Normal file
13
include/wx/dialog.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DIALOGH_BASE__
|
||||||
|
#define __DIALOGH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dialog.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dialog.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dialog.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DIALOGH_BASE__
|
||||||
13
include/wx/dirdlg.h
Normal file
13
include/wx/dirdlg.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __DIRDLGH_BASE__
|
||||||
|
#define __DIRDLGH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/dirdlg.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/dirdlg.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dirdlg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DIRDLGH_BASE__
|
||||||
11
include/wx/dnd.h
Normal file
11
include/wx/dnd.h
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#ifndef __DNDH_BASE__
|
||||||
|
#define __DNDH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/dnd.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __DNDH_BASE__
|
||||||
519
include/wx/docview.h
Normal file
519
include/wx/docview.h
Normal file
@@ -0,0 +1,519 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: docview.h
|
||||||
|
// Purpose: Doc/View classes
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __DOCH__
|
||||||
|
#define __DOCH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "docview.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/cmndata.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
|
||||||
|
#if USE_PRINTING_ARCHITECTURE
|
||||||
|
#include "wx/print.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxWindow;
|
||||||
|
class WXDLLEXPORT wxDocument;
|
||||||
|
class WXDLLEXPORT wxView;
|
||||||
|
class WXDLLEXPORT wxDocTemplate;
|
||||||
|
class WXDLLEXPORT wxDocManager;
|
||||||
|
class WXDLLEXPORT wxPrintInfo;
|
||||||
|
class WXDLLEXPORT wxCommand;
|
||||||
|
class WXDLLEXPORT wxCommandProcessor;
|
||||||
|
class WXDLLEXPORT wxFileHistory;
|
||||||
|
|
||||||
|
class WXDLLIMPORT ostream;
|
||||||
|
class WXDLLIMPORT istream;
|
||||||
|
|
||||||
|
// Document manager flags
|
||||||
|
#define wxDOC_SDI 1
|
||||||
|
#define wxDOC_MDI 2
|
||||||
|
#define wxDOC_NEW 4
|
||||||
|
#define wxDOC_SILENT 8
|
||||||
|
#define wxDEFAULT_DOCMAN_FLAGS wxDOC_SDI
|
||||||
|
|
||||||
|
// Document template flags
|
||||||
|
#define wxTEMPLATE_VISIBLE 1
|
||||||
|
#define wxTEMPLATE_INVISIBLE 2
|
||||||
|
#define wxDEFAULT_TEMPLATE_FLAGS wxTEMPLATE_VISIBLE
|
||||||
|
|
||||||
|
#define wxMAX_FILE_HISTORY 9
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxDocument : public wxEvtHandler
|
||||||
|
{
|
||||||
|
DECLARE_ABSTRACT_CLASS(wxDocument)
|
||||||
|
public:
|
||||||
|
wxDocument(wxDocument *parent = NULL);
|
||||||
|
~wxDocument(void);
|
||||||
|
|
||||||
|
void SetFilename(const wxString& filename, bool notifyViews = FALSE);
|
||||||
|
inline wxString GetFilename(void) const { return m_documentFile; }
|
||||||
|
inline void SetTitle(const wxString& title) { m_documentTitle = title; };
|
||||||
|
inline wxString GetTitle(void) const { return m_documentTitle; }
|
||||||
|
inline void SetDocumentName(const wxString& name) { m_documentTypeName = name; };
|
||||||
|
inline wxString GetDocumentName(void) const { return m_documentTypeName; }
|
||||||
|
// Has the document been saved yet?
|
||||||
|
inline bool GetDocumentSaved(void) { return m_savedYet; }
|
||||||
|
inline void SetDocumentSaved(bool saved = TRUE) { m_savedYet = saved; }
|
||||||
|
|
||||||
|
virtual bool Close(void);
|
||||||
|
virtual bool Save(void);
|
||||||
|
virtual bool SaveAs(void);
|
||||||
|
virtual bool Revert(void);
|
||||||
|
|
||||||
|
virtual ostream& SaveObject(ostream& stream);
|
||||||
|
virtual istream& LoadObject(istream& stream);
|
||||||
|
|
||||||
|
// Called by wxWindows
|
||||||
|
virtual bool OnSaveDocument(const wxString& filename);
|
||||||
|
virtual bool OnOpenDocument(const wxString& filename);
|
||||||
|
virtual bool OnNewDocument(void);
|
||||||
|
virtual bool OnCloseDocument(void);
|
||||||
|
|
||||||
|
// Prompts for saving if about to close a modified document.
|
||||||
|
// Returns TRUE if ok to close the document (may have saved in the
|
||||||
|
// meantime, or set modified to FALSE)
|
||||||
|
virtual bool OnSaveModified(void);
|
||||||
|
|
||||||
|
// Called by framework if created automatically by the
|
||||||
|
// default document manager: gives document a chance to
|
||||||
|
// initialise and (usually) create a view
|
||||||
|
virtual bool OnCreate(const wxString& path, long flags);
|
||||||
|
|
||||||
|
// By default, creates a base wxCommandProcessor.
|
||||||
|
virtual wxCommandProcessor *OnCreateCommandProcessor(void);
|
||||||
|
virtual inline wxCommandProcessor *GetCommandProcessor(void) const { return m_commandProcessor; }
|
||||||
|
virtual inline void SetCommandProcessor(wxCommandProcessor *proc) { m_commandProcessor = proc; }
|
||||||
|
|
||||||
|
// Called after a view is added or removed.
|
||||||
|
// The default implementation deletes the document if this
|
||||||
|
// is there are no more views.
|
||||||
|
virtual void OnChangedViewList(void);
|
||||||
|
|
||||||
|
virtual bool DeleteContents(void);
|
||||||
|
|
||||||
|
virtual bool Draw(wxDC&);
|
||||||
|
virtual inline bool IsModified(void) const { return m_documentModified; }
|
||||||
|
virtual inline void Modify(bool mod) { m_documentModified = mod; }
|
||||||
|
|
||||||
|
virtual bool AddView(wxView *view);
|
||||||
|
virtual bool RemoveView(wxView *view);
|
||||||
|
inline wxList& GetViews(void) const { return (wxList&) m_documentViews; }
|
||||||
|
wxView *GetFirstView(void) const;
|
||||||
|
|
||||||
|
virtual void UpdateAllViews(wxView *sender = NULL, wxObject *hint = NULL);
|
||||||
|
|
||||||
|
// Remove all views (because we're closing the document)
|
||||||
|
virtual bool DeleteAllViews(void);
|
||||||
|
|
||||||
|
// Other stuff
|
||||||
|
virtual wxDocManager *GetDocumentManager(void) const;
|
||||||
|
virtual inline wxDocTemplate *GetDocumentTemplate(void) const { return m_documentTemplate; }
|
||||||
|
virtual inline void SetDocumentTemplate(wxDocTemplate *temp) { m_documentTemplate = temp; }
|
||||||
|
|
||||||
|
// Get title, or filename if no title, else [unnamed]
|
||||||
|
virtual bool GetPrintableName(wxString& buf) const;
|
||||||
|
|
||||||
|
// Returns a window that can be used as a parent for document-related
|
||||||
|
// dialogs. Override if necessary.
|
||||||
|
virtual wxWindow *GetDocumentWindow(void) const;
|
||||||
|
protected:
|
||||||
|
wxList m_documentViews;
|
||||||
|
wxString m_documentFile;
|
||||||
|
wxString m_documentTitle;
|
||||||
|
wxString m_documentTypeName;
|
||||||
|
wxDocTemplate* m_documentTemplate;
|
||||||
|
bool m_documentModified;
|
||||||
|
wxDocument* m_documentParent;
|
||||||
|
wxCommandProcessor* m_commandProcessor;
|
||||||
|
bool m_savedYet;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxView: public wxEvtHandler
|
||||||
|
{
|
||||||
|
DECLARE_ABSTRACT_CLASS(wxView)
|
||||||
|
public:
|
||||||
|
wxView(wxDocument *doc = NULL);
|
||||||
|
~wxView(void);
|
||||||
|
|
||||||
|
inline wxDocument *GetDocument(void) const { return m_viewDocument; }
|
||||||
|
void SetDocument(wxDocument *doc);
|
||||||
|
|
||||||
|
inline wxString GetViewName(void) const { return m_viewTypeName; }
|
||||||
|
void SetViewName(const wxString& name) { m_viewTypeName = name; };
|
||||||
|
|
||||||
|
inline wxFrame *GetFrame(void) const { return m_viewFrame ; }
|
||||||
|
inline void SetFrame(wxFrame *frame) { m_viewFrame = frame; }
|
||||||
|
|
||||||
|
virtual void OnActivateView(bool activate, wxView *activeView, wxView *deactiveView);
|
||||||
|
virtual void OnDraw(wxDC *dc) = 0;
|
||||||
|
virtual void OnPrint(wxDC *dc, wxObject *info);
|
||||||
|
virtual void OnUpdate(wxView *sender, wxObject *hint = NULL);
|
||||||
|
virtual void OnChangeFilename(void);
|
||||||
|
|
||||||
|
// Called by framework if created automatically by the
|
||||||
|
// default document manager class: gives view a chance to
|
||||||
|
// initialise
|
||||||
|
virtual bool OnCreate(wxDocument *WXUNUSED(doc), long WXUNUSED(flags)) { return TRUE; };
|
||||||
|
|
||||||
|
// Checks if the view is the last one for the document; if so,
|
||||||
|
// asks user to confirm save data (if modified). If ok,
|
||||||
|
// deletes itself and returns TRUE.
|
||||||
|
virtual bool Close(bool deleteWindow = TRUE);
|
||||||
|
|
||||||
|
// Override to do cleanup/veto close
|
||||||
|
virtual bool OnClose(bool deleteWindow);
|
||||||
|
// Defeat compiler warning
|
||||||
|
inline bool OnClose(void) { return wxEvtHandler::OnClose(); }
|
||||||
|
|
||||||
|
// Extend event processing to search the document's event table
|
||||||
|
virtual bool ProcessEvent(wxEvent& event);
|
||||||
|
|
||||||
|
// A view's window can call this to notify the view it is (in)active.
|
||||||
|
// The function then notifies the document manager.
|
||||||
|
virtual void Activate(bool activate);
|
||||||
|
|
||||||
|
inline wxDocManager *GetDocumentManager(void) const { return m_viewDocument->GetDocumentManager(); }
|
||||||
|
|
||||||
|
#if USE_PRINTING_ARCHITECTURE
|
||||||
|
virtual wxPrintout *OnCreatePrintout(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxDocument* m_viewDocument;
|
||||||
|
wxString m_viewTypeName;
|
||||||
|
wxFrame* m_viewFrame;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Represents user interface (and other) properties of documents and views
|
||||||
|
class WXDLLEXPORT wxDocTemplate: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxDocTemplate)
|
||||||
|
|
||||||
|
friend class WXDLLEXPORT wxDocManager;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Associate document and view types.
|
||||||
|
// They're for identifying what view is associated with what
|
||||||
|
// template/document type
|
||||||
|
wxDocTemplate(wxDocManager *manager, const wxString& descr, const wxString& filter, const wxString& dir,
|
||||||
|
const wxString& ext, const wxString& docTypeName, const wxString& viewTypeName,
|
||||||
|
wxClassInfo *docClassInfo = NULL, wxClassInfo *viewClassInfo = NULL,
|
||||||
|
long flags = wxDEFAULT_TEMPLATE_FLAGS);
|
||||||
|
|
||||||
|
~wxDocTemplate(void);
|
||||||
|
|
||||||
|
// By default, these two member functions dynamically creates document
|
||||||
|
// and view using dynamic instance construction.
|
||||||
|
// Override these if you need a different method of construction.
|
||||||
|
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
||||||
|
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
||||||
|
|
||||||
|
inline wxString GetDefaultExtension(void) const { return m_defaultExt; };
|
||||||
|
inline wxString GetDescription(void) const { return m_description; }
|
||||||
|
inline wxString GetDirectory(void) const { return m_directory; };
|
||||||
|
inline wxDocManager *GetDocumentManager(void) const { return m_documentManager; }
|
||||||
|
inline void SetDocumentManager(wxDocManager *manager) { m_documentManager = manager; }
|
||||||
|
inline wxString GetFileFilter(void) const { return m_fileFilter; };
|
||||||
|
inline long GetFlags(void) const { return m_flags; };
|
||||||
|
virtual wxString GetViewName(void) const { return m_viewTypeName; }
|
||||||
|
virtual wxString GetDocumentName(void) const { return m_docTypeName; }
|
||||||
|
|
||||||
|
inline void SetFileFilter(const wxString& filter) { m_fileFilter = filter; };
|
||||||
|
inline void SetDirectory(const wxString& dir) { m_directory = dir; };
|
||||||
|
inline void SetDescription(const wxString& descr) { m_description = descr; };
|
||||||
|
inline void SetDefaultExtension(const wxString& ext) { m_defaultExt = ext; };
|
||||||
|
inline void SetFlags(long flags) { m_flags = flags; };
|
||||||
|
|
||||||
|
inline bool IsVisible(void) const { return ((m_flags & wxTEMPLATE_VISIBLE) == wxTEMPLATE_VISIBLE); }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
long m_flags;
|
||||||
|
wxString m_fileFilter;
|
||||||
|
wxString m_directory;
|
||||||
|
wxString m_description;
|
||||||
|
wxString m_defaultExt;
|
||||||
|
wxString m_docTypeName;
|
||||||
|
wxString m_viewTypeName;
|
||||||
|
wxDocManager* m_documentManager;
|
||||||
|
|
||||||
|
// For dynamic creation of appropriate instances.
|
||||||
|
wxClassInfo* m_docClassInfo;
|
||||||
|
wxClassInfo* m_viewClassInfo;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// One object of this class may be created in an application,
|
||||||
|
// to manage all the templates and documents.
|
||||||
|
class WXDLLEXPORT wxDocManager: public wxEvtHandler
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxDocManager)
|
||||||
|
public:
|
||||||
|
wxDocManager(long flags = wxDEFAULT_DOCMAN_FLAGS, bool initialize = TRUE);
|
||||||
|
~wxDocManager(void);
|
||||||
|
|
||||||
|
virtual bool Initialize(void);
|
||||||
|
|
||||||
|
// Handlers for common user commands
|
||||||
|
// virtual void OldOnMenuCommand(int command);
|
||||||
|
|
||||||
|
void OnFileClose(wxCommandEvent& event);
|
||||||
|
void OnFileNew(wxCommandEvent& event);
|
||||||
|
void OnFileOpen(wxCommandEvent& event);
|
||||||
|
void OnFileRevert(wxCommandEvent& event);
|
||||||
|
void OnFileSave(wxCommandEvent& event);
|
||||||
|
void OnFileSaveAs(wxCommandEvent& event);
|
||||||
|
void OnPrint(wxCommandEvent& event);
|
||||||
|
void OnPrintSetup(wxCommandEvent& event);
|
||||||
|
void OnPreview(wxCommandEvent& event);
|
||||||
|
void OnUndo(wxCommandEvent& event);
|
||||||
|
void OnRedo(wxCommandEvent& event);
|
||||||
|
|
||||||
|
#ifdef WXWIN_COMPATIBILITY
|
||||||
|
virtual wxDocument *CreateDocument(char *WXUNUSED(path), long WXUNUSED(flags = 0)) { return NULL; };
|
||||||
|
#endif
|
||||||
|
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
||||||
|
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
||||||
|
virtual void DeleteTemplate(wxDocTemplate *temp, long flags = 0);
|
||||||
|
virtual bool FlushDoc(wxDocument *doc);
|
||||||
|
virtual wxDocTemplate *MatchTemplate(const wxString& path);
|
||||||
|
virtual wxDocTemplate *SelectDocumentPath(wxDocTemplate **templates,
|
||||||
|
int noTemplates, wxString& path, long flags, bool save = FALSE);
|
||||||
|
virtual wxDocTemplate *SelectDocumentType(wxDocTemplate **templates,
|
||||||
|
int noTemplates);
|
||||||
|
virtual wxDocTemplate *SelectViewType(wxDocTemplate **templates,
|
||||||
|
int noTemplates);
|
||||||
|
virtual wxDocTemplate *FindTemplateForPath(const wxString& path);
|
||||||
|
|
||||||
|
void AssociateTemplate(wxDocTemplate *temp);
|
||||||
|
void DisassociateTemplate(wxDocTemplate *temp);
|
||||||
|
|
||||||
|
wxDocument *GetCurrentDocument(void) const;
|
||||||
|
|
||||||
|
inline void SetMaxDocsOpen(int n) { m_maxDocsOpen = n; }
|
||||||
|
inline int GetMaxDocsOpen(void) const { return m_maxDocsOpen; }
|
||||||
|
|
||||||
|
// Add and remove a document from the manager's list
|
||||||
|
void AddDocument(wxDocument *doc);
|
||||||
|
void RemoveDocument(wxDocument *doc);
|
||||||
|
|
||||||
|
// Clear remaining documents and templates
|
||||||
|
bool Clear(bool force = TRUE);
|
||||||
|
|
||||||
|
// Views or windows should inform the document manager
|
||||||
|
// when a view is going in or out of focus
|
||||||
|
virtual void ActivateView(wxView *view, bool activate = TRUE, bool deleting = FALSE);
|
||||||
|
virtual inline wxView *GetCurrentView(void) const { return m_currentView; }
|
||||||
|
|
||||||
|
virtual inline wxList& GetDocuments(void) const { return (wxList&) m_docs; }
|
||||||
|
|
||||||
|
// Make a default document name
|
||||||
|
virtual bool MakeDefaultName(wxString& buf);
|
||||||
|
|
||||||
|
virtual wxFileHistory *OnCreateFileHistory(void);
|
||||||
|
virtual inline wxFileHistory *GetFileHistory(void) const { return m_fileHistory; }
|
||||||
|
|
||||||
|
// File history management
|
||||||
|
virtual void AddFileToHistory(const wxString& file);
|
||||||
|
virtual int GetNoHistoryFiles(void) const;
|
||||||
|
virtual wxString GetHistoryFile(int i) const;
|
||||||
|
virtual void FileHistoryUseMenu(wxMenu *menu);
|
||||||
|
virtual void FileHistoryLoad(const wxString& resourceFile, const wxString& section);
|
||||||
|
virtual void FileHistorySave(const wxString& resourceFile, const wxString& section);
|
||||||
|
protected:
|
||||||
|
long m_flags;
|
||||||
|
int m_defaultDocumentNameCounter;
|
||||||
|
int m_maxDocsOpen;
|
||||||
|
wxList m_docs;
|
||||||
|
wxList m_templates;
|
||||||
|
wxView* m_currentView;
|
||||||
|
wxFileHistory* m_fileHistory;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A default child frame
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxDocChildFrame: public wxFrame
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxDocChildFrame)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxDocChildFrame(wxDocument *doc, wxView *view, wxFrame *frame, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
|
const long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
|
||||||
|
~wxDocChildFrame(void);
|
||||||
|
|
||||||
|
bool OnClose(void);
|
||||||
|
// Extend event processing to search the view's event table
|
||||||
|
virtual bool ProcessEvent(wxEvent& event);
|
||||||
|
|
||||||
|
// void OldOnMenuCommand(int id);
|
||||||
|
void OnActivate(wxActivateEvent& event);
|
||||||
|
|
||||||
|
inline wxDocument *GetDocument(void) const { return m_childDocument; }
|
||||||
|
inline wxView *GetView(void) const { return m_childView; }
|
||||||
|
inline void SetDocument(wxDocument *doc) { m_childDocument = doc; }
|
||||||
|
inline void SetView(wxView *view) { m_childView = view; }
|
||||||
|
protected:
|
||||||
|
wxDocument* m_childDocument;
|
||||||
|
wxView* m_childView;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A default parent frame
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxDocParentFrame: public wxFrame
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxDocParentFrame)
|
||||||
|
public:
|
||||||
|
wxDocParentFrame(wxDocManager *manager, wxFrame *frame, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
|
const long type = wxDEFAULT_FRAME, const wxString& name = "frame");
|
||||||
|
|
||||||
|
bool OnClose(void);
|
||||||
|
// Extend event processing to search the document manager's event table
|
||||||
|
virtual bool ProcessEvent(wxEvent& event);
|
||||||
|
|
||||||
|
// void OldOnMenuCommand(int id);
|
||||||
|
wxDocManager *GetDocumentManager(void) const { return m_docManager; }
|
||||||
|
|
||||||
|
void OnExit(wxCommandEvent& event);
|
||||||
|
void OnMRUFile(wxCommandEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxDocManager *m_docManager;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Provide simple default printing facilities
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if USE_PRINTING_ARCHITECTURE
|
||||||
|
class WXDLLEXPORT wxDocPrintout: public wxPrintout
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxDocPrintout)
|
||||||
|
public:
|
||||||
|
wxDocPrintout(wxView *view = NULL, const wxString& title = "Printout");
|
||||||
|
bool OnPrintPage(int page);
|
||||||
|
bool HasPage(int page);
|
||||||
|
bool OnBeginDocument(int startPage, int endPage);
|
||||||
|
void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
|
||||||
|
|
||||||
|
virtual inline wxView *GetView(void) { return m_printoutView; }
|
||||||
|
protected:
|
||||||
|
wxView* m_printoutView;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Command processing framework
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxCommand: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxCommand)
|
||||||
|
public:
|
||||||
|
wxCommand(bool canUndoIt = FALSE, const wxString& name = "");
|
||||||
|
~wxCommand(void);
|
||||||
|
|
||||||
|
// Override this to perform a command
|
||||||
|
virtual bool Do(void) = 0;
|
||||||
|
|
||||||
|
// Override this to undo a command
|
||||||
|
virtual bool Undo(void) = 0;
|
||||||
|
|
||||||
|
virtual inline bool CanUndo(void) const { return m_canUndo; }
|
||||||
|
virtual inline wxString GetName(void) const { return m_commandName; }
|
||||||
|
protected:
|
||||||
|
bool m_canUndo;
|
||||||
|
wxString m_commandName;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxCommandProcessor: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxCommandProcessor)
|
||||||
|
public:
|
||||||
|
wxCommandProcessor(int maxCommands = 100);
|
||||||
|
~wxCommandProcessor(void);
|
||||||
|
|
||||||
|
// Pass a command to the processor. The processor calls Do();
|
||||||
|
// if successful, is appended to the command history unless
|
||||||
|
// storeIt is FALSE.
|
||||||
|
virtual bool Submit(wxCommand *command, bool storeIt = TRUE);
|
||||||
|
virtual bool Undo(void);
|
||||||
|
virtual bool Redo(void);
|
||||||
|
virtual bool CanUndo(void);
|
||||||
|
|
||||||
|
// Call this to manage an edit menu.
|
||||||
|
inline void SetEditMenu(wxMenu *menu) { m_commandEditMenu = menu; }
|
||||||
|
inline wxMenu *GetEditMenu(void) const { return m_commandEditMenu; }
|
||||||
|
virtual void SetMenuStrings(void);
|
||||||
|
virtual void Initialize(void);
|
||||||
|
|
||||||
|
inline wxList& GetCommands(void) const { return (wxList&) m_commands; }
|
||||||
|
inline int GetMaxCommands(void) const { return m_maxNoCommands; }
|
||||||
|
virtual void ClearCommands(void);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int m_maxNoCommands;
|
||||||
|
wxList m_commands;
|
||||||
|
wxNode* m_currentCommand;
|
||||||
|
wxMenu* m_commandEditMenu;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxFileHistory: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFileHistory)
|
||||||
|
public:
|
||||||
|
wxFileHistory(int maxFiles = 9);
|
||||||
|
~wxFileHistory(void);
|
||||||
|
|
||||||
|
// File history management
|
||||||
|
virtual void AddFileToHistory(const wxString& file);
|
||||||
|
inline virtual int GetNoHistoryFiles(void) const { return m_fileHistoryN; }
|
||||||
|
virtual wxString GetHistoryFile(int i) const;
|
||||||
|
virtual int GetMaxFiles(void) const { return m_fileMaxFiles; }
|
||||||
|
virtual void FileHistoryUseMenu(wxMenu *menu);
|
||||||
|
virtual void FileHistoryLoad(const wxString& resourceFile, const wxString& section);
|
||||||
|
virtual void FileHistorySave(const wxString& resourceFile, const wxString& section);
|
||||||
|
protected:
|
||||||
|
// Last n files
|
||||||
|
char** m_fileHistory;
|
||||||
|
// Number of files saved
|
||||||
|
int m_fileHistoryN;
|
||||||
|
// Menu to maintain
|
||||||
|
wxMenu* m_fileMenu;
|
||||||
|
// Max files to maintain
|
||||||
|
int m_fileMaxFiles;
|
||||||
|
};
|
||||||
|
|
||||||
|
// For compatibility with existing file formats:
|
||||||
|
// converts from/to a stream to/from a temporary file.
|
||||||
|
bool WXDLLEXPORT wxTransferFileToStream(const wxString& filename, ostream& stream);
|
||||||
|
bool WXDLLEXPORT wxTransferStreamToFile(istream& stream, const wxString& filename);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
338
include/wx/dynarray.h
Normal file
338
include/wx/dynarray.h
Normal file
@@ -0,0 +1,338 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dynarray.h
|
||||||
|
// Purpose: auto-resizable (i.e. dynamic) array support
|
||||||
|
// Author: Vadim Zeitlin
|
||||||
|
// Modified by:
|
||||||
|
// Created: 12.09.97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
|
// Licence: wxWindows license
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _DYNARRAY_H
|
||||||
|
#define _DYNARRAY_H
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "dynarray.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/utils.h"
|
||||||
|
|
||||||
|
typedef bool Bool;
|
||||||
|
|
||||||
|
/** @name Dynamic arrays and lists
|
||||||
|
@memo Arrays which grow on demand and do range checking (only in debug)
|
||||||
|
*/
|
||||||
|
//@{
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
the initial size by which an array/list grows when an element is added
|
||||||
|
default value avoids allocate one or two bytes when the array is created
|
||||||
|
which is rather inefficient
|
||||||
|
*/
|
||||||
|
#define WX_ARRAY_DEFAULT_INITIAL_SIZE (16)
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// types
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
callback compare function for quick sort
|
||||||
|
must return -1, 0 or +1 if pItem1 <, = or > pItem2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __VISUALC__
|
||||||
|
#define CMPFUNC_CONV _cdecl
|
||||||
|
#else // !Visual C++
|
||||||
|
#define CMPFUNC_CONV
|
||||||
|
#endif // compiler
|
||||||
|
typedef int (CMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2);
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
base class managing data having size of type 'long' (not used directly)
|
||||||
|
|
||||||
|
NB: for efficiency this often used class has no virtual functions (hence no
|
||||||
|
VTBL), even dtor is <B>not</B> virtual. If used as expected it won't
|
||||||
|
create any problems because ARRAYs from DEFINE_ARRAY have no dtor at all,
|
||||||
|
so it's not too important if it's not called (this happens when you cast
|
||||||
|
"SomeArray *" as "BaseArray *" and then delete it)
|
||||||
|
|
||||||
|
@memo Base class for template array and list classes
|
||||||
|
*/
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
class wxBaseArray
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/** @name ctors and dtor */
|
||||||
|
//@{
|
||||||
|
/// default ctor
|
||||||
|
wxBaseArray();
|
||||||
|
/// copy ctor
|
||||||
|
wxBaseArray(const wxBaseArray& array);
|
||||||
|
/// assignment operator
|
||||||
|
wxBaseArray& operator=(const wxBaseArray& src);
|
||||||
|
/// not virtual, see above
|
||||||
|
/// EXCEPT for Gnu compiler to reduce warnings...
|
||||||
|
#ifdef __GNUG__
|
||||||
|
virtual
|
||||||
|
#endif
|
||||||
|
~wxBaseArray();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/** @name memory management */
|
||||||
|
//@{
|
||||||
|
/// empties the list, but doesn't release memory
|
||||||
|
void Empty() { m_uiCount = 0; }
|
||||||
|
/// empties the list and releases memory
|
||||||
|
void Clear();
|
||||||
|
/// preallocates memory for given number of items
|
||||||
|
void Alloc(uint uiSize);
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/** @name simple accessors */
|
||||||
|
//@{
|
||||||
|
/// number of elements in the array
|
||||||
|
uint Count() const { return m_uiCount; }
|
||||||
|
/// is it empty?
|
||||||
|
Bool IsEmpty() const { return m_uiCount == 0; }
|
||||||
|
//@}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// these methods are protected because if they were public one could
|
||||||
|
// mistakenly call one of them instead of DEFINE_ARRAY's or LIST's
|
||||||
|
// type safe methods
|
||||||
|
|
||||||
|
/** @name items access */
|
||||||
|
//@{
|
||||||
|
/// get item at position uiIndex (range checking is done in debug version)
|
||||||
|
long& Item(uint uiIndex) const
|
||||||
|
{ wxASSERT( uiIndex < m_uiCount ); return m_pItems[uiIndex]; }
|
||||||
|
/// same as Item()
|
||||||
|
long& operator[](uint uiIndex) const { return Item(uiIndex); }
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/** @name item management */
|
||||||
|
//@{
|
||||||
|
/**
|
||||||
|
Search the element in the array, starting from the either side
|
||||||
|
@param bFromEnd if TRUE, start from the end
|
||||||
|
@return index of the first item matched or NOT_FOUND
|
||||||
|
@see NOT_FOUND
|
||||||
|
*/
|
||||||
|
int Index (long lItem, Bool bFromEnd = FALSE) const;
|
||||||
|
/// add new element at the end
|
||||||
|
void Add (long lItem);
|
||||||
|
/// add new element at given position
|
||||||
|
void Insert(long lItem, uint uiIndex);
|
||||||
|
/// remove first item matching this value
|
||||||
|
void Remove(long lItem);
|
||||||
|
/// remove item by index
|
||||||
|
void Remove(uint uiIndex);
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/// sort array elements using given compare function
|
||||||
|
void Sort(CMPFUNC fCmp);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void Grow(); // makes array bigger if needed
|
||||||
|
|
||||||
|
uint m_uiSize, // current size of the array
|
||||||
|
m_uiCount; // current number of elements
|
||||||
|
|
||||||
|
long *m_pItems; // pointer to data
|
||||||
|
};
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// template classes
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// This macro generates a new array class. It is intended for storage of simple
|
||||||
|
// types of sizeof()<=sizeof(long) or pointers if sizeof(pointer)<=sizeof(long)
|
||||||
|
//
|
||||||
|
// NB: it has only inline functions => takes no space at all
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
#define _WX_DEFINE_ARRAY(T, name) \
|
||||||
|
typedef int (CMPFUNC_CONV *CMPFUNC##T)(T *pItem1, T *pItem2); \
|
||||||
|
class name : public wxBaseArray \
|
||||||
|
{ \
|
||||||
|
public: \
|
||||||
|
name() \
|
||||||
|
{ wxASSERT( sizeof(T) <= sizeof(long) ); } \
|
||||||
|
\
|
||||||
|
name& operator=(const name& src) \
|
||||||
|
{ ((wxBaseArray *)this)->operator=((const wxBaseArray&)src); \
|
||||||
|
return *this; } \
|
||||||
|
\
|
||||||
|
T& operator[](uint uiIndex) const \
|
||||||
|
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
||||||
|
T& Item(uint uiIndex) const \
|
||||||
|
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
||||||
|
\
|
||||||
|
int Index(T Item, Bool bFromEnd = FALSE) const \
|
||||||
|
{ return wxBaseArray::Index((long)Item, bFromEnd); } \
|
||||||
|
\
|
||||||
|
void Add(T Item) \
|
||||||
|
{ wxBaseArray::Add((long)Item); } \
|
||||||
|
void Insert(T Item, uint uiIndex) \
|
||||||
|
{ wxBaseArray::Insert((long)Item, uiIndex) ; } \
|
||||||
|
\
|
||||||
|
void Remove(uint uiIndex) { wxBaseArray::Remove(uiIndex); } \
|
||||||
|
void Remove(T Item) \
|
||||||
|
{ int iIndex = Index(Item); \
|
||||||
|
wxCHECK( iIndex != NOT_FOUND ); \
|
||||||
|
wxBaseArray::Remove((uint)iIndex); } \
|
||||||
|
\
|
||||||
|
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// see WX_DECLARE_LIST and WX_DEFINE_LIST
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
#define _WX_DECLARE_LIST(T, name) \
|
||||||
|
typedef int (CMPFUNC_CONV *CMPFUNC##T)(T** pItem1, T** pItem2); \
|
||||||
|
class name : public wxBaseArray \
|
||||||
|
{ \
|
||||||
|
public: \
|
||||||
|
name() { } \
|
||||||
|
name(const name& src); \
|
||||||
|
name& operator=(const name& src); \
|
||||||
|
\
|
||||||
|
~name(); \
|
||||||
|
\
|
||||||
|
T& operator[](uint uiIndex) const \
|
||||||
|
{ return *(T*)wxBaseArray::Item(uiIndex); } \
|
||||||
|
T& Item(uint uiIndex) const \
|
||||||
|
{ return *(T*)wxBaseArray::Item(uiIndex); } \
|
||||||
|
\
|
||||||
|
int Index(const T& Item, Bool bFromEnd = FALSE) const; \
|
||||||
|
\
|
||||||
|
void Add(const T& Item); \
|
||||||
|
void Add(const T* pItem) \
|
||||||
|
{ wxBaseArray::Add((long)pItem); } \
|
||||||
|
\
|
||||||
|
void Insert(const T& Item, uint uiIndex); \
|
||||||
|
void Insert(const T* pItem, uint uiIndex) \
|
||||||
|
{ wxBaseArray::Insert((long)pItem, uiIndex); } \
|
||||||
|
\
|
||||||
|
void Empty(); \
|
||||||
|
\
|
||||||
|
T* Detach(uint uiIndex) \
|
||||||
|
{ T* p = (T*)wxBaseArray::Item(uiIndex); \
|
||||||
|
wxBaseArray::Remove(uiIndex); return p; } \
|
||||||
|
void Remove(uint uiIndex); \
|
||||||
|
\
|
||||||
|
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
|
||||||
|
\
|
||||||
|
private: \
|
||||||
|
void DoCopy(const name& src); \
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
/** @name Macros for definition of dynamic arrays and lists
|
||||||
|
|
||||||
|
These macros are ugly (especially if you look in the sources ;-), but they
|
||||||
|
allow us to define 'template' classes without actually using templates.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
Range checking is performed in debug build for both arrays and lists. Type
|
||||||
|
checking is done at compile-time. Warning: arrays <I>never</I> shrink, they
|
||||||
|
only grow, so loading 10 millions in an array only to delete them 2 lines
|
||||||
|
below is <I>not</I> recommended. However, it does free memory when it's
|
||||||
|
destroyed, so if you destroy array also, it's ok.
|
||||||
|
*/
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//@{
|
||||||
|
/**
|
||||||
|
This macro generates a new array class. It is intended for storage of simple
|
||||||
|
types of sizeof()<=sizeof(long) or pointers if sizeof(pointer)<=sizeof(long)
|
||||||
|
<BR>
|
||||||
|
NB: it has only inline functions => takes no space at all
|
||||||
|
<BR>
|
||||||
|
|
||||||
|
@memo declare and define array class 'name' containing elements of type 'T'
|
||||||
|
*/
|
||||||
|
#define WX_DEFINE_ARRAY(T, name) typedef T _A##name; \
|
||||||
|
_WX_DEFINE_ARRAY(_A##name, name)
|
||||||
|
/**
|
||||||
|
This macro generates a new list class which owns the objects it contains,
|
||||||
|
i.e. it will delete them when it is destroyed. An element is of type T*,
|
||||||
|
but arguments of type T& are taken (see below!) and T& is returned.
|
||||||
|
<BR>
|
||||||
|
Don't use this for simple types such as "int" or "long"!
|
||||||
|
You _may_ use it for "double" but it's awfully inefficient.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
Note on Add/Insert functions:
|
||||||
|
<BR>
|
||||||
|
1) function(T*) gives the object to the list, i.e. it will delete the
|
||||||
|
object when it's removed or in the list's dtor
|
||||||
|
<BR>
|
||||||
|
2) function(T&) will create a copy of the object and work with it
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
Also:
|
||||||
|
<BR>
|
||||||
|
1) Remove() will delete the object after removing it from the list
|
||||||
|
<BR>
|
||||||
|
2) Detach() just removes the object from the list (returning pointer to it)
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
NB1: Base type T should have an accessible copy ctor if Add(T&) is used,
|
||||||
|
<BR>
|
||||||
|
NB2: Never ever cast a list to it's base type: as dtor is <B>not</B> virtual
|
||||||
|
it will provoke memory leaks
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
some functions of this class are not inline, so it takes some space to
|
||||||
|
define new class from this template.
|
||||||
|
|
||||||
|
@memo declare list class 'name' containing elements of type 'T'
|
||||||
|
*/
|
||||||
|
#define WX_DECLARE_LIST(T, name) typedef T _L##name; \
|
||||||
|
_WX_DECLARE_LIST(_L##name, name)
|
||||||
|
/**
|
||||||
|
To use a list class you must
|
||||||
|
<ll>
|
||||||
|
<li>#include "dynarray.h"
|
||||||
|
<li>DECLARE_LIST(element_type, list_class_name)
|
||||||
|
<li>#include "listimpl.cpp"
|
||||||
|
<li>DEFINE_LIST(list_class_name) // same as above!
|
||||||
|
</ll>
|
||||||
|
<BR><BR>
|
||||||
|
This is necessary because at the moment of DEFINE_LIST class element_type
|
||||||
|
must be fully defined (i.e. forward declaration is not enough), while
|
||||||
|
DECLARE_LIST may be done anywhere. The separation of two allows to break
|
||||||
|
cicrcular dependencies with classes which have member variables of list
|
||||||
|
type.
|
||||||
|
|
||||||
|
@memo define (must include listimpl.cpp!) list class 'name'
|
||||||
|
*/
|
||||||
|
#define WX_DEFINE_LIST(name) "don't forget to include listimpl.cpp!"
|
||||||
|
//@}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
/** @name Some commonly used predefined arrays */
|
||||||
|
// # overhead if not used?
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//@{
|
||||||
|
/** @name ArrayInt */
|
||||||
|
WX_DEFINE_ARRAY(int, wxArrayInt);
|
||||||
|
/** @name ArrayLong */
|
||||||
|
WX_DEFINE_ARRAY(long, wxArrayLong);
|
||||||
|
/** @name ArrayPtrVoid */
|
||||||
|
WX_DEFINE_ARRAY(void *, wxArrayPtrVoid);
|
||||||
|
//@}
|
||||||
|
|
||||||
|
//@}
|
||||||
|
|
||||||
|
#endif // _DYNARRAY_H
|
||||||
|
|
||||||
1199
include/wx/event.h
Normal file
1199
include/wx/event.h
Normal file
File diff suppressed because it is too large
Load Diff
159
include/wx/file.h
Normal file
159
include/wx/file.h
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: file.cpp
|
||||||
|
// Purpose: wxFile - encapsulates low-level "file descriptor"
|
||||||
|
// wxTempFile - safely replace the old file
|
||||||
|
// Author: Vadim Zeitlin
|
||||||
|
// Modified by:
|
||||||
|
// Created: 29/01/98
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __FILEH__
|
||||||
|
#define __FILEH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "file.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// simple types
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <wx/filefn.h>
|
||||||
|
|
||||||
|
// define off_t
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#define off_t _off_t
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// error return value for Seek() functions
|
||||||
|
const off_t ofsInvalid = (off_t)-1;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// class wxFile: raw file IO
|
||||||
|
//
|
||||||
|
// NB: for space efficiency this class has no virtual functions, including
|
||||||
|
// dtor which is _not_ virtual, so it shouldn't be used as a base class.
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
class WXDLLEXPORT wxFile
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// more file constants
|
||||||
|
// -------------------
|
||||||
|
|
||||||
|
// opening mode
|
||||||
|
enum OpenMode { read, write, read_write };
|
||||||
|
// standard values for file descriptor
|
||||||
|
enum { fd_invalid = -1, fd_stdin, fd_stdout, fd_stderr };
|
||||||
|
// seek type
|
||||||
|
enum SeekMode { FromStart, FromEnd, FromCurrent };
|
||||||
|
|
||||||
|
// static functions
|
||||||
|
// ----------------
|
||||||
|
static bool Exists(const char *sz); // also checks it's a regular file
|
||||||
|
|
||||||
|
// ctors
|
||||||
|
// -----
|
||||||
|
// def ctor
|
||||||
|
wxFile() { m_fd = fd_invalid; }
|
||||||
|
// open specified file (may fail, use IsOpened())
|
||||||
|
wxFile(const char *szFileName, OpenMode mode = read);
|
||||||
|
// attach to (already opened) file
|
||||||
|
wxFile(int fd) { m_fd = fd; }
|
||||||
|
|
||||||
|
// open/close
|
||||||
|
bool Create(const char *szFileName, bool bOverwrite = FALSE);
|
||||||
|
bool Open(const char *szFileName, OpenMode mode = read);
|
||||||
|
void Attach(int fd) { Close(); m_fd = fd; }
|
||||||
|
inline void Close(); // Close is a NOP if not opened
|
||||||
|
|
||||||
|
// read/write (unbuffered)
|
||||||
|
// returns number of bytes read or ofsInvalid on error
|
||||||
|
off_t Read(void *pBuf, off_t nCount);
|
||||||
|
// returns true on success
|
||||||
|
bool Write(const void *pBuf, uint nCount);
|
||||||
|
// returns true on success
|
||||||
|
bool Write(const wxString& str) { return Write(str.c_str(), str.Len()); }
|
||||||
|
// flush data not yet written
|
||||||
|
bool Flush();
|
||||||
|
|
||||||
|
// file pointer operations (return ofsInvalid on failure)
|
||||||
|
// move ptr ofs bytes related to start/current off_t/end of file
|
||||||
|
off_t Seek(off_t ofs, SeekMode mode = FromStart);
|
||||||
|
// move ptr to ofs bytes before the end
|
||||||
|
off_t SeekEnd(off_t ofs = 0) { return Seek(ofs, FromEnd); }
|
||||||
|
// get current off_t
|
||||||
|
off_t Tell() const;
|
||||||
|
// get current file length
|
||||||
|
off_t Length() const;
|
||||||
|
|
||||||
|
// simple accessors
|
||||||
|
// is file opened?
|
||||||
|
bool IsOpened() const { return m_fd != fd_invalid; }
|
||||||
|
// is end of file reached?
|
||||||
|
bool Eof() const;
|
||||||
|
|
||||||
|
// dtor closes the file if opened
|
||||||
|
~wxFile();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// copy ctor and assignment operator are private because
|
||||||
|
// it doesn't make sense to copy files this way:
|
||||||
|
// attempt to do it will provoke a compile-time error.
|
||||||
|
wxFile(const wxFile&);
|
||||||
|
wxFile& operator=(const wxFile&);
|
||||||
|
|
||||||
|
int m_fd; // file descriptor or INVALID_FD if not opened
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// class wxTempFile: if you want to replace another file, create an instance
|
||||||
|
// of wxTempFile passing the name of the file to be replaced to the ctor. Then
|
||||||
|
// you can write to wxTempFile and call Commit() function to replace the old
|
||||||
|
// file (and close this one) or call Discard() to cancel the modification. If
|
||||||
|
// you call neither of them, dtor will call Discard().
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
class wxTempFile
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// ctors
|
||||||
|
// default
|
||||||
|
wxTempFile() { }
|
||||||
|
// associates the temp file with the file to be replaced and opens it
|
||||||
|
wxTempFile(const wxString& strName);
|
||||||
|
|
||||||
|
// open the temp file (strName is the name of file to be replaced)
|
||||||
|
bool Open(const wxString& strName);
|
||||||
|
|
||||||
|
// is the file opened?
|
||||||
|
bool IsOpened() const { return m_file.IsOpened(); }
|
||||||
|
|
||||||
|
// I/O (both functions return true on success, false on failure)
|
||||||
|
bool Write(const void *p, uint n) { return m_file.Write(p, n); }
|
||||||
|
bool Write(const wxString& str) { return m_file.Write(str); }
|
||||||
|
|
||||||
|
// different ways to close the file
|
||||||
|
// validate changes and delete the old file of name m_strName
|
||||||
|
bool Commit();
|
||||||
|
// discard changes
|
||||||
|
void Discard();
|
||||||
|
|
||||||
|
// dtor calls Discard() if file is still opened
|
||||||
|
~wxTempFile();
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxString m_strName, // name of the file to replace in Commit()
|
||||||
|
m_strTemp; // temporary file name
|
||||||
|
wxFile m_file; // the temporary file
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __FILEH__
|
||||||
13
include/wx/filedlg.h
Normal file
13
include/wx/filedlg.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __FILEDLGH_BASE__
|
||||||
|
#define __FILEDLGH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/filedlg.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/filedlg.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/filedlg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __FILEDLGH_BASE__
|
||||||
166
include/wx/filefn.h
Normal file
166
include/wx/filefn.h
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: filefn.h
|
||||||
|
// Purpose: File- and directory-related functions
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 29/01/98
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 1998 Julian Smart
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __FILEFNH__
|
||||||
|
#define __FILEFNH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "filefn.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/list.h"
|
||||||
|
|
||||||
|
bool WXDLLEXPORT wxFileExists(const wxString& filename);
|
||||||
|
#define FileExists wxFileExists
|
||||||
|
|
||||||
|
// does the path exist? (may have or not '/' or '\\' at the end)
|
||||||
|
bool WXDLLEXPORT wxPathExists(const char *pszPathName);
|
||||||
|
|
||||||
|
#define wxDirExists wxPathExists
|
||||||
|
#define DirExists wxDirExists
|
||||||
|
|
||||||
|
bool WXDLLEXPORT wxIsAbsolutePath(const wxString& filename);
|
||||||
|
#define IsAbsolutePath wxIsAbsolutePath
|
||||||
|
|
||||||
|
// Get filename
|
||||||
|
char* WXDLLEXPORT wxFileNameFromPath(char *path);
|
||||||
|
wxString WXDLLEXPORT wxFileNameFromPath(const wxString& path);
|
||||||
|
#define FileNameFromPath wxFileNameFromPath
|
||||||
|
|
||||||
|
// Get directory
|
||||||
|
char* WXDLLEXPORT wxPathOnly(char *path);
|
||||||
|
wxString WXDLLEXPORT wxPathOnly(const wxString& path);
|
||||||
|
#define PathOnly wxPathOnly
|
||||||
|
|
||||||
|
// wxString version
|
||||||
|
wxString WXDLLEXPORT wxRealPath(const wxString& path);
|
||||||
|
|
||||||
|
void WXDLLEXPORT wxDos2UnixFilename(char *s);
|
||||||
|
#define Dos2UnixFilename wxDos2UnixFilename
|
||||||
|
|
||||||
|
void WXDLLEXPORT wxUnix2DosFilename(char *s);
|
||||||
|
#define Unix2DosFilename wxUnix2DosFilename
|
||||||
|
|
||||||
|
// Strip the extension, in situ
|
||||||
|
void WXDLLEXPORT wxStripExtension(char *buffer);
|
||||||
|
|
||||||
|
// Get a temporary filename, opening and closing the file.
|
||||||
|
char* WXDLLEXPORT wxGetTempFileName(const wxString& prefix, char *buf = NULL);
|
||||||
|
|
||||||
|
// Expand file name (~/ and ${OPENWINHOME}/ stuff)
|
||||||
|
char* WXDLLEXPORT wxExpandPath(char *dest, const char *path);
|
||||||
|
|
||||||
|
// Contract w.r.t environment (</usr/openwin/lib, OPENWHOME> -> ${OPENWINHOME}/lib)
|
||||||
|
// and make (if under the home tree) relative to home
|
||||||
|
// [caller must copy-- volatile]
|
||||||
|
char* WXDLLEXPORT wxContractPath (const wxString& filename,
|
||||||
|
const wxString& envname = "", const wxString& user = "");
|
||||||
|
|
||||||
|
// Destructive removal of /./ and /../ stuff
|
||||||
|
char* WXDLLEXPORT wxRealPath(char *path);
|
||||||
|
|
||||||
|
// Allocate a copy of the full absolute path
|
||||||
|
char* WXDLLEXPORT wxCopyAbsolutePath(const wxString& path);
|
||||||
|
|
||||||
|
// Get first file name matching given wild card.
|
||||||
|
// Flags are reserved for future use.
|
||||||
|
#define wxFILE 1
|
||||||
|
#define wxDIR 2
|
||||||
|
char* WXDLLEXPORT wxFindFirstFile(const char *spec, int flags = wxFILE);
|
||||||
|
char* WXDLLEXPORT wxFindNextFile(void);
|
||||||
|
|
||||||
|
// Does the pattern contain wildcards?
|
||||||
|
bool WXDLLEXPORT wxIsWild(const wxString& pattern);
|
||||||
|
|
||||||
|
// Does the pattern match the text (usually a filename)?
|
||||||
|
// If dot_special is TRUE, doesn't match * against . (eliminating
|
||||||
|
// `hidden' dot files)
|
||||||
|
bool WXDLLEXPORT wxMatchWild(const wxString& pattern, const wxString& text, bool dot_special = TRUE);
|
||||||
|
|
||||||
|
// Concatenate two files to form third
|
||||||
|
bool WXDLLEXPORT wxConcatFiles(const wxString& file1, const wxString& file2, const wxString& file3);
|
||||||
|
|
||||||
|
// Copy file1 to file2
|
||||||
|
bool WXDLLEXPORT wxCopyFile(const wxString& file1, const wxString& file2);
|
||||||
|
|
||||||
|
// Remove file
|
||||||
|
bool WXDLLEXPORT wxRemoveFile(const wxString& file);
|
||||||
|
|
||||||
|
// Rename file
|
||||||
|
bool WXDLLEXPORT wxRenameFile(const wxString& file1, const wxString& file2);
|
||||||
|
|
||||||
|
// Get current working directory.
|
||||||
|
// If buf is NULL, allocates space using new, else
|
||||||
|
// copies into buf.
|
||||||
|
// IMPORTANT NOTE getcwd is know not to work under some releases
|
||||||
|
// of Win32s 1.3, according to MS release notes!
|
||||||
|
char* WXDLLEXPORT wxGetWorkingDirectory(char *buf = NULL, int sz = 1000);
|
||||||
|
|
||||||
|
// Set working directory
|
||||||
|
bool WXDLLEXPORT wxSetWorkingDirectory(const wxString& d);
|
||||||
|
|
||||||
|
// Make directory
|
||||||
|
bool WXDLLEXPORT wxMkdir(const wxString& dir);
|
||||||
|
|
||||||
|
// Remove directory. Flags reserved for future use.
|
||||||
|
bool WXDLLEXPORT wxRmdir(const wxString& dir, int flags = 0);
|
||||||
|
|
||||||
|
// separators in file names
|
||||||
|
#define FILE_SEP_EXT '.'
|
||||||
|
#define FILE_SEP_DSK ':'
|
||||||
|
#define FILE_SEP_PATH_DOS '\\'
|
||||||
|
#define FILE_SEP_PATH_UNIX '/'
|
||||||
|
|
||||||
|
// separator in the path list (as in PATH environment variable)
|
||||||
|
// NB: these are strings and not characters on purpose!
|
||||||
|
#define PATH_SEP_DOS ";"
|
||||||
|
#define PATH_SEP_UNIX ":"
|
||||||
|
|
||||||
|
// platform independent versions
|
||||||
|
#ifdef __UNIX__
|
||||||
|
#define FILE_SEP_PATH FILE_SEP_PATH_UNIX
|
||||||
|
#define PATH_SEP PATH_SEP_UNIX
|
||||||
|
#else // Windows
|
||||||
|
#define FILE_SEP_PATH FILE_SEP_PATH_DOS
|
||||||
|
#define PATH_SEP PATH_SEP_DOS
|
||||||
|
#endif // Unix/Windows
|
||||||
|
|
||||||
|
// is the char a path separator?
|
||||||
|
inline bool wxIsPathSeparator(char c)
|
||||||
|
{ return c == FILE_SEP_PATH_DOS || c == FILE_SEP_PATH_UNIX; }
|
||||||
|
|
||||||
|
// does the string ends with path separator?
|
||||||
|
bool WXDLLEXPORT wxEndsWithPathSeparator(const char *pszFileName);
|
||||||
|
|
||||||
|
// find a file in a list of directories, returns false if not found
|
||||||
|
bool WXDLLEXPORT wxFindFileInPath(wxString *pStr, const char *pszPath, const char *pszFile);
|
||||||
|
|
||||||
|
// Path searching
|
||||||
|
class WXDLLEXPORT wxPathList: public wxStringList
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPathList)
|
||||||
|
|
||||||
|
public:
|
||||||
|
void AddEnvList(const wxString& envVariable); // Adds all paths in environment variable
|
||||||
|
void Add(const wxString& path);
|
||||||
|
wxString FindValidPath(const wxString& filename); // Find the first full path
|
||||||
|
// for which the file exists
|
||||||
|
wxString FindAbsoluteValidPath(const wxString& filename); // Find the first full path
|
||||||
|
// for which the file exists; ensure it's an absolute
|
||||||
|
// path that gets returned.
|
||||||
|
void EnsureFileAccessible(const wxString& path); // Given full path and filename,
|
||||||
|
// add path to list
|
||||||
|
bool Member(const wxString& path);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __FILEFNH__
|
||||||
|
|
||||||
13
include/wx/font.h
Normal file
13
include/wx/font.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __FONTH_BASE__
|
||||||
|
#define __FONTH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/font.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/font.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/font.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __FONTH_BASE__
|
||||||
13
include/wx/fontdlg.h
Normal file
13
include/wx/fontdlg.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __FONTDLGH_BASE__
|
||||||
|
#define __FONTDLGH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/fontdlg.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/generic/fontdlgg.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/generic/fontdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __FONTDLGH_BASE__
|
||||||
13
include/wx/frame.h
Normal file
13
include/wx/frame.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __FRAMEH_BASE__
|
||||||
|
#define __FRAMEH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/frame.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/frame.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/frame.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __FRAMEH_BASE__
|
||||||
13
include/wx/gauge.h
Normal file
13
include/wx/gauge.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __GAUGEH_BASE__
|
||||||
|
#define __GAUGEH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/gauge.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/gauge.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/gauge.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GAUGEH_BASE__
|
||||||
335
include/wx/gdicmn.h
Normal file
335
include/wx/gdicmn.h
Normal file
@@ -0,0 +1,335 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: gdicmn.h
|
||||||
|
// Purpose: Common GDI classes, types and declarations
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __GDICMNH__
|
||||||
|
#define __GDICMNH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "gdicmn.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/hash.h"
|
||||||
|
#include "wx/setup.h"
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
#include "wx/msw/colour.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/colour.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/colour.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Standard cursors
|
||||||
|
typedef enum {
|
||||||
|
wxCURSOR_ARROW = 1,
|
||||||
|
wxCURSOR_BULLSEYE,
|
||||||
|
wxCURSOR_CHAR,
|
||||||
|
wxCURSOR_CROSS,
|
||||||
|
wxCURSOR_HAND,
|
||||||
|
wxCURSOR_IBEAM,
|
||||||
|
wxCURSOR_LEFT_BUTTON,
|
||||||
|
wxCURSOR_MAGNIFIER,
|
||||||
|
wxCURSOR_MIDDLE_BUTTON,
|
||||||
|
wxCURSOR_NO_ENTRY,
|
||||||
|
wxCURSOR_PAINT_BRUSH,
|
||||||
|
wxCURSOR_PENCIL,
|
||||||
|
wxCURSOR_POINT_LEFT,
|
||||||
|
wxCURSOR_POINT_RIGHT,
|
||||||
|
wxCURSOR_QUESTION_ARROW,
|
||||||
|
wxCURSOR_RIGHT_BUTTON,
|
||||||
|
wxCURSOR_SIZENESW,
|
||||||
|
wxCURSOR_SIZENS,
|
||||||
|
wxCURSOR_SIZENWSE,
|
||||||
|
wxCURSOR_SIZEWE,
|
||||||
|
wxCURSOR_SIZING,
|
||||||
|
wxCURSOR_SPRAYCAN,
|
||||||
|
wxCURSOR_WAIT,
|
||||||
|
wxCURSOR_WATCH,
|
||||||
|
wxCURSOR_BLANK
|
||||||
|
#ifdef __X__
|
||||||
|
/* Not yet implemented for Windows */
|
||||||
|
, wxCURSOR_CROSS_REVERSE,
|
||||||
|
wxCURSOR_DOUBLE_ARROW,
|
||||||
|
wxCURSOR_BASED_ARROW_UP,
|
||||||
|
wxCURSOR_BASED_ARROW_DOWN
|
||||||
|
#endif
|
||||||
|
} _standard_cursors_t;
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxSize: public wxObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
long x;
|
||||||
|
long y;
|
||||||
|
inline wxSize(void) { x = 0; y = 0; }
|
||||||
|
inline wxSize(long xx, long yy) { x = xx; y = yy; }
|
||||||
|
inline wxSize(const wxSize& sz) { x = sz.x; y = sz.y; }
|
||||||
|
inline void operator = (const wxSize& sz) { x = sz.x; y = sz.y; }
|
||||||
|
inline void Set(long xx, long yy) { x = xx; y = yy; }
|
||||||
|
inline long GetX() const { return x; }
|
||||||
|
inline long GetY() const { return y; }
|
||||||
|
};
|
||||||
|
|
||||||
|
// Point
|
||||||
|
class WXDLLEXPORT wxRealPoint: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxRealPoint)
|
||||||
|
public:
|
||||||
|
double x;
|
||||||
|
double y;
|
||||||
|
inline wxRealPoint(void) { x = 0.0; y = 0.0; };
|
||||||
|
inline wxRealPoint(double the_x, double the_y) { x = the_x; y = the_y; };
|
||||||
|
|
||||||
|
inline void operator = (const wxRealPoint& pt) { x = pt.x; y = pt.y; }
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxPoint: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPoint)
|
||||||
|
public:
|
||||||
|
long x;
|
||||||
|
long y;
|
||||||
|
inline wxPoint(void) { x = 0; y = 0; };
|
||||||
|
wxPoint(long the_x, long the_y) { x = the_x; y = the_y; };
|
||||||
|
inline void operator = (const wxPoint& pt) { x = pt.x; y = pt.y; }
|
||||||
|
};
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY
|
||||||
|
#define wxIntPoint wxPoint
|
||||||
|
#define wxRectangle wxRect
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxRect : public wxObject {
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxRect)
|
||||||
|
public:
|
||||||
|
wxRect(void) ;
|
||||||
|
wxRect(const long x, const long y, const long w, const long h);
|
||||||
|
wxRect(const wxPoint& topLeft, const wxPoint& bottomRight);
|
||||||
|
wxRect(const wxPoint& pos, const wxSize& size);
|
||||||
|
wxRect(const wxRect& rect);
|
||||||
|
|
||||||
|
inline long GetX(void) const { return x; }
|
||||||
|
inline void SetX(const long X) { x = X; }
|
||||||
|
inline long GetY(void) const { return y; }
|
||||||
|
inline void SetY(const long Y) { y = Y; }
|
||||||
|
inline long GetWidth() const { return width; }
|
||||||
|
inline void SetWidth(const long w) { width = w; }
|
||||||
|
inline long GetHeight() const { return height; }
|
||||||
|
inline void SetHeight(const long h) { height = h; }
|
||||||
|
|
||||||
|
inline wxPoint GetPosition(void) { return wxPoint(x, y); }
|
||||||
|
inline wxSize GetSize(void) { return wxSize(width, height); }
|
||||||
|
|
||||||
|
inline long GetLeft(void) const { return x; }
|
||||||
|
inline long GetTop(void) const { return y; }
|
||||||
|
inline long GetBottom(void) const { return y + height; }
|
||||||
|
inline long GetRight(void) const { return x + width; }
|
||||||
|
|
||||||
|
wxRect& operator = (const wxRect& rect);
|
||||||
|
bool operator == (const wxRect& rect);
|
||||||
|
bool operator != (const wxRect& rect);
|
||||||
|
public:
|
||||||
|
long x, y, width, height;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxBrush;
|
||||||
|
class WXDLLEXPORT wxPen;
|
||||||
|
class WXDLLEXPORT wxBitmap;
|
||||||
|
class WXDLLEXPORT wxIcon;
|
||||||
|
class WXDLLEXPORT wxCursor;
|
||||||
|
class WXDLLEXPORT wxFont;
|
||||||
|
class WXDLLEXPORT wxPalette;
|
||||||
|
class WXDLLEXPORT wxPalette;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bitmap flags
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Hint to indicate filetype
|
||||||
|
#define wxBITMAP_TYPE_BMP 1
|
||||||
|
#define wxBITMAP_TYPE_BMP_RESOURCE 2
|
||||||
|
#define wxBITMAP_TYPE_ICO 3
|
||||||
|
#define wxBITMAP_TYPE_ICO_RESOURCE 4
|
||||||
|
#define wxBITMAP_TYPE_CUR 5
|
||||||
|
#define wxBITMAP_TYPE_CUR_RESOURCE 6
|
||||||
|
#define wxBITMAP_TYPE_XBM 7
|
||||||
|
#define wxBITMAP_TYPE_XBM_DATA 8
|
||||||
|
#define wxBITMAP_TYPE_XPM 9
|
||||||
|
#define wxBITMAP_TYPE_XPM_DATA 10
|
||||||
|
#define wxBITMAP_TYPE_TIF 11
|
||||||
|
#define wxBITMAP_TYPE_TIF_RESOURCE 12
|
||||||
|
#define wxBITMAP_TYPE_GIF 13
|
||||||
|
#define wxBITMAP_TYPE_GIF_RESOURCE 14
|
||||||
|
#define wxBITMAP_TYPE_PNG 15
|
||||||
|
#define wxBITMAP_TYPE_PNG_RESOURCE 16
|
||||||
|
#define wxBITMAP_TYPE_ANY 50
|
||||||
|
|
||||||
|
#define wxBITMAP_TYPE_RESOURCE wxBITMAP_TYPE_BMP_RESOURCE
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxBitmap;
|
||||||
|
class WXDLLEXPORT wxCursor;
|
||||||
|
class WXDLLEXPORT wxIcon;
|
||||||
|
|
||||||
|
// Management of pens, brushes and fonts
|
||||||
|
class WXDLLEXPORT wxPenList: public wxList
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPenList)
|
||||||
|
public:
|
||||||
|
inline wxPenList(void)
|
||||||
|
{ }
|
||||||
|
~wxPenList(void);
|
||||||
|
void AddPen(wxPen *pen);
|
||||||
|
void RemovePen(wxPen *pen);
|
||||||
|
wxPen *FindOrCreatePen(const wxColour& colour, const int width, const int style);
|
||||||
|
wxPen *FindOrCreatePen(const wxString& colour, const int width, const int style);
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxBrushList: public wxList
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxBrushList)
|
||||||
|
public:
|
||||||
|
inline wxBrushList(void)
|
||||||
|
{ }
|
||||||
|
~wxBrushList(void);
|
||||||
|
void AddBrush(wxBrush *brush);
|
||||||
|
void RemoveBrush(wxBrush *brush);
|
||||||
|
wxBrush *FindOrCreateBrush(const wxColour& colour, const int style);
|
||||||
|
wxBrush *FindOrCreateBrush(const wxString& colour, const int style);
|
||||||
|
};
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxFontList: public wxList
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFontList)
|
||||||
|
public:
|
||||||
|
inline wxFontList(void)
|
||||||
|
{ }
|
||||||
|
~wxFontList(void);
|
||||||
|
void AddFont(wxFont *font);
|
||||||
|
void RemoveFont(wxFont *font);
|
||||||
|
wxFont *FindOrCreateFont(const int pointSize, const int family, const int style, const int weight,
|
||||||
|
const bool underline = FALSE, const wxString& face = wxEmptyString);
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxColourDatabase: public wxList
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxColourDatabase)
|
||||||
|
public:
|
||||||
|
wxColourDatabase(int type);
|
||||||
|
~wxColourDatabase(void) ;
|
||||||
|
// Not const because it may add a name to the database
|
||||||
|
wxColour *FindColour(const wxString& colour) ;
|
||||||
|
wxString FindName(const wxColour& colour) const;
|
||||||
|
void Initialize(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxBitmapList: public wxList
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxBitmapList)
|
||||||
|
public:
|
||||||
|
wxBitmapList(void);
|
||||||
|
~wxBitmapList(void);
|
||||||
|
|
||||||
|
void AddBitmap(wxBitmap *bitmap);
|
||||||
|
void RemoveBitmap(wxBitmap *bitmap);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Lists of GDI objects
|
||||||
|
WXDLLEXPORT_DATA(extern wxPenList*) wxThePenList;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrushList*) wxTheBrushList;
|
||||||
|
WXDLLEXPORT_DATA(extern wxFontList*) wxTheFontList;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBitmapList*) wxTheBitmapList;
|
||||||
|
|
||||||
|
// Stock objects
|
||||||
|
WXDLLEXPORT_DATA(extern wxFont*) wxNORMAL_FONT;
|
||||||
|
WXDLLEXPORT_DATA(extern wxFont*) wxSMALL_FONT;
|
||||||
|
WXDLLEXPORT_DATA(extern wxFont*) wxITALIC_FONT;
|
||||||
|
WXDLLEXPORT_DATA(extern wxFont*) wxSWISS_FONT;
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxRED_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxCYAN_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxGREEN_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxBLACK_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxWHITE_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxTRANSPARENT_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxBLACK_DASHED_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxGREY_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxMEDIUM_GREY_PEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen*) wxLIGHT_GREY_PEN;
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxBLUE_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxGREEN_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxWHITE_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxBLACK_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxGREY_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxMEDIUM_GREY_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxLIGHT_GREY_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxTRANSPARENT_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxCYAN_BRUSH;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush*) wxRED_BRUSH;
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxBLACK;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxWHITE;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxRED;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxBLUE;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxGREEN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxCYAN;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour*) wxLIGHT_GREY;
|
||||||
|
|
||||||
|
// 'Null' objects
|
||||||
|
WXDLLEXPORT_DATA(extern wxBitmap) wxNullBitmap;
|
||||||
|
WXDLLEXPORT_DATA(extern wxIcon) wxNullIcon;
|
||||||
|
WXDLLEXPORT_DATA(extern wxCursor) wxNullCursor;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPen) wxNullPen;
|
||||||
|
WXDLLEXPORT_DATA(extern wxBrush) wxNullBrush;
|
||||||
|
WXDLLEXPORT_DATA(extern wxPalette) wxNullPalette;
|
||||||
|
WXDLLEXPORT_DATA(extern wxFont) wxNullFont;
|
||||||
|
WXDLLEXPORT_DATA(extern wxColour) wxNullColour;
|
||||||
|
|
||||||
|
// Stock cursors types
|
||||||
|
WXDLLEXPORT_DATA(extern wxCursor*) wxSTANDARD_CURSOR;
|
||||||
|
WXDLLEXPORT_DATA(extern wxCursor*) wxHOURGLASS_CURSOR;
|
||||||
|
WXDLLEXPORT_DATA(extern wxCursor*) wxCROSS_CURSOR;
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern wxColourDatabase*) wxTheColourDatabase;
|
||||||
|
extern void WXDLLEXPORT wxInitializeStockObjects(void);
|
||||||
|
extern void WXDLLEXPORT wxDeleteStockObjects(void);
|
||||||
|
|
||||||
|
extern bool WXDLLEXPORT wxColourDisplay(void);
|
||||||
|
|
||||||
|
// Returns depth of screen
|
||||||
|
extern int WXDLLEXPORT wxDisplayDepth(void);
|
||||||
|
|
||||||
|
extern void WXDLLEXPORT wxDisplaySize(int *width, int *height);
|
||||||
|
|
||||||
|
extern void WXDLLEXPORT wxSetCursor(const wxCursor& cursor);
|
||||||
|
|
||||||
|
// Useful macro for create icons portably
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
# define wxICON(X) wxIcon(X##_icon);
|
||||||
|
#elif defined(__X__)
|
||||||
|
# define wxICON(X) wxIcon(X##_bits, X##_width, X##_height);
|
||||||
|
#else
|
||||||
|
# define wxICON wxIcon
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
Example:
|
||||||
|
#define wxbuild_icon "wxbuild"
|
||||||
|
|
||||||
|
wxIcon *icon = new wxICON(wxbuild);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GDICMNH__
|
||||||
13
include/wx/gdiobj.h
Normal file
13
include/wx/gdiobj.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#ifndef __GDIOBJH_BASE__
|
||||||
|
#define __GDIOBJH_BASE__
|
||||||
|
|
||||||
|
#if defined(__WINDOWS__)
|
||||||
|
#include "wx/msw/gdiobj.h"
|
||||||
|
#elif defined(__MOTIF__)
|
||||||
|
#include "wx/xt/gdiobj.h"
|
||||||
|
#elif defined(__GTK__)
|
||||||
|
#include "wx/gtk/gdiobj.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GDIOBJH_BASE__
|
||||||
100
include/wx/generic/choicdgg.h
Normal file
100
include/wx/generic/choicdgg.h
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: choicdgg.h
|
||||||
|
// Purpose: Generic choice dialogs
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __CHOICEDLGH_G__
|
||||||
|
#define __CHOICEDLGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "choicdgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
#define wxCHOICE_HEIGHT 150
|
||||||
|
#define wxCHOICE_WIDTH 200
|
||||||
|
|
||||||
|
#define wxID_LISTBOX 3000
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxSingleChoiceDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxSingleChoiceDialog)
|
||||||
|
public:
|
||||||
|
wxSingleChoiceDialog(wxWindow *parent, const wxString& message, const wxString& caption,
|
||||||
|
const int n, const wxString *choices, char **clientData = NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
|
||||||
|
wxSingleChoiceDialog(wxWindow *parent, const wxString& message, const wxString& caption,
|
||||||
|
const wxStringList& choices, char **clientData = NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, const wxString& message, const wxString& caption,
|
||||||
|
const int n, const wxString *choices, char **clientData = NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
bool Create(wxWindow *parent, const wxString& message, const wxString& caption,
|
||||||
|
const wxStringList& choices, char **clientData = NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
|
||||||
|
inline int GetSelection(void) const { return m_selection; }
|
||||||
|
inline wxString GetStringSelection(void) const { return m_stringSelection; }
|
||||||
|
inline char *GetSelectionClientData(void) const { return m_clientData; }
|
||||||
|
|
||||||
|
void OnOK(wxCommandEvent& event);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
|
protected:
|
||||||
|
long m_dialogStyle;
|
||||||
|
int m_selection;
|
||||||
|
wxString m_stringSelection;
|
||||||
|
char* m_clientData;
|
||||||
|
};
|
||||||
|
|
||||||
|
wxString WXDLLEXPORT wxGetSingleChoice(const wxString& message, const wxString& caption,
|
||||||
|
const int n, const wxString *choices, wxWindow *parent = NULL,
|
||||||
|
const int x = -1, const int y = -1, const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
|
||||||
|
wxString WXDLLEXPORT wxGetSingleChoice(const wxString& message, const wxString& caption,
|
||||||
|
const int n, char *choices[], wxWindow *parent = NULL,
|
||||||
|
const int x = -1, const int y = -1, const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
|
||||||
|
// Same as above but gets position in list of strings, instead of string,
|
||||||
|
// or -1 if no selection
|
||||||
|
int WXDLLEXPORT wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
|
||||||
|
const int n, const wxString *choices, wxWindow *parent = NULL,
|
||||||
|
const int x = -1, const int y = -1, const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
|
||||||
|
int WXDLLEXPORT wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
|
||||||
|
const int n, char *choices[], wxWindow *parent = NULL,
|
||||||
|
const int x = -1, const int y = -1, const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
|
||||||
|
// Return client data instead
|
||||||
|
char* WXDLLEXPORT wxGetSingleChoiceData(const wxString& message, const wxString& caption,
|
||||||
|
const int n, const wxString *choices, char **client_data,
|
||||||
|
wxWindow *parent = NULL, const int x = -1, const int y = -1,
|
||||||
|
const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
|
||||||
|
char* WXDLLEXPORT wxGetSingleChoiceData(const wxString& message, const wxString& caption,
|
||||||
|
const int n, char *choices[], char **client_data,
|
||||||
|
wxWindow *parent = NULL, const int x = -1, const int y = -1,
|
||||||
|
const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
|
||||||
|
/*
|
||||||
|
int WXDLLEXPORT wxGetMultipleChoice(const wxString& message, const wxString& caption,
|
||||||
|
const int n, const wxString *choices,
|
||||||
|
const int nsel, int * selection,
|
||||||
|
wxWindow *parent = NULL, const int x = -1 , const int y = -1, const bool centre = TRUE,
|
||||||
|
const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#endif
|
||||||
121
include/wx/generic/colrdlgg.h
Normal file
121
include/wx/generic/colrdlgg.h
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: colrdlgg.h
|
||||||
|
// Purpose: wxGenericColourDialog
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __COLORDLGH_G__
|
||||||
|
#define __COLORDLGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "colrdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
#include "wx/cmndata.h"
|
||||||
|
|
||||||
|
#define wxID_ADD_CUSTOM 3000
|
||||||
|
#define wxID_RED_SLIDER 3001
|
||||||
|
#define wxID_GREEN_SLIDER 3002
|
||||||
|
#define wxID_BLUE_SLIDER 3003
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxSlider;
|
||||||
|
class WXDLLEXPORT wxGenericColourDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGenericColourDialog)
|
||||||
|
protected:
|
||||||
|
wxColourData colourData;
|
||||||
|
wxWindow *dialogParent;
|
||||||
|
|
||||||
|
// Area reserved for grids of colours
|
||||||
|
wxRectangle standardColoursRect;
|
||||||
|
wxRectangle customColoursRect;
|
||||||
|
wxRectangle singleCustomColourRect;
|
||||||
|
|
||||||
|
// Size of each colour rectangle
|
||||||
|
wxIntPoint smallRectangleSize;
|
||||||
|
|
||||||
|
// For single customizable colour
|
||||||
|
wxIntPoint customRectangleSize;
|
||||||
|
|
||||||
|
// Grid spacing (between rectangles)
|
||||||
|
int gridSpacing;
|
||||||
|
|
||||||
|
// Section spacing (between left and right halves of dialog box)
|
||||||
|
int sectionSpacing;
|
||||||
|
|
||||||
|
// 48 'standard' colours
|
||||||
|
wxColour standardColours[48];
|
||||||
|
|
||||||
|
// 16 'custom' colours
|
||||||
|
wxColour customColours[16];
|
||||||
|
|
||||||
|
// One single custom colour (use sliders)
|
||||||
|
wxColour singleCustomColour;
|
||||||
|
|
||||||
|
// Which colour is selected? An index into one of the two areas.
|
||||||
|
int colourSelection;
|
||||||
|
int whichKind; // 1 for standard colours, 2 for custom colours,
|
||||||
|
|
||||||
|
wxSlider *redSlider;
|
||||||
|
wxSlider *greenSlider;
|
||||||
|
wxSlider *blueSlider;
|
||||||
|
|
||||||
|
int buttonY;
|
||||||
|
|
||||||
|
int okButtonX;
|
||||||
|
int customButtonX;
|
||||||
|
|
||||||
|
// static bool colourDialogCancelled;
|
||||||
|
public:
|
||||||
|
wxGenericColourDialog(void);
|
||||||
|
wxGenericColourDialog(wxWindow *parent, wxColourData *data = NULL);
|
||||||
|
~wxGenericColourDialog(void);
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, wxColourData *data = NULL);
|
||||||
|
|
||||||
|
int ShowModal(void);
|
||||||
|
wxColourData GetColourData(void) { return colourData; }
|
||||||
|
|
||||||
|
// Internal functions
|
||||||
|
void OnMouseEvent(wxMouseEvent& event);
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
bool OnClose(void);
|
||||||
|
|
||||||
|
virtual void CalculateMeasurements(void);
|
||||||
|
virtual void CreateWidgets(void);
|
||||||
|
virtual void InitializeColours(void);
|
||||||
|
|
||||||
|
virtual void PaintBasicColours(wxDC& dc);
|
||||||
|
virtual void PaintCustomColours(wxDC& dc);
|
||||||
|
virtual void PaintCustomColour(wxDC& dc);
|
||||||
|
virtual void PaintHighlight(wxDC& dc, bool draw);
|
||||||
|
|
||||||
|
virtual void OnBasicColourClick(int which);
|
||||||
|
virtual void OnCustomColourClick(int which);
|
||||||
|
|
||||||
|
/*
|
||||||
|
virtual void OnOk(void);
|
||||||
|
virtual void OnCancel(void);
|
||||||
|
virtual void OnAddCustom(void);
|
||||||
|
*/
|
||||||
|
void OnAddCustom(wxCommandEvent& event);
|
||||||
|
|
||||||
|
void OnRedSlider(wxCommandEvent& event);
|
||||||
|
void OnGreenSlider(wxCommandEvent& event);
|
||||||
|
void OnBlueSlider(wxCommandEvent& event);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef wxGenericColourDialog wxColourDialog;
|
||||||
|
|
||||||
|
#endif
|
||||||
94
include/wx/generic/fontdlgg.h
Normal file
94
include/wx/generic/fontdlgg.h
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: fontdlgg.h
|
||||||
|
// Purpose: wxGenericFontDialog
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __FONTDLGH_G__
|
||||||
|
#define __FONTDLGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "fontdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
#include "wx/font.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
#include "wx/cmndata.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FONT DIALOG
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxChoice;
|
||||||
|
class WXDLLEXPORT wxText;
|
||||||
|
class WXDLLEXPORT wxCheckBox;
|
||||||
|
|
||||||
|
#define wxID_FONT_UNDERLINE 3000
|
||||||
|
#define wxID_FONT_STYLE 3001
|
||||||
|
#define wxID_FONT_WEIGHT 3002
|
||||||
|
#define wxID_FONT_FAMILY 3003
|
||||||
|
#define wxID_FONT_COLOUR 3004
|
||||||
|
#define wxID_FONT_SIZE 3005
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGenericFontDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
|
||||||
|
protected:
|
||||||
|
wxFontData fontData;
|
||||||
|
wxFont dialogFont;
|
||||||
|
wxWindow *dialogParent;
|
||||||
|
|
||||||
|
// Area reserved for font display
|
||||||
|
wxRectangle fontRect;
|
||||||
|
|
||||||
|
wxChoice *familyChoice;
|
||||||
|
wxChoice *styleChoice;
|
||||||
|
wxChoice *weightChoice;
|
||||||
|
wxChoice *colourChoice;
|
||||||
|
wxCheckBox *underLineCheckBox;
|
||||||
|
wxChoice *pointSizeChoice;
|
||||||
|
|
||||||
|
// static bool fontDialogCancelled;
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxGenericFontDialog(void);
|
||||||
|
wxGenericFontDialog(wxWindow *parent, wxFontData *data = NULL);
|
||||||
|
~wxGenericFontDialog(void);
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, wxFontData *data = NULL);
|
||||||
|
|
||||||
|
int ShowModal(void);
|
||||||
|
|
||||||
|
inline wxFontData& GetFontData(void) { return fontData; }
|
||||||
|
|
||||||
|
// Internal functions
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
bool OnClose(void);
|
||||||
|
|
||||||
|
virtual void CreateWidgets(void);
|
||||||
|
virtual void InitializeFont(void);
|
||||||
|
|
||||||
|
virtual void PaintFontBackground(wxDC& dc);
|
||||||
|
virtual void PaintFont(wxDC& dc);
|
||||||
|
|
||||||
|
void OnChangeFont(wxCommandEvent& event);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
char* WXDLLEXPORT wxFontFamilyIntToString(int family);
|
||||||
|
char* WXDLLEXPORT wxFontWeightIntToString(int weight);
|
||||||
|
char* WXDLLEXPORT wxFontStyleIntToString(int style);
|
||||||
|
int WXDLLEXPORT wxFontFamilyStringToInt(char *family);
|
||||||
|
int WXDLLEXPORT wxFontWeightStringToInt(char *weight);
|
||||||
|
int WXDLLEXPORT wxFontStyleStringToInt(char *style);
|
||||||
|
|
||||||
|
#endif
|
||||||
319
include/wx/generic/gridg.h
Normal file
319
include/wx/generic/gridg.h
Normal file
@@ -0,0 +1,319 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: gridg.h
|
||||||
|
// Purpose: wxGenericGrid
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __GRIDH_G__
|
||||||
|
#define __GRIDH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "gridg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/panel.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/scrolbar.h"
|
||||||
|
|
||||||
|
#define wxGRID_DEFAULT_EDIT_WIDTH 300
|
||||||
|
#define wxGRID_DEFAULT_EDIT_HEIGHT 27
|
||||||
|
#define wxGRID_DEFAULT_EDIT_X 5
|
||||||
|
#define wxGRID_DEFAULT_EDIT_Y 1
|
||||||
|
#define wxGRID_DEFAULT_SHEET_TOP 31
|
||||||
|
#define wxGRID_DEFAULT_SHEET_LEFT 0
|
||||||
|
#define wxGRID_DEFAULT_CELL_HEIGHT 20
|
||||||
|
#define wxGRID_DEFAULT_CELL_WIDTH 80
|
||||||
|
#define wxGRID_DEFAULT_VERTICAL_LABEL_WIDTH 40
|
||||||
|
#define wxGRID_DEFAULT_HORIZONAL_LABEL_HEIGHT 20
|
||||||
|
|
||||||
|
#ifndef wxLEFT
|
||||||
|
#define wxLEFT 0x0400
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef wxRIGHT
|
||||||
|
#define wxRIGHT 0x0800
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define WXGENERIC_GRID_VERSION 0.4
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGridCell;
|
||||||
|
class WXDLLEXPORT wxGenericGrid: public wxPanel
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGenericGrid)
|
||||||
|
protected:
|
||||||
|
wxTextCtrl *textItem;
|
||||||
|
wxScrollBar *hScrollBar;
|
||||||
|
wxScrollBar *vScrollBar;
|
||||||
|
int wCursorRow;
|
||||||
|
int wCursorColumn;
|
||||||
|
wxRectangle CurrentRect;
|
||||||
|
bool currentRectVisible;
|
||||||
|
wxGridCell ***gridCells;
|
||||||
|
wxGridCell **rowLabelCells;
|
||||||
|
wxGridCell **colLabelCells;
|
||||||
|
bool bEditCreated;
|
||||||
|
bool editable;
|
||||||
|
|
||||||
|
int totalRows;
|
||||||
|
int totalCols;
|
||||||
|
|
||||||
|
// Row and column we're currently looking at
|
||||||
|
int scrollPosX;
|
||||||
|
int scrollPosY;
|
||||||
|
|
||||||
|
// Dimensions
|
||||||
|
int leftOfSheet;
|
||||||
|
int topOfSheet;
|
||||||
|
int rightOfSheet; // Calculated from colWidths
|
||||||
|
int bottomOfSheet; // Calculated from rowHeights
|
||||||
|
int totalGridWidth; // Total 'virtual' size
|
||||||
|
int totalGridHeight;
|
||||||
|
int cellHeight; // For now, a default
|
||||||
|
int verticalLabelWidth;
|
||||||
|
int horizontalLabelHeight;
|
||||||
|
int verticalLabelAlignment;
|
||||||
|
int horizontalLabelAlignment;
|
||||||
|
int cellAlignment;
|
||||||
|
short *colWidths; // Dynamically allocated
|
||||||
|
short *rowHeights; // Dynamically allocated
|
||||||
|
int scrollWidth; // Vert. scroll width, horiz. scroll height
|
||||||
|
|
||||||
|
// Colours
|
||||||
|
wxColour cellTextColour;
|
||||||
|
wxColour cellBackgroundColour;
|
||||||
|
wxFont *cellTextFont;
|
||||||
|
wxColour labelTextColour;
|
||||||
|
wxColour labelBackgroundColour;
|
||||||
|
wxBrush *labelBackgroundBrush;
|
||||||
|
wxFont *labelTextFont;
|
||||||
|
wxPen *divisionPen;
|
||||||
|
|
||||||
|
// Position of Edit control
|
||||||
|
wxRectangle editControlPosition;
|
||||||
|
|
||||||
|
// Drag status
|
||||||
|
int dragStatus;
|
||||||
|
int dragRowOrCol;
|
||||||
|
int dragStartPosition;
|
||||||
|
int dragLastPosition;
|
||||||
|
static wxCursor *horizontalSashCursor;
|
||||||
|
static wxCursor *verticalSashCursor;
|
||||||
|
|
||||||
|
// Don't refresh whilst this is > 0
|
||||||
|
int batchCount;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxGenericGrid(void);
|
||||||
|
|
||||||
|
inline wxGenericGrid(wxWindow *parent, int x, int y, int width, int height, const long style = 0, char *name = "grid")
|
||||||
|
{
|
||||||
|
Create(parent, -1, wxPoint(x, y), wxSize(width, height), style, name);
|
||||||
|
}
|
||||||
|
inline wxGenericGrid(wxWindow *parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, const long style = 0, const wxString& name = "grid")
|
||||||
|
{
|
||||||
|
Create(parent, id, pos, size, style, name);
|
||||||
|
}
|
||||||
|
~wxGenericGrid(void);
|
||||||
|
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
void OnMouseEvent(wxMouseEvent& event);
|
||||||
|
void OnSize(wxSizeEvent& event);
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, const wxWindowID, const wxPoint& pos, const wxSize& size, const long style = 0, const wxString& name = "grid");
|
||||||
|
|
||||||
|
bool CreateGrid(int nRows, int nCols, wxString **cellValues = NULL, short *widths = NULL,
|
||||||
|
short defaultWidth = wxGRID_DEFAULT_CELL_WIDTH, short defaultHeight = wxGRID_DEFAULT_CELL_HEIGHT);
|
||||||
|
void ClearGrid(void);
|
||||||
|
virtual wxGridCell *GetCell(int row, int col);
|
||||||
|
inline wxGridCell ***GetCells(void) { return gridCells; }
|
||||||
|
bool InsertCols(int pos = 0, int n = 1, bool updateLabels = TRUE);
|
||||||
|
bool InsertRows(int pos = 0, int n = 1, bool updateLabels = TRUE);
|
||||||
|
bool AppendCols(int n = 1, bool updateLabels = TRUE);
|
||||||
|
bool AppendRows(int n = 1, bool updateLabels = TRUE);
|
||||||
|
bool DeleteCols(int pos = 0, int n = 1, bool updateLabels = TRUE);
|
||||||
|
bool DeleteRows(int pos = 0, int n = 1, bool updateLabels = TRUE);
|
||||||
|
|
||||||
|
// Cell accessors
|
||||||
|
void SetCellValue(const wxString& val, int row, int col);
|
||||||
|
wxString& GetCellValue(int row, int col);
|
||||||
|
void SetCellAlignment(int flag, int row, int col);
|
||||||
|
void SetCellAlignment(int flag);
|
||||||
|
int GetCellAlignment(int row, int col);
|
||||||
|
int GetCellAlignment(void);
|
||||||
|
void SetCellTextColour(const wxColour& val, int row, int col);
|
||||||
|
void SetCellTextColour(const wxColour& col);
|
||||||
|
wxColour& GetCellTextColour(int row, int col);
|
||||||
|
inline wxColour& GetCellTextColour(void) { return cellTextColour; }
|
||||||
|
void SetCellBackgroundColour(const wxColour& col);
|
||||||
|
void SetCellBackgroundColour(const wxColour& colour, int row, int col);
|
||||||
|
inline wxColour& GetCellBackgroundColour(void) { return cellBackgroundColour; }
|
||||||
|
wxColour& GetCellBackgroundColour(int row, int col);
|
||||||
|
inline wxFont *GetCellTextFont(void) { return cellTextFont; }
|
||||||
|
wxFont *GetCellTextFont(int row, int col);
|
||||||
|
void SetCellTextFont(wxFont *fnt);
|
||||||
|
void SetCellTextFont(wxFont *fnt, int row, int col);
|
||||||
|
wxBitmap *GetCellBitmap(int row, int col);
|
||||||
|
void SetCellBitmap(wxBitmap *bitmap, int row, int col);
|
||||||
|
|
||||||
|
// Size accessors
|
||||||
|
void SetColumnWidth(int col, int width);
|
||||||
|
int GetColumnWidth(int col);
|
||||||
|
void SetRowHeight(int row, int height);
|
||||||
|
int GetRowHeight(int row);
|
||||||
|
|
||||||
|
// Label accessors
|
||||||
|
void SetLabelSize(int orientation, int sz);
|
||||||
|
int GetLabelSize(int orientation);
|
||||||
|
void SetLabelAlignment(int orientation, int alignment);
|
||||||
|
int GetLabelAlignment(int orientation);
|
||||||
|
wxGridCell *GetLabelCell(int orientation, int pos);
|
||||||
|
void SetLabelValue(int orientation, const wxString& val, int pos);
|
||||||
|
wxString& GetLabelValue(int orientation, int pos);
|
||||||
|
void SetLabelTextColour(const wxColour& colour);
|
||||||
|
void SetLabelBackgroundColour(const wxColour& colour);
|
||||||
|
inline wxColour& GetLabelTextColour(void) { return labelTextColour; }
|
||||||
|
inline wxColour& GetLabelBackgroundColour(void) { return labelBackgroundColour; }
|
||||||
|
inline wxFont *GetLabelTextFont(void) { return labelTextFont; }
|
||||||
|
inline void SetLabelTextFont(wxFont *fnt) { labelTextFont = fnt; }
|
||||||
|
|
||||||
|
// Miscellaneous accessors
|
||||||
|
inline int GetCursorRow(void) { return wCursorRow; }
|
||||||
|
inline int GetCursorColumn(void) { return wCursorColumn; }
|
||||||
|
void SetGridCursor(int row, int col);
|
||||||
|
inline int GetRows(void) { return totalRows; }
|
||||||
|
inline int GetCols(void) { return totalCols; }
|
||||||
|
inline int GetScrollPosX(void) { return scrollPosX; }
|
||||||
|
inline int GetScrollPosY(void) { return scrollPosY; }
|
||||||
|
inline void SetScrollPosX(int pos) { scrollPosX = pos; }
|
||||||
|
inline void SetScrollPosY(int pos) { scrollPosY = pos; }
|
||||||
|
inline wxTextCtrl *GetTextItem(void) { return textItem; }
|
||||||
|
inline wxScrollBar *GetHorizScrollBar(void) { return hScrollBar; }
|
||||||
|
inline wxScrollBar *GetVertScrollBar(void) { return vScrollBar; }
|
||||||
|
inline bool GetEditable(void) { return editable; }
|
||||||
|
void SetEditable(bool edit);
|
||||||
|
inline wxRectangle& GetCurrentRect(void) { return CurrentRect; }
|
||||||
|
inline bool CurrentCellVisible(void) { return currentRectVisible; }
|
||||||
|
inline void SetDividerPen(wxPen *pen) { divisionPen = pen; }
|
||||||
|
inline wxPen *GetDividerPen(void) { return divisionPen; }
|
||||||
|
|
||||||
|
// High-level event handling
|
||||||
|
// Override e.g. to check value of current cell; but call
|
||||||
|
// base member for default processing.
|
||||||
|
virtual void OnSelectCellImplementation(wxDC *dc, int row, int col);
|
||||||
|
|
||||||
|
virtual void OnSelectCell(int WXUNUSED(row), int WXUNUSED(col)) {};
|
||||||
|
|
||||||
|
// Override to create your own class of grid cell
|
||||||
|
virtual wxGridCell *OnCreateCell(void);
|
||||||
|
|
||||||
|
// Override to change labels e.g. creation of grid, inserting/deleting a row/col.
|
||||||
|
// By default, auto-labels the grid.
|
||||||
|
virtual void OnChangeLabels(void);
|
||||||
|
|
||||||
|
// Override to change the label of the edit field when selecting a cell
|
||||||
|
// By default, sets it to e.g. A12
|
||||||
|
virtual void OnChangeSelectionLabel(void);
|
||||||
|
|
||||||
|
// Override for event processing
|
||||||
|
virtual void OnCellChange(int WXUNUSED(row), int WXUNUSED(col)) {};
|
||||||
|
virtual void OnCellLeftClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
|
||||||
|
virtual void OnCellRightClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
|
||||||
|
virtual void OnLabelLeftClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
|
||||||
|
virtual void OnLabelRightClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
|
||||||
|
|
||||||
|
// Activation: call from wxFrame::OnActivate
|
||||||
|
void OnActivate(bool active);
|
||||||
|
|
||||||
|
// Miscellaneous
|
||||||
|
void AdjustScrollbars(void);
|
||||||
|
void UpdateDimensions(void);
|
||||||
|
|
||||||
|
/* INTERNAL
|
||||||
|
*/
|
||||||
|
void SetCurrentRect (int Row, int Column, int canvasW = -1, int canvasH = -1);
|
||||||
|
void HighlightCell (wxDC *dc);
|
||||||
|
void DrawCellText(void);
|
||||||
|
void SetGridClippingRegion(wxDC *dc);
|
||||||
|
virtual bool CellHitTest(int x, int y, int *row, int *col);
|
||||||
|
virtual bool LabelSashHitTest(int x, int y, int *orientation, int *rowOrCol, int *startPos);
|
||||||
|
virtual bool LabelHitTest(int x, int y, int *row, int *col);
|
||||||
|
// Painting
|
||||||
|
virtual void DrawLabelAreas(wxDC *dc);
|
||||||
|
virtual void DrawEditableArea(wxDC *dc);
|
||||||
|
virtual void DrawGridLines(wxDC *dc);
|
||||||
|
virtual void DrawColumnLabels(wxDC *dc);
|
||||||
|
virtual void DrawColumnLabel(wxDC *dc, wxRectangle *rect, int col);
|
||||||
|
virtual void DrawRowLabels(wxDC *dc);
|
||||||
|
virtual void DrawRowLabel(wxDC *dc, wxRectangle *rect, int row);
|
||||||
|
virtual void DrawCells(wxDC *dc);
|
||||||
|
virtual void DrawCellValue(wxDC *dc, wxRectangle *rect, int row, int col);
|
||||||
|
virtual void DrawCellBackground(wxDC *dc, wxRectangle *rect, int row, int col);
|
||||||
|
virtual void DrawTextRect(wxDC *dc, const wxString& text, wxRectangle *rect, int flag);
|
||||||
|
virtual void DrawBitmapRect(wxDC *dc, wxBitmap *bitmap, wxRectangle *rect, int flag);
|
||||||
|
|
||||||
|
// Refresh cell and optionally set the text field
|
||||||
|
void RefreshCell(int row, int col, bool setText = FALSE);
|
||||||
|
|
||||||
|
// Don't refresh within the outer pair of these.
|
||||||
|
inline void BeginBatch(void) { batchCount ++; }
|
||||||
|
inline void EndBatch(void) { batchCount --; }
|
||||||
|
inline int GetBatchCount(void) { return batchCount; }
|
||||||
|
|
||||||
|
void OnText(wxCommandEvent& ev);
|
||||||
|
void OnGridScroll(wxScrollEvent& ev);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#define wxGRID_TEXT_CTRL 2000
|
||||||
|
#define wxGRID_HSCROLL 2001
|
||||||
|
#define wxGRID_VSCROLL 2002
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGridCell: public wxObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxString textValue;
|
||||||
|
wxFont *font;
|
||||||
|
wxColour textColour;
|
||||||
|
wxColour backgroundColour;
|
||||||
|
wxBrush *backgroundBrush;
|
||||||
|
wxBitmap *cellBitmap;
|
||||||
|
int alignment;
|
||||||
|
|
||||||
|
wxGridCell(wxGenericGrid *window = NULL);
|
||||||
|
~wxGridCell(void);
|
||||||
|
|
||||||
|
virtual wxString& GetTextValue(void) { return textValue; }
|
||||||
|
virtual void SetTextValue(const wxString& str) { textValue = str; }
|
||||||
|
inline wxFont *GetFont(void) { return font; }
|
||||||
|
inline void SetFont(wxFont *f) { font = f; }
|
||||||
|
inline wxColour& GetTextColour(void) { return textColour; }
|
||||||
|
inline void SetTextColour(const wxColour& colour) { textColour = colour; }
|
||||||
|
inline wxColour& GetBackgroundColour(void) { return backgroundColour; }
|
||||||
|
void SetBackgroundColour(const wxColour& colour);
|
||||||
|
inline wxBrush *GetBackgroundBrush(void) { return backgroundBrush; }
|
||||||
|
inline int GetAlignment(void) { return alignment; }
|
||||||
|
inline void SetAlignment(int align) { alignment = align; }
|
||||||
|
inline wxBitmap *GetCellBitmap(void) { return cellBitmap; }
|
||||||
|
inline void SetCellBitmap(wxBitmap *bitmap) { cellBitmap = bitmap; }
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGrid: public wxGenericGrid
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxGrid(void):wxGenericGrid() {}
|
||||||
|
wxGrid(wxWindow *parent, int x=-1, int y=-1, int width=-1, int height=-1,
|
||||||
|
long style=0, char *name = "gridWindow"):
|
||||||
|
wxGenericGrid(parent, x, y, width, height, style, name)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
127
include/wx/generic/helpxlp.h
Normal file
127
include/wx/generic/helpxlp.h
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: helpxlp.h
|
||||||
|
// Purpose: Help system: wxHelp implementation
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 04/01/98
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/* sccsid[] = "@(#)wx_help.h 1.2 5/9/94" */
|
||||||
|
|
||||||
|
#ifndef __HELPXLPH__
|
||||||
|
#define __HELPXLPH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "helpxlp.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "wx/wx.h"
|
||||||
|
|
||||||
|
#if USE_HELP
|
||||||
|
|
||||||
|
#include "wx/helpbase.h"
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
#include "wx/dde.h"
|
||||||
|
#else
|
||||||
|
// Or whatever it'll be called
|
||||||
|
#include "wx/ipctcp.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxXLPHelpController;
|
||||||
|
|
||||||
|
// Connection class for implementing the connection between the
|
||||||
|
// wxHelp process and the application
|
||||||
|
class WXDLLEXPORT wxXLPHelpConnection: public
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
wxDDEConnection
|
||||||
|
#else
|
||||||
|
wxTCPConnection
|
||||||
|
#endif
|
||||||
|
|
||||||
|
{
|
||||||
|
friend class wxXLPHelpController;
|
||||||
|
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxXLPHelpConnection)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxXLPHelpConnection(wxXLPHelpController *instance);
|
||||||
|
bool OnDisconnect(void);
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxXLPHelpController *helpInstance;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Connection class for implementing the client process
|
||||||
|
// controlling the wxHelp process
|
||||||
|
class WXDLLEXPORT wxXLPHelpClient: public
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
wxDDEClient
|
||||||
|
#else
|
||||||
|
wxTCPClient
|
||||||
|
#endif
|
||||||
|
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxXLPHelpClient)
|
||||||
|
|
||||||
|
friend class WXDLLEXPORT wxXLPHelpController;
|
||||||
|
public:
|
||||||
|
wxXLPHelpClient(wxXLPHelpController* c) { m_controller = c; }
|
||||||
|
|
||||||
|
wxConnectionBase *OnMakeConnection(void)
|
||||||
|
{ return new wxXLPHelpConnection(m_controller);
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
wxXLPHelpController* m_controller;
|
||||||
|
};
|
||||||
|
|
||||||
|
// An application can have one or more instances of wxHelp,
|
||||||
|
// represented by an object of this class.
|
||||||
|
// Nothing happens on initial creation; the application
|
||||||
|
// must call a member function to display help.
|
||||||
|
// If the instance of wxHelp is already active, that instance
|
||||||
|
// will be used for subsequent help.
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxXLPHelpController: public wxHelpControllerBase
|
||||||
|
{
|
||||||
|
friend class WXDLLEXPORT wxXLPHelpConnection;
|
||||||
|
DECLARE_CLASS(wxXLPHelpController)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxXLPHelpController(void);
|
||||||
|
~wxXLPHelpController(void);
|
||||||
|
|
||||||
|
// Must call this to set the filename and server name
|
||||||
|
virtual bool Initialize(const wxString& file, int server = -1);
|
||||||
|
// If file is "", reloads file given in Initialize
|
||||||
|
virtual bool LoadFile(const wxString& file = "");
|
||||||
|
virtual bool DisplayContents(void);
|
||||||
|
virtual bool DisplaySection(int sectionNo);
|
||||||
|
virtual bool DisplayBlock(long blockNo);
|
||||||
|
virtual bool KeywordSearch(const wxString& k);
|
||||||
|
|
||||||
|
virtual bool Quit(void);
|
||||||
|
virtual void OnQuit(void);
|
||||||
|
|
||||||
|
// Private
|
||||||
|
bool Run(void);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxString helpFile;
|
||||||
|
wxString helpHost;
|
||||||
|
int helpServer;
|
||||||
|
bool helpRunning;
|
||||||
|
wxXLPHelpConnection* helpConnection;
|
||||||
|
wxXLPHelpClient helpClient;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // USE_HELP
|
||||||
|
#endif
|
||||||
|
// __HELPXLPH__
|
||||||
67
include/wx/generic/imaglist.h
Normal file
67
include/wx/generic/imaglist.h
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: imaglist.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __IMAGELISTH_G__
|
||||||
|
#define __IMAGELISTH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
#include "wx/bitmap.h"
|
||||||
|
#include "wx/dc.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
|
||||||
|
* images for their items by an index into an image list.
|
||||||
|
* A wxImageList is capable of creating images with optional masks from
|
||||||
|
* a variety of sources - a single bitmap plus a colour to indicate the mask,
|
||||||
|
* two bitmaps, or an icon.
|
||||||
|
*
|
||||||
|
* Image lists can also create and draw images used for drag and drop functionality.
|
||||||
|
* This is not yet implemented in wxImageList. We need to discuss a generic API
|
||||||
|
* for doing drag and drop and see whether it ties in with the Win95 view of it.
|
||||||
|
* See below for candidate functions and an explanation of how they might be
|
||||||
|
* used.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Flags for Draw
|
||||||
|
#define wxIMAGELIST_DRAW_NORMAL 0x0001
|
||||||
|
#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002
|
||||||
|
#define wxIMAGELIST_DRAW_SELECTED 0x0004
|
||||||
|
#define wxIMAGELIST_DRAW_FOCUSED 0x0008
|
||||||
|
|
||||||
|
class wxImageList: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxImageList)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxImageList(void);
|
||||||
|
~wxImageList(void);
|
||||||
|
bool Create(void);
|
||||||
|
int GetImageCount(void) const;
|
||||||
|
int Add( const wxBitmap &bitmap );
|
||||||
|
bool Replace( const int index, const wxBitmap &bitmap );
|
||||||
|
bool Remove( const int index );
|
||||||
|
bool RemoveAll(void);
|
||||||
|
bool GetSize( const int index, int &width, int &height ) const;
|
||||||
|
bool Draw(const int index, wxDC& dc, const int x, const int y,
|
||||||
|
const int flags = wxIMAGELIST_DRAW_NORMAL, const bool solidBackground = FALSE );
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
wxList m_images;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __IMAGELISTH_G__
|
||||||
|
|
||||||
649
include/wx/generic/listctrl.h
Normal file
649
include/wx/generic/listctrl.h
Normal file
@@ -0,0 +1,649 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: listctrl.h
|
||||||
|
// Purpose: Generic list control
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __LISTCTRLH_G__
|
||||||
|
#define __LISTCTRLH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/imaglist.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
#include "wx/timer.h"
|
||||||
|
#include "wx/dcclient.h"
|
||||||
|
#include "wx/scrolwin.h"
|
||||||
|
#include "wx/settings.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListItem;
|
||||||
|
class wxListEvent;
|
||||||
|
class wxListCtrl;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// internal classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListHeaderData;
|
||||||
|
class wxListItemData;
|
||||||
|
class wxListLineData;
|
||||||
|
|
||||||
|
class wxListHeaderWindow;
|
||||||
|
class wxListMainWindow;
|
||||||
|
|
||||||
|
class wxListRenameTimer;
|
||||||
|
//class wxListTextCtrl;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// types
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// type of compare function for wxListCtrl sort operation
|
||||||
|
typedef int (*wxListCtrlCompare)(const long item1, const long item2, long sortData);
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListCtrl flags
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define wxLC_ICON 0x0004
|
||||||
|
#define wxLC_SMALL_ICON 0x0008
|
||||||
|
#define wxLC_LIST 0x0010
|
||||||
|
#define wxLC_REPORT 0x0020
|
||||||
|
#define wxLC_ALIGN_TOP 0x0040
|
||||||
|
#define wxLC_ALIGN_LEFT 0x0080
|
||||||
|
#define wxLC_AUTOARRANGE 0x0100 // not supported in wxGLC
|
||||||
|
#define wxLC_USER_TEXT 0x0200 // not supported in wxGLC (how does it work?)
|
||||||
|
#define wxLC_EDIT_LABELS 0x0400
|
||||||
|
#define wxLC_NO_HEADER 0x0800 // not supported in wxGLC
|
||||||
|
#define wxLC_NO_SORT_HEADER 0x1000 // not supported in wxGLC
|
||||||
|
#define wxLC_SINGLE_SEL 0x2000
|
||||||
|
#define wxLC_SORT_ASCENDING 0x4000
|
||||||
|
#define wxLC_SORT_DESCENDING 0x8000 // not supported in wxGLC
|
||||||
|
|
||||||
|
#define wxLC_MASK_TYPE (wxLC_ICON | wxLC_SMALL_ICON | wxLC_LIST | wxLC_REPORT)
|
||||||
|
#define wxLC_MASK_ALIGN (wxLC_ALIGN_TOP | wxLC_ALIGN_LEFT)
|
||||||
|
#define wxLC_MASK_SORT (wxLC_SORT_ASCENDING | wxLC_SORT_DESCENDING)
|
||||||
|
|
||||||
|
// Omitted because (a) too much detail (b) not enough style flags
|
||||||
|
// #define wxLC_NO_SCROLL
|
||||||
|
// #define wxLC_NO_LABEL_WRAP
|
||||||
|
// #define wxLC_OWNERDRAW_FIXED
|
||||||
|
// #define wxLC_SHOW_SEL_ALWAYS
|
||||||
|
|
||||||
|
// Mask flags to tell app/GUI what fields of wxListItem are valid
|
||||||
|
#define wxLIST_MASK_STATE 0x0001
|
||||||
|
#define wxLIST_MASK_TEXT 0x0002
|
||||||
|
#define wxLIST_MASK_IMAGE 0x0004
|
||||||
|
#define wxLIST_MASK_DATA 0x0008
|
||||||
|
#define wxLIST_SET_ITEM 0x0010
|
||||||
|
#define wxLIST_MASK_WIDTH 0x0020
|
||||||
|
#define wxLIST_MASK_FORMAT 0x0040
|
||||||
|
|
||||||
|
// State flags for indicating the state of an item
|
||||||
|
#define wxLIST_STATE_DONTCARE 0x0000
|
||||||
|
#define wxLIST_STATE_DROPHILITED 0x0001 // not supported in wxGLC
|
||||||
|
#define wxLIST_STATE_FOCUSED 0x0002
|
||||||
|
#define wxLIST_STATE_SELECTED 0x0004
|
||||||
|
#define wxLIST_STATE_CUT 0x0008 // not supported in wxGLC
|
||||||
|
|
||||||
|
// Hit test flags, used in HitTest // wxGLC suppots 20 and 80
|
||||||
|
#define wxLIST_HITTEST_ABOVE 0x0001 // Above the client area.
|
||||||
|
#define wxLIST_HITTEST_BELOW 0x0002 // Below the client area.
|
||||||
|
#define wxLIST_HITTEST_NOWHERE 0x0004 // In the client area but below the last item.
|
||||||
|
#define wxLIST_HITTEST_ONITEMICON 0x0020 // On the bitmap associated with an item.
|
||||||
|
#define wxLIST_HITTEST_ONITEMLABEL 0x0080 // On the label (string) associated with an item.
|
||||||
|
#define wxLIST_HITTEST_ONITEMRIGHT 0x0100 // In the area to the right of an item.
|
||||||
|
#define wxLIST_HITTEST_ONITEMSTATEICON 0x0200 // On the state icon for a tree view item that is in a user-defined state.
|
||||||
|
#define wxLIST_HITTEST_TOLEFT 0x0400 // To the right of the client area.
|
||||||
|
#define wxLIST_HITTEST_TORIGHT 0x0800 // To the left of the client area.
|
||||||
|
|
||||||
|
#define wxLIST_HITTEST_ONITEM (wxLIST_HITTEST_ONITEMICON | wxLIST_HITTEST_ONITEMLABEL | wxLIST_HITTEST_ONITEMSTATEICON)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Flags for GetNextItem // always wxLIST_NEXT_ALL in wxGLC
|
||||||
|
enum {
|
||||||
|
wxLIST_NEXT_ABOVE, // Searches for an item above the specified item
|
||||||
|
wxLIST_NEXT_ALL, // Searches for subsequent item by index
|
||||||
|
wxLIST_NEXT_BELOW, // Searches for an item below the specified item
|
||||||
|
wxLIST_NEXT_LEFT, // Searches for an item to the left of the specified item
|
||||||
|
wxLIST_NEXT_RIGHT, // Searches for an item to the right of the specified item
|
||||||
|
};
|
||||||
|
|
||||||
|
// Alignment flags for Arrange // always wxLIST_ALIGN_LEFT in wxGLC
|
||||||
|
enum {
|
||||||
|
wxLIST_ALIGN_DEFAULT,
|
||||||
|
wxLIST_ALIGN_LEFT,
|
||||||
|
wxLIST_ALIGN_TOP,
|
||||||
|
wxLIST_ALIGN_SNAP_TO_GRID
|
||||||
|
};
|
||||||
|
|
||||||
|
// Column format // always wxLIST_FORMAT_LEFT in wxGLC
|
||||||
|
enum {
|
||||||
|
wxLIST_FORMAT_LEFT,
|
||||||
|
wxLIST_FORMAT_RIGHT,
|
||||||
|
wxLIST_FORMAT_CENTRE,
|
||||||
|
wxLIST_FORMAT_CENTER = wxLIST_FORMAT_CENTRE
|
||||||
|
};
|
||||||
|
|
||||||
|
// Autosize values for SetColumnWidth
|
||||||
|
enum {
|
||||||
|
wxLIST_AUTOSIZE = -1, // always 80 in wxGLC (what else?)
|
||||||
|
wxLIST_AUTOSIZE_USEHEADER = -2
|
||||||
|
};
|
||||||
|
|
||||||
|
// Flag values for GetItemRect
|
||||||
|
enum {
|
||||||
|
wxLIST_RECT_BOUNDS,
|
||||||
|
wxLIST_RECT_ICON,
|
||||||
|
wxLIST_RECT_LABEL
|
||||||
|
};
|
||||||
|
|
||||||
|
// Flag values for FindItem // not supported by wxGLC
|
||||||
|
enum {
|
||||||
|
wxLIST_FIND_UP,
|
||||||
|
wxLIST_FIND_DOWN,
|
||||||
|
wxLIST_FIND_LEFT,
|
||||||
|
wxLIST_FIND_RIGHT
|
||||||
|
};
|
||||||
|
|
||||||
|
// Flag values for Set/GetImageList
|
||||||
|
enum {
|
||||||
|
wxIMAGE_LIST_NORMAL, // Normal icons
|
||||||
|
wxIMAGE_LIST_SMALL, // Small icons
|
||||||
|
wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation)
|
||||||
|
// not implemented in wxGLC (see non-existing documentation..)
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListItem
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListItem: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListItem)
|
||||||
|
|
||||||
|
public:
|
||||||
|
long m_mask; // Indicates what fields are valid
|
||||||
|
long m_itemId; // The zero-based item position
|
||||||
|
int m_col; // Zero-based column, if in report mode
|
||||||
|
long m_state; // The state of the item
|
||||||
|
long m_stateMask; // Which flags of m_state are valid (uses same flags)
|
||||||
|
wxString m_text; // The label/header text
|
||||||
|
int m_image; // The zero-based index into an image list
|
||||||
|
long m_data; // App-defined data
|
||||||
|
wxColour *m_colour; // only wxGLC, not supported by Windows ;->
|
||||||
|
|
||||||
|
// For columns only
|
||||||
|
int m_format; // left, right, centre
|
||||||
|
int m_width; // width of column
|
||||||
|
|
||||||
|
wxListItem(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListEvent
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxListEvent: public wxCommandEvent
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListEvent)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListEvent(WXTYPE commandType = 0, int id = 0);
|
||||||
|
|
||||||
|
int m_code;
|
||||||
|
long m_itemIndex;
|
||||||
|
long m_oldItemIndex;
|
||||||
|
int m_col;
|
||||||
|
bool m_cancelled;
|
||||||
|
wxPoint m_pointDrag;
|
||||||
|
|
||||||
|
wxListItem m_item;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&);
|
||||||
|
|
||||||
|
#define EVT_LIST_BEGIN_DRAG(id, fn) { wxEVT_COMMAND_LIST_BEGIN_DRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_BEGIN_RDRAG(id, fn) { wxEVT_COMMAND_LIST_BEGIN_RDRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_BEGIN_LABEL_EDIT(id, fn) { wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_END_LABEL_EDIT(id, fn) { wxEVT_COMMAND_LIST_END_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_DELETE_ITEM(id, fn) { wxEVT_COMMAND_LIST_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_DELETE_ALL_ITEMS(id, fn) { wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_GET_INFO(id, fn) { wxEVT_COMMAND_LIST_GET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_SET_INFO(id, fn) { wxEVT_COMMAND_LIST_SET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_ITEM_SELECTED(id, fn) { wxEVT_COMMAND_LIST_ITEM_SELECTED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_ITEM_DESELECTED(id, fn) { wxEVT_COMMAND_LIST_ITEM_DESELECTED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_KEY_DOWN(id, fn) { wxEVT_COMMAND_LIST_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_INSERT_ITEM(id, fn) { wxEVT_COMMAND_LIST_INSERT_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
#define EVT_LIST_COL_CLICK(id, fn) { wxEVT_COMMAND_LIST_COL_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn },
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListItemData (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListItemData : public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListItemData);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxString m_text;
|
||||||
|
int m_image;
|
||||||
|
long m_data;
|
||||||
|
int m_xpos,m_ypos;
|
||||||
|
int m_width,m_height;
|
||||||
|
wxColour *m_colour;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListItemData(void);
|
||||||
|
wxListItemData( const wxListItem &info );
|
||||||
|
void SetItem( const wxListItem &info );
|
||||||
|
void SetText( const wxString &s );
|
||||||
|
void SetImage( const int image );
|
||||||
|
void SetData( const long data );
|
||||||
|
void SetPosition( const int x, const int y );
|
||||||
|
void SetSize( const int width, const int height );
|
||||||
|
void SetColour( wxColour *col );
|
||||||
|
bool HasImage(void) const;
|
||||||
|
bool HasText(void) const;
|
||||||
|
bool IsHit( const int x, const int y ) const;
|
||||||
|
void GetText( wxString &s );
|
||||||
|
int GetX( void ) const;
|
||||||
|
int GetY( void ) const;
|
||||||
|
int GetWidth(void) const;
|
||||||
|
int GetHeight(void) const;
|
||||||
|
int GetImage(void) const;
|
||||||
|
void GetItem( wxListItem &info );
|
||||||
|
wxColour *GetColour(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListHeaderData (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListHeaderData : public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListHeaderData);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
long m_mask;
|
||||||
|
int m_image;
|
||||||
|
wxString m_text;
|
||||||
|
int m_format;
|
||||||
|
int m_width;
|
||||||
|
int m_xpos,m_ypos;
|
||||||
|
int m_height;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListHeaderData(void);
|
||||||
|
wxListHeaderData( const wxListItem &info );
|
||||||
|
void SetItem( const wxListItem &item );
|
||||||
|
void SetPosition( const int x, const int y );
|
||||||
|
void SetWidth( const int w );
|
||||||
|
void SetFormat( const int format );
|
||||||
|
void SetHeight( const int h );
|
||||||
|
bool HasImage(void) const;
|
||||||
|
bool HasText(void) const;
|
||||||
|
bool IsHit( const int x, const int y ) const;
|
||||||
|
void GetItem( wxListItem &item );
|
||||||
|
void GetText( wxString &s );
|
||||||
|
int GetImage(void) const;
|
||||||
|
int GetWidth(void) const;
|
||||||
|
int GetFormat(void) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListLineData (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListLineData : public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListLineData);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxList m_items;
|
||||||
|
wxRectangle m_bound_all;
|
||||||
|
wxRectangle m_bound_label;
|
||||||
|
wxRectangle m_bound_icon;
|
||||||
|
wxRectangle m_bound_hilight;
|
||||||
|
int m_mode;
|
||||||
|
bool m_hilighted;
|
||||||
|
wxBrush *m_hilightBrush;
|
||||||
|
int m_spacing;
|
||||||
|
wxListMainWindow *m_owner;
|
||||||
|
|
||||||
|
void DoDraw( wxPaintDC *dc, const bool hilight, const bool paintBG );
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListLineData( void ) {};
|
||||||
|
wxListLineData( wxListMainWindow *owner, const int mode, wxBrush *hilightBrush );
|
||||||
|
void CalculateSize( wxPaintDC *dc, const int spacing );
|
||||||
|
void SetPosition( wxPaintDC *dc, const int x, const int y, const int window_width );
|
||||||
|
void SetColumnPosition( const int index, const int x );
|
||||||
|
void GetSize( int &width, int &height );
|
||||||
|
void GetExtent( int &x, int &y, int &width, int &height );
|
||||||
|
void GetLabelExtent( int &x, int &y, int &width, int &height );
|
||||||
|
long IsHit( const int x, const int y );
|
||||||
|
void InitItems( const int num );
|
||||||
|
void SetItem( const int index, const wxListItem &info );
|
||||||
|
void GetItem( const int index, wxListItem &info );
|
||||||
|
void GetText( const int index, wxString &s );
|
||||||
|
void SetText( const int index, const wxString s );
|
||||||
|
int GetImage( const int index );
|
||||||
|
void GetRect( wxRectangle &rect );
|
||||||
|
void Hilight( const bool on );
|
||||||
|
void ReverseHilight( void );
|
||||||
|
void DrawRubberBand( wxPaintDC *dc, const bool on );
|
||||||
|
void Draw( wxPaintDC *dc );
|
||||||
|
bool IsInRect( const int x, const int y, const wxRectangle &rect );
|
||||||
|
bool IsHilighted( void );
|
||||||
|
void AssignRect( wxRectangle &dest, const int x, const int y, const int width, const int height );
|
||||||
|
void AssignRect( wxRectangle &dest, const wxRectangle &source );
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListHeaderWindow (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListHeaderWindow : public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListHeaderWindow)
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxListMainWindow *m_owner;
|
||||||
|
wxCursor *m_currentCursor;
|
||||||
|
wxCursor *m_resizeCursor;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListHeaderWindow( void );
|
||||||
|
wxListHeaderWindow( wxWindow *win, const wxWindowID id, wxListMainWindow *owner,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = "columntitles" );
|
||||||
|
void DoDrawRect( wxPaintDC *dc, int x, int y, int w, int h );
|
||||||
|
void OnPaint( wxPaintEvent &event );
|
||||||
|
void OnMouse( wxMouseEvent &event );
|
||||||
|
void OnSetFocus( wxFocusEvent &event );
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListRenameTimer (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListRenameTimer: public wxTimer
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
wxListMainWindow *m_owner;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListRenameTimer( wxListMainWindow *owner );
|
||||||
|
void Notify();
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListTextCtrl (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListTextCtrl: public wxTextCtrl
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListTextCtrl);
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool *m_accept;
|
||||||
|
wxString *m_res;
|
||||||
|
wxListMainWindow *m_owner;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListTextCtrl(void) : wxTextCtrl() {};
|
||||||
|
wxListTextCtrl( wxWindow *parent, const char *value = "",
|
||||||
|
bool *accept, wxString *res, wxListMainWindow *owner,
|
||||||
|
int x = -1, int y = -1, int w = -1, int h = -1, int style = 0, char *name = "rawtext" ) :
|
||||||
|
wxTextCtrl( parent, value, x, y, w, h, style, name )
|
||||||
|
{
|
||||||
|
m_res = res;
|
||||||
|
m_accept = accept;
|
||||||
|
m_owner = owner;
|
||||||
|
};
|
||||||
|
void OnChar( wxKeyEvent &event )
|
||||||
|
{
|
||||||
|
if (event.keyCode == WXK_RETURN)
|
||||||
|
{
|
||||||
|
(*m_accept) = TRUE;
|
||||||
|
(*m_res) = GetValue();
|
||||||
|
m_owner->OnRenameAccept();
|
||||||
|
// Show( FALSE );
|
||||||
|
delete this;
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
if (event.keyCode == WXK_ESCAPE)
|
||||||
|
{
|
||||||
|
(*m_accept) = FALSE;
|
||||||
|
(*m_res) = "";
|
||||||
|
// Show( FALSE );
|
||||||
|
delete this;
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
void OnKillFocus(void)
|
||||||
|
{
|
||||||
|
(*m_accept) = FALSE;
|
||||||
|
(*m_res) = "";
|
||||||
|
// Show( FALSE );
|
||||||
|
delete this;
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListMainWindow (internal)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListMainWindow: public wxScrolledWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListMainWindow);
|
||||||
|
|
||||||
|
public:
|
||||||
|
long m_mode;
|
||||||
|
wxList m_lines;
|
||||||
|
wxList m_columns;
|
||||||
|
wxListLineData *m_current;
|
||||||
|
int m_visibleLines;
|
||||||
|
wxBrush *m_hilightBrush;
|
||||||
|
wxColour *m_hilightColour;
|
||||||
|
wxFont *m_myFont;
|
||||||
|
int m_xScroll,m_yScroll;
|
||||||
|
bool m_dirty;
|
||||||
|
wxImageList *m_small_image_list;
|
||||||
|
wxImageList *m_normal_image_list;
|
||||||
|
int m_small_spacing;
|
||||||
|
int m_normal_spacing;
|
||||||
|
bool m_hasFocus;
|
||||||
|
bool m_usedKeys;
|
||||||
|
bool m_lastOnSame;
|
||||||
|
wxTimer *m_renameTimer;
|
||||||
|
// wxListTextCtrl *m_text;
|
||||||
|
bool m_renameAccept;
|
||||||
|
wxString m_renameRes;
|
||||||
|
bool m_isCreated;
|
||||||
|
bool m_isDragging;
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxListMainWindow(void);
|
||||||
|
wxListMainWindow( wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = "listctrl" );
|
||||||
|
~wxListMainWindow(void);
|
||||||
|
void RefreshLine( wxListLineData *line );
|
||||||
|
void OnPaint( wxPaintEvent &event );
|
||||||
|
void HilightAll( const bool on );
|
||||||
|
void ActivateLine( wxListLineData *line );
|
||||||
|
void SendNotify( wxListLineData *line, long command );
|
||||||
|
void FocusLine( wxListLineData *line );
|
||||||
|
void UnfocusLine( wxListLineData *line );
|
||||||
|
void SelectLine( wxListLineData *line );
|
||||||
|
void DeselectLine( wxListLineData *line );
|
||||||
|
void DeleteLine( wxListLineData *line );
|
||||||
|
void RenameLine( wxListLineData *line, const wxString &newName );
|
||||||
|
void OnRenameTimer(void);
|
||||||
|
void OnRenameAccept(void);
|
||||||
|
void OnMouse( wxMouseEvent &event );
|
||||||
|
void MoveToFocus( void );
|
||||||
|
void OnArrowChar( wxListLineData *newCurrent, bool shiftDown );
|
||||||
|
void OnChar( wxKeyEvent &event );
|
||||||
|
void OnSetFocus( wxFocusEvent &event );
|
||||||
|
void OnKillFocus( wxFocusEvent &event );
|
||||||
|
void OnSize( wxSizeEvent &event );
|
||||||
|
wxFont *GetMyFont( void );
|
||||||
|
void DrawImage( int index, wxPaintDC *dc, int x, int y );
|
||||||
|
void GetImageSize( int index, int &width, int &height );
|
||||||
|
int GetIndexOfLine( const wxListLineData *line );
|
||||||
|
int GetTextLength( wxString &s ); // should be const
|
||||||
|
|
||||||
|
void SetImageList( wxImageList *imageList, const int which );
|
||||||
|
void SetItemSpacing( const int spacing, const bool isSmall = FALSE );
|
||||||
|
int GetItemSpacing( const bool isSmall = FALSE );
|
||||||
|
void SetColumn( const int col, wxListItem &item );
|
||||||
|
void SetColumnWidth( const int col, const int width );
|
||||||
|
void GetColumn( const int col, wxListItem &item );
|
||||||
|
int GetColumnWidth( const int vol );
|
||||||
|
int GetColumnCount( void );
|
||||||
|
int GetCountPerPage( void );
|
||||||
|
void SetItem( wxListItem &item );
|
||||||
|
void GetItem( wxListItem &item );
|
||||||
|
void SetItemState( const long item, const long state, const long stateMask );
|
||||||
|
int GetItemState( const long item, const long stateMask );
|
||||||
|
int GetItemCount( void );
|
||||||
|
void GetItemRect( const long index, wxRectangle &rect );
|
||||||
|
int GetSelectedItemCount( void );
|
||||||
|
void SetMode( const long mode );
|
||||||
|
long GetMode( void ) const;
|
||||||
|
void CalculatePositions( void );
|
||||||
|
void RealizeChanges(void);
|
||||||
|
long GetNextItem( const long item, int geometry, int state );
|
||||||
|
void DeleteItem( const long index );
|
||||||
|
void DeleteAllItems( void );
|
||||||
|
void DeleteColumn( const int col );
|
||||||
|
void DeleteEverything( void );
|
||||||
|
void EnsureVisible( const long index );
|
||||||
|
long FindItem(const long start, const wxString& str, const bool partial = FALSE );
|
||||||
|
long FindItem(const long start, const long data);
|
||||||
|
long HitTest( const int x, const int y, int &flags );
|
||||||
|
void InsertItem( wxListItem &item );
|
||||||
|
void InsertColumn( const long col, wxListItem &item );
|
||||||
|
void SortItems( wxListCtrlCompare fn, long data );
|
||||||
|
virtual bool OnListNotify( wxListEvent &event );
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListCtrl
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListCtrl: public wxControl
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListCtrl);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxListCtrl(void);
|
||||||
|
wxListCtrl( wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = "listctrl" );
|
||||||
|
~wxListCtrl(void);
|
||||||
|
bool Create( wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = "listctrl" );
|
||||||
|
void OnSize( wxSizeEvent &event );
|
||||||
|
void SetBackgroundColour( const wxColour& col );
|
||||||
|
bool GetColumn( const int col, wxListItem& item );
|
||||||
|
bool SetColumn( const int col, wxListItem& item );
|
||||||
|
int GetColumnWidth( const int col );
|
||||||
|
bool SetColumnWidth( const int col, const int width);
|
||||||
|
int GetCountPerPage(void); // not the same in wxGLC as in Windows, I think
|
||||||
|
// wxText& GetEditControl(void) const; // not supported in wxGLC
|
||||||
|
bool GetItem( wxListItem& info );
|
||||||
|
bool SetItem( wxListItem& info ) ;
|
||||||
|
long SetItem( const long index, const int col, const wxString& label, const int imageId = -1 );
|
||||||
|
int GetItemState( const long item, const long stateMask );
|
||||||
|
bool SetItemState( const long item, const long state, const long stateMask);
|
||||||
|
bool SetItemImage( const long item, const int image, const int selImage);
|
||||||
|
wxString GetItemText( const long item );
|
||||||
|
void SetItemText( const long item, const wxString& str );
|
||||||
|
long GetItemData( const long item );
|
||||||
|
bool SetItemData( const long item, long data );
|
||||||
|
bool GetItemRect( const long item, wxRectangle& rect, const int code = wxLIST_RECT_BOUNDS ); // not supported in wxGLC
|
||||||
|
bool GetItemPosition( const long item, wxPoint& pos ) const; // not supported in wxGLC
|
||||||
|
bool SetItemPosition( const long item, const wxPoint& pos ); // not supported in wxGLC
|
||||||
|
int GetItemCount(void);
|
||||||
|
int GetItemSpacing( bool isSmall );
|
||||||
|
int GetSelectedItemCount(void);
|
||||||
|
// wxColour GetTextColour(void) const; // wxGLC has colours for every Item (see wxListItem)
|
||||||
|
// void SetTextColour(const wxColour& col);
|
||||||
|
long GetTopItem(void);
|
||||||
|
void SetSingleStyle( const long style, const bool add = TRUE ) ;
|
||||||
|
void SetWindowStyleFlag(const long style);
|
||||||
|
void RecreateWindow(void) {};
|
||||||
|
void RealizeChanges( void ); // whereas this is much needed in wxGLC
|
||||||
|
long GetNextItem(const long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE);
|
||||||
|
wxImageList *GetImageList(const int which);
|
||||||
|
void SetImageList(wxImageList *imageList, const int which) ;
|
||||||
|
bool Arrange( const int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
|
||||||
|
bool DeleteItem( const long item );
|
||||||
|
bool DeleteAllItems(void) ;
|
||||||
|
bool DeleteColumn( const int col );
|
||||||
|
// wxText& Edit(const long item) ; // not supported in wxGLC
|
||||||
|
bool EnsureVisible( const long item );
|
||||||
|
long FindItem(const long start, const wxString& str, const bool partial = FALSE );
|
||||||
|
long FindItem(const long start, const long data);
|
||||||
|
long FindItem(const long start, const wxPoint& pt, const int direction); // not supported in wxGLC
|
||||||
|
long HitTest(const wxPoint& point, int& flags);
|
||||||
|
long InsertItem(wxListItem& info);
|
||||||
|
long InsertItem(const long index, const wxString& label);
|
||||||
|
long InsertItem(const long index, const int imageIndex);
|
||||||
|
long InsertItem(const long index, const wxString& label, const int imageIndex);
|
||||||
|
long InsertColumn(const long col, wxListItem& info);
|
||||||
|
long InsertColumn(const long col, const wxString& heading, const int format = wxLIST_FORMAT_LEFT,
|
||||||
|
const int width = -1);
|
||||||
|
bool ScrollList(const int dx, const int dy);
|
||||||
|
bool SortItems(wxListCtrlCompare fn, long data);
|
||||||
|
bool Update(const long item);
|
||||||
|
virtual bool OnListNotify(wxListEvent& WXUNUSED(event)) { return FALSE; }
|
||||||
|
void SetDropTarget( wxDropTarget *dropTarget )
|
||||||
|
{ m_mainWin->SetDropTarget( dropTarget ); };
|
||||||
|
wxDropTarget *GetDropTarget() const
|
||||||
|
{ return m_mainWin->GetDropTarget(); };
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// wxListTextCtrl m_textCtrl;
|
||||||
|
wxImageList *m_imageListNormal;
|
||||||
|
wxImageList *m_imageListSmall;
|
||||||
|
wxImageList *m_imageListState; // what's that ?
|
||||||
|
wxListHeaderWindow *m_headerWin;
|
||||||
|
wxListMainWindow *m_mainWin;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __LISTCTRLH_G__
|
||||||
52
include/wx/generic/msgdlgg.h
Normal file
52
include/wx/generic/msgdlgg.h
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: msgdlgg.h
|
||||||
|
// Purpose: Generic wxMessageDialog
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __MSGDLGH_G__
|
||||||
|
#define __MSGDLGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "msgdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
// type is an 'or' (|) of wxOK, wxCANCEL, wxYES_NO
|
||||||
|
// Returns wxYES/NO/OK/CANCEL
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxMessageBoxCaptionStr;
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGenericMessageDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGenericMessageDialog)
|
||||||
|
protected:
|
||||||
|
long m_dialogStyle;
|
||||||
|
public:
|
||||||
|
wxGenericMessageDialog(wxWindow *parent, const wxString& message, const wxString& caption = wxMessageBoxCaptionStr,
|
||||||
|
long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
|
||||||
|
void OnYes(wxCommandEvent& event);
|
||||||
|
void OnNo(wxCommandEvent& event);
|
||||||
|
void OnCancel(wxCommandEvent& event);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef __WINDOWS__
|
||||||
|
#define wxMessageDialog wxGenericMessageDialog
|
||||||
|
|
||||||
|
int wxMessageBox(const wxString& message, const wxString& caption = wxMessageBoxCaptionStr,
|
||||||
|
const long style = wxOK|wxCENTRE, wxWindow *parent = NULL, const int x = -1, const int y = -1);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __MSGDLGH_G__
|
||||||
69
include/wx/generic/panelg.h
Normal file
69
include/wx/generic/panelg.h
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: panelg.h
|
||||||
|
// Purpose: wxPanel: similar to wxWindows but is coloured as for a dialog
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __PANELH_G__
|
||||||
|
#define __PANELH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "panelg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
|
||||||
|
|
||||||
|
// Dialog boxes
|
||||||
|
class WXDLLEXPORT wxPanel: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPanel)
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxPanel(void);
|
||||||
|
|
||||||
|
// Old-style constructor
|
||||||
|
inline wxPanel(wxWindow *parent,
|
||||||
|
const int x = -1, const int y= -1, const int width = 500, const int height = 500,
|
||||||
|
const long style = wxTAB_TRAVERSAL | wxNO_BORDER,
|
||||||
|
const wxString& name = wxPanelNameStr)
|
||||||
|
{
|
||||||
|
Create(parent, -1, wxPoint(x, y), wxSize(width, height), style, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
inline wxPanel(wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxTAB_TRAVERSAL | wxNO_BORDER,
|
||||||
|
const wxString& name = wxPanelNameStr)
|
||||||
|
{
|
||||||
|
Create(parent, id, pos, size, style, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxTAB_TRAVERSAL | wxNO_BORDER,
|
||||||
|
const wxString& name = wxPanelNameStr);
|
||||||
|
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
// Sends an OnInitDialog event, which in turns transfers data to
|
||||||
|
// to the dialog via validators.
|
||||||
|
virtual void InitDialog(void);
|
||||||
|
|
||||||
|
// Responds to colour changes
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __PANELH_G__
|
||||||
57
include/wx/generic/printps.h
Normal file
57
include/wx/generic/printps.h
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: printps.h
|
||||||
|
// Purpose: wxPostScriptPrinter, wxPostScriptPrintPreview
|
||||||
|
// wxGenericPageSetupDialog
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __PRINTPSH__
|
||||||
|
#define __PRINTPSH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "printps.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/prntbase.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Represents the printer: manages printing a wxPrintout object
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxPostScriptPrinter: public wxPrinterBase
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPostScriptPrinter)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxPostScriptPrinter(wxPrintData *data = NULL);
|
||||||
|
~wxPostScriptPrinter(void);
|
||||||
|
|
||||||
|
virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = TRUE);
|
||||||
|
virtual bool PrintDialog(wxWindow *parent);
|
||||||
|
virtual bool Setup(wxWindow *parent);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxPrintPreview
|
||||||
|
* Programmer creates an object of this class to preview a wxPrintout.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxPostScriptPrintPreview: public wxPrintPreviewBase
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxPostScriptPrintPreview)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxPostScriptPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting = NULL, wxPrintData *data = NULL);
|
||||||
|
~wxPostScriptPrintPreview(void);
|
||||||
|
|
||||||
|
virtual bool Print(bool interactive);
|
||||||
|
virtual void DetermineScaling(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __PRINTPSH__
|
||||||
145
include/wx/generic/prntdlgg.h
Normal file
145
include/wx/generic/prntdlgg.h
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: prntdlgg.h
|
||||||
|
// Purpose: wxGenericPrintDialog, wxGenericPrintSetupDialog,
|
||||||
|
// wxGenericPageSetupDialog
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __PRINTDLGH_G_
|
||||||
|
#define __PRINTDLGH_G_
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "prntdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
#include "wx/dc.h"
|
||||||
|
#include "wx/cmndata.h"
|
||||||
|
#include "wx/postscrp.h"
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxTextCtrl;
|
||||||
|
class WXDLLEXPORT wxButton;
|
||||||
|
class WXDLLEXPORT wxCheckBox;
|
||||||
|
class WXDLLEXPORT wxChoice;
|
||||||
|
class WXDLLEXPORT wxStaticText;
|
||||||
|
class WXDLLEXPORT wxRadioBox;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Simulated Print and Print Setup dialogs
|
||||||
|
* for non-Windows platforms (and Windows using PostScript print/preview)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxPRINTID_STATIC 10
|
||||||
|
#define wxPRINTID_RANGE 11
|
||||||
|
#define wxPRINTID_FROM 12
|
||||||
|
#define wxPRINTID_TO 13
|
||||||
|
#define wxPRINTID_COPIES 14
|
||||||
|
#define wxPRINTID_PRINTTOFILE 15
|
||||||
|
#define wxPRINTID_SETUP 16
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGenericPrintDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGenericPrintDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxStaticText *printerMessage;
|
||||||
|
wxButton *setupButton;
|
||||||
|
wxButton *helpButton;
|
||||||
|
wxRadioBox *rangeRadioBox;
|
||||||
|
wxTextCtrl *fromText;
|
||||||
|
wxTextCtrl *toText;
|
||||||
|
wxTextCtrl *noCopiesText;
|
||||||
|
wxCheckBox *printToFileCheckBox;
|
||||||
|
wxCheckBox *collateCopiesCheckBox;
|
||||||
|
|
||||||
|
wxPrintData printData;
|
||||||
|
wxGenericPrintDialog(wxWindow *parent, wxPrintData* data);
|
||||||
|
~wxGenericPrintDialog(void);
|
||||||
|
|
||||||
|
void OnSetup(wxCommandEvent& event);
|
||||||
|
void OnRange(wxCommandEvent& event);
|
||||||
|
void OnOK(wxCommandEvent& event);
|
||||||
|
|
||||||
|
virtual bool TransferDataFromWindow(void);
|
||||||
|
virtual bool TransferDataToWindow(void);
|
||||||
|
|
||||||
|
virtual int ShowModal(void);
|
||||||
|
|
||||||
|
inline wxPrintData& GetPrintData(void) { return printData; }
|
||||||
|
wxDC *GetPrintDC(void);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#define wxPRINTID_PRINTCOLOUR 10
|
||||||
|
#define wxPRINTID_ORIENTATION 11
|
||||||
|
#define wxPRINTID_COMMAND 12
|
||||||
|
#define wxPRINTID_OPTIONS 13
|
||||||
|
#define wxPRINTID_PAPERSIZE 14
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGenericPrintSetupDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxGenericPrintSetupDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxRadioBox *orientationRadioBox;
|
||||||
|
wxTextCtrl *printerCommandText;
|
||||||
|
wxTextCtrl *printerOptionsText;
|
||||||
|
wxCheckBox *colourCheckBox;
|
||||||
|
wxChoice *paperTypeChoice;
|
||||||
|
|
||||||
|
wxPrintSetupData printData;
|
||||||
|
wxGenericPrintSetupDialog(wxWindow *parent, wxPrintSetupData* data);
|
||||||
|
~wxGenericPrintSetupDialog(void);
|
||||||
|
|
||||||
|
virtual bool TransferDataFromWindow(void);
|
||||||
|
virtual bool TransferDataToWindow(void);
|
||||||
|
|
||||||
|
wxChoice *CreatePaperTypeChoice(int* x, int* y);
|
||||||
|
inline wxPrintSetupData& GetPrintData(void) { return printData; }
|
||||||
|
};
|
||||||
|
|
||||||
|
#define wxPRINTID_LEFTMARGIN 30
|
||||||
|
#define wxPRINTID_RIGHTMARGIN 31
|
||||||
|
#define wxPRINTID_TOPMARGIN 32
|
||||||
|
#define wxPRINTID_BOTTOMMARGIN 33
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGenericPageSetupDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxGenericPageSetupDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxButton *printerButton;
|
||||||
|
wxRadioBox *orientationRadioBox;
|
||||||
|
wxTextCtrl *marginLeftText;
|
||||||
|
wxTextCtrl *marginTopText;
|
||||||
|
wxTextCtrl *marginRightText;
|
||||||
|
wxTextCtrl *marginBottomText;
|
||||||
|
wxChoice *paperTypeChoice;
|
||||||
|
|
||||||
|
static bool pageSetupDialogCancelled;
|
||||||
|
|
||||||
|
wxPageSetupData pageData;
|
||||||
|
|
||||||
|
wxGenericPageSetupDialog(wxWindow *parent, wxPageSetupData* data = NULL);
|
||||||
|
~wxGenericPageSetupDialog(void);
|
||||||
|
|
||||||
|
virtual bool TransferDataFromWindow(void);
|
||||||
|
virtual bool TransferDataToWindow(void);
|
||||||
|
|
||||||
|
void OnPrinter(wxCommandEvent& event);
|
||||||
|
|
||||||
|
wxChoice *CreatePaperTypeChoice(int* x, int* y);
|
||||||
|
inline wxPageSetupData& GetPageSetupData(void) { return pageData; }
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __PRINTDLGH_G__
|
||||||
141
include/wx/generic/scrolwin.h
Normal file
141
include/wx/generic/scrolwin.h
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: scrolwin.h
|
||||||
|
// Purpose: wxScrolledWindow class
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __SCROLWINH_G__
|
||||||
|
#define __SCROLWINH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "scrolwin.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxScrolledWindow: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_ABSTRACT_CLASS(wxScrolledWindow)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxScrolledWindow(void);
|
||||||
|
inline wxScrolledWindow(wxWindow *parent, const wxWindowID id = -1,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxHSCROLL|wxVSCROLL,
|
||||||
|
const wxString& name = wxPanelNameStr)
|
||||||
|
{
|
||||||
|
Create(parent, id, pos, size, style, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ~wxScrolledWindow(void) {}
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxHSCROLL|wxVSCROLL,
|
||||||
|
const wxString& name = wxPanelNameStr);
|
||||||
|
|
||||||
|
// Set client size
|
||||||
|
// Should take account of scrollbars
|
||||||
|
// virtual void SetClientSize(const int width, const int size);
|
||||||
|
|
||||||
|
// Is the window retained?
|
||||||
|
// inline bool IsRetained(void) const;
|
||||||
|
|
||||||
|
// Number of pixels per user unit (0 or -1 for no scrollbar)
|
||||||
|
// Length of virtual canvas in user units
|
||||||
|
// Length of page in user units
|
||||||
|
virtual void SetScrollbars(const int pixelsPerUnitX, const int pixelsPerUnitY,
|
||||||
|
const int noUnitsX, const int noUnitsY,
|
||||||
|
const int xPos = 0, const int yPos = 0,
|
||||||
|
const bool noRefresh = FALSE );
|
||||||
|
|
||||||
|
// Physically scroll the window
|
||||||
|
virtual void Scroll(const int x_pos, const int y_pos);
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY
|
||||||
|
virtual void GetScrollUnitsPerPage(int *x_page, int *y_page) const;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int GetScrollPageSize(int orient) const ;
|
||||||
|
void SetScrollPageSize(int orient, int pageSize);
|
||||||
|
|
||||||
|
virtual void GetScrollPixelsPerUnit(int *x_unit, int *y_unit) const;
|
||||||
|
// Enable/disable Windows scrolling in either direction.
|
||||||
|
// If TRUE, wxWindows scrolls the canvas and only a bit of
|
||||||
|
// the canvas is invalidated; no Clear() is necessary.
|
||||||
|
// If FALSE, the whole canvas is invalidated and a Clear() is
|
||||||
|
// necessary. Disable for when the scroll increment is used
|
||||||
|
// to actually scroll a non-constant distance
|
||||||
|
virtual void EnableScrolling(const bool x_scrolling, const bool y_scrolling);
|
||||||
|
|
||||||
|
// Get the view start
|
||||||
|
virtual void ViewStart(int *x, int *y) const;
|
||||||
|
|
||||||
|
// Actual size in pixels when scrolling is taken into account
|
||||||
|
virtual void GetVirtualSize(int *x, int *y) const;
|
||||||
|
|
||||||
|
virtual void CalcScrolledPosition(const int x, const int y, int *xx, int *yy) const ;
|
||||||
|
virtual void CalcUnscrolledPosition(const int x, const int y, float *xx, float *yy) const ;
|
||||||
|
|
||||||
|
// Adjust the scrollbars
|
||||||
|
virtual void AdjustScrollbars(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
#if WXWIN_COMPATIBILITY
|
||||||
|
virtual void OldOnScroll(wxCommandEvent& WXUNUSED(event));
|
||||||
|
virtual void OldOnPaint(void); // Called when needs painting
|
||||||
|
virtual void OldOnSize(int width, int height); // Called on resize
|
||||||
|
virtual void OldOnMouseEvent(wxMouseEvent& event); // Called on mouse event
|
||||||
|
virtual void OldOnChar(wxKeyEvent& event); // Called on character event
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
|
void OnScroll(wxScrollEvent& event);
|
||||||
|
void OnSize(wxSizeEvent& event);
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
// Override this function to draw the graphic.
|
||||||
|
virtual void OnDraw(wxDC& WXUNUSED(dc)) {};
|
||||||
|
|
||||||
|
// Override this function if you don't want to have wxScrolledWindow
|
||||||
|
// automatically change the origin according to the scroll position.
|
||||||
|
virtual void PrepareDC(wxDC& dc);
|
||||||
|
|
||||||
|
public:
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
//// IMPLEMENTATION
|
||||||
|
|
||||||
|
// Calculate scroll increment
|
||||||
|
virtual int CalcScrollInc(wxScrollEvent& event);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
//// PROTECTED DATA
|
||||||
|
protected:
|
||||||
|
int m_xScrollPixelsPerLine;
|
||||||
|
int m_yScrollPixelsPerLine;
|
||||||
|
bool m_xScrollingEnabled;
|
||||||
|
bool m_yScrollingEnabled;
|
||||||
|
int m_xScrollPosition;
|
||||||
|
int m_yScrollPosition;
|
||||||
|
int m_xScrollLines;
|
||||||
|
int m_yScrollLines;
|
||||||
|
int m_xScrollLinesPerPage;
|
||||||
|
int m_yScrollLinesPerPage;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
//// INLINES
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __SCROLWINH_G__
|
||||||
180
include/wx/generic/splitter.h
Normal file
180
include/wx/generic/splitter.h
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: splitter.h
|
||||||
|
// Purpose: wxSplitterWindow class
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __SPLITTERH_G__
|
||||||
|
#define __SPLITTERH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "splitter.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/window.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
|
||||||
|
#define WXSPLITTER_VERSION 1.0
|
||||||
|
|
||||||
|
#define wxSPLIT_HORIZONTAL 1
|
||||||
|
#define wxSPLIT_VERTICAL 2
|
||||||
|
|
||||||
|
#define wxSPLIT_DRAG_NONE 0
|
||||||
|
#define wxSPLIT_DRAG_DRAGGING 1
|
||||||
|
#define wxSPLIT_DRAG_LEFT_DOWN 2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxSplitterWindow maintains one or two panes, with
|
||||||
|
* an optional vertical or horizontal split which
|
||||||
|
* can be used with the mouse or programmatically.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// TODO:
|
||||||
|
// 1) Perhaps make the borders sensitive to dragging in order to create a split.
|
||||||
|
// The MFC splitter window manages scrollbars as well so is able to
|
||||||
|
// put sash buttons on the scrollbars, but we probably don't want to go down
|
||||||
|
// this path.
|
||||||
|
// 2) for wxWindows 2.0, we must find a way to set the WS_CLIPCHILDREN style
|
||||||
|
// to prevent flickering. (WS_CLIPCHILDREN doesn't work in all cases so can't be
|
||||||
|
// standard).
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxSplitterWindow: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxSplitterWindow)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Public API
|
||||||
|
|
||||||
|
// Default constructor
|
||||||
|
wxSplitterWindow(void);
|
||||||
|
|
||||||
|
// Normal constructor
|
||||||
|
wxSplitterWindow(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize, const long style = wxSP_3D, const wxString& name = "splitter");
|
||||||
|
~wxSplitterWindow(void);
|
||||||
|
|
||||||
|
// Gets the only or left/top pane
|
||||||
|
inline wxWindow *GetWindow1(void) { return m_windowOne; }
|
||||||
|
|
||||||
|
// Gets the right/bottom pane
|
||||||
|
inline wxWindow *GetWindow2(void) { return m_windowTwo; }
|
||||||
|
|
||||||
|
// Sets the split mode
|
||||||
|
inline void SetSplitMode(const int mode) { m_splitMode = mode; }
|
||||||
|
|
||||||
|
// Gets the split mode
|
||||||
|
inline int GetSplitMode(void) const { return m_splitMode; };
|
||||||
|
|
||||||
|
// Initialize with one window
|
||||||
|
void Initialize(wxWindow *window);
|
||||||
|
|
||||||
|
// Associates the given window with window 2, drawing the appropriate sash
|
||||||
|
// and changing the split mode.
|
||||||
|
// Does nothing and returns FALSE if the window is already split.
|
||||||
|
// A sashPosition of -1 means choose a default sash position.
|
||||||
|
bool SplitVertically(wxWindow *window1, wxWindow *window2, const int sashPosition = -1);
|
||||||
|
bool SplitHorizontally(wxWindow *window1, wxWindow *window2, const int sashPosition = -1);
|
||||||
|
|
||||||
|
// Removes the specified (or second) window from the view
|
||||||
|
// Doesn't actually delete the window.
|
||||||
|
bool Unsplit(wxWindow *toRemove = NULL);
|
||||||
|
|
||||||
|
// Is the window split?
|
||||||
|
inline bool IsSplit(void) const { return (m_windowTwo != NULL); }
|
||||||
|
|
||||||
|
// Sets the sash size
|
||||||
|
inline void SetSashSize(const int width) { m_sashSize = width; }
|
||||||
|
|
||||||
|
// Sets the border size
|
||||||
|
inline void SetBorderSize(const int width) { m_borderSize = width; }
|
||||||
|
|
||||||
|
// Gets the sash size
|
||||||
|
inline int GetSashSize(void) const { return m_sashSize; }
|
||||||
|
|
||||||
|
// Gets the border size
|
||||||
|
inline int GetBorderSize(void) const { return m_borderSize; }
|
||||||
|
|
||||||
|
// Set the sash position
|
||||||
|
void SetSashPosition(const int position, const bool redaw = TRUE);
|
||||||
|
|
||||||
|
// Gets the sash position
|
||||||
|
inline int GetSashPosition(void) const { return m_sashPosition; }
|
||||||
|
|
||||||
|
// If this is zero, we can remove panes by dragging the sash.
|
||||||
|
inline void SetMinimumPaneSize(const int min) { m_minimumPaneSize = min; }
|
||||||
|
inline int GetMinimumPaneSize(void) const { return m_minimumPaneSize; }
|
||||||
|
|
||||||
|
// If the sash is moved to an extreme position, a subwindow
|
||||||
|
// is removed from the splitter window, and the app is
|
||||||
|
// notified. The app should delete or hide the window.
|
||||||
|
virtual void OnUnsplit(wxWindow *removed) { removed->Show(FALSE); }
|
||||||
|
|
||||||
|
// Called when the sash is double-clicked.
|
||||||
|
// The default behaviour is to remove the sash if the
|
||||||
|
// minimum pane size is zero.
|
||||||
|
virtual void OnDoubleClickSash(int x, int y);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Implementation
|
||||||
|
|
||||||
|
// Paints the border and sash
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
// Handles mouse events
|
||||||
|
void OnMouseEvent(wxMouseEvent& ev);
|
||||||
|
|
||||||
|
// Adjusts the panes
|
||||||
|
void OnSize(wxSizeEvent& event);
|
||||||
|
|
||||||
|
// Draws borders
|
||||||
|
void DrawBorders(wxDC& dc);
|
||||||
|
|
||||||
|
// Draws the sash
|
||||||
|
void DrawSash(wxDC& dc);
|
||||||
|
|
||||||
|
// Draws the sash tracker (for whilst moving the sash)
|
||||||
|
void DrawSashTracker(const int x, const int y);
|
||||||
|
|
||||||
|
// Tests for x, y over sash
|
||||||
|
bool SashHitTest(const int x, const int y, const int tolerance = 2);
|
||||||
|
|
||||||
|
// Resizes subwindows
|
||||||
|
void SizeWindows(void);
|
||||||
|
|
||||||
|
// Initialize colours
|
||||||
|
void InitColours(void);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int m_splitMode;
|
||||||
|
wxWindow* m_windowOne;
|
||||||
|
wxWindow* m_windowTwo;
|
||||||
|
int m_dragMode;
|
||||||
|
int m_oldX;
|
||||||
|
int m_oldY;
|
||||||
|
int m_borderSize;
|
||||||
|
int m_sashSize; // Sash width or height
|
||||||
|
int m_sashPosition; // Number of pixels from left or top
|
||||||
|
int m_firstX;
|
||||||
|
int m_firstY;
|
||||||
|
int m_minimumPaneSize;
|
||||||
|
wxCursor* m_sashCursorWE;
|
||||||
|
wxCursor* m_sashCursorNS;
|
||||||
|
wxPen* m_sashTrackerPen;
|
||||||
|
wxPen* m_lightShadowPen;
|
||||||
|
wxPen* m_mediumShadowPen;
|
||||||
|
wxPen* m_darkShadowPen;
|
||||||
|
wxPen* m_hilightPen;
|
||||||
|
wxBrush* m_faceBrush;
|
||||||
|
wxPen* m_facePen;
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
92
include/wx/generic/statusbr.h
Normal file
92
include/wx/generic/statusbr.h
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: statusbr.h
|
||||||
|
// Purpose: wxStatusBar class
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __STATUSBRH_G__
|
||||||
|
#define __STATUSBRH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "statusbr.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxStatusBar: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxStatusBar)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxStatusBar(void);
|
||||||
|
inline wxStatusBar(wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = 0,
|
||||||
|
const wxString& name = wxPanelNameStr)
|
||||||
|
{
|
||||||
|
Create(parent, id, pos, size, style, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
~wxStatusBar(void);
|
||||||
|
|
||||||
|
bool Create(wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = 0,
|
||||||
|
const wxString& name = wxPanelNameStr);
|
||||||
|
|
||||||
|
// Create status line
|
||||||
|
virtual void SetFieldsCount(const int number=1, const int *widths = NULL);
|
||||||
|
inline int GetFieldsCount(void) const { return m_nFields; }
|
||||||
|
|
||||||
|
// Set status line text
|
||||||
|
virtual void SetStatusText(const wxString& text, const int number = 0);
|
||||||
|
virtual wxString GetStatusText(const int number = 0) const;
|
||||||
|
|
||||||
|
// Set status line widths
|
||||||
|
virtual void SetStatusWidths(const int n, const int *widths_field);
|
||||||
|
|
||||||
|
virtual void DrawFieldText(wxDC& dc, const int i);
|
||||||
|
virtual void DrawField(wxDC& dc, const int i);
|
||||||
|
|
||||||
|
// Get the position and size of the field's internal bounding rectangle
|
||||||
|
virtual bool GetFieldRect(const int i, wxRectangle& rect) const;
|
||||||
|
|
||||||
|
inline int GetBorderX(void) const { return m_borderX; }
|
||||||
|
inline int GetBorderY(void) const { return m_borderY; }
|
||||||
|
inline void SetBorderX(const int x);
|
||||||
|
inline void SetBorderY(const int y);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
// Implementation
|
||||||
|
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
virtual void InitColours(void);
|
||||||
|
|
||||||
|
// Responds to colour changes
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int * m_statusWidths;
|
||||||
|
int m_nFields;
|
||||||
|
wxString * m_statusStrings;
|
||||||
|
int m_borderX;
|
||||||
|
int m_borderY;
|
||||||
|
wxFont m_defaultStatusBarFont;
|
||||||
|
wxPen m_mediumShadowPen;
|
||||||
|
wxPen m_hilightPen;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __STATUSBRH_G__
|
||||||
343
include/wx/generic/tabg.h
Normal file
343
include/wx/generic/tabg.h
Normal file
@@ -0,0 +1,343 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: tabg.h
|
||||||
|
// Purpose: Generic tabbed dialogs
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c)
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __TABGH_G__
|
||||||
|
#define __TABGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "tabg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define WXTAB_VERSION 1.1
|
||||||
|
|
||||||
|
#include "wx/hash.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
|
||||||
|
class wxTabView;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A wxTabControl is the internal and visual representation
|
||||||
|
* of the tab.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class wxTabControl: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTabControl)
|
||||||
|
public:
|
||||||
|
wxTabControl(wxTabView *v = NULL);
|
||||||
|
~wxTabControl(void);
|
||||||
|
|
||||||
|
virtual void OnDraw(wxDC& dc, bool lastInRow);
|
||||||
|
inline void SetLabel(const wxString& str) { m_controlLabel = str; }
|
||||||
|
inline wxString GetLabel(void) const { return m_controlLabel; }
|
||||||
|
|
||||||
|
inline void SetFont(wxFont *f) { m_labelFont = f; }
|
||||||
|
inline wxFont *GetFont(void) const { return m_labelFont; }
|
||||||
|
|
||||||
|
inline void SetSelected(bool sel) { m_isSelected = sel; }
|
||||||
|
inline bool IsSelected(void) const { return m_isSelected; }
|
||||||
|
|
||||||
|
inline void SetPosition(int x, int y) { m_offsetX = x; m_offsetY = y; }
|
||||||
|
inline void SetSize(int x, int y) { m_width = x; m_height = y; }
|
||||||
|
|
||||||
|
inline void SetRowPosition(int r) { m_rowPosition = r; }
|
||||||
|
inline int GetRowPosition() const { return m_rowPosition; }
|
||||||
|
inline void SetColPosition(int c) { m_colPosition = c; }
|
||||||
|
inline int GetColPosition() const { return m_colPosition; }
|
||||||
|
|
||||||
|
inline int GetX(void) const { return m_offsetX; }
|
||||||
|
inline int GetY(void) const { return m_offsetY; }
|
||||||
|
inline int GetWidth(void) const { return m_width; }
|
||||||
|
inline int GetHeight(void) const { return m_height; }
|
||||||
|
|
||||||
|
inline int GetId(void) const { return m_id; }
|
||||||
|
inline void SetId(int i) { m_id = i; }
|
||||||
|
|
||||||
|
virtual bool HitTest(int x, int y) const ;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxTabView* m_view;
|
||||||
|
wxString m_controlLabel;
|
||||||
|
bool m_isSelected;
|
||||||
|
wxFont* m_labelFont;
|
||||||
|
int m_offsetX; // Offsets from top-left of tab view area (the area below the tabs)
|
||||||
|
int m_offsetY;
|
||||||
|
int m_width;
|
||||||
|
int m_height;
|
||||||
|
int m_id;
|
||||||
|
int m_rowPosition; // Position in row from 0
|
||||||
|
int m_colPosition; // Position in col from 0
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Each wxTabLayer is a list of tabs. E.g. there
|
||||||
|
* are 3 layers in the MS Word Options dialog.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class wxTabLayer: public wxList
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTabLayer)
|
||||||
|
public:
|
||||||
|
wxTabLayer(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The wxTabView controls and draws the tabbed object
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define wxTAB_STYLE_DRAW_BOX 1 // Draws 3D boxes round tab layers
|
||||||
|
#define wxTAB_STYLE_COLOUR_INTERIOR 2 // Colours interior of tabs, otherwise draws outline
|
||||||
|
|
||||||
|
class wxTabView: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTabView)
|
||||||
|
public:
|
||||||
|
wxTabView(long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR);
|
||||||
|
~wxTabView();
|
||||||
|
|
||||||
|
inline int GetNumberOfLayers() const { return m_layers.Number(); }
|
||||||
|
inline wxList& GetLayers() { return m_layers; }
|
||||||
|
|
||||||
|
inline void SetWindow(wxWindow* wnd) { m_window = wnd; }
|
||||||
|
inline wxWindow* GetWindow(void) const { return m_window; }
|
||||||
|
|
||||||
|
// Automatically positions tabs
|
||||||
|
wxTabControl *AddTab(int id, const wxString& label, wxTabControl *existingTab = NULL);
|
||||||
|
|
||||||
|
void ClearTabs(bool deleteTabs = TRUE);
|
||||||
|
|
||||||
|
// Layout tabs (optional, e.g. if resizing window)
|
||||||
|
void Layout(void);
|
||||||
|
|
||||||
|
// Draw all tabs
|
||||||
|
virtual void Draw(wxDC& dc);
|
||||||
|
|
||||||
|
// Process mouse event, return FALSE if we didn't process it
|
||||||
|
virtual bool OnEvent(wxMouseEvent& event);
|
||||||
|
|
||||||
|
// Called when a tab is activated
|
||||||
|
virtual void OnTabActivate(int activateId, int deactivateId);
|
||||||
|
// Allows vetoing
|
||||||
|
virtual bool OnTabPreActivate(int WXUNUSED(activateId), int WXUNUSED(deactivateId) ) { return TRUE; };
|
||||||
|
|
||||||
|
// Allows use of application-supplied wxTabControl classes.
|
||||||
|
virtual wxTabControl *OnCreateTabControl(void) { return new wxTabControl(this); }
|
||||||
|
|
||||||
|
void SetHighlightColour(const wxColour& col);
|
||||||
|
void SetShadowColour(const wxColour& col);
|
||||||
|
void SetBackgroundColour(const wxColour& col);
|
||||||
|
inline void SetTextColour(const wxColour& col) { m_textColour = col; }
|
||||||
|
|
||||||
|
inline wxColour GetHighlightColour(void) const { return m_highlightColour; }
|
||||||
|
inline wxColour GetShadowColour(void) const { return m_shadowColour; }
|
||||||
|
inline wxColour GetBackgroundColour(void) const { return m_backgroundColour; }
|
||||||
|
inline wxColour GetTextColour(void) const { return m_textColour; }
|
||||||
|
inline wxPen *GetHighlightPen(void) const { return m_highlightPen; }
|
||||||
|
inline wxPen *GetShadowPen(void) const { return m_shadowPen; }
|
||||||
|
inline wxPen *GetBackgroundPen(void) const { return m_backgroundPen; }
|
||||||
|
inline wxBrush *GetBackgroundBrush(void) const { return m_backgroundBrush; }
|
||||||
|
|
||||||
|
inline void SetViewRect(const wxRectangle& rect) { m_tabViewRect = rect; }
|
||||||
|
inline wxRect GetViewRect(void) const { return m_tabViewRect; }
|
||||||
|
|
||||||
|
// Calculate tab width to fit to view, and optionally adjust the view
|
||||||
|
// to fit the tabs exactly.
|
||||||
|
int CalculateTabWidth(int noTabs, bool adjustView = FALSE);
|
||||||
|
|
||||||
|
inline void SetTabStyle(long style) { m_tabStyle = style; }
|
||||||
|
inline long GetTabStyle(void) const { return m_tabStyle; }
|
||||||
|
|
||||||
|
inline void SetTabSize(int w, int h) { m_tabWidth = w; m_tabHeight = h; }
|
||||||
|
inline int GetTabWidth(void) const { return m_tabWidth; }
|
||||||
|
inline int GetTabHeight(void) const { return m_tabHeight; }
|
||||||
|
inline void SetTabSelectionHeight(int h) { m_tabSelectionHeight = h; }
|
||||||
|
inline int GetTabSelectionHeight(void) const { return m_tabSelectionHeight; }
|
||||||
|
|
||||||
|
inline int GetTopMargin(void) const { return m_topMargin; }
|
||||||
|
inline void SetTopMargin(int margin) { m_topMargin = margin; }
|
||||||
|
|
||||||
|
void SetTabSelection(int sel, bool activateTool = TRUE);
|
||||||
|
inline int GetTabSelection() const { return m_tabSelection; }
|
||||||
|
|
||||||
|
// Find tab control for id
|
||||||
|
wxTabControl *FindTabControlForId(int id) const ;
|
||||||
|
|
||||||
|
// Find tab control for layer, position (starting from zero)
|
||||||
|
wxTabControl *FindTabControlForPosition(int layer, int position) const ;
|
||||||
|
|
||||||
|
inline int GetHorizontalTabOffset() const { return m_tabHorizontalOffset; }
|
||||||
|
inline int GetHorizontalTabSpacing() const { return m_tabHorizontalSpacing; }
|
||||||
|
inline void SetHorizontalTabOffset(int sp) { m_tabHorizontalOffset = sp; }
|
||||||
|
inline void SetHorizontalTabSpacing(int sp) { m_tabHorizontalSpacing = sp; }
|
||||||
|
|
||||||
|
inline void SetVerticalTabTextSpacing(int s) { m_tabVerticalTextSpacing = s; }
|
||||||
|
inline int GetVerticalTabTextSpacing() const { return m_tabVerticalTextSpacing; }
|
||||||
|
|
||||||
|
inline wxFont *GetTabFont() const { return m_tabFont; }
|
||||||
|
inline void SetTabFont(wxFont *f) { m_tabFont = f; }
|
||||||
|
|
||||||
|
inline wxFont *GetSelectedTabFont() const { return m_tabSelectedFont; }
|
||||||
|
inline void SetSelectedTabFont(wxFont *f) { m_tabSelectedFont = f; }
|
||||||
|
// Find the node and the column at which this control is positioned.
|
||||||
|
wxNode *FindTabNodeAndColumn(wxTabControl *control, int *col) const ;
|
||||||
|
|
||||||
|
// Do the necessary to change to this tab
|
||||||
|
virtual bool ChangeTab(wxTabControl *control);
|
||||||
|
|
||||||
|
// Move the selected tab to the bottom layer, if necessary,
|
||||||
|
// without calling app activation code
|
||||||
|
bool MoveSelectionTab(wxTabControl *control);
|
||||||
|
|
||||||
|
inline int GetNumberOfTabs() const { return m_noTabs; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// List of layers, from front to back.
|
||||||
|
wxList m_layers;
|
||||||
|
|
||||||
|
// Selected tab
|
||||||
|
int m_tabSelection;
|
||||||
|
|
||||||
|
// Usual tab height
|
||||||
|
int m_tabHeight;
|
||||||
|
|
||||||
|
// The height of the selected tab
|
||||||
|
int m_tabSelectionHeight;
|
||||||
|
|
||||||
|
// Usual tab width
|
||||||
|
int m_tabWidth;
|
||||||
|
|
||||||
|
// Space between tabs
|
||||||
|
int m_tabHorizontalSpacing;
|
||||||
|
|
||||||
|
// Space between top of normal tab and text
|
||||||
|
int m_tabVerticalTextSpacing;
|
||||||
|
|
||||||
|
// Horizontal offset of each tab row above the first
|
||||||
|
int m_tabHorizontalOffset;
|
||||||
|
|
||||||
|
// The distance between the bottom of the first tab row
|
||||||
|
// and the top of the client area (i.e. the margin)
|
||||||
|
int m_topMargin;
|
||||||
|
|
||||||
|
// The position and size of the view above which the tabs are placed.
|
||||||
|
// I.e., the internal client area of the sheet.
|
||||||
|
wxRect m_tabViewRect;
|
||||||
|
|
||||||
|
// Bitlist of styles
|
||||||
|
long m_tabStyle;
|
||||||
|
|
||||||
|
// Colours
|
||||||
|
wxColour m_highlightColour;
|
||||||
|
wxColour m_shadowColour;
|
||||||
|
wxColour m_backgroundColour;
|
||||||
|
wxColour m_textColour;
|
||||||
|
|
||||||
|
// Pen and brush cache
|
||||||
|
wxPen* m_highlightPen;
|
||||||
|
wxPen* m_shadowPen;
|
||||||
|
wxPen* m_backgroundPen;
|
||||||
|
wxBrush* m_backgroundBrush;
|
||||||
|
|
||||||
|
wxFont* m_tabFont;
|
||||||
|
wxFont* m_tabSelectedFont;
|
||||||
|
|
||||||
|
int m_noTabs;
|
||||||
|
|
||||||
|
wxWindow* m_window;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A dialog box class that is tab-friendly
|
||||||
|
*/
|
||||||
|
|
||||||
|
class wxTabbedDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTabbedDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxTabbedDialog(wxWindow *parent, const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long windowStyle = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxDialogNameStr);
|
||||||
|
~wxTabbedDialog(void);
|
||||||
|
|
||||||
|
inline wxTabView *GetTabView() const { return m_tabView; }
|
||||||
|
inline void SetTabView(wxTabView *v) { m_tabView = v; }
|
||||||
|
|
||||||
|
void OnCloseWindow(wxCloseEvent& event);
|
||||||
|
void OnMouseEvent(wxMouseEvent& event);
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxTabView* m_tabView;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A panel class that is tab-friendly
|
||||||
|
*/
|
||||||
|
|
||||||
|
class wxTabbedPanel: public wxPanel
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTabbedPanel)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxTabbedPanel(wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long windowStyle = 0, const wxString& name = wxPanelNameStr);
|
||||||
|
~wxTabbedPanel(void);
|
||||||
|
|
||||||
|
inline wxTabView *GetTabView() const { return m_tabView; }
|
||||||
|
inline void SetTabView(wxTabView *v) { m_tabView = v; }
|
||||||
|
|
||||||
|
void OnMouseEvent(wxMouseEvent& event);
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxTabView* m_tabView;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
class wxPanelTabView: public wxTabView
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPanelTabView)
|
||||||
|
public:
|
||||||
|
wxPanelTabView(wxPanel *pan, long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR);
|
||||||
|
~wxPanelTabView(void);
|
||||||
|
|
||||||
|
// Called when a tab is activated
|
||||||
|
virtual void OnTabActivate(int activateId, int deactivateId);
|
||||||
|
|
||||||
|
// Specific to this class
|
||||||
|
void AddTabWindow(int id, wxWindow *window);
|
||||||
|
wxWindow *GetTabWindow(int id) const ;
|
||||||
|
void ClearWindows(bool deleteWindows = TRUE);
|
||||||
|
inline wxWindow *GetCurrentWindow() const { return m_currentWindow; }
|
||||||
|
|
||||||
|
void ShowWindowForTab(int id);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// List of panels, one for each tab. Indexed
|
||||||
|
// by tab ID.
|
||||||
|
wxList m_tabWindows;
|
||||||
|
wxWindow* m_currentWindow;
|
||||||
|
wxPanel* m_panel;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
51
include/wx/generic/textdlgg.h
Normal file
51
include/wx/generic/textdlgg.h
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: textdlgg.h
|
||||||
|
// Purpose: wxStatusBar class
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __TEXTDLGH_G__
|
||||||
|
#define __TEXTDLGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "textdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
// Handy dialog functions (will be converted into classes at some point)
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxGetTextFromUserPromptStr;
|
||||||
|
WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
|
||||||
|
|
||||||
|
#define wxID_TEXT 3000
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxTextEntryDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTextEntryDialog)
|
||||||
|
protected:
|
||||||
|
long m_dialogStyle;
|
||||||
|
wxString m_value;
|
||||||
|
public:
|
||||||
|
wxTextEntryDialog(wxWindow *parent, const wxString& message, const wxString& caption = wxGetTextFromUserPromptStr,
|
||||||
|
const wxString& value = wxEmptyString, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
|
||||||
|
inline void SetValue(const wxString& val) { m_value = val; }
|
||||||
|
inline wxString GetValue(void) const { return m_value; }
|
||||||
|
|
||||||
|
void OnOK(wxCommandEvent& event);
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
wxString WXDLLEXPORT wxGetTextFromUser(const wxString& message, const wxString& caption = wxGetTextFromUserPromptStr,
|
||||||
|
const wxString& default_value = wxEmptyString, wxWindow *parent = NULL,
|
||||||
|
int x = -1, int y = -1, bool centre = TRUE);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __TEXTDLGH_G__
|
||||||
300
include/wx/generic/treectrl.h
Normal file
300
include/wx/generic/treectrl.h
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
/*
|
||||||
|
* Author: Robert Roebling
|
||||||
|
*
|
||||||
|
* Copyright: (C) 1997,1998 Robert Roebling
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the wxWindows Licence, which
|
||||||
|
* you have received with this library (see Licence.htm).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GTKTREECTRLH_G__
|
||||||
|
#define __GTKTREECTRLH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
#include "wx/event.h"
|
||||||
|
#include "wx/imaglist.h"
|
||||||
|
#include "wx/scrolwin.h"
|
||||||
|
#include "wx/dcclient.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxTreeItem;
|
||||||
|
class wxTreeEvent;
|
||||||
|
|
||||||
|
class wxGenericTreeItem;
|
||||||
|
class wxTreeCtrl;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// WXDLLEXPORT extern const char *wxTreeNameStr;
|
||||||
|
|
||||||
|
#define wxTREE_MASK_HANDLE 0x0001
|
||||||
|
#define wxTREE_MASK_STATE 0x0002
|
||||||
|
#define wxTREE_MASK_TEXT 0x0004
|
||||||
|
#define wxTREE_MASK_IMAGE 0x0008
|
||||||
|
#define wxTREE_MASK_SELECTED_IMAGE 0x0010
|
||||||
|
#define wxTREE_MASK_CHILDREN 0x0020
|
||||||
|
#define wxTREE_MASK_DATA 0x0040
|
||||||
|
|
||||||
|
#define wxTREE_STATE_BOLD 0x0001
|
||||||
|
#define wxTREE_STATE_DROPHILITED 0x0002
|
||||||
|
#define wxTREE_STATE_EXPANDED 0x0004
|
||||||
|
#define wxTREE_STATE_EXPANDEDONCE 0x0008
|
||||||
|
#define wxTREE_STATE_FOCUSED 0x0010
|
||||||
|
#define wxTREE_STATE_SELECTED 0x0020
|
||||||
|
#define wxTREE_STATE_CUT 0x0040
|
||||||
|
|
||||||
|
#define wxTREE_HITTEST_ABOVE 0x0001 // Above the client area.
|
||||||
|
#define wxTREE_HITTEST_BELOW 0x0002 // Below the client area.
|
||||||
|
#define wxTREE_HITTEST_NOWHERE 0x0004 // In the client area but below the last item.
|
||||||
|
#define wxTREE_HITTEST_ONITEMBUTTON 0x0010 // On the button associated with an item.
|
||||||
|
#define wxTREE_HITTEST_ONITEMICON 0x0020 // On the bitmap associated with an item.
|
||||||
|
#define wxTREE_HITTEST_ONITEMINDENT 0x0040 // In the indentation associated with an item.
|
||||||
|
#define wxTREE_HITTEST_ONITEMLABEL 0x0080 // On the label (string) associated with an item.
|
||||||
|
#define wxTREE_HITTEST_ONITEMRIGHT 0x0100 // In the area to the right of an item.
|
||||||
|
#define wxTREE_HITTEST_ONITEMSTATEICON 0x0200 // On the state icon for a tree view item that is in a user-defined state.
|
||||||
|
#define wxTREE_HITTEST_TOLEFT 0x0400 // To the right of the client area.
|
||||||
|
#define wxTREE_HITTEST_TORIGHT 0x0800 // To the left of the client area.
|
||||||
|
|
||||||
|
#define wxTREE_HITTEST_ONITEM (wxTREE_HITTEST_ONITEMICON | wxTREE_HITTEST_ONITEMLABEL wxTREE_HITTEST_ONITEMSTATEICON)
|
||||||
|
|
||||||
|
// Flags for GetNextItem
|
||||||
|
enum {
|
||||||
|
wxTREE_NEXT_CARET, // Retrieves the currently selected item.
|
||||||
|
wxTREE_NEXT_CHILD, // Retrieves the first child item. The hItem parameter must be NULL.
|
||||||
|
wxTREE_NEXT_DROPHILITE, // Retrieves the item that is the target of a drag-and-drop operation.
|
||||||
|
wxTREE_NEXT_FIRSTVISIBLE, // Retrieves the first visible item.
|
||||||
|
wxTREE_NEXT_NEXT, // Retrieves the next sibling item.
|
||||||
|
wxTREE_NEXT_NEXTVISIBLE, // Retrieves the next visible item that follows the specified item.
|
||||||
|
wxTREE_NEXT_PARENT, // Retrieves the parent of the specified item.
|
||||||
|
wxTREE_NEXT_PREVIOUS, // Retrieves the previous sibling item.
|
||||||
|
wxTREE_NEXT_PREVIOUSVISIBLE, // Retrieves the first visible item that precedes the specified item.
|
||||||
|
wxTREE_NEXT_ROOT // Retrieves the first child item of the root item of which the specified item is a part.
|
||||||
|
};
|
||||||
|
|
||||||
|
// Flags for ExpandItem
|
||||||
|
enum {
|
||||||
|
wxTREE_EXPAND_EXPAND,
|
||||||
|
wxTREE_EXPAND_COLLAPSE,
|
||||||
|
wxTREE_EXPAND_COLLAPSE_RESET,
|
||||||
|
wxTREE_EXPAND_TOGGLE
|
||||||
|
};
|
||||||
|
|
||||||
|
// Flags for InsertItem
|
||||||
|
enum {
|
||||||
|
wxTREE_INSERT_LAST = -1,
|
||||||
|
wxTREE_INSERT_FIRST = -2,
|
||||||
|
wxTREE_INSERT_SORT = -3
|
||||||
|
};
|
||||||
|
|
||||||
|
/* defined in "wx/event.h"
|
||||||
|
wxEVT_COMMAND_TREE_BEGIN_DRAG,
|
||||||
|
wxEVT_COMMAND_TREE_BEGIN_RDRAG,
|
||||||
|
wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT,
|
||||||
|
wxEVT_COMMAND_TREE_END_LABEL_EDIT,
|
||||||
|
wxEVT_COMMAND_TREE_DELETE_ITEM,
|
||||||
|
wxEVT_COMMAND_TREE_GET_INFO,
|
||||||
|
wxEVT_COMMAND_TREE_SET_INFO,
|
||||||
|
wxEVT_COMMAND_TREE_ITEM_EXPANDED,
|
||||||
|
wxEVT_COMMAND_TREE_ITEM_EXPANDING,
|
||||||
|
wxEVT_COMMAND_TREE_SEL_CHANGED,
|
||||||
|
wxEVT_COMMAND_TREE_SEL_CHANGING,
|
||||||
|
wxEVT_COMMAND_TREE_KEY_DOWN
|
||||||
|
*/
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxTreeItem
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxTreeItem: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTreeItem)
|
||||||
|
|
||||||
|
public:
|
||||||
|
long m_mask;
|
||||||
|
long m_itemId;
|
||||||
|
long m_state;
|
||||||
|
long m_stateMask;
|
||||||
|
wxString m_text;
|
||||||
|
int m_image;
|
||||||
|
int m_selectedImage;
|
||||||
|
int m_children;
|
||||||
|
long m_data;
|
||||||
|
|
||||||
|
wxTreeItem(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxTreeEvent
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxTreeEvent: public wxCommandEvent
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTreeEvent)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxTreeEvent(WXTYPE commandType = 0, int id = 0);
|
||||||
|
|
||||||
|
int m_code;
|
||||||
|
wxTreeItem m_item;
|
||||||
|
long m_oldItem;
|
||||||
|
wxPoint m_pointDrag;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);
|
||||||
|
|
||||||
|
#define EVT_TREE_BEGIN_DRAG(id, fn) { wxEVT_COMMAND_TREE_BEGIN_DRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_BEGIN_RDRAG(id, fn) { wxEVT_COMMAND_TREE_BEGIN_RDRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_BEGIN_LABEL_EDIT(id, fn) { wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_END_LABEL_EDIT(id, fn) { wxEVT_COMMAND_TREE_END_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_DELETE_ITEM(id, fn) { wxEVT_COMMAND_TREE_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_GET_INFO(id, fn) { wxEVT_COMMAND_TREE_GET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_SET_INFO(id, fn) { wxEVT_COMMAND_TREE_SET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_ITEM_EXPANDED(id, fn) { wxEVT_COMMAND_TREE_ITEM_EXPANDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_ITEM_EXPANDING(id, fn) { wxEVT_COMMAND_TREE_ITEM_EXPANDING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TREE_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TREE_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
#define EVT_TREE_KEY_DOWN(id, fn) { wxEVT_COMMAND_TREE_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn },
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxGenericTreeItem
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGenericTreeItem: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGenericTreeItem)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
long m_itemId;
|
||||||
|
long m_state;
|
||||||
|
wxString m_text;
|
||||||
|
int m_image;
|
||||||
|
int m_selectedImage;
|
||||||
|
// int m_children;
|
||||||
|
bool m_hasChildren;
|
||||||
|
long m_data;
|
||||||
|
|
||||||
|
int m_x,m_y;
|
||||||
|
int m_height,m_width;
|
||||||
|
int m_xCross,m_yCross;
|
||||||
|
int m_level;
|
||||||
|
wxList m_children;
|
||||||
|
wxGenericTreeItem *m_parent;
|
||||||
|
bool m_hasHilight;
|
||||||
|
|
||||||
|
wxGenericTreeItem(void) {};
|
||||||
|
wxGenericTreeItem( wxGenericTreeItem *parent );
|
||||||
|
wxGenericTreeItem( wxGenericTreeItem *parent, const wxTreeItem& item, wxDC *dc );
|
||||||
|
void SetItem( const wxTreeItem &item, wxDC *dc );
|
||||||
|
void SetText( const wxString &text, wxDC *dc );
|
||||||
|
void Reset(void);
|
||||||
|
void GetItem( wxTreeItem &item ) const;
|
||||||
|
void AddChild( const wxTreeItem &item );
|
||||||
|
bool HasChildren(void);
|
||||||
|
bool HasPlus(void);
|
||||||
|
int NumberOfVisibleDescendents(void);
|
||||||
|
int NumberOfVisibleChildren(void);
|
||||||
|
wxGenericTreeItem *FindItem( long itemId ) const;
|
||||||
|
void AddChild( wxGenericTreeItem *child );
|
||||||
|
void SetCross( int x, int y );
|
||||||
|
void GetSize( int &x, int &y );
|
||||||
|
long HitTest( const wxPoint& point, int &flags );
|
||||||
|
void PrepareEvent( wxTreeEvent &event );
|
||||||
|
void SendKeyDown( wxWindow *target );
|
||||||
|
void SendSelected( wxWindow *target );
|
||||||
|
void SendDelete( wxWindow *target );
|
||||||
|
void SendExpand( wxWindow *target );
|
||||||
|
void SetHilight( bool set = TRUE );
|
||||||
|
bool HasHilight(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxTreeCtrl
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxTreeCtrl: public wxScrolledWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxTreeCtrl)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxTreeCtrl(void);
|
||||||
|
wxTreeCtrl(wxWindow *parent, const wxWindowID id = -1,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxTR_HAS_BUTTONS,
|
||||||
|
const wxString& name = "wxTreeCtrl" );
|
||||||
|
~wxTreeCtrl(void);
|
||||||
|
bool Create(wxWindow *parent, const wxWindowID id = -1,
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxTR_HAS_BUTTONS,
|
||||||
|
const wxString& name = "wxTreeCtrl");
|
||||||
|
|
||||||
|
int GetCount(void) const;
|
||||||
|
long InsertItem( const long parent, const wxString& label, const int image = -1,
|
||||||
|
const int selImage = -1, const long insertAfter = wxTREE_INSERT_LAST );
|
||||||
|
long InsertItem( const long parent, wxTreeItem &info, const long insertAfter = wxTREE_INSERT_LAST );
|
||||||
|
bool DeleteAllItems(void);
|
||||||
|
bool ExpandItem( const long item, const int action );
|
||||||
|
bool GetItem( wxTreeItem &info ) const;
|
||||||
|
long GetItemData( const long item ) const;
|
||||||
|
wxString GetItemText( const long item ) const;
|
||||||
|
long GetParent( const long item ) const;
|
||||||
|
long GetRootItem(void) const;
|
||||||
|
long GetSelection(void) const;
|
||||||
|
bool SelectItem( const long item ) const;
|
||||||
|
bool ItemHasChildren( const long item ) const;
|
||||||
|
void SetIndent( const int indent );
|
||||||
|
int GetIndent(void) const;
|
||||||
|
bool SetItem( wxTreeItem &info );
|
||||||
|
bool SetItemData( const long item, const long data );
|
||||||
|
bool SetItemText( const long item, const wxString &text );
|
||||||
|
long HitTest( const wxPoint& point, int &flags );
|
||||||
|
|
||||||
|
void AdjustMyScrollbars(void);
|
||||||
|
void PaintLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y );
|
||||||
|
void OnPaint( const wxPaintEvent &event );
|
||||||
|
void OnSetFocus( const wxFocusEvent &event );
|
||||||
|
void OnKillFocus( const wxFocusEvent &event );
|
||||||
|
void OnChar( wxKeyEvent &event );
|
||||||
|
void OnMouse( const wxMouseEvent &event );
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
wxGenericTreeItem *m_anchor;
|
||||||
|
wxGenericTreeItem *m_current;
|
||||||
|
bool m_hasFocus;
|
||||||
|
int m_xScroll,m_yScroll;
|
||||||
|
int m_indent;
|
||||||
|
long m_lastId;
|
||||||
|
int m_lineHeight;
|
||||||
|
wxPen m_dottedPen;
|
||||||
|
bool m_isCreated;
|
||||||
|
wxPaintDC *m_dc;
|
||||||
|
wxBrush *m_hilightBrush;
|
||||||
|
|
||||||
|
void CalculateLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y );
|
||||||
|
void CalculatePositions(void);
|
||||||
|
wxGenericTreeItem *FindItem( const long itemId ) const;
|
||||||
|
void RefreshLine( wxGenericTreeItem *item );
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GTKTREECTRLH_G__
|
||||||
11
include/wx/grid.h
Normal file
11
include/wx/grid.h
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#ifndef __GRIDH_BASE__
|
||||||
|
#define __GRIDH_BASE__
|
||||||
|
|
||||||
|
#include "wx/generic/gridg.h"
|
||||||
|
|
||||||
|
#ifndef wxGrid
|
||||||
|
#define wxGrid wxGenericGrid
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GRIDH_BASE__
|
||||||
113
include/wx/gtk/app.h
Normal file
113
include/wx/gtk/app.h
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: app.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __GTKAPPH__
|
||||||
|
#define __GTKAPPH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/window.h"
|
||||||
|
#include "wx/frame.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxApp;
|
||||||
|
class wxLog;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern wxApp *wxTheApp;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global functions
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void wxExit(void);
|
||||||
|
bool wxYield(void);
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define wxPRINT_WINDOWS 1
|
||||||
|
#define wxPRINT_POSTSCRIPT 2
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxApp
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxApp: public wxEvtHandler
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxApp)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxApp(void);
|
||||||
|
~wxApp(void);
|
||||||
|
|
||||||
|
static void SetInitializerFunction(wxAppInitializerFunction fn) { m_appInitFn = fn; }
|
||||||
|
static wxAppInitializerFunction GetInitializerFunction(void) { return m_appInitFn; }
|
||||||
|
virtual bool OnInit(void);
|
||||||
|
virtual bool OnInitGui(void);
|
||||||
|
virtual int OnRun(void);
|
||||||
|
virtual bool OnIdle(void);
|
||||||
|
virtual int OnExit(void);
|
||||||
|
|
||||||
|
wxWindow *GetTopWindow(void);
|
||||||
|
void SetTopWindow( wxWindow *win );
|
||||||
|
virtual int MainLoop(void);
|
||||||
|
void ExitMainLoop(void);
|
||||||
|
bool Initialized(void);
|
||||||
|
virtual bool Pending(void);
|
||||||
|
virtual void Dispatch(void);
|
||||||
|
void DeletePendingObjects(void);
|
||||||
|
|
||||||
|
inline wxString GetAppName(void) const {
|
||||||
|
if (m_appName != "")
|
||||||
|
return m_appName;
|
||||||
|
else return m_className;
|
||||||
|
}
|
||||||
|
inline void SetAppName(const wxString& name) { m_appName = name; };
|
||||||
|
inline wxString GetClassName(void) const { return m_className; }
|
||||||
|
inline void SetClassName(const wxString& name) { m_className = name; }
|
||||||
|
|
||||||
|
inline void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
|
||||||
|
inline bool GetExitOnFrameDelete(void) const { return m_exitOnFrameDelete; }
|
||||||
|
|
||||||
|
void SetPrintMode(int WXUNUSED(mode) ) {};
|
||||||
|
int GetPrintMode(void) const { return wxPRINT_POSTSCRIPT; };
|
||||||
|
|
||||||
|
static void CommonInit(void);
|
||||||
|
static void CommonCleanUp(void);
|
||||||
|
|
||||||
|
// override this function to create default log target of arbitrary
|
||||||
|
// user-defined classv (default implementation creates a wxLogGui object)
|
||||||
|
virtual wxLog *CreateLogTarget();
|
||||||
|
|
||||||
|
bool m_initialized;
|
||||||
|
bool m_exitOnFrameDelete;
|
||||||
|
gint m_idleTag;
|
||||||
|
wxWindow *m_topWindow;
|
||||||
|
wxString m_appName;
|
||||||
|
wxString m_className;
|
||||||
|
|
||||||
|
int argc;
|
||||||
|
char **argv;
|
||||||
|
|
||||||
|
static wxAppInitializerFunction m_appInitFn;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKAPPH__
|
||||||
118
include/wx/gtk/bitmap.h
Normal file
118
include/wx/gtk/bitmap.h
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: bitmap.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKBITMAPH__
|
||||||
|
#define __GTKBITMAPH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/palette.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDC;
|
||||||
|
class wxPaintDC;
|
||||||
|
class wxMemoryDC;
|
||||||
|
class wxToolBarGTK;
|
||||||
|
|
||||||
|
class wxMask;
|
||||||
|
class wxBitmap;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMask
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMask: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMask)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMask(void);
|
||||||
|
wxMask( const wxBitmap& bitmap, const wxColour& colour );
|
||||||
|
wxMask( const wxBitmap& bitmap, const int paletteIndex );
|
||||||
|
wxMask( const wxBitmap& bitmap );
|
||||||
|
~wxMask(void);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
friend wxBitmap;
|
||||||
|
friend wxDC;
|
||||||
|
friend wxPaintDC;
|
||||||
|
friend wxToolBarGTK;
|
||||||
|
|
||||||
|
GdkBitmap *GetBitmap(void) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
GdkBitmap *m_bitmap;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxBitmap
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxBitmap: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxBitmap)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxBitmap(void);
|
||||||
|
wxBitmap( const int width, const int height, const int depth = -1 );
|
||||||
|
wxBitmap( char **bits );
|
||||||
|
wxBitmap( const wxBitmap& bmp );
|
||||||
|
wxBitmap( const wxBitmap* bmp );
|
||||||
|
wxBitmap( const wxString &filename, const int type );
|
||||||
|
~wxBitmap(void);
|
||||||
|
wxBitmap& operator = ( const wxBitmap& bmp );
|
||||||
|
bool operator == ( const wxBitmap& bmp );
|
||||||
|
bool operator != ( const wxBitmap& bmp );
|
||||||
|
bool Ok(void) const;
|
||||||
|
|
||||||
|
int GetHeight(void) const;
|
||||||
|
int GetWidth(void) const;
|
||||||
|
int GetDepth(void) const;
|
||||||
|
void SetHeight( const int height );
|
||||||
|
void SetWidth( const int width );
|
||||||
|
void SetDepth( const int depth );
|
||||||
|
|
||||||
|
wxMask *GetMask(void) const;
|
||||||
|
void SetMask( wxMask *mask );
|
||||||
|
|
||||||
|
bool SaveFile( const wxString &name, const int type, wxPalette *palette = NULL );
|
||||||
|
bool LoadFile( const wxString &name, const int type );
|
||||||
|
|
||||||
|
wxPalette *GetPalette(void) const;
|
||||||
|
wxPalette *GetColourMap(void) const
|
||||||
|
{ return GetPalette(); };
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
friend wxDC;
|
||||||
|
friend wxPaintDC;
|
||||||
|
friend wxMemoryDC;
|
||||||
|
friend wxToolBarGTK;
|
||||||
|
|
||||||
|
GdkPixmap *GetPixmap(void) const;
|
||||||
|
|
||||||
|
// no data :-)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKBITMAPH__
|
||||||
34
include/wx/gtk/bmpbuttn.h
Normal file
34
include/wx/gtk/bmpbuttn.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: bmpbutton.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __BMPBUTTONH__
|
||||||
|
#define __BMPBUTTONH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxBitmapButton;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxBitmapButton
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#endif // __BMPBUTTONH__
|
||||||
60
include/wx/gtk/brush.h
Normal file
60
include/wx/gtk/brush.h
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: brush.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKBRUSHH__
|
||||||
|
#define __GTKBRUSHH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/gdiobj.h"
|
||||||
|
#include "wx/bitmap.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxBrush;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxBrush
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxBrush: public wxGDIObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxBrush)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxBrush(void);
|
||||||
|
wxBrush( const wxColour &colour, const int style );
|
||||||
|
wxBrush( const wxString &colourName, const int style );
|
||||||
|
wxBrush( const wxBitmap &stippleBitmap );
|
||||||
|
wxBrush( const wxBrush &brush );
|
||||||
|
wxBrush( const wxBrush *brush );
|
||||||
|
~wxBrush(void);
|
||||||
|
wxBrush& operator = ( const wxBrush& brush );
|
||||||
|
bool operator == ( const wxBrush& brush );
|
||||||
|
bool operator != ( const wxBrush& brush );
|
||||||
|
bool Ok(void) const;
|
||||||
|
|
||||||
|
int GetStyle(void) const;
|
||||||
|
wxColour &GetColour(void) const;
|
||||||
|
wxBitmap *GetStipple(void) const;
|
||||||
|
|
||||||
|
// no data :-)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKBRUSHH__
|
||||||
58
include/wx/gtk/button.h
Normal file
58
include/wx/gtk/button.h
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: button.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKBUTTONH__
|
||||||
|
#define __GTKBUTTONH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxButton;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxButtonNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxButton
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxButton: public wxControl
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxButton)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxButton(void);
|
||||||
|
wxButton( wxWindow *parent, wxWindowID id, const wxString &label,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = wxButtonNameStr );
|
||||||
|
bool Create( wxWindow *parent, wxWindowID id, const wxString &label,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = wxButtonNameStr );
|
||||||
|
void SetDefault(void);
|
||||||
|
void SetLabel( const wxString &label );
|
||||||
|
wxString GetLabel(void) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKBUTTONH__
|
||||||
57
include/wx/gtk/checkbox.h
Normal file
57
include/wx/gtk/checkbox.h
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: checkbox.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKCHECKBOXH__
|
||||||
|
#define __GTKCHECKBOXH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxCheckBox;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxCheckBoxNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxCheckBox
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxCheckBox: public wxControl
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxCheckBox)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxCheckBox(void);
|
||||||
|
wxCheckBox( wxWindow *parent, wxWindowID id, const wxString &label,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = wxCheckBoxNameStr );
|
||||||
|
bool Create( wxWindow *parent, wxWindowID id, const wxString &label,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = wxCheckBoxNameStr );
|
||||||
|
void SetValue( const bool state );
|
||||||
|
bool GetValue(void) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKCHECKBOXH__
|
||||||
68
include/wx/gtk/choice.h
Normal file
68
include/wx/gtk/choice.h
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: choice.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKCHOICEH__
|
||||||
|
#define __GTKCHOICEH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxChoice;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxChoiceNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxChoice
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxChoice: public wxControl
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxChoice)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxChoice(void);
|
||||||
|
wxChoice( wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const int n = 0, const wxString choices[] = NULL,
|
||||||
|
const long style = 0, const wxString &name = wxChoiceNameStr );
|
||||||
|
bool Create( wxWindow *parent, const wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const int n = 0, const wxString choices[] = NULL,
|
||||||
|
const long style = 0, const wxString &name = wxChoiceNameStr );
|
||||||
|
void Append( const wxString &item );
|
||||||
|
void Clear(void);
|
||||||
|
int FindString( const wxString &string ) const;
|
||||||
|
int GetColumns(void) const;
|
||||||
|
int GetSelection(void);
|
||||||
|
wxString GetString( const int n ) const;
|
||||||
|
wxString GetStringSelection(void) const;
|
||||||
|
int Number(void) const;
|
||||||
|
void SetColumns( const int n = 1 );
|
||||||
|
void SetSelection( const int n );
|
||||||
|
void SetStringSelection( const wxString &string );
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKCHOICEH__
|
||||||
76
include/wx/gtk/colour.h
Normal file
76
include/wx/gtk/colour.h
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: colour.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKCOLOURH__
|
||||||
|
#define __GTKCOLOURH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/gdiobj.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDC;
|
||||||
|
class wxPaintDC;
|
||||||
|
class wxBitmap;
|
||||||
|
class wxWindow;
|
||||||
|
|
||||||
|
class wxColour;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxColour
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxColour: public wxGDIObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxColour)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxColour(void);
|
||||||
|
wxColour( char red, char green, char blue );
|
||||||
|
wxColour( const wxString &colourName );
|
||||||
|
wxColour( const wxColour& col );
|
||||||
|
wxColour( const wxColour* col );
|
||||||
|
~wxColour(void);
|
||||||
|
wxColour& operator = ( const wxColour& col );
|
||||||
|
wxColour& operator = ( const wxString& colourName );
|
||||||
|
bool operator == ( const wxColour& col );
|
||||||
|
bool operator != ( const wxColour& col );
|
||||||
|
void Set( const unsigned char red, const unsigned char green, const unsigned char blue );
|
||||||
|
unsigned char Red(void) const;
|
||||||
|
unsigned char Green(void) const;
|
||||||
|
unsigned char Blue(void) const;
|
||||||
|
bool Ok(void) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
public:
|
||||||
|
|
||||||
|
friend wxDC;
|
||||||
|
friend wxPaintDC;
|
||||||
|
friend wxBitmap;
|
||||||
|
friend wxWindow;
|
||||||
|
|
||||||
|
void CalcPixel( GdkColormap *cmap );
|
||||||
|
int GetPixel(void);
|
||||||
|
GdkColor *GetColor(void);
|
||||||
|
|
||||||
|
// no data :-)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKCOLOURH__
|
||||||
34
include/wx/gtk/combobox.h
Normal file
34
include/wx/gtk/combobox.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: combobox.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKCOMBOBOXH__
|
||||||
|
#define __GTKCOMBOBOXH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxComboBox;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxComboBox
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#endif // __GTKCOMBOBOXH__
|
||||||
51
include/wx/gtk/control.h
Normal file
51
include/wx/gtk/control.h
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: control.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKCONTROLH__
|
||||||
|
#define __GTKCONTROLH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxControl;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxControl
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxControl: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxControl)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxControl(void);
|
||||||
|
wxControl( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = 0, const wxString &name = wxPanelNameStr );
|
||||||
|
virtual void Command( wxCommandEvent &event );
|
||||||
|
virtual void SetLabel( const wxString &label );
|
||||||
|
virtual wxString GetLabel(void) const;
|
||||||
|
|
||||||
|
wxString m_label;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKCONTROLH__
|
||||||
61
include/wx/gtk/cursor.h
Normal file
61
include/wx/gtk/cursor.h
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: cursor.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKCURSORH__
|
||||||
|
#define __GTKCURSORH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxWindow;
|
||||||
|
|
||||||
|
class wxCursor;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxCursor
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxCursor: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxCursor)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxCursor(void);
|
||||||
|
wxCursor( const int cursorId );
|
||||||
|
wxCursor( const wxCursor &cursor );
|
||||||
|
wxCursor( const wxCursor *cursor );
|
||||||
|
~wxCursor(void);
|
||||||
|
wxCursor& operator = ( const wxCursor& cursor );
|
||||||
|
bool operator == ( const wxCursor& cursor );
|
||||||
|
bool operator != ( const wxCursor& cursor );
|
||||||
|
bool Ok(void) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
public:
|
||||||
|
|
||||||
|
friend wxWindow;
|
||||||
|
|
||||||
|
GdkCursor *GetCursor(void) const;
|
||||||
|
|
||||||
|
// no data :-)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKCURSORH__
|
||||||
306
include/wx/gtk/dc.h
Normal file
306
include/wx/gtk/dc.h
Normal file
@@ -0,0 +1,306 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dc.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKDCH__
|
||||||
|
#define __GTKDCH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
#include "wx/pen.h"
|
||||||
|
#include "wx/brush.h"
|
||||||
|
#include "wx/icon.h"
|
||||||
|
#include "wx/font.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDC;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define MM_TEXT 0
|
||||||
|
#define MM_ISOTROPIC 1
|
||||||
|
#define MM_ANISOTROPIC 2
|
||||||
|
#define MM_LOMETRIC 3
|
||||||
|
#define MM_HIMETRIC 4
|
||||||
|
#define MM_TWIPS 5
|
||||||
|
#define MM_POINTS 6
|
||||||
|
#define MM_METRIC 7
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global variables
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern int wxPageNumber;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxDC
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDC: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_ABSTRACT_CLASS(wxDC)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxDC(void);
|
||||||
|
~wxDC(void);
|
||||||
|
|
||||||
|
void BeginDrawing(void) {};
|
||||||
|
void EndDrawing(void) {};
|
||||||
|
|
||||||
|
virtual bool Ok(void) const { return m_ok; };
|
||||||
|
|
||||||
|
virtual void FloodFill( long x1, long y1, wxColour *col, int style=wxFLOOD_SURFACE ) = 0;
|
||||||
|
virtual bool GetPixel( long x1, long y1, wxColour *col ) const = 0;
|
||||||
|
|
||||||
|
virtual void DrawLine( long x1, long y1, long x2, long y2 ) = 0;
|
||||||
|
virtual void CrossHair( long x, long y ) = 0;
|
||||||
|
virtual void DrawArc( long x1, long y1, long x2, long y2, double xc, double yc );
|
||||||
|
virtual void DrawEllipticArc( long x, long y, long width, long height, double sa, double ea ) = 0;
|
||||||
|
virtual void DrawPoint( long x, long y ) = 0;
|
||||||
|
virtual void DrawPoint( wxPoint& point );
|
||||||
|
|
||||||
|
virtual void DrawLines( int n, wxPoint points[], long xoffset = 0, long yoffset = 0 ) = 0;
|
||||||
|
virtual void DrawLines( wxList *points, long xoffset = 0, long yoffset = 0 );
|
||||||
|
virtual void DrawPolygon( int n, wxPoint points[], long xoffset = 0, long yoffset = 0,
|
||||||
|
int fillStyle=wxODDEVEN_RULE ) = 0;
|
||||||
|
virtual void DrawPolygon( wxList *lines, long xoffset = 0, long yoffset = 0,
|
||||||
|
int fillStyle=wxODDEVEN_RULE );
|
||||||
|
|
||||||
|
virtual void DrawRectangle( long x, long y, long width, long height ) = 0;
|
||||||
|
virtual void DrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 ) = 0;
|
||||||
|
virtual void DrawEllipse( long x, long y, long width, long height ) = 0;
|
||||||
|
|
||||||
|
virtual void DrawSpline( long x1, long y1, long x2, long y2, long x3, long y3 );
|
||||||
|
virtual void DrawSpline( wxList *points );
|
||||||
|
virtual void DrawSpline( int n, wxPoint points[] );
|
||||||
|
|
||||||
|
virtual bool CanDrawBitmap(void) const = 0;
|
||||||
|
virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
|
||||||
|
void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE )
|
||||||
|
{ DrawIcon( *((wxIcon*)(&bmp)), x, y, useMask ); }
|
||||||
|
virtual bool Blit( long xdest, long ydest, long width, long height,
|
||||||
|
wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE ) = 0;
|
||||||
|
|
||||||
|
virtual void DrawText( const wxString &text, long x, long y, bool use16 = FALSE ) = 0;
|
||||||
|
virtual bool CanGetTextExtent(void) const = 0;
|
||||||
|
virtual void GetTextExtent( const wxString &string, long *width, long *height,
|
||||||
|
long *descent = NULL, long *externalLeading = NULL,
|
||||||
|
wxFont *theFont = NULL, bool use16 = FALSE ) = 0;
|
||||||
|
virtual long GetCharWidth(void) = 0;
|
||||||
|
virtual long GetCharHeight(void) = 0;
|
||||||
|
|
||||||
|
virtual void Clear(void) = 0;
|
||||||
|
|
||||||
|
virtual void SetFont( const wxFont &font ) = 0;
|
||||||
|
virtual wxFont *GetFont(void) { return &m_font; };
|
||||||
|
|
||||||
|
virtual void SetPen( const wxPen &pen ) = 0;
|
||||||
|
virtual wxPen *GetPen(void) { return &m_pen; };
|
||||||
|
|
||||||
|
virtual void SetBrush( const wxBrush &brush ) = 0;
|
||||||
|
virtual wxBrush *GetBrush(void) { return &m_brush; };
|
||||||
|
|
||||||
|
virtual void SetLogicalFunction( int function ) = 0;
|
||||||
|
virtual int GetLogicalFunction(void) { return m_logicalFunction; };
|
||||||
|
|
||||||
|
virtual void SetTextForeground( const wxColour &col );
|
||||||
|
virtual void SetTextBackground( const wxColour &col );
|
||||||
|
virtual wxColour& GetTextBackground(void) const { return (wxColour&)m_textBackgroundColour; };
|
||||||
|
virtual wxColour& GetTextForeground(void) const { return (wxColour&)m_textForegroundColour; };
|
||||||
|
|
||||||
|
virtual void SetBackgroundMode( int mode ) = 0;
|
||||||
|
virtual int GetBackgroundMode(void) { return m_backgroundMode; };
|
||||||
|
|
||||||
|
virtual void SetPalette( const wxPalette& palette ) = 0;
|
||||||
|
void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
|
||||||
|
|
||||||
|
// the first two must be overridden and called
|
||||||
|
virtual void SetClippingRegion( long x, long y, long width, long height );
|
||||||
|
virtual void DestroyClippingRegion(void);
|
||||||
|
virtual void GetClippingBox( long *x, long *y, long *width, long *height ) const;
|
||||||
|
|
||||||
|
virtual inline long MinX(void) const { return m_minX; }
|
||||||
|
virtual inline long MaxX(void) const { return m_maxX; }
|
||||||
|
virtual inline long MinY(void) const { return m_minY; }
|
||||||
|
virtual inline long MaxY(void) const { return m_maxY; }
|
||||||
|
|
||||||
|
virtual void GetSize( int* width, int* height ) const;
|
||||||
|
inline wxSize GetSize(void) const { int w, h; GetSize(&w, &h); return wxSize(w, h); }
|
||||||
|
virtual void GetSizeMM( long* width, long* height ) const;
|
||||||
|
|
||||||
|
virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return TRUE; };
|
||||||
|
virtual void EndDoc(void) {};
|
||||||
|
virtual void StartPage(void) {};
|
||||||
|
virtual void EndPage(void) {};
|
||||||
|
|
||||||
|
virtual void SetMapMode( int mode );
|
||||||
|
virtual int GetMapMode(void) const { return m_mappingMode; };
|
||||||
|
|
||||||
|
virtual void SetUserScale( double x, double y );
|
||||||
|
virtual void GetUserScale( double *x, double *y );
|
||||||
|
virtual void SetLogicalScale( double x, double y );
|
||||||
|
virtual void GetLogicalScale( double *x, double *y );
|
||||||
|
|
||||||
|
virtual void SetLogicalOrigin( long x, long y );
|
||||||
|
virtual void GetLogicalOrigin( long *x, long *y );
|
||||||
|
virtual void SetDeviceOrigin( long x, long y );
|
||||||
|
virtual void GetDeviceOrigin( long *x, long *y );
|
||||||
|
virtual void SetInternalDeviceOrigin( long x, long y );
|
||||||
|
virtual void GetInternalDeviceOrigin( long *x, long *y );
|
||||||
|
|
||||||
|
virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
|
||||||
|
|
||||||
|
virtual void SetOptimization( bool WXUNUSED(optimize) ) {};
|
||||||
|
virtual bool GetOptimization(void) { return m_optimize; };
|
||||||
|
|
||||||
|
virtual long DeviceToLogicalX(long x) const;
|
||||||
|
virtual long DeviceToLogicalY(long y) const;
|
||||||
|
virtual long DeviceToLogicalXRel(long x) const;
|
||||||
|
virtual long DeviceToLogicalYRel(long y) const;
|
||||||
|
virtual long LogicalToDeviceX(long x) const;
|
||||||
|
virtual long LogicalToDeviceY(long y) const;
|
||||||
|
virtual long LogicalToDeviceXRel(long x) const;
|
||||||
|
virtual long LogicalToDeviceYRel(long y) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void CalcBoundingBox( long x, long y );
|
||||||
|
void ComputeScaleAndOrigin(void);
|
||||||
|
|
||||||
|
long XDEV2LOG(long x) const
|
||||||
|
{
|
||||||
|
long new_x = x - m_deviceOriginX;
|
||||||
|
if (new_x > 0)
|
||||||
|
return (long)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
|
||||||
|
else
|
||||||
|
return (long)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
|
||||||
|
}
|
||||||
|
long XDEV2LOGREL(long x) const
|
||||||
|
{
|
||||||
|
if (x > 0)
|
||||||
|
return (long)((double)(x) / m_scaleX + 0.5);
|
||||||
|
else
|
||||||
|
return (long)((double)(x) / m_scaleX - 0.5);
|
||||||
|
}
|
||||||
|
long YDEV2LOG(long y) const
|
||||||
|
{
|
||||||
|
long new_y = y - m_deviceOriginY;
|
||||||
|
if (new_y > 0)
|
||||||
|
return (long)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
|
||||||
|
else
|
||||||
|
return (long)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
|
||||||
|
}
|
||||||
|
long YDEV2LOGREL(long y) const
|
||||||
|
{
|
||||||
|
if (y > 0)
|
||||||
|
return (long)((double)(y) / m_scaleY + 0.5);
|
||||||
|
else
|
||||||
|
return (long)((double)(y) / m_scaleY - 0.5);
|
||||||
|
}
|
||||||
|
long XLOG2DEV(long x) const
|
||||||
|
{
|
||||||
|
long new_x = x - m_logicalOriginX;
|
||||||
|
if (new_x > 0)
|
||||||
|
return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
|
||||||
|
else
|
||||||
|
return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
|
||||||
|
}
|
||||||
|
long XLOG2DEVREL(long x) const
|
||||||
|
{
|
||||||
|
if (x > 0)
|
||||||
|
return (long)((double)(x) * m_scaleX + 0.5);
|
||||||
|
else
|
||||||
|
return (long)((double)(x) * m_scaleX - 0.5);
|
||||||
|
}
|
||||||
|
long YLOG2DEV(long y) const
|
||||||
|
{
|
||||||
|
long new_y = y - m_logicalOriginY;
|
||||||
|
if (new_y > 0)
|
||||||
|
return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
|
||||||
|
else
|
||||||
|
return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
|
||||||
|
}
|
||||||
|
long YLOG2DEVREL(long y) const
|
||||||
|
{
|
||||||
|
if (y > 0)
|
||||||
|
return (long)((double)(y) * m_scaleY + 0.5);
|
||||||
|
else
|
||||||
|
return (long)((double)(y) * m_scaleY - 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void DrawOpenSpline( wxList *points ) = 0;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool m_ok;
|
||||||
|
bool m_colour;
|
||||||
|
|
||||||
|
// not sure, what these mean
|
||||||
|
bool m_clipping; // Is clipping on right now ?
|
||||||
|
bool m_isInteractive; // Is GetPixel possible ?
|
||||||
|
bool m_autoSetting; // wxMSW only ?
|
||||||
|
bool m_dontDelete; // wxMSW only ?
|
||||||
|
bool m_optimize; // wxMSW only ?
|
||||||
|
wxString m_filename; // Not sure where this belongs.
|
||||||
|
|
||||||
|
wxPen m_pen;
|
||||||
|
wxBrush m_brush;
|
||||||
|
wxBrush m_backgroundBrush;
|
||||||
|
wxColour m_textForegroundColour;
|
||||||
|
wxColour m_textBackgroundColour;
|
||||||
|
wxFont m_font;
|
||||||
|
|
||||||
|
int m_logicalFunction;
|
||||||
|
int m_backgroundMode;
|
||||||
|
int m_textAlignment; // gone in wxWin 2.0 ?
|
||||||
|
|
||||||
|
int m_mappingMode;
|
||||||
|
|
||||||
|
// not sure what for, but what is a mm on a screen you don't know the size of?
|
||||||
|
double m_mm_to_pix_x,m_mm_to_pix_y;
|
||||||
|
|
||||||
|
long m_internalDeviceOriginX,m_internalDeviceOriginY; // If un-scrolled is non-zero or
|
||||||
|
// d.o. changes with scrolling.
|
||||||
|
// Set using SetInternalDeviceOrigin().
|
||||||
|
|
||||||
|
long m_externalDeviceOriginX,m_externalDeviceOriginY; // To be set by external classes
|
||||||
|
// such as wxScrolledWindow
|
||||||
|
// using SetDeviceOrigin()
|
||||||
|
|
||||||
|
long m_deviceOriginX,m_deviceOriginY; // Sum of the two above.
|
||||||
|
|
||||||
|
long m_logicalOriginX,m_logicalOriginY; // User defined.
|
||||||
|
|
||||||
|
double m_scaleX,m_scaleY;
|
||||||
|
double m_logicalScaleX,m_logicalScaleY;
|
||||||
|
double m_userScaleX,m_userScaleY;
|
||||||
|
long m_signX,m_signY;
|
||||||
|
|
||||||
|
bool m_needComputeScaleX,m_needComputeScaleY; // not yet used
|
||||||
|
|
||||||
|
float m_scaleFactor; // wxPSDC wants to have this. Will disappear.
|
||||||
|
|
||||||
|
long m_clipX1,m_clipY1,m_clipX2,m_clipY2;
|
||||||
|
long m_minX,m_maxX,m_minY,m_maxY;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKDCH__
|
||||||
107
include/wx/gtk/dcclient.h
Normal file
107
include/wx/gtk/dcclient.h
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dcclient.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKDCCLIENTH__
|
||||||
|
#define __GTKDCCLIENTH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/dc.h"
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxPaintDC;
|
||||||
|
typedef wxPaintDC wxClientDC;
|
||||||
|
typedef wxPaintDC wxWindowDC;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxPaintDC
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxPaintDC: public wxDC
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPaintDC)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxPaintDC(void);
|
||||||
|
wxPaintDC( wxWindow *win );
|
||||||
|
|
||||||
|
~wxPaintDC(void);
|
||||||
|
|
||||||
|
virtual void FloodFill( long x1, long y1, wxColour *col, int style=wxFLOOD_SURFACE );
|
||||||
|
virtual bool GetPixel( long x1, long y1, wxColour *col ) const;
|
||||||
|
|
||||||
|
virtual void DrawLine( long x1, long y1, long x2, long y2 );
|
||||||
|
virtual void CrossHair( long x, long y );
|
||||||
|
virtual void DrawArc( long x1, long y1, long x2, long y2, double xc, double yc );
|
||||||
|
virtual void DrawEllipticArc( long x, long y, long width, long height, double sa, double ea );
|
||||||
|
virtual void DrawPoint( long x, long y );
|
||||||
|
|
||||||
|
virtual void DrawLines( int n, wxPoint points[], long xoffset = 0, long yoffset = 0 );
|
||||||
|
virtual void DrawLines( wxList *points, long xoffset = 0, long yoffset = 0 );
|
||||||
|
virtual void DrawPolygon( int n, wxPoint points[], long xoffset = 0, long yoffset = 0,
|
||||||
|
int fillStyle=wxODDEVEN_RULE );
|
||||||
|
virtual void DrawPolygon( wxList *lines, long xoffset = 0, long yoffset = 0,
|
||||||
|
int fillStyle=wxODDEVEN_RULE );
|
||||||
|
|
||||||
|
virtual void DrawRectangle( long x, long y, long width, long height );
|
||||||
|
virtual void DrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 );
|
||||||
|
virtual void DrawEllipse( long x, long y, long width, long height );
|
||||||
|
|
||||||
|
virtual bool CanDrawBitmap(void) const;
|
||||||
|
virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
|
||||||
|
virtual bool Blit( long xdest, long ydest, long width, long height,
|
||||||
|
wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE );
|
||||||
|
|
||||||
|
virtual void DrawText( const wxString &text, long x, long y, bool use16 = FALSE );
|
||||||
|
virtual bool CanGetTextExtent(void) const;
|
||||||
|
virtual void GetTextExtent( const wxString &string, long *width, long *height,
|
||||||
|
long *descent = NULL, long *externalLeading = NULL,
|
||||||
|
wxFont *theFont = NULL, bool use16 = FALSE );
|
||||||
|
virtual long GetCharWidth(void);
|
||||||
|
virtual long GetCharHeight(void);
|
||||||
|
|
||||||
|
virtual void Clear(void);
|
||||||
|
|
||||||
|
virtual void SetFont( const wxFont &font );
|
||||||
|
virtual void SetPen( const wxPen &pen );
|
||||||
|
virtual void SetBrush( const wxBrush &brush );
|
||||||
|
virtual void SetLogicalFunction( int function );
|
||||||
|
virtual void SetTextForeground( const wxColour &col );
|
||||||
|
virtual void SetTextBackground( const wxColour &col );
|
||||||
|
virtual void SetBackgroundMode( int mode );
|
||||||
|
virtual void SetPalette( const wxPalette& palette );
|
||||||
|
|
||||||
|
virtual void SetClippingRegion( long x, long y, long width, long height );
|
||||||
|
virtual void DestroyClippingRegion(void);
|
||||||
|
|
||||||
|
virtual void DrawOpenSpline( wxList *points );
|
||||||
|
|
||||||
|
public: // shouldn't be public
|
||||||
|
|
||||||
|
GdkWindow *m_window;
|
||||||
|
GdkGC *m_penGC;
|
||||||
|
GdkGC *m_brushGC;
|
||||||
|
GdkGC *m_textGC;
|
||||||
|
GdkGC *m_bgGC;
|
||||||
|
GdkColormap *m_cmap;
|
||||||
|
|
||||||
|
void SetUpDC(void);
|
||||||
|
GdkWindow *GetWindow(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKDCCLIENTH__
|
||||||
49
include/wx/gtk/dcmemory.h
Normal file
49
include/wx/gtk/dcmemory.h
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dcmemory.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKDCMEMORYH__
|
||||||
|
#define __GTKDCMEMORYH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/dcclient.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMemoryDC;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMemoryDC
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxMemoryDC: public wxPaintDC
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMemoryDC)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxMemoryDC(void);
|
||||||
|
wxMemoryDC( wxDC *dc ); // Create compatible DC
|
||||||
|
~wxMemoryDC(void);
|
||||||
|
virtual void SelectObject( const wxBitmap& bitmap );
|
||||||
|
void GetSize( int *width, int *height );
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxBitmap m_selected;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GTKDCMEMORYH__
|
||||||
|
|
||||||
32
include/wx/gtk/dcscreen.h
Normal file
32
include/wx/gtk/dcscreen.h
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dcscreen.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKDCSCREENH__
|
||||||
|
#define __GTKDCSCREENH__
|
||||||
|
|
||||||
|
#include "wx/dcclient.h"
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxScreenDC: public wxPaintDC
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxScreenDC)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxScreenDC(void);
|
||||||
|
~wxScreenDC(void);
|
||||||
|
|
||||||
|
static bool StartDrawingOnTop( wxWindow *window );
|
||||||
|
static bool StartDrawingOnTop( wxRectangle *rect = NULL );
|
||||||
|
static bool EndDrawingOnTop(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GTKDCSCREENH__
|
||||||
|
|
||||||
95
include/wx/gtk/dialog.h
Normal file
95
include/wx/gtk/dialog.h
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dialog.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKDIALOGH__
|
||||||
|
#define __GTKDIALOGH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/event.h"
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// forward decls
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxRadioBox;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDialog;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxDialogNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxDialog
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDialog: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxDialog(void);
|
||||||
|
wxDialog( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_DIALOG_STYLE, const wxString &name = wxDialogNameStr );
|
||||||
|
bool Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_DIALOG_STYLE, const wxString &name = wxDialogNameStr );
|
||||||
|
~wxDialog(void);
|
||||||
|
void SetTitle(const wxString& title);
|
||||||
|
wxString GetTitle(void) const;
|
||||||
|
bool OnClose(void);
|
||||||
|
void OnApply( wxCommandEvent &event );
|
||||||
|
void OnCancel( wxCommandEvent &event );
|
||||||
|
void OnOk( wxCommandEvent &event );
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
void OnCloseWindow(wxCloseEvent& event);
|
||||||
|
/*
|
||||||
|
void OnCharHook(wxKeyEvent& event);
|
||||||
|
*/
|
||||||
|
virtual bool Show( const bool show );
|
||||||
|
virtual int ShowModal(void);
|
||||||
|
virtual void EndModal(int retCode);
|
||||||
|
virtual bool IsModal(void) const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
|
||||||
|
virtual void InitDialog(void);
|
||||||
|
/*
|
||||||
|
void OnOK(wxCommandEvent& event);
|
||||||
|
void OnApply(wxCommandEvent& event);
|
||||||
|
void OnCancel(wxCommandEvent& event);
|
||||||
|
*/
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
friend wxWindow;
|
||||||
|
friend wxDC;
|
||||||
|
friend wxRadioBox;
|
||||||
|
bool m_modalShowing;
|
||||||
|
wxString m_title;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKDIALOGH__
|
||||||
35
include/wx/gtk/dirdlg.h
Normal file
35
include/wx/gtk/dirdlg.h
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dirdlg.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __DIRDIALOGH__
|
||||||
|
#define __DIRDIALOGH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDirDialog;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxDirDialog
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#endif // __DIRDIALOGH__
|
||||||
116
include/wx/gtk/dnd.h
Normal file
116
include/wx/gtk/dnd.h
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: dnd.h
|
||||||
|
// Purpose: declaration of the wxDropTarget class
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// RCS-ID:
|
||||||
|
// Copyright: (c) 1998 Vadim Zeitlin, Robert Roebling
|
||||||
|
// Licence: wxWindows license
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKDNDH__
|
||||||
|
#define __GTKDNDH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/cursor.h"
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxWindow;
|
||||||
|
|
||||||
|
class wxDropTarget;
|
||||||
|
class wxTextDropTarget;
|
||||||
|
class wxDragSource;
|
||||||
|
class wxTextDragSource;
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// wxDropTarget
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDropTarget: wxObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxDropTarget();
|
||||||
|
~wxDropTarget();
|
||||||
|
virtual void OnEnter() { }
|
||||||
|
virtual void OnLeave() { }
|
||||||
|
virtual bool OnDrop( long x, long y, const void *pData ) = 0;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void Drop( GdkEvent *event, int x, int y );
|
||||||
|
virtual void RegisterWidget( GtkWidget *widget ) = 0;
|
||||||
|
void UnregisterWidget( GtkWidget *widget );
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// wxTextDropTarget
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxTextDropTarget: public wxDropTarget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxTextDropTarget() {};
|
||||||
|
virtual bool OnDrop( long x, long y, const void *pData );
|
||||||
|
virtual bool OnDropText( long x, long y, const char *psz );
|
||||||
|
virtual void RegisterWidget( GtkWidget *widget );
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// wxDragSource
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDragSource: public wxObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxDragSource( wxWindow *win );
|
||||||
|
~wxDragSource(void);
|
||||||
|
void SetData( char *data, const long size );
|
||||||
|
void Start( int x, int y );
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void ConnectWindow(void);
|
||||||
|
void UnconnectWindow(void);
|
||||||
|
virtual void RegisterWindow(void) = 0;
|
||||||
|
void UnregisterWindow(void);
|
||||||
|
|
||||||
|
GtkWidget *m_widget;
|
||||||
|
wxWindow *m_window;
|
||||||
|
char *m_data;
|
||||||
|
long m_size;
|
||||||
|
wxCursor m_defaultCursor;
|
||||||
|
wxCursor m_goaheadCursor;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// wxTextDragSource
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxTextDragSource: public wxDragSource
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxTextDragSource( wxWindow *win ) : wxDragSource(win) {};
|
||||||
|
void SetTextData( const wxString &text );
|
||||||
|
void RegisterWindow(void);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
wxString m_tmp;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
//__GTKDNDH__
|
||||||
|
|
||||||
93
include/wx/gtk/filedlg.h
Normal file
93
include/wx/gtk/filedlg.h
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: filedlg.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKFILEDLGH__
|
||||||
|
#define __GTKFILEDLGH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
// File selector
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxFileSelectorPromptStr;
|
||||||
|
extern const char *wxFileSelectorDefaultWildcardStr;
|
||||||
|
|
||||||
|
class wxFileDialog: public wxDialog
|
||||||
|
{
|
||||||
|
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFileDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxFileDialog() {};
|
||||||
|
|
||||||
|
wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
|
||||||
|
const wxString& defaultDir = "", const wxString& defaultFile = "",
|
||||||
|
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
|
||||||
|
long style = 0, const wxPoint& pos = wxDefaultPosition);
|
||||||
|
|
||||||
|
inline void SetMessage(const wxString& message) { m_message = message; }
|
||||||
|
inline void SetPath(const wxString& path) { m_path = path; }
|
||||||
|
inline void SetDirectory(const wxString& dir) { m_dir = dir; }
|
||||||
|
inline void SetFilename(const wxString& name) { m_fileName = name; }
|
||||||
|
inline void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; }
|
||||||
|
inline void SetStyle(long style) { m_dialogStyle = style; }
|
||||||
|
inline void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; }
|
||||||
|
|
||||||
|
inline wxString GetMessage(void) const { return m_message; }
|
||||||
|
inline wxString GetPath(void) const { return m_path; }
|
||||||
|
inline wxString GetDirectory(void) const { return m_dir; }
|
||||||
|
inline wxString GetFilename(void) const { return m_fileName; }
|
||||||
|
inline wxString GetWildcard(void) const { return m_wildCard; }
|
||||||
|
inline long GetStyle(void) const { return m_dialogStyle; }
|
||||||
|
inline int GetFilterIndex(void) const { return m_filterIndex ; }
|
||||||
|
|
||||||
|
int ShowModal(void);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
wxString m_message;
|
||||||
|
long m_dialogStyle;
|
||||||
|
wxWindow * m_parent;
|
||||||
|
wxString m_dir;
|
||||||
|
wxString m_path; // Full path
|
||||||
|
wxString m_fileName;
|
||||||
|
wxString m_wildCard;
|
||||||
|
int m_filterIndex;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define wxOPEN 1
|
||||||
|
#define wxSAVE 2
|
||||||
|
#define wxOVERWRITE_PROMPT 4
|
||||||
|
#define wxHIDE_READONLY 8
|
||||||
|
|
||||||
|
// File selector - backward compatibility
|
||||||
|
|
||||||
|
char* wxFileSelector(const char *message = wxFileSelectorPromptStr, const char *default_path = NULL,
|
||||||
|
const char *default_filename = NULL, const char *default_extension = NULL,
|
||||||
|
const char *wildcard = wxFileSelectorDefaultWildcardStr, int flags = 0,
|
||||||
|
wxWindow *parent = NULL, int x = -1, int y = -1);
|
||||||
|
|
||||||
|
char* wxLoadFileSelector(const char *what, const char *extension, const char *default_name = NULL,
|
||||||
|
wxWindow *parent = NULL);
|
||||||
|
|
||||||
|
char* wxSaveFileSelector(const char *what, const char *extension, const char *default_name = NULL,
|
||||||
|
wxWindow *parent = NULL);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GTKFILEDLGH__
|
||||||
120
include/wx/gtk/font.h
Normal file
120
include/wx/gtk/font.h
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: font.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKFONTH__
|
||||||
|
#define __GTKFONTH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/hash.h"
|
||||||
|
#include "wx/gdiobj.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxDC;
|
||||||
|
class wxPaintDC;
|
||||||
|
class wxWindow;
|
||||||
|
|
||||||
|
class wxFont;
|
||||||
|
class wxFontNameDirectory;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global variables
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// extern wxFontNameDirectory wxTheFontNameDirectory; // defined below
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxFont
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxFont: public wxGDIObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFont)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxFont(void);
|
||||||
|
wxFont( int PointSize, int FontIdOrFamily, int Style, int Weight,
|
||||||
|
bool underlined = FALSE, const char *Face=NULL );
|
||||||
|
wxFont( int PointSize, const char *Face, int Family, int Style, int Weight,
|
||||||
|
bool underlined = FALSE );
|
||||||
|
wxFont( const wxFont& font );
|
||||||
|
wxFont( const wxFont* font );
|
||||||
|
~wxFont(void);
|
||||||
|
wxFont& operator = ( const wxFont& font );
|
||||||
|
bool operator == ( const wxFont& font );
|
||||||
|
bool operator != ( const wxFont& font );
|
||||||
|
bool Ok();
|
||||||
|
|
||||||
|
int GetPointSize(void) const;
|
||||||
|
wxString GetFaceName(void) const;
|
||||||
|
int GetFamily(void) const;
|
||||||
|
wxString GetFamilyString(void) const;
|
||||||
|
int GetFontId(void) const;
|
||||||
|
wxString GetFaceString(void) const;
|
||||||
|
int GetStyle(void) const;
|
||||||
|
wxString GetStyleString(void) const;
|
||||||
|
int GetWeight(void) const;
|
||||||
|
wxString GetWeightString(void) const;
|
||||||
|
bool GetUnderlined(void) const;
|
||||||
|
|
||||||
|
wxFont( char *xFontName );
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
friend wxDC;
|
||||||
|
friend wxPaintDC;
|
||||||
|
friend wxWindow;
|
||||||
|
|
||||||
|
GdkFont* GetInternalFont(float scale = 1.0);
|
||||||
|
|
||||||
|
// no data :-)
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxFontDirectory
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxFontNameDirectory: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFontNameDirectory)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxFontNameDirectory(void);
|
||||||
|
~wxFontNameDirectory();
|
||||||
|
|
||||||
|
void Initialize(void);
|
||||||
|
void Initialize(int fontid, int family, const char *name);
|
||||||
|
|
||||||
|
int FindOrCreateFontId(const char *name, int family);
|
||||||
|
char* GetAFMName(int fontid, int weight, int style);
|
||||||
|
int GetFamily(int fontid);
|
||||||
|
int GetFontId(const char *name);
|
||||||
|
char* GetFontName(int fontid);
|
||||||
|
int GetNewFontId(void);
|
||||||
|
char* GetPostScriptName(int fontid, int weight, int style);
|
||||||
|
char* GetScreenName(int fontid, int weight, int style);
|
||||||
|
|
||||||
|
|
||||||
|
class wxHashTable *table;
|
||||||
|
int nextFontId;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern wxFontNameDirectory wxTheFontNameDirectory;
|
||||||
|
|
||||||
|
#endif // __GTKFONTH__
|
||||||
90
include/wx/gtk/frame.h
Normal file
90
include/wx/gtk/frame.h
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: frame.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKFRAMEH__
|
||||||
|
#define __GTKFRAMEH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/window.h"
|
||||||
|
#include "wx/menu.h"
|
||||||
|
#include "wx/statusbr.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxRadioBox;
|
||||||
|
|
||||||
|
class wxFrame;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxFrameNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxFrame
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxFrame: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFrame)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxFrame(void);
|
||||||
|
wxFrame( wxWindow *parent, const wxWindowID id, const wxString &title,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_FRAME_STYLE, const wxString &name = wxFrameNameStr );
|
||||||
|
bool Create( wxWindow *parent, const wxWindowID id, const wxString &title,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_FRAME_STYLE, const wxString &name = wxFrameNameStr );
|
||||||
|
~wxFrame(void);
|
||||||
|
bool Destroy(void);
|
||||||
|
void OnCloseWindow( wxCloseEvent& event );
|
||||||
|
virtual bool Show( const bool show );
|
||||||
|
virtual void Enable( const bool enable );
|
||||||
|
virtual void GetClientSize( int *width, int *height ) const;
|
||||||
|
void OnSize( wxSizeEvent &event );
|
||||||
|
void SetMenuBar( wxMenuBar *menuBar );
|
||||||
|
virtual bool CreateStatusBar( const int number = 1 );
|
||||||
|
virtual void SetStatusText( const wxString &text, const int number = 0 );
|
||||||
|
virtual void SetStatusWidths( const int n, const int *width );
|
||||||
|
wxStatusBar *GetStatusBar(void);
|
||||||
|
wxMenuBar *GetMenuBar(void);
|
||||||
|
void SetTitle( const wxString &title );
|
||||||
|
wxString GetTitle(void) const;
|
||||||
|
void OnActivate( wxActivateEvent &WXUNUSED(event) ) {};
|
||||||
|
|
||||||
|
void GtkOnSize( int width, int height );
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
friend wxWindow;
|
||||||
|
|
||||||
|
GtkWidget *m_mainWindow;
|
||||||
|
wxMenuBar *m_frameMenuBar;
|
||||||
|
wxStatusBar *m_frameStatusBar;
|
||||||
|
bool m_doingOnSize;
|
||||||
|
wxString m_title;
|
||||||
|
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKFRAMEH__
|
||||||
34
include/wx/gtk/gauge.h
Normal file
34
include/wx/gtk/gauge.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: gauge.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKGAUGEH__
|
||||||
|
#define __GTKGAUGEH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxGauge;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxGaugeBox
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#endif // __GTKGAUGEH__
|
||||||
37
include/wx/gtk/gdiobj.h
Normal file
37
include/wx/gtk/gdiobj.h
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: gdiobj.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GDIOBJH__
|
||||||
|
#define __GDIOBJH__
|
||||||
|
|
||||||
|
#include "wx/object.h"
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxGDIObject: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxGDIObject)
|
||||||
|
public:
|
||||||
|
inline wxGDIObject(void) { m_visible = FALSE; };
|
||||||
|
inline ~wxGDIObject(void) {};
|
||||||
|
|
||||||
|
virtual bool GetVisible(void) { return m_visible; }
|
||||||
|
virtual void SetVisible(bool v) { m_visible = v; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
bool m_visible; // Can a pointer to this object be safely taken?
|
||||||
|
// - only if created within FindOrCreate...
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GDIOBJH__
|
||||||
53
include/wx/gtk/icon.h
Normal file
53
include/wx/gtk/icon.h
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: icon.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKICONH__
|
||||||
|
#define __GTKICONH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/bitmap.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxIcon;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxIcon
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxIcon: public wxBitmap
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxIcon)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxIcon(void) {};
|
||||||
|
|
||||||
|
inline wxIcon(const wxIcon& icon) { Ref(icon); }
|
||||||
|
inline wxIcon(const wxIcon* icon) { if (icon) Ref(*icon); }
|
||||||
|
|
||||||
|
wxIcon( char **bits, const int WXUNUSED(width), const int WXUNUSED(height) ) :
|
||||||
|
wxBitmap( bits ) {};
|
||||||
|
|
||||||
|
inline wxIcon& operator = (const wxIcon& icon) { if (*this == icon) return (*this); Ref(icon); return *this; }
|
||||||
|
inline bool operator == (const wxIcon& icon) { return m_refData == icon.m_refData; }
|
||||||
|
inline bool operator != (const wxIcon& icon) { return m_refData != icon.m_refData; }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __GTKICONH__
|
||||||
85
include/wx/gtk/listbox.h
Normal file
85
include/wx/gtk/listbox.h
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: listbox.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKLISTBOXH__
|
||||||
|
#define __GTKLISTBOXH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListBox;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxListBoxNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxListBox
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxListBox: public wxControl
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxListBox)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxListBox(void);
|
||||||
|
wxListBox( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const int n = 0, const wxString choices[] = NULL,
|
||||||
|
const long style = 0, const wxString &name = wxListBoxNameStr );
|
||||||
|
bool Create( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const int n = 0, const wxString choices[] = NULL,
|
||||||
|
const long style = 0, const wxString &name = wxListBoxNameStr );
|
||||||
|
void Append( const wxString &item );
|
||||||
|
void Append( const wxString &item, char *clientData );
|
||||||
|
void Clear(void);
|
||||||
|
void Delete( int n );
|
||||||
|
void Deselect( int n );
|
||||||
|
int FindString( const wxString &item ) const;
|
||||||
|
char *GetClientData( const int n ) const;
|
||||||
|
int GetSelection(void) const;
|
||||||
|
int GetSelections( int **selections ) const;
|
||||||
|
wxString GetString( int n ) const;
|
||||||
|
wxString GetStringSelection(void) const;
|
||||||
|
int Number(void);
|
||||||
|
bool Selected( const int n );
|
||||||
|
void Set( const int n, const wxString *choices );
|
||||||
|
void SetClientData( const int n, char *clientData );
|
||||||
|
void SetFirstItem( int n );
|
||||||
|
void SetFirstItem( const wxString &item );
|
||||||
|
void SetSelection( const int n, const bool select = TRUE );
|
||||||
|
void SetString( const int n, const wxString &string );
|
||||||
|
void SetStringSelection( const wxString &string, const bool select = TRUE );
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
GtkList *m_list;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
int GetIndex( GtkWidget *item ) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKLISTBOXH__
|
||||||
146
include/wx/gtk/mdi.h
Normal file
146
include/wx/gtk/mdi.h
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: mdi.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __MDIH__
|
||||||
|
#define __MDIH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
#include "wx/panel.h"
|
||||||
|
#include "wx/frame.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMDIParentFrame;
|
||||||
|
class wxMDIClientWindow;
|
||||||
|
class wxMDIChildFrame;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char* wxFrameNameStr;
|
||||||
|
extern const char* wxStatusLineNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMDIParentFrame
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMDIParentFrame: public wxFrame
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
|
||||||
|
|
||||||
|
friend class wxMDIChildFrame;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMDIParentFrame(void);
|
||||||
|
wxMDIParentFrame( wxWindow *parent,
|
||||||
|
const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
|
||||||
|
const wxString& name = wxFrameNameStr );
|
||||||
|
~wxMDIParentFrame(void);
|
||||||
|
bool Create( wxWindow *parent,
|
||||||
|
const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
|
||||||
|
const wxString& name = wxFrameNameStr );
|
||||||
|
|
||||||
|
void OnSize( wxSizeEvent& event );
|
||||||
|
void OnActivate( wxActivateEvent& event );
|
||||||
|
|
||||||
|
void SetMenuBar( wxMenuBar *menu_bar );
|
||||||
|
void GetClientSize(int *width, int *height) const;
|
||||||
|
wxMDIChildFrame *GetActiveChild(void) const;
|
||||||
|
|
||||||
|
wxMDIClientWindow *GetClientWindow(void) const;
|
||||||
|
virtual wxMDIClientWindow *OnCreateClient(void);
|
||||||
|
|
||||||
|
virtual void Cascade(void) {};
|
||||||
|
virtual void Tile(void) {};
|
||||||
|
virtual void ArrangeIcons(void) {};
|
||||||
|
virtual void ActivateNext(void);
|
||||||
|
virtual void ActivatePrevious(void);
|
||||||
|
|
||||||
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxMDIClientWindow * m_clientWindow;
|
||||||
|
wxMDIChildFrame * m_currentChild;
|
||||||
|
bool m_parentFrameActive;
|
||||||
|
|
||||||
|
// DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMDIChildFrame
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMDIChildFrame: public wxPanel
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMDIChildFrame(void);
|
||||||
|
wxMDIChildFrame( wxMDIParentFrame *parent,
|
||||||
|
const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr );
|
||||||
|
~wxMDIChildFrame(void);
|
||||||
|
bool Create( wxMDIParentFrame *parent,
|
||||||
|
const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
|
const long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr );
|
||||||
|
void SetMenuBar( wxMenuBar *menu_bar );
|
||||||
|
|
||||||
|
// no status bars in wxGTK
|
||||||
|
virtual bool CreateStatusBar( const int WXUNUSED(number) = 1 ) { return FALSE; };
|
||||||
|
virtual void SetStatusText( const wxString &WXUNUSED(text), const int WXUNUSED(number) ) {};
|
||||||
|
virtual void SetStatusWidths( const int WXUNUSED(n), const int *WXUNUSED(width) ) {};
|
||||||
|
|
||||||
|
virtual void Maximize(void) {};
|
||||||
|
virtual void Restore(void) {};
|
||||||
|
virtual void Activate(void);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxString m_title;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMDIClientWindow
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMDIClientWindow: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMDIClientWindow)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMDIClientWindow(void);
|
||||||
|
wxMDIClientWindow( wxMDIParentFrame *parent, const long style = 0 );
|
||||||
|
~wxMDIClientWindow(void);
|
||||||
|
virtual bool CreateClient( wxMDIParentFrame *parent, const long style = wxVSCROLL | wxHSCROLL );
|
||||||
|
void AddChild( wxWindow *child );
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __MDIH__
|
||||||
|
|
||||||
107
include/wx/gtk/menu.h
Normal file
107
include/wx/gtk/menu.h
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: menu.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKMENUH__
|
||||||
|
#define __GTKMENUH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/window.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMenuBar;
|
||||||
|
class wxMenuItem;
|
||||||
|
class wxMenu;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMenuBar
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMenuBar: public wxWindow
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMenuBar)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMenuBar(void);
|
||||||
|
void Append( wxMenu *menu, const wxString &title );
|
||||||
|
int FindMenuItem( const wxString &menuString, const wxString &itemString ) const;
|
||||||
|
|
||||||
|
wxList m_menus;
|
||||||
|
GtkWidget *m_menubar;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxMenu
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxMenuItem: public wxObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMenuItem)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMenuItem(void);
|
||||||
|
|
||||||
|
int m_id;
|
||||||
|
wxString m_text;
|
||||||
|
bool m_isCheckMenu;
|
||||||
|
bool m_checked;
|
||||||
|
bool m_isSubMenu;
|
||||||
|
bool m_isEnabled;
|
||||||
|
wxMenu *m_subMenu;
|
||||||
|
wxString m_helpStr;
|
||||||
|
|
||||||
|
GtkWidget *m_menuItem; // GtkMenuItem
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class wxMenu: public wxEvtHandler
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxMenu)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxMenu( const wxString &title = "" );
|
||||||
|
void AppendSeparator(void);
|
||||||
|
void Append( const int id, const wxString &item,
|
||||||
|
const wxString &helpStr = "", const bool checkable = FALSE );
|
||||||
|
void Append( const int id, const wxString &item,
|
||||||
|
wxMenu *subMenu, const wxString &helpStr = "" );
|
||||||
|
int FindItem( const wxString itemString ) const;
|
||||||
|
void Break(void) {};
|
||||||
|
void Enable( const int id, const bool enable );
|
||||||
|
bool Enabled( const int id ) const;
|
||||||
|
void SetLabel( const int id, const wxString &label );
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
int FindMenuIdByMenuItem( GtkWidget *menuItem ) const;
|
||||||
|
void SetInvokingWindow( wxWindow *win );
|
||||||
|
wxWindow *GetInvokingWindow(void);
|
||||||
|
|
||||||
|
wxString m_title;
|
||||||
|
wxList m_items;
|
||||||
|
wxWindow *m_invokingWindow;
|
||||||
|
|
||||||
|
GtkWidget *m_menu; // GtkMenu
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKMENUH__
|
||||||
60
include/wx/gtk/palette.h
Normal file
60
include/wx/gtk/palette.h
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: palette.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKPALETTEH__
|
||||||
|
#define __GTKPALETTEH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/gdiobj.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxPalette;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxPalette
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxPalette: public wxGDIObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPalette)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxPalette(void);
|
||||||
|
wxPalette( const int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue );
|
||||||
|
wxPalette( const wxPalette& palette );
|
||||||
|
wxPalette( const wxPalette* palette );
|
||||||
|
~wxPalette(void);
|
||||||
|
wxPalette& operator = ( const wxPalette& palette );
|
||||||
|
bool operator == ( const wxPalette& palette );
|
||||||
|
bool operator != ( const wxPalette& palette );
|
||||||
|
bool Ok(void) const;
|
||||||
|
|
||||||
|
bool Create( const int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
|
||||||
|
int GetPixel( const unsigned char red, const unsigned char green, const unsigned char blue ) const;
|
||||||
|
bool GetRGB( const int pixel, unsigned char *red, unsigned char *green, unsigned char *blue ) const;
|
||||||
|
|
||||||
|
// no data
|
||||||
|
};
|
||||||
|
|
||||||
|
#define wxColorMap wxPalette
|
||||||
|
#define wxColourMap wxPalette
|
||||||
|
|
||||||
|
#endif // __GTKPALETTEH__
|
||||||
68
include/wx/gtk/pen.h
Normal file
68
include/wx/gtk/pen.h
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: pen.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKPENH__
|
||||||
|
#define __GTKPENH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/string.h"
|
||||||
|
#include "wx/gdiobj.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxPen;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxPen
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxPen: public wxGDIObject
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPen)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxPen(void);
|
||||||
|
wxPen( const wxColour &colour, int width, int style );
|
||||||
|
wxPen( const wxString &colourName, int width, int style );
|
||||||
|
wxPen( const wxPen& pen );
|
||||||
|
wxPen( const wxPen* pen );
|
||||||
|
~wxPen(void);
|
||||||
|
wxPen& operator = ( const wxPen& pen );
|
||||||
|
bool operator == ( const wxPen& pen );
|
||||||
|
bool operator != ( const wxPen& pen );
|
||||||
|
|
||||||
|
void SetColour( const wxColour &colour );
|
||||||
|
void SetColour( const wxString &colourName );
|
||||||
|
void SetColour( const int red, const int green, const int blue );
|
||||||
|
void SetCap( int capStyle );
|
||||||
|
void SetJoin( int joinStyle );
|
||||||
|
void SetStyle( int style );
|
||||||
|
void SetWidth( int width );
|
||||||
|
wxColour &GetColour(void) const;
|
||||||
|
int GetCap(void) const;
|
||||||
|
int GetJoin(void) const;
|
||||||
|
int GetStyle(void) const;
|
||||||
|
int GetWidth(void) const;
|
||||||
|
bool Ok(void) const;
|
||||||
|
|
||||||
|
// no data :-)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKPENH__
|
||||||
84
include/wx/gtk/radiobox.h
Normal file
84
include/wx/gtk/radiobox.h
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: radiobox.h
|
||||||
|
// Purpose:
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Created: 01/02/97
|
||||||
|
// Id:
|
||||||
|
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __GTKRADIOBOXH__
|
||||||
|
#define __GTKRADIOBOXH__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
#include "wx/object.h"
|
||||||
|
#include "wx/list.h"
|
||||||
|
#include "wx/control.h"
|
||||||
|
#include "wx/bitmap.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxRadioBox;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const char *wxRadioBoxNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxRadioBox
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxRadioBox: public wxControl
|
||||||
|
{
|
||||||
|
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxRadioBox)
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
wxRadioBox(void);
|
||||||
|
wxRadioBox( wxWindow *parent, const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const int n = 0, const wxString choices[] = NULL,
|
||||||
|
const int majorDim = 0, const long style = wxRA_HORIZONTAL,
|
||||||
|
const wxString &name = wxRadioBoxNameStr );
|
||||||
|
bool Create( wxWindow *parent, const wxWindowID id, const wxString& title,
|
||||||
|
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
|
||||||
|
const int n = 0, const wxString choices[] = NULL,
|
||||||
|
const int majorDim = 0, const long style = wxRA_HORIZONTAL,
|
||||||
|
const wxString &name = wxRadioBoxNameStr );
|
||||||
|
int FindString( const wxString& s) const;
|
||||||
|
void SetSelection( const int n );
|
||||||
|
int GetSelection(void) const;
|
||||||
|
wxString GetString( const int n ) const;
|
||||||
|
wxString GetLabel(void) const;
|
||||||
|
void SetLabel( const wxString& label );
|
||||||
|
void SetLabel( const int item, const wxString& label );
|
||||||
|
void SetLabel( const int item, wxBitmap *bitmap );
|
||||||
|
wxString GetLabel( const int item ) const;
|
||||||
|
bool Show( const bool show );
|
||||||
|
void Enable( const bool enable );
|
||||||
|
void Enable( const int item, const bool enable );
|
||||||
|
void Show( const int item, const bool show );
|
||||||
|
virtual wxString GetStringSelection(void) const;
|
||||||
|
virtual bool SetStringSelection( const wxString& s );
|
||||||
|
virtual int Number(void) const;
|
||||||
|
int GetNumberOfRowsOrCols(void) const;
|
||||||
|
void SetNumberOfRowsOrCols( const int n );
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
GtkRadioButton *m_radio;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __GTKRADIOBOXH__
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user