Removed old wxGLCanvas stuff; moved wxTreeLayout to wxWindows; corrected some doc errors

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2000-02-28 13:42:59 +00:00
parent 43b2cccb4b
commit babc97583e
118 changed files with 879 additions and 5998 deletions
+38
View File
@@ -1035,6 +1035,44 @@ samples/rotate/*.xpm
samples/rotate/*.txt
samples/rotate/*.bmp
samples/treelay/*.cpp
samples/treelay/*.h
samples/treelay/makefile*
samples/treelay/*.rc
samples/treelay/*.def
samples/treelay/*.ico
samples/treelay/*.xpm
samples/treelay/*.txt
samples/treelay/*.bmp
samples/opengl/cube/*.cpp
samples/opengl/cube/*.h
samples/opengl/cube/*.rc
samples/opengl/cube/*.ico
samples/opengl/cube/*.xbm
samples/opengl/cube/make*.*
samples/opengl/cube/Makefile
samples/opengl/isosurf/*.cpp
samples/opengl/isosurf/*.h
samples/opengl/isosurf/*.rc
samples/opengl/isosurf/*.ico
samples/opengl/isosurf/*.xbm
samples/opengl/isosurf/*.dat.gz
samples/opengl/isosurf/make*.*
samples/opengl/isosurf/Makefile
samples/opengl/penguin/*.cpp
samples/opengl/penguin/*.c
samples/opengl/penguin/*.h
samples/opengl/penguin/*.rc
samples/opengl/penguin/*.ico
samples/opengl/penguin/*.xbm
samples/opengl/penguin/*.xpm
samples/opengl/penguin/make*.*
samples/opengl/penguin/Makefile
samples/opengl/penguin/penguin.lwo
demos/makefile*
demos/configure
demos/configure.in
+6
View File
@@ -52,6 +52,12 @@ samples/socket/Makefile.in
samples/dialup/Makefile.in
samples/font/Makefile.in
samples/menu/Makefile.in
samples/treelay/Makefile.in
samples/opengl/cube/Makefile.in
samples/opengl/penguin/Makefile.in
samples/opengl/isosurf/Makefile.in
samples/ogl/ogledit/Makefile.in
samples/ogl/studio/Makefile.in
demos/bombs/Makefile.in
demos/forty/Makefile.in
demos/fractal/Makefile.in
+1
View File
@@ -98,6 +98,7 @@ tbarsmpl.cpp G
textdlgg.cpp G
tipdlg.cpp G
treectrl.cpp G 16
treelay.cpp G
wizard.cpp G
appcmn.cpp C B
+21 -20
View File
@@ -3,9 +3,15 @@ src/wxvc.dsw
src/wxvc_dll.dsp
src/wxvc_dll.dsw
src/ogl/OglVC.dsp
src/ogl/OglVC.dsw
src/jpeg/jpeg.dsp
src/jpeg/jpeg.dsw
src/tiff/tiff.dsp
src/tiff/tiff.dsw
samples/calendar/CalendarVC.dsp
samples/calendar/CalendarVC.dsw
@@ -187,6 +193,21 @@ samples/validate/ValidateVC.dsw
samples/wizard/WizardVC.dsp
samples/wizard/WizardVC.dsw
samples/opengl/cube/CubeVC.dsp
samples/opengl/cube/CubeVC.dsw
samples/opengl/isosurf/IsosurfVC.dsp
samples/opengl/isosurf/IsosurfVC.dsw
samples/opengl/penguin/PenguinVC.dsp
samples/opengl/penguin/PenguinVC.dsw
samples/ogl/ogledit/OgleditVC.dsp
samples/ogl/ogledit/OgleditVC.dsw
samples/ogl/studio/StudioVC.dsp
samples/ogl/studio/StudioVC.dsw
samples/treelay/TreeSampleVC.dsp
samples/treelay/TreeSampleVC.dsw
demos/bombs/BombsVC.dsp
demos/bombs/BombsVC.dsw
@@ -211,24 +232,4 @@ utils/dialoged/src/DialogEdVC.dsw
utils/tex2rtf/src/Tex2RTFVC.dsp
utils/tex2rtf/src/Tex2RTFVC.dsw
utils/glcanvas/win/Glcanvas*.dsp
utils/glcanvas/win/Glcanvas*.dsw
utils/glcanvas/samples/cube/CubeVC.dsp
utils/glcanvas/samples/cube/CubeVC.dsw
utils/glcanvas/samples/isosurf/IsosurfVC.dsp
utils/glcanvas/samples/isosurf/IsosurfVC.dsw
utils/glcanvas/samples/penguin/PenguinVC.dsp
utils/glcanvas/samples/penguin/PenguinVC.dsw
utils/ogl/src/OglVC.dsp
utils/ogl/src/OglVC.dsw
utils/ogl/samples/ogledit/OgleditVC.dsp
utils/ogl/samples/ogledit/OgleditVC.dsw
utils/ogl/samples/studio/StudioVC.dsp
utils/ogl/samples/studio/StudioVC.dsw
utils/wxtree/src/TreeVC.dsp
utils/wxtree/src/TreeVC.dsw
utils/wxtree/src/TreeSampleVC.dsp
utils/wxtree/src/TreeSampleVC.dsw
+2 -4
View File
@@ -22,7 +22,6 @@ echo CTRL-C if this is not correct.
pause
erase %dest\wx*.zip
erase %dest\glcanvas.zip
erase %dest\ogl3.zip
erase %dest\tex2rtf2.zip
erase %dest\jpeg.zip
@@ -62,8 +61,8 @@ zip32 -@ %dest\wx%version%_cw.zip < %src\distrib\msw\cw.rsp
rem OGL 3
zip32 -@ %dest\ogl3.zip < %src\distrib\msw\ogl.rsp
rem GLCanvas
zip32 -@ %dest\glcanvas.zip < %src\distrib\msw\glcanvas.rsp
rem GLCanvas: obsolete, now in main library
rem zip32 -@ %dest\glcanvas.zip < %src\distrib\msw\glcanvas.rsp
rem Tex2RTF
zip32 -@ %dest\tex2rtf2.zip < %src\distrib\msw\tex2rtf.rsp
@@ -107,7 +106,6 @@ unzip32 -o ..\wx%version%_bc.zip
unzip32 -o ..\wx%version%_hlp.zip
Rem Need Word file, for Remstar DB classes
unzip32 -o ..\wx%version%_wrd.zip
unzip32 -o ..\glcanvas.zip
unzip32 -o ..\treedraw.zip
unzip32 -o ..\ogl3.zip
unzip32 -o ..\jpeg.zip
+1 -1
View File
@@ -125,7 +125,7 @@ WX_DEFINE_SORTED_ARRAY(MyFile *, ArrayOfFiles);
\helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist}
\wxheading{Required headers:}
\wxheading{Include files}
<wx/dynarray.h> for wxArray and wxSortedArray and additionally <wx/arrimpl.cpp>
for wxObjArray.
+1
View File
@@ -284,6 +284,7 @@
\input toolbar.tex
\input treectrl.tex
\input treeevt.tex
\input treelay.tex
\input upduievt.tex
\input url.tex
\input validatr.tex
-2
View File
@@ -3,10 +3,8 @@
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndaiff.h at 26/Feb/00 14:52:29
%
\section{\class{wxSoundAiff}}\label{wxsoundaiff}
AIFF codec
\wxheading{Derived from}
+35 -35
View File
@@ -16,9 +16,9 @@ Base class for sound streams
No base class
\wxheading{Include file}
\wxheading{Include files}
wx/mmedia/sndbase.h
<wx/mmedia/sndbase.h>
\wxheading{Data structures}
@@ -56,6 +56,7 @@ may happen when you call wxSoundRouterStream::SetSoundFormat().}
When a sound event is generated, it may either call the internal sound event
processor (which can be inherited) or call a C function. Its definition is:
\begin{verbatim}
typedef void (*wxSoundCallback)(wxSoundStream *stream, int evt,
void *cdata);
@@ -63,13 +64,13 @@ processor (which can be inherited) or call a C function. Its definition is:
The {\bf stream} parameter represents the current wxSoundStream.
The {\bf evt} parameter represents the sound event which is the cause of the calling. (See \helpref{wxSound events}{wxsoundstreamevents})
The {\bf evt} parameter represents the sound event which is the cause of the calling. (See \helpref{wxSound events}{wxsoundstreamevents}).
The {\bf cdata} parameter represents the user callback data which were specified
when the user called \helpref{wxSoundStream::Register}{wxsoundstreamregister}.
{\bf\it Note:} There is two other ways to catch sound events: you can inherit the
sound stream and redefine \helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}, or you can reroute the events to another sound stream using \helpref{wxSoundStream::SetEventHandler}{wxsoundstreameventhandler}
{\it Note:} There are two other ways to catch sound events: you can inherit the
sound stream and redefine \helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}, or you can reroute the events to another sound stream using \helpref{wxSoundStream::SetEventHandler}{wxsoundstreameventhandler}.
%%
%% wxSoundStream streaming mode
@@ -78,18 +79,18 @@ sound stream and redefine \helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamons
\wxheading{wxSound streaming mode}
The wxSoundStream object can work in three different modes. These modes are specified
at the call to \helpref{wxSoundStream::StartProduction}{wxsoundstreamstartproduction}
and cannot be changed until you call
at the call to \helpref{wxSoundStream::StartProduction}{wxsoundstreamstartproduction}
and cannot be changed until you call
\helpref{wxSoundStream::StopProduction}{wxsoundstreamstopproduction}.
The {\bf wxSOUND\_INPUT} mode is the recording mode. It generates {\bf wxSOUND\_INPUT}
The {\bf wxSOUND\_INPUT} mode is the recording mode. It generates {\bf wxSOUND\_INPUT}
events and you cannot use wxSoundStream::Write().
The {\bf wxSOUND\_OUTPUT} mode is the playing mode. It generates {\bf wxSOUND\_OUTPUT}
The {\bf wxSOUND\_OUTPUT} mode is the playing mode. It generates {\bf wxSOUND\_OUTPUT}
events and you cannot use wxSoundStream::Read().
The {\bf wxSOUND\_DUPLEX} mode activates the full duplex mode. The full duplex needs
you make synchronous call to \helpref{wxSoundStream::Read}{wxsoundstreamread} and
The {\bf wxSOUND\_DUPLEX} mode activates the full duplex mode. The full duplex requires
you to make synchronous call to \helpref{wxSoundStream::Read}{wxsoundstreamread} and
\helpref{wxSoundStream::Write}{wxsoundstreamwrite}. This means that you must be
careful with realtime problems. Each time you call Read you must call Write.
@@ -136,30 +137,29 @@ any temporary buffer.
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
Reads \it{len} bytes from the sound stream. This call may block the user so
Reads {\it len} bytes from the sound stream. This call may block the user so
use it carefully when you need to intensively refresh the GUI. You may be
interested by sound events: see
\helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}.
interested by sound events: see \helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}.
It is better to use the size returned by \helpref{wxSoundStream::GetBestSize}{wxsoundstreamgetbestsize}: this may improve performance or accuracy of the
sound event system.
\wxheading{Note on \it{len}}
\wxheading{Parameters}
\it{len} is expressed in bytes. If you need to do conversions between bytes
\docparam{len}{{\it len} is expressed in bytes. If you need to do conversions between bytes
and seconds use wxSoundFormat.
See \helpref{wxSoundFormatBase}{wxsoundformatbase}, \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.
See \helpref{wxSoundFormatBase}{wxsoundformatbase}, \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.}
\wxheading{Note on data}
Data in \it{buffer} are coded using the sound format attached to this sound
\docparam{data}{Data in \it{buffer} are coded using the sound format attached to this sound
stream. The format is specified with
\helpref{SetSoundFormat}{wxsoundstreamsetsoundformat}
\helpref{SetSoundFormat}{wxsoundstreamsetsoundformat}.}
%%
%% Write
%%
\membersection{wxSoundStream::Write}\label{wxsoundstreamwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
Writes \it{len} bytes to the sound stream. This call may block the user so
@@ -169,17 +169,15 @@ use it carefully. You may be interested by sound events: see
It is better to use the size returned by \helpref{wxSoundStream::GetBestSize}{wxsoundstreamgetbestsize}: this may improve performance or accuracy of the
sound event system.
\wxheading{Note on \it{len}}
\wxheading{Parameters}
\it{len} is expressed in bytes. If you need to do conversions between bytes
\docparam{len}{This is expressed in bytes. If you need to do conversions between bytes
and seconds use wxSoundFormat.
See \helpref{wxSoundFormatBase}{wxsoundformatbase}, \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.
See \helpref{wxSoundFormatBase}{wxsoundformatbase}, \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.}
\wxheading{Note on data}
Data in \it{buffer} are coded using the sound format attached to this sound
\docparam{buffer}{Data in \it{buffer} are coded using the sound format attached to this sound
stream. The format is specified with
\helpref{SetSoundFormat}{wxsoundstreamsetsoundformat}
\helpref{SetSoundFormat}{wxsoundstreamsetsoundformat}.}
%%
%% GetBestSize
@@ -199,6 +197,7 @@ will not block for this buffer size.
%%
\membersection{wxSoundStream::SetSoundFormat}\label{wxsoundstreamsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
SetSoundFormat is one of the key function of the wxSoundStream object. It specifies
@@ -206,7 +205,7 @@ the sound format the user needs. SetSoundFormat tries to apply the format to the
current sound stream (it can be a sound file or a sound driver).
Then, either it manages to apply it and it returns {\bf TRUE}, or it could not and
it returns {\bf FALSE}. In this case, you must check the error with
\helpref{wxSoundStream::GetError}{wxsoundstreamgeterror}. See
\helpref{wxSoundStream::GetError}{wxsoundstreamgeterror}. See
\helpref{wxSoundStream errors section}{wxsoundstreamerrors} for more details.
\wxheading{Remark}
@@ -227,6 +226,7 @@ the stream itself.
%% SetCallback
%%
\membersection{wxSoundStream::SetCallback}\label{wxsoundstreamregister}
\func{void}{Register}{\param{int }{evt}, \param{wxSoundCallback }{cbk}, \param{void* }{cdata}}
It installs a C callback for wxSoundStream events. The C callbacks are still useful
@@ -249,29 +249,29 @@ recording or playing or the two at the same time.
Stops the async notifier.
\membersection{wxSoundStream::SetEventHandler}\label{wxsoundstreamseteventhandler}
\func{void}{SetEventHandler}{\param{wxSoundStream* }{handler}}
Sets the event handler: if it is non-null, all events are routed to it.
\membersection{wxSoundStream::GetError}\label{wxsoundstreamgeterror}
\constfunc{wxSoundError}{GetError}{\void}
\membersection{wxSoundStream::GetLastAccess}\label{wxsoundstreamgetlastaccess}
\constfunc{wxUint32}{GetLastAccess}{\void}
\membersection{wxSoundStream::QueueFilled}\label{wxsoundstreamqueuefilled}
\constfunc{bool}{QueueFilled}{\void}
This is only useful for device (I think).
\membersection{wxSoundStream::OnSoundEvent}\label{wxsoundstreamonsoundevent}
\func{void}{OnSoundEvent}{\param{int }{evt}}
Handles event
Handles event.
-2
View File
@@ -3,7 +3,6 @@
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndcodec.h at 26/Feb/00 14:26:29
%
\section{\class{wxSoundStreamCodec}}\label{wxsoundstreamcodec}
\wxheading{Derived from}
@@ -14,7 +13,6 @@
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamCodec::wxSoundStreamCodec}\label{wxsoundstreamcodecwxsoundstreamcodec}
\func{}{wxSoundStreamCodec}{\param{wxSoundStream\& }{snd\_io}}
+1 -3
View File
@@ -3,10 +3,8 @@
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndesd.h at 26/Feb/00 14:26:56
%
\section{\class{wxSoundStreamESD}}\label{wxsoundstreamesd}
ESD output class
\wxheading{Derived from}
@@ -20,7 +18,7 @@ ESD output class
\membersection{wxSoundStreamESD::wxSoundStreamESD}\label{wxsoundstreamesdwxsoundstreamesd}
\func{}{wxSoundStreamESD}{\param{const wxString\& }{hostname = \_T("localhost")}}
\func{}{wxSoundStreamESD}{\param{const wxString\& }{hostname = "localhost"}}
\membersection{wxSoundStreamESD::\destruct{wxSoundStreamESD}}\label{wxsoundstreamesddtor}
+4 -3
View File
@@ -26,9 +26,10 @@ typedef enum {
{\small \begin{verbatim}
typedef struct g72x\_state g72state
\end{verbatim}}
This fixes a bug in Mingw95
\latexignore{\rtfignore{\wxheading{Members}}}
This fixes a bug in Mingw95
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundFormatG72X::wxSoundFormatG72X}\label{wxsoundformatg72xwxsoundformatg72x}
@@ -80,7 +81,7 @@ This fixes a bug in Mingw95
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatG72X::operator!=}\label{wxsoundformatg72xoperator!=}
\membersection{wxSoundFormatG72X::operator!=}\label{wxsoundformatg72xoperatorneq}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}}
+1 -1
View File
@@ -98,7 +98,7 @@ PCM specification class
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatPcm::operator!}\label{wxsoundformatpcmoperator!}
\membersection{wxSoundFormatPcm::operator!}\label{wxsoundformatpcmoperatornot}
\constfunc{bool}{operator!}{\param{const wxSoundFormatBase\& }{frmt2}}
+2 -2
View File
@@ -64,6 +64,6 @@ It clones the current format.
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatBase::operator!=}\label{wxsoundformatbaseoperator!=}
\membersection{wxSoundFormatBase::operator!=}\label{wxsoundformatbaseoperatorneq}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}}
+1 -1
View File
@@ -68,7 +68,7 @@ ULAW format
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatUlaw::operator!=}\label{wxsoundformatulawoperator!=}
\membersection{wxSoundFormatUlaw::operator!=}\label{wxsoundformatulawoperatorneq}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}}
@@ -1,20 +1,20 @@
\chapter{wxTreeLayout Class Reference}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
\section{\class{wxTreeLayout}}\label{wxtreelayout}
This abstract class is used for drawing a tree. You must derive a new
class from this, and define member functions to access the data that
wxTreeLayout needs.
wxTreeLayout provides layout of simple trees with one root node, drawn left-to-right,
with user-defined spacing between nodes.
wxTreeLayout is an abstract class that must be subclassed. The programmer
defines various member functions which will access whatever data structures
are appropriate for the application, and wxTreeLayout uses these when laying
out the tree.
Nodes are identified by long integer identifiers. The derived class
communicates the actual tree structure to wxTreeLayout by defining \helprefn{wxTreeLayout::GetChildren}{getchildren}\rtfsp
and \helprefn{wxTreeLayout::GetNodeParent}{getnodeparent} functions.
communicates the actual tree structure to wxTreeLayout by defining \helpref{wxTreeLayout::GetChildren}{wxtreelayoutgetchildren}\rtfsp
and \helpref{wxTreeLayout::GetNodeParent}{wxtreelayoutgetnodeparent} functions.
The application should call \helprefn{DoLayout}{dolayout} to do the tree
The application should call \helpref{wxTreeLayout::DoLayout}{wxtreelayoutdolayout} to do the tree
layout. Depending on how the derived class has been defined, either
\rtfsp\helprefn{wxTreeLayout::Draw}{draw} must be called (for example by the OnPaint member
\rtfsp\helprefn{wxTreeLayout::Draw}{wxtreelayoutdraw} must be called (for example by the OnPaint member
of a wxScrolledWindow) or the application-defined drawing code should be called
as normal.
@@ -24,10 +24,29 @@ just need a way for wxTreeLayout to set the node image positions according to
the layout algorithm, and the rest will be done by your own image drawing
system.
The algorithm is due to Gabriel Robins \cite{robins87}, a linear-time
algorithm originally implemented in LISP for AI applications.
The original algorithm has been modified so that both X and Y planes
are calculated simultaneously, increasing efficiency slightly. The basic
code is only a page or so long.
\helponly{Below is the example tree generated by the program test.cc.
\begin{figure}
$$\image{11cm;0cm}{treetst.ps}$$
\caption{Example tree}\label{exampletree}
\end{figure}
}
\wxheading{Derived from}
wxObject
\wxheading{See also}
\helpref{wxLayoutTreeStored}{wxlayouttreestored}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTreeLayout::wxTreeLayout}
@@ -36,7 +55,7 @@ wxObject
Constructor.
\membersection{wxTreeLayout::ActivateNode}\label{activatenode}
\membersection{wxTreeLayout::ActivateNode}\label{wxtreelayoutactivatenode}
\func{void}{ActivateNode}{\param{long}{ id}, \param{bool }{active}}
@@ -49,13 +68,13 @@ Define this so wxTreeLayout can turn nodes on and off for drawing purposes
Private function for laying out a branch.
\membersection{wxTreeLayout::DoLayout}\label{dolayout}
\membersection{wxTreeLayout::DoLayout}\label{wxtreelayoutdolayout}
\func{void}{DoLayout}{\param{wxDC\&}{ dc}, \param{long}{ topNode = -1}}
Calculates the layout for the tree, optionally specifying the top node.
\membersection{wxTreeLayout::Draw}\label{draw}
\membersection{wxTreeLayout::Draw}\label{wxtreelayoutdraw}
\func{void}{Draw}{\param{wxDC\&}{ dc}}
@@ -86,14 +105,14 @@ Defined by wxTreeLayout to draw a node.
Defined by wxTreeLayout to draw the nodes.
\membersection{wxTreeLayout::GetChildren}\label{getchildren}
\membersection{wxTreeLayout::GetChildren}\label{wxtreelayoutgetchildren}
\func{void}{GetChildren}{\param{long}{ id}, \param{wxList \&}{list}}
Must be defined to return the children of node {\it id} in the given list
of integers.
\membersection{wxTreeLayout::GetNextNode}\label{getnextnode}
\membersection{wxTreeLayout::GetNextNode}\label{wxtreelayoutgetnextnode}
\func{long}{GetNextNode}{\param{long}{ id}}
@@ -115,7 +134,7 @@ the drawing to wxTreeLayout).
Can be defined to indicate a node's size, or left to wxTreeLayout to use the
name as an indication of size.
\membersection{wxTreeLayout::GetNodeParent}\label{getnodeparent}
\membersection{wxTreeLayout::GetNodeParent}\label{wxtreelayoutgetnodeparent}
\constfunc{long}{GetNodeParent}{\param{long}{ id}}
@@ -182,7 +201,7 @@ Gets the vertical spacing between nodes.
Initializes wxTreeLayout. Call from application or overridden {\bf Initialize}
or constructor.
\membersection{wxTreeLayout::NodeActive}\label{nodeactive}
\membersection{wxTreeLayout::NodeActive}\label{wxtreelayoutnodeactive}
\func{bool}{NodeActive}{\param{long}{ id}}
@@ -217,7 +236,7 @@ may be necessary for your application.
Sets the tree orientation: TRUE means top-to-bottom, FALSE means left-to-right (the default).
\membersection{wxTreeLayout::SetTopNode}\label{settopnode}
\membersection{wxTreeLayout::SetTopNode}\label{wxtreelayoutsettopnode}
\func{void}{SetTopNode}{\param{long}{ id}}
@@ -229,76 +248,80 @@ Call this to identify the top of the tree to wxTreeLayout.
Sets the horizontal and vertical spacing between nodes in the tree.
\membersection{wxTreeLayout::SetMargins}\label{setmargins}
\membersection{wxTreeLayout::SetMargins}\label{wxtreelayoutsetmargins}
\func{void}{SetMargins}{\param{long}{ x}, \param{long}{ y}}
Sets the left and top margins of the whole tree.
\section{\class{wxStoredTree}}\label{wxstoredtree}
\section{\class{wxLayoutTreeStored}}\label{wxlayouttreestored}
wxStoredTree provides storage for node labels, position and client data. It also provides hit-testing
wxLayoutTreeStored provides storage for node labels, position and client data. It also provides hit-testing
(which node a mouse event occurred on). It is usually a more convenient class to use than wxTreeLayout.
\wxheading{Derived from}
\helpref{wxTreeLayout}{wxtreelayout}
\helpref{wxTreeLayout}{wxtreelayout}\\
\helpref{wxObject}{wxobject}
\wxheading{See also}
\helpref{wxLayoutTree}{wxlayouttree}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxStoredTree::wxStoredTree}
\membersection{wxLayoutTreeStored::wxLayoutTreeStored}
\func{}{wxStoredTree}{\param{int }{noNodes = 200}}
\func{}{wxLayoutTreeStored}{\param{int }{noNodes = 200}}
Constructor. Specify the maximum number of nodes to be allocated.
\membersection{wxStoredTree::AddChild}\label{wxstoredtreeaddchild}
\membersection{wxLayoutTreeStored::AddChild}\label{wxlayouttreestoredaddchild}
\func{long}{AddChild}{\param{const wxString\&}{ name}, \param{const wxString\&}{ parent = ""}}
Adds a child with a given parent, returning the node id.
\membersection{wxStoredTree::GetClientData}\label{wxstoredtreegetclientdata}
\membersection{wxLayoutTreeStored::GetClientData}\label{wxlayouttreestoredgetclientdata}
\constfunc{long}{GetClientData}{\param{long}{ id}}
Gets the client data for the given node.
\membersection{wxStoredTree::GetNode}\label{wxstoredtreegetnode}
\membersection{wxLayoutTreeStored::GetNode}\label{wxlayouttreestoredgetnode}
\constfunc{wxStoredNode*}{GetNode}{\param{long}{ id}}
Returns the wxStoredNode object for the given node id.
\membersection{wxStoredTree::GetNodeCount}\label{wxstoredtreegetnodecount}
\membersection{wxLayoutTreeStored::GetNodeCount}\label{wxlayouttreestoredgetnodecount}
\constfunc{int}{GetNodeCount}{\void}
Returns the current number of nodes.
\membersection{wxStoredTree::GetNumNodes}\label{wxstoredtreegetnumnodes}
\membersection{wxLayoutTreeStored::GetNumNodes}\label{wxlayouttreestoredgetnumnodes}
\constfunc{int}{GetNumNodes}{\void}
Returns the maximum number of nodes.
\membersection{wxStoredTree::HitTest}\label{wxstoredtreehittest}
\membersection{wxLayoutTreeStored::HitTest}\label{wxlayouttreestoredhittest}
\func{wxString}{HitTest}{\param{wxMouseEvent\&}{ event}, \param{wxDC\& }{dc}}
Returns a string with the node name corresponding to the position of the mouse event, or the empty string if no node
was detected.
\membersection{wxStoredTree::NameToId}\label{wxstoredtreenametoid}
\membersection{wxLayoutTreeStored::NameToId}\label{wxlayouttreestorednametoid}
\func{long}{NameToId}{\param{const wxString\&}{ name}}
Returns the id for the given node name, or -1 if there was no such node.
\membersection{wxStoredTree::SetClientData}\label{wxstoredtreesetclientdata}
\membersection{wxLayoutTreeStored::SetClientData}\label{wxlayouttreestoredsetclientdata}
\func{void}{SetClientData}{\param{long}{ id}, \param{long}{ clientData}}
Sets client data for the given node.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

-3
View File
@@ -3,11 +3,8 @@
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/vidbase.h at 26/Feb/00 14:51:56
%
\section{\class{wxVideoBaseDriver}}\label{wxvideobasedriver}
Classes definition
\wxheading{Derived from}
+1 -1
View File
@@ -1,5 +1,5 @@
[OPTIONS]
BMROOT=d:\wx2\wxWind~1\docs/latex/wx ; Assume that bitmaps are where the source is
BMROOT=d:\wx2\wxWindows\docs\latex\wx ; Assume that bitmaps are where the source is
TITLE=wxWindows Manual
CONTENTS=Contents
COMPRESS=HIGH
+138
View File
@@ -0,0 +1,138 @@
///////////////////////////////////////////////////////////////////////////////
// Name: treelay.h
// Purpose: wxTreeLayout class
// Author: Julian Smart
// Modified by:
// Created: 7/4/98
// RCS-ID: $Id$
// Copyright: (c) 1998 Julian Smart
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TREELAY_H_
#define _WX_TREELAY_H_
#ifdef __GNUG__
#pragma interface "wxtree.h"
#endif
#include <wx/string.h>
class WXDLLEXPORT wxTreeLayout: public wxObject
{
DECLARE_ABSTRACT_CLASS(wxTreeLayout)
public:
wxTreeLayout();
// Redefine these
virtual void GetChildren(long id, wxList& list) = 0;
virtual long GetNextNode(long id) = 0;
virtual long GetNodeParent(long id) = 0;
virtual long GetNodeX(long id) = 0;
virtual long GetNodeY(long id) = 0;
virtual void SetNodeX(long id, long x) = 0;
virtual void SetNodeY(long id, long y) = 0;
virtual void ActivateNode(long id, bool active) = 0;
virtual bool NodeActive(long id) = 0;
// Optional redefinition
void Initialize(void);
inline virtual void SetNodeName(long id, const wxString& name) {}
inline virtual wxString GetNodeName(long id) { return wxString(""); }
virtual void GetNodeSize(long id, long *x, long *y, wxDC& dc);
virtual void Draw(wxDC& dc);
virtual void DrawNodes(wxDC& dc);
virtual void DrawBranches(wxDC& dc);
virtual void DrawNode(long id, wxDC& dc);
virtual void DrawBranch(long from, long to, wxDC& dc);
// Don't redefine
virtual void DoLayout(wxDC& dc, long topNode = -1);
// Accessors -- don't redefine
inline void SetTopNode(long id) { m_parentNode = id; }
inline long GetTopNode(void) const { return m_parentNode; }
inline void SetSpacing(long x, long y) { m_xSpacing = x; m_ySpacing = y; }
inline long GetXSpacing(void) const { return m_xSpacing; }
inline long GetYSpacing(void) const { return m_ySpacing; }
inline void SetMargins(long x, long y) { m_leftMargin = x; m_topMargin = y; }
inline long GetTopMargin(void) const { return m_topMargin; }
inline long GetLeftMargin(void) const { return m_leftMargin; }
inline bool GetOrientation(void) const { return m_orientation; }
inline void SetOrientation(bool or) { m_orientation = or; }
private:
void CalcLayout(long node_id, int level, wxDC& dc);
// Members
protected:
long m_parentNode;
long m_lastY;
long m_lastX;
long m_xSpacing;
long m_ySpacing;
long m_topMargin;
long m_leftMargin;
bool m_orientation; // TRUE for top-to-bottom, FALSE for left-to-right
};
class WXDLLEXPORT wxStoredNode
{
public:
wxString m_name;
long m_x, m_y;
long m_parentId;
bool m_active;
long m_clientData;
};
/*
* A version of wxTreeLayout with storage for nodes
*/
class WXDLLEXPORT wxLayoutTreeStored: public wxTreeLayout
{
DECLARE_DYNAMIC_CLASS(wxLayoutTreeStored)
public:
wxLayoutTreeStored(int noNodes = 200);
~wxLayoutTreeStored(void);
void Initialize(int n);
wxString HitTest(wxMouseEvent& event, wxDC& dc);
wxStoredNode* GetNode(long id) const;
inline int GetNumNodes() const { return m_maxNodes; };
inline int GetNodeCount() const { return m_num; };
virtual void GetChildren(long id, wxList& list);
virtual long GetNextNode(long id);
virtual long GetNodeParent(long id);
virtual long GetNodeX(long id);
virtual long GetNodeY(long id);
virtual void SetNodeX(long id, long x);
virtual void SetNodeY(long id, long y);
virtual void SetNodeName(long id, const wxString& name);
virtual wxString GetNodeName(long id);
virtual void ActivateNode(long id, bool active);
virtual bool NodeActive(long id);
virtual void SetClientData(long id, long clientData);
virtual long GetClientData(long id) const;
virtual long AddChild(const wxString& name, const wxString& parent = "");
virtual long NameToId(const wxString& name);
// Data members
private:
wxStoredNode* m_nodes;
int m_num;
int m_maxNodes;
};
// For backward compatibility
#define wxStoredTree wxLayoutTreeStored
#endif
// _WX_TREELAY_H_
+3
View File
@@ -220,6 +220,9 @@
// OpenGL canvas
#define wxUSE_GLCANVAS 0
// wxTreeLayout class
#define wxUSE_TREELAYOUT 1
// ----------------------------------------------------------------------------
// Postscript support settings
// ----------------------------------------------------------------------------
+7
View File
@@ -0,0 +1,7 @@
#ifndef _WX_TREELAY_H_BASE_
#define _WX_TREELAY_H_BASE_
#include "wx/generic/treelay.h"
#endif
// _WX_TREELAY_H_BASE_
+21
View File
@@ -0,0 +1,21 @@
#
# File: makefile.unx
# Author: Julian Smart
# Created: 1998
# Updated:
# Copyright: (c) 1998 Julian Smart
#
# "%W% %G%"
#
# Makefile for test example (UNIX).
top_srcdir = @top_srcdir@/..
top_builddir = ../..
program_dir = samples/test
PROGRAM=test
OBJECTS=$(PROGRAM).o
include ../../src/makeprog.env
@@ -9,9 +9,7 @@
WXDIR = $(WXWIN)
TARGET=cube
EXTRALIBS=$(WXDIR)\lib\glcanvas.lib
EXTRACPPFLAGS=-I$(WXDIR)\utils\glcanvas\win
TARGET=test
OBJECTS = $(TARGET).obj
!include $(WXDIR)\src\makeprog.b32
@@ -12,7 +12,7 @@
WXDIR = $(WXWIN)
TARGET=minimal
TARGET=test
OBJECTS=$(TARGET).obj
!include $(WXDIR)\src\makeprog.bcc
+17
View File
@@ -0,0 +1,17 @@
#
# File: makefile.dos
# Author: Julian Smart
# Created: 1998
# Updated:
#
# Makefile : Builds 16-bit sample, VC++ 1.5
# Use FINAL=1 argument to nmake to build final version with no debugging
# info
WXDIR = $(WXWIN)
TARGET=test
OBJECTS=$(TARGET).obj
!include $(WXDIR)\src\makeprog.msc
@@ -7,10 +7,10 @@
#
# Makefile for wxWindows sample (Cygwin/Mingw32).
WXDIR = $(WXWIN)
WXDIR = ../..
TARGET=test
OBJECTS = $(TARGET).o wxtree.o
OBJECTS = $(TARGET).o
include $(WXDIR)/src/makeprog.g95
+35
View File
@@ -0,0 +1,35 @@
#
# File: Makefile for samples
# Author: Robert Roebling
# Created: 1999
# Updated:
# Copyright: (c) 1998 Robert Roebling
#
# This makefile requires a Unix version of wxWindows
# to be installed on your system. This is most often
# done typing "make install" when using the complete
# sources of wxWindows or by installing the two
# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm
# under Linux.
#
CC = gcc
PROGRAM = test
OBJECTS = $(PROGRAM).o
# implementation
.SUFFIXES: .o .cpp
.cpp.o :
$(CC) -c `wx-config --cflags` -o $@ $<
all: $(PROGRAM)
$(PROGRAM): $(OBJECTS)
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean:
rm -f *.o $(PROGRAM)
@@ -11,15 +11,8 @@
# Set WXDIR for your system
WXDIR = $(WXWIN)
!if "$(FINAL)" == "1"
!else
LIBEXT=_d
!endif
PROGRAM=cube
PROGRAM=test
OBJECTS = $(PROGRAM).obj
EXTRAINC=-I..\..\win
EXTRALIBS=$(WXDIR)\lib\glcanvas$(LIBEXT).lib glu32.lib opengl32.lib
!include $(WXDIR)\src\makeprog.vc
@@ -7,10 +7,8 @@
WXDIR = $(%WXWIN)
PROGRAM = cube
PROGRAM = test
OBJECTS = $(PROGRAM).obj
EXTRALIBS=$(WXDIR)\lib\glcanvas.lib
EXTRACPPFLAGS=-I$(WXDIR)\utils\glcanvas\win
!include $(WXDIR)\src\makeprog.wat

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 766 B

@@ -20,7 +20,8 @@
#include <wx/wx.h>
#endif
#include "wxtree.h"
#include <wx/treelay.h>
#include "test.h"
wxStoredTree *myTree = NULL;
+446
View File
@@ -0,0 +1,446 @@
///////////////////////////////////////////////////////////////////////////////
// Name: treelay.h
// Purpose: wxTreeLayout class
// Author: Julian Smart
// Modified by:
// Created: 7/4/98
// RCS-ID: $Id$
// Copyright: (c) 1998 Julian Smart
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "wxtree.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#if wxUSE_TREELAYOUT
#include <wx/treelay.h>
/*
* Abstract tree
*
*/
IMPLEMENT_ABSTRACT_CLASS(wxTreeLayout, wxObject)
wxTreeLayout::wxTreeLayout()
{
m_xSpacing = 16;
m_ySpacing = 20;
m_topMargin = 5;
m_leftMargin = 5;
m_orientation = FALSE;
m_parentNode = 0;
}
void wxTreeLayout::DoLayout(wxDC& dc, long topId)
{
if (topId != -1)
SetTopNode(topId);
long actualTopId = GetTopNode();
long id = actualTopId;
while (id != -1)
{
SetNodeX(id, 0);
SetNodeY(id, 0);
ActivateNode(id, FALSE);
id = GetNextNode(id);
}
m_lastY = m_topMargin;
m_lastX = m_leftMargin;
CalcLayout(actualTopId, 0, dc);
}
void wxTreeLayout::Draw(wxDC& dc)
{
dc.Clear();
DrawBranches(dc);
DrawNodes(dc);
}
void wxTreeLayout::DrawNodes(wxDC& dc)
{
long id = GetTopNode();
while (id != -1)
{
if (NodeActive(id))
DrawNode(id, dc);
id = GetNextNode(id);
}
}
void wxTreeLayout::DrawBranches(wxDC& dc)
{
long id = GetTopNode();
while (id != -1)
{
if (GetNodeParent(id) > -1)
{
long parent = GetNodeParent(id);
if (NodeActive(parent))
DrawBranch(parent, id, dc);
}
id = GetNextNode(id);
}
}
void wxTreeLayout::DrawNode(long id, wxDC& dc)
{
char buf[80];
wxString name(GetNodeName(id));
if (name != "")
sprintf(buf, "%s", (const char*) name);
else
sprintf(buf, "<unnamed>");
long x = 80;
long y = 20;
dc.GetTextExtent(buf, &x, &y);
dc.DrawText(buf, GetNodeX(id), (long)(GetNodeY(id) - (y/2.0)));
}
void wxTreeLayout::DrawBranch(long from, long to, wxDC& dc)
{
long w, h;
GetNodeSize(from, &w, &h, dc);
dc.DrawLine(GetNodeX(from)+w, GetNodeY(from),
GetNodeX(to), GetNodeY(to));
}
void wxTreeLayout::Initialize(void)
{
}
void wxTreeLayout::GetNodeSize(long id, long *x, long *y, wxDC& dc)
{
wxString name(GetNodeName(id));
if (name != "")
dc.GetTextExtent(name, x, y);
else
{
*x = 70; *y = 20;
}
}
void wxTreeLayout::CalcLayout(long nodeId, int level, wxDC& dc)
{
wxList children;
GetChildren(nodeId, children);
int n = children.Number();
if (m_orientation == FALSE)
{
// Left to right
// X Calculations
if (level == 0)
SetNodeX(nodeId, m_leftMargin);
else
{
long x = 0;
long y = 0;
long parentId = GetNodeParent(nodeId);
if (parentId != -1)
GetNodeSize(parentId, &x, &y, dc);
SetNodeX(nodeId, (long)(GetNodeX(parentId) + m_xSpacing + x));
}
wxNode *node = children.First();
while (node)
{
CalcLayout((long)node->Data(), level+1, dc);
node = node->Next();
}
// Y Calculations
long averageY;
ActivateNode(nodeId, TRUE);
if (n > 0)
{
averageY = 0;
node = children.First();
while (node)
{
averageY += GetNodeY((long)node->Data());
node = node->Next();
}
averageY = averageY / n;
SetNodeY(nodeId, averageY);
}
else
{
SetNodeY(nodeId, m_lastY);
long x, y;
GetNodeSize(nodeId, &x, &y, dc);
m_lastY = m_lastY + y + m_ySpacing;
}
}
else
{
// Top to bottom
// Y Calculations
if (level == 0)
SetNodeY(nodeId, m_topMargin);
else
{
long x = 0;
long y = 0;
long parentId = GetNodeParent(nodeId);
if (parentId != -1)
GetNodeSize(parentId, &x, &y, dc);
SetNodeY(nodeId, (long)(GetNodeY(parentId) + m_ySpacing + y));
}
wxNode *node = children.First();
while (node)
{
CalcLayout((long)node->Data(), level+1, dc);
node = node->Next();
}
// X Calculations
long averageX;
ActivateNode(nodeId, TRUE);
if (n > 0)
{
averageX = 0;
node = children.First();
while (node)
{
averageX += GetNodeX((long)node->Data());
node = node->Next();
}
averageX = averageX / n;
SetNodeX(nodeId, averageX);
}
else
{
SetNodeX(nodeId, m_lastX);
long x, y;
GetNodeSize(nodeId, &x, &y, dc);
m_lastX = m_lastX + x + m_xSpacing;
}
}
}
/*
* Tree with storage
*
*/
IMPLEMENT_DYNAMIC_CLASS(wxLayoutTreeStored, wxTreeLayout)
wxLayoutTreeStored::wxLayoutTreeStored(int n):wxTreeLayout()
{
m_nodes = NULL;
m_maxNodes = 0;
Initialize(n);
}
wxLayoutTreeStored::~wxLayoutTreeStored(void)
{
if (m_nodes)
delete[] m_nodes;
}
void wxLayoutTreeStored::Initialize(int n)
{
m_maxNodes = n;
wxTreeLayout::Initialize();
if (m_nodes) delete[] m_nodes;
m_nodes = new wxStoredNode[m_maxNodes];
int i;
for (i = 0; i < n; i++)
{
m_nodes[i].m_name = "";
m_nodes[i].m_active = FALSE;
m_nodes[i].m_parentId = -1;
m_nodes[i].m_x = 0;
m_nodes[i].m_y = 0;
}
m_num = 0;
}
long wxLayoutTreeStored::AddChild(const wxString& name, const wxString& parent)
{
if (m_num < (m_maxNodes -1 ))
{
long i = -1;
if (parent != "")
i = NameToId(parent);
else m_parentNode = m_num;
m_nodes[m_num].m_parentId = i;
m_nodes[m_num].m_name = name;
m_nodes[m_num].m_x = m_nodes[m_num].m_y = 0;
m_nodes[m_num].m_clientData = 0;
m_num ++;
return (m_num - 1);
}
else
return -1;
}
long wxLayoutTreeStored::NameToId(const wxString& name)
{
long i;
for (i = 0; i < m_num; i++)
if (name == m_nodes[i].m_name)
return i;
return -1;
}
void wxLayoutTreeStored::GetChildren(long id, wxList& list)
{
long currentId = GetTopNode();
while (currentId != -1)
{
if (id == GetNodeParent(currentId))
list.Append((wxObject *)currentId);
currentId = GetNextNode(currentId);
}
}
wxStoredNode* wxLayoutTreeStored::GetNode(long idx) const
{
wxASSERT(idx < m_num);
return &m_nodes[idx];
};
long wxLayoutTreeStored::GetNodeX(long id)
{
wxASSERT(id < m_num);
return (long)m_nodes[id].m_x;
}
long wxLayoutTreeStored::GetNodeY(long id)
{
wxASSERT(id < m_num);
return (long)m_nodes[id].m_y;
}
void wxLayoutTreeStored::SetNodeX(long id, long x)
{
wxASSERT(id < m_num);
m_nodes[id].m_x = (int)x;
}
void wxLayoutTreeStored::SetNodeY(long id, long y)
{
wxASSERT(id < m_num);
m_nodes[id].m_y = (int)y;
}
void wxLayoutTreeStored::SetNodeName(long id, const wxString& name)
{
wxASSERT(id < m_num);
m_nodes[id].m_name = name;
}
wxString wxLayoutTreeStored::GetNodeName(long id)
{
wxASSERT(id < m_num);
return m_nodes[id].m_name;
}
long wxLayoutTreeStored::GetNodeParent(long id)
{
if (id != -1)
{
wxASSERT(id < m_num);
return m_nodes[id].m_parentId;
}
else
return -1;
}
long wxLayoutTreeStored::GetNextNode(long id)
{
wxASSERT(id < m_num);
if ((id != -1) && (id < (m_num - 1)))
return id + 1;
else
return -1;
}
void wxLayoutTreeStored::SetClientData(long id, long clientData)
{
wxASSERT(id < m_num);
m_nodes[id].m_clientData = clientData;
}
long wxLayoutTreeStored::GetClientData(long id) const
{
wxASSERT(id < m_num);
return m_nodes[id].m_clientData;
}
void wxLayoutTreeStored::ActivateNode(long id, bool active)
{
wxASSERT(id < m_num);
m_nodes[id].m_active = active;
}
bool wxLayoutTreeStored::NodeActive(long id)
{
wxASSERT(id < m_num);
return m_nodes[id].m_active;
}
wxString wxLayoutTreeStored::HitTest(wxMouseEvent& event, wxDC& dc)
{
wxPoint pt = event.GetPosition();
wxCoord x = pt.x;
wxCoord y = pt.y;
int i;
for (i = 0; i < m_maxNodes; i++)
{
wxStoredNode* item = &m_nodes[i];
long width, height;
dc.GetTextExtent(m_nodes[i].m_name, &width, &height);
if ( (x >= (m_nodes[i].m_x-10)) && (x < (m_nodes[i].m_x + width+10)) &&
(y >= m_nodes[i].m_y-10) && (y < (m_nodes[i].m_y + height+10)) )
{
return m_nodes[i].m_name;
}
}
return wxString("");
}
#endif
// wxUSE_TREELAYOUT
+4 -1
View File
@@ -1,6 +1,6 @@
# This file was automatically generated by tmake at 15:17, 2000/02/27
# This file was automatically generated by tmake at 12:24, 2000/02/28
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
#
@@ -98,6 +98,7 @@ GENERICOBJS= $(MSWDIR)\busyinfo.obj \
$(MSWDIR)\tbarsmpl.obj \
$(MSWDIR)\textdlgg.obj \
$(MSWDIR)\tipdlg.obj \
$(MSWDIR)\treelay.obj \
$(MSWDIR)\wizard.obj
# Not needed:
@@ -827,6 +828,8 @@ $(MSWDIR)\textdlgg.obj: $(GENDIR)\textdlgg.$(SRCSUFF)
$(MSWDIR)\tipdlg.obj: $(GENDIR)\tipdlg.$(SRCSUFF)
$(MSWDIR)\treelay.obj: $(GENDIR)\treelay.$(SRCSUFF)
$(MSWDIR)\wizard.obj: $(GENDIR)\wizard.$(SRCSUFF)
+4 -1
View File
@@ -1,6 +1,6 @@
# This file was automatically generated by tmake at 15:18, 2000/02/27
# This file was automatically generated by tmake at 12:24, 2000/02/28
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
#
@@ -99,6 +99,7 @@ GENERICOBJS= $(MSWDIR)\busyinfo.obj \
$(MSWDIR)\textdlgg.obj \
$(MSWDIR)\tipdlg.obj \
$(MSWDIR)\treectrl.obj \
$(MSWDIR)\treelay.obj \
$(MSWDIR)\wizard.obj
COMMONOBJS = \
@@ -692,6 +693,8 @@ $(MSWDIR)\tipdlg.obj: $(GENDIR)\tipdlg.$(SRCSUFF)
$(MSWDIR)\treectrl.obj: $(GENDIR)\treectrl.$(SRCSUFF)
$(MSWDIR)\treelay.obj: $(GENDIR)\treelay.$(SRCSUFF)
$(MSWDIR)\wizard.obj: $(GENDIR)\wizard.$(SRCSUFF)
+1
View File
@@ -84,6 +84,7 @@ GENERICOBJS= $(GENDIR)\busyinfo.obj \
$(GENDIR)\textdlgg.obj \
$(GENDIR)\tipdlg.obj \
$(GENDIR)\treectrl.obj \
$(GENDIR)\treelay.obj \
$(GENDIR)\wizard.obj
# we can't have all objects in one list because the library becomes too big
+1
View File
@@ -89,6 +89,7 @@ GENERICOBJS = \
$(GENDIR)/tbarsmpl.$(OBJSUFF) \
$(GENDIR)/textdlgg.$(OBJSUFF) \
$(GENDIR)/tipdlg.$(OBJSUFF) \
$(GENDIR)/treelay.$(OBJSUFF) \
$(GENDIR)/wizard.$(OBJSUFF)
COMMONOBJS = \
+2 -1
View File
@@ -1,4 +1,4 @@
# This file was automatically generated by tmake at 15:17, 2000/02/27
# This file was automatically generated by tmake at 12:24, 2000/02/28
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
# File: makefile.vc
@@ -103,6 +103,7 @@ GENERICOBJS= ..\generic\$D\busyinfo.obj \
..\generic\$D\tbarsmpl.obj \
..\generic\$D\textdlgg.obj \
..\generic\$D\tipdlg.obj \
..\generic\$D\treelay.obj \
..\generic\$D\wizard.obj
# These are generic things that don't need to be compiled on MSW,
+5 -1
View File
@@ -1,6 +1,6 @@
#!/binb/wmake.exe
# This file was automatically generated by tmake at 15:18, 2000/02/27
# This file was automatically generated by tmake at 12:25, 2000/02/28
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
#
@@ -59,6 +59,7 @@ GENERICOBJS= busyinfo.obj &
tbarsmpl.obj &
textdlgg.obj &
tipdlg.obj &
treelay.obj &
wizard.obj
# These are generic things that don't need to be compiled on MSW,
@@ -998,6 +999,9 @@ textdlgg.obj: $(GENDIR)\textdlgg.cpp
tipdlg.obj: $(GENDIR)\tipdlg.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
treelay.obj: $(GENDIR)\treelay.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
wizard.obj: $(GENDIR)\wizard.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+4
View File
@@ -592,6 +592,10 @@ SOURCE=.\generic\tipdlg.cpp
# End Source File
# Begin Source File
SOURCE=.\generic\treelay.cpp
# End Source File
# Begin Source File
SOURCE=.\generic\wizard.cpp
# End Source File
# End Group
+8
View File
@@ -592,6 +592,14 @@ SOURCE=.\generic\textdlgg.cpp
SOURCE=.\generic\tipdlg.cpp
# End Source File
# Begin Source File
SOURCE=.\generic\treelay.cpp
# End Source File
# Begin Source File
SOURCE=.\generic\wizard.cpp
# End Source File
# End Group
# Begin Group "wxHTML Files"
-3
View File
@@ -1,3 +0,0 @@
all:
cd @GL_TOOLKIT_DIR@; make
cd samples; make
-40
View File
@@ -1,40 +0,0 @@
docs/*.*
win/*.cpp
win/*.h
win/make*.*
gtk/*.cpp
gtk/*.h
gtk/make*.*
motif/*.cpp
motif/*.h
motif/*.txt
motif/make*.*
samples/cube/*.cpp
samples/cube/*.h
samples/cube/*.rc
samples/cube/*.ico
samples/cube/*.xbm
samples/cube/make*.*
samples/cube/Makefile
samples/isosurf/*.cpp
samples/isosurf/*.h
samples/isosurf/*.rc
samples/isosurf/*.ico
samples/isosurf/*.xbm
samples/isosurf/*.dat
samples/isosurf/*.dat.gz
samples/isosurf/make*.*
samples/isosurf/Makefile
samples/penguin/*.cpp
samples/penguin/*.c
samples/penguin/*.h
samples/penguin/*.rc
samples/penguin/*.ico
samples/penguin/*.xbm
samples/penguin/*.xpm
samples/penguin/make*.*
samples/penguin/penguin.lwo
samples/penguin/Makefile
-27
View File
@@ -1,27 +0,0 @@
@echo off
rem Zip up an external source distribution of GLCanvas
set src=%1
set dest=%2
if "%src" == "" set src=%WXWIN\utils\glcanvas
if "%dest" == "" set dest=%WXWIN\utils\glcanvas\deliver
echo About to archive an external GLCanvas distribution:
echo From %src
echo To %dest\glcanvas.zip
echo CTRL-C if this is not correct.
inkey /W10 `Press any key to continue...` %%input
erase %dest\glcanvas.zip
cd %src
zip32 -@ %dest\glcanvas.zip < %src\distrib\glcanvas.rsp
echo GLCanvas archived.
goto end
:usage
echo GLCanvas distribution.
echo Usage: zipsrc source destination
:end
-5
View File
@@ -1,5 +0,0 @@
wxGLCanvas
----------
No known issues, though probably palettes aren't correctly
handled under Windows. They are ignored under GTK.
-3
View File
@@ -1,3 +0,0 @@
Linux
linux-gnu
linux

Some files were not shown because too many files have changed in this diff Show More