samples/grid/*.ico
samples/grid/*.bmp
+samples/newgrid/*.cpp
+samples/newgrid/*.h
+samples/newgrid/*.def
+samples/newgrid/*.rc
+samples/newgrid/*.txt
+samples/newgrid/makefile*
+samples/newgrid/*.xbm
+samples/newgrid/*.xpm
+samples/newgrid/*.ico
+samples/newgrid/*.bmp
+
samples/internat/*.cpp
samples/internat/*.h
samples/internat/*.def
wxWindows 2 Change Log
----------------------
-2.1.0, b?, June 2nd 1999
-------------------------
-
-wxGTK:
-
-
-wxMSW:
-
-
-wxMotif:
-
-
-General:
+NOTE: for changes after wxWindows 2.1.0 b4, please see the CVS
+change log.
-- Fixed day_of_week bug (Peter Stadel).
-- Added Inside(), SetLeft/Right/Top/Bottom, +, += to wxRect.
-- Added wxHTML, an HTML library and widget.
-- Added ZIP input stream.
+Major improvements are listed in readme.txt.
2.1.0, b4, May 9th 1999
-----------------------
\section{Availability and location of wxWindows}
-wxWindows is currently available from the Artificial Intelligence
-Applications Institute by anonymous FTP and World Wide Web:
+wxWindows is available by anonymous FTP and World Wide Web:
\begin{verbatim}
ftp://www.remstar.com/pub/wxwin
http://www.wxwindows.org
\end{verbatim}
+You can also buy a CD-ROM using the form on the Web site, or by contacting:
+
+Julian Smart\\
+12 North Street West\\
+Uppingham\\
+Rutland\\
+LE15 9SG\\
+julian.smart@ukonline.co.uk
+
\section{Acknowledgments}
Thanks are due to AIAI for being willing to release the original version of
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
-Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
+Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Vaclav Slavik, Stein Somers, Petr Smilauer, Neil Smith,
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
\section{\class{wxHtmlCell}}\label{wxhtmlcell}
Internal data structure. It represents fragments of parsed HTML
-page, so-called {\bf cell} - a word, picture, table, horizontal line and so on.
+page, the so-called {\bf cell} - a word, picture, table, horizontal line and so on.
It is used by \helpref{wxHtmlWindow}{wxhtmlwindow} and
\helpref{wxHtmlWinParser}{wxhtmlwinparser} to represent HTML page in memory.
Constructor.
-
\membersection{wxHtmlCell::AdjustPagebreak}\label{wxhtmlcelladjustpagebreak}
\func{virtual bool}{AdjustPagebreak}{\param{int * }{pagebreak}}
Returns TRUE if pagebreak was modified, FALSE otherwise
-Usage :
+Usage:
\begin{verbatim}
while (container->AdjustPagebreak(&p)) {}
\end{verbatim}
\wxheading{Defined conditions}
-\begin{twocollist}
-\twocolitem{{\bf HTML_COND_ISANCHOR}}{Finds particular anchor.
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf HTML_COND_ISANCHOR}}{Finds particular anchor.
{\it param} is pointer to wxString with name of the anchor.}
\twocolitem{{\bf HTML_COND_USER}}{User-defined conditions start
-from this number}
+from this number.}
\end{twocollist}
\membersection{wxHtmlCell::GetDescent}\label{wxhtmlcellgetdescent}
\constfunc{virtual wxString}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}}
Returns hypertext link if associated with this cell or empty string otherwise.
-(Note : this makes sense only for visible tags).
+(Note: this makes sense only for visible tags).
\wxheading{Parameters}
This method performs 2 actions:
-\begin{enumerate}
+\begin{enumerate}\itemsep=0pt
\item adjusts cell's width according to the fact that maximal possible width is {\it w}.
(this has sense when working with horizontal lines, tables etc.)
\item prepares layout (=fill-in m\_PosX, m\_PosY (and sometimes m\_Height) members)
\func{void}{SetPos}{\param{int }{x}, \param{int }{y}}
-Sets cell's position within parent container.
+Sets the cell's position within parent container.
\docparam{flags}{Can be one of following:
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf HTML\_CLR\_FOREGROUND}}{change color of text}
\twocolitem{{\bf HTML\_CLR\_BACKGROUND}}{change background color}
-
\end{twocollist}
}
\section{\class{wxHtmlContainerCell}}\label{wxhtmlcontainercell}
-wxHtmlContainerCell class an implementation of a cell that may
+The wxHtmlContainerCell class is an implementation of a cell that may
contain more cells in it. It is heavily used in the wxHTML layout algorithm.
\wxheading{Derived from}
You can then use wxHtmlCell's GetNext method to obtain pointer to the next
cell in list.
-{\bf Note} : This shouldn't be used by the end user. If you need some way of
+{\bf Note:} This shouldn't be used by the end user. If you need some way of
finding particular cell in the list, try \helpref{Find}{wxhtmlcellfind} method
instead.
\constfunc{int}{GetIndentUnits}{\param{int }{ind}}
-Returns units of intentation value for {\it ind} where {\it ind} is one
+Returns the units of indentation for {\it ind} where {\it ind} is one
of the {\bf HTML\_INDENT\_*} constants.
-
\membersection{wxHtmlContainerCell::GetMaxLineWidth}\label{wxhtmlcontainercellgetmaxlinewidth}
\constfunc{int}{GetMaxLineWidth}{\void}
\func{void}{SetAlign}{\param{const wxHtmlTag\& }{tag}}
-Sets container's alignment (both horizontal and vertical) according to
+Sets the container's alignment (both horizontal and vertical) according to
the values stored in {\it tag}. (Tags {\tt ALIGN} parameter is extracted.) In fact
it is only a front-end to \helpref{SetAlignHor}{wxhtmlcontainercellsetalignhor}
and \helpref{SetAlignVer}{wxhtmlcontainercellsetalignver}.
-
\membersection{wxHtmlContainerCell::SetAlignHor}\label{wxhtmlcontainercellsetalignhor}
\func{void}{SetAlignHor}{\param{int }{al}}
-Sets container's {\it horizontal alignment}. During \helpref{Layout}{wxhtmlcelllayout}
+Sets the container's {\it horizontal alignment}. During \helpref{Layout}{wxhtmlcelllayout}
each line is aligned according to {\it al} value.
\wxheading{Parameters}
\docparam{al}{new horizontal alignment. May be one of these values:
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf HTML\_ALIGN\_LEFT}}{lines are left-aligned (default)}
\twocolitem{{\bf HTML\_ALIGN\_CENTER\_H}}{lines are centered}
\twocolitem{{\bf HTML\_ALIGN\_RIGHT}}{lines are right-aligned}
\end{twocollist}
}
-
\membersection{wxHtmlContainerCell::SetAlignVer}\label{wxhtmlcontainercellsetalignver}
\func{void}{SetAlignVer}{\param{int }{al}}
-Sets container's {\it vertical alignment}. This is per-line alignment!
+Sets the container's {\it vertical alignment}. This is per-line alignment!
\wxheading{Parameters}
\docparam{al}{new vertical alignment. May be one of these values:
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf HTML\_ALIGN\_BOTTOM}}{cells are over the line (default)}
\twocolitem{{\bf HTML\_ALIGN\_CENTER\_V}}{cells are centered on line}
\twocolitem{{\bf HTML\_ALIGN\_TOP}}{cells are under the line}
\func{void}{SetBackgroundColour}{\param{const wxColour\& }{clr}}
-Sets background color for this container.
+Sets the background color for this container.
\membersection{wxHtmlContainerCell::SetBorder}\label{wxhtmlcontainercellsetborder}
\func{void}{SetBorder}{\param{const wxColour\& }{clr1}, \param{const wxColour\& }{clr2}}
-Sets border (frame) colours. Border is rectangle around the container.
+Sets the border (frame) colours. Border is rectangle around the container.
\wxheading{Parameters}
\func{void}{SetIndent}{\param{int }{i}, \param{int }{what}, \param{int }{units = HTML\_UNITS\_PIXELS}}
-Sets indentation (free space between borders of container and subcells).
+Sets the indentation (free space between borders of container and subcells).
\wxheading{Parameters}
\docparam{i}{Indentation value.}
-\docparam{what}{Determines which of the 4 borders we're setting. It is OR
+\docparam{what}{Determines which of the four borders we're setting. It is OR
combination of following constants:
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf HTML\_INDENT\_TOP}}{top border}
\twocolitem{{\bf HTML\_INDENT\_BOTTOM}}{bottom}
\twocolitem{{\bf HTML\_INDENT\_LEFT}}{left}
\docparam{units}{Units of {\it i}. This parameter affects interpretation of {\it} value.
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf HTML\_UNITS\_PIXELS}}{{\it i} is number of pixels}
\twocolitem{{\bf HTML\_UNITS\_PERCENT}}{{\it i} is interpreted as percents of width
of parent container}
Sets minimal height of the container.
-(When container's \helpref{Layout}{wxhtmlcelllayout} is called, m_Height
+When container's \helpref{Layout}{wxhtmlcelllayout} is called, m\_Height
is set depending on layout of subcells to the height of area covered
-by layouted subcells. Call to this method guarantees you that the height
+by layed-out subcells. Calling this method guarantees you that the height
of container is never smaller than {\it h} - even if the subcells cover
-much smaller area.)
+much smaller area.
\wxheading{Parameters}
\docparam{h}{The minimal height.}
-\docparam{align}{If height of the container is lower than min. height, empty space must be inserted
+\docparam{align}{If height of the container is lower than the minimum height, empty space must be inserted
somewhere in order to ensure minimal height. This parameter is one of {\bf HTML_ALIGN_TOP,
HTML_ALIGN_BOTTOM, HTML_ALIGN_CENTER} constants. It refers to the {\it contents}, not to the
empty place!}
Sets floating width adjustment.
-Normal behaviour of container is that it's width is same as width of
+The normal behaviour of container is that its width is the same as the width of
parent container (and thus you can have only one sub-container per line).
You can change this by setting FWA.
of container to parent's width minus 50 pixels. This is useful when
creating tables - you can call SetWidthFloat(50) and SetWidthFloat(-50))}
-\docparam{units}{Units of {\it w} This parameter affects interpretation of {\it} value.
+\docparam{units}{Units of {\it w} This parameter affects the interpretation of {\it} value.
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf HTML\_UNITS\_PIXELS}}{{\it w} is number of pixels}
\twocolitem{{\bf HTML\_UNITS\_PERCENT}}{{\it w} is interpreted as percents of width
of parent container}
\docparam{tag}{In the second version of method, {\it w} and {\it units}
info is extracted from tag's {\tt WIDTH} parameter.}
-
% htmprint.h at 17/Oct/99 12:48:02
%
-
\section{\class{wxHtmlDCRenderer}}\label{wxhtmldcrenderer}
-This class can render HTML document into specified area of DC. You can use it
-in your own printing code, although use of \helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}
+This class can render HTML document into a specified area of a DC. You can use it
+in your own printing code, although use of \helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}
or \helpref{wxHtmlPrintout}{wxhtmlprintout} is strongly recommended.
-
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
-
-
\latexignore{\rtfignore{\wxheading{Members}}}
-
\membersection{wxHtmlDCRenderer::wxHtmlDCRenderer}\label{wxhtmldcrendererwxhtmldcrenderer}
\func{}{wxHtmlDCRenderer}{\void}
Constructor.
-
\membersection{wxHtmlDCRenderer::SetDC}\label{wxhtmldcrenderersetdc}
\func{void}{SetDC}{\param{wxDC* }{dc}, \param{int }{maxwidth}}
\docparam{maxwidth}{width of the area (on this DC) that is equivalent to screen's width,
in pixels (you should set it to page width minus margins).
-{\bf Note:} In current implementation
-screen width is always 800 pixels : it gives best results and ensures (almost) same printed outputs
+{\bf Note:} In the current implementation
+the screen width is always 800 pixels: it gives best results and ensures (almost) same printed outputs
across platforms and differently configured desktops.}
-Also see \helpref{SetSize}{wxhtmldcrenderersetsize}
-
-
+See also \helpref{SetSize}{wxhtmldcrenderersetsize}.
\membersection{wxHtmlDCRenderer::SetSize}\label{wxhtmldcrenderersetsize}
\func{void}{SetSize}{\param{int }{width}, \param{int }{height}}
Set size of output rectangle, in pixels. Note that you {\bf can't} change
-width of the rectangle between calls to \helpref{Render}{wxhtmldcrendererrender}!
+width of the rectangle between calls to \helpref{Render}{wxhtmldcrendererrender}!
(You can freely change height.)
If you set width equal to maxwidth then HTML is rendered as if it were displayed in fullscreen.
If you set width = 1/2 maxwidth the it is rendered as if it covered half the screen
and so on.
-
\membersection{wxHtmlDCRenderer::SetHtmlText}\label{wxhtmldcrenderersethtmltext}
\func{void}{SetHtmlText}{\param{const wxString\& }{html}, \param{const wxString\& }{basepath = wxEmptyString}, \param{bool }{isdir = TRUE}}
Assign text to the renderer. \helpref{Render}{wxhtmldcrendererrender} then draws
the text onto DC.
-
\wxheading{Parameters}
-\docparam{html}{HTML text. (NOT file!)}
+\docparam{html}{HTML text. This is {\it not} a filename.}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
\docparam{isdir}{FALSE if basepath is filename, TRUE if it is directory name
(see \helpref{wxFileSystem}{wxfilesystem} for detailed explanation)}
-
\membersection{wxHtmlDCRenderer::Render}\label{wxhtmldcrendererrender}
\func{int}{Render}{\param{int }{x}, \param{int }{y}, \param{int }{from = 0}, \param{int }{dont\_render = FALSE}}
\wxheading{Parameters}
-
\docparam{x,y}{ position of upper-left corner of printing rectangle (see \helpref{SetSize}{wxhtmldcrenderersetsize})}
-
\docparam{from}{y-coordinate of the very first visible cell}
\docparam{dont\_render}{if TRUE then this method only returns y coordinate of the next page
Use this value as {\it from} in next call to Render in order to print multipages
document.
-
\wxheading{Caution!}
-Following 3 methods {\bf must} always be called before any call to Render (preferably
+The Following three methods {\bf must} always be called before any call to Render (preferably
in this order):
-\begin{itemize}
-
+\begin{itemize}\itemsep=0pt
\item \helpref{SetDC}{wxhtmldcrenderersetdc}
\item \helpref{SetSize}{wxhtmldcrenderersetsize}
\item \helpref{SetHtmlText}{wxhtmldcrenderersethtmltext}
-
\end{itemize}
-{\bf Render() changes DC's user scale and does NOT restore it!!}
-
-
+{\bf Render() changes the DC's user scale and does NOT restore it.}
\membersection{wxHtmlDCRenderer::GetTotalHeight}\label{wxhtmldcrenderergettotalheight}
\func{int}{GetTotalHeight}{\void}
-Returns height of the HTML text. This is important if area height (see \helpref{SetSize}{wxhtmldcrenderersetsize})
+Returns the height of the HTML text. This is important if area height (see \helpref{SetSize}{wxhtmldcrenderersetsize})
is smaller that total height and thus the page cannot fit into it. In that case you're supposed to
-call \helpref{Render}{wxhtmldcrendererrender} as long as it's return value is smaller than GetTotalHeight's.
-
-
-
+call \helpref{Render}{wxhtmldcrendererrender} as long as its return value is smaller than GetTotalHeight's.
% htmprint.h at 17/Oct/99 12:48:02
%
-
\section{\class{wxHtmlEasyPrinting}}\label{wxhtmleasyprinting}
-
This class provides very simple interface to printing
-architecture. It allows you to print HTML documents only
-with very few commands.
-
+architecture. It allows you to print HTML documents using
+only a few commands.
\wxheading{Note}
-Do not create this class on stack only. You should create an instance on app
+
+Do not create this class on the stack only. You should create an instance on app
startup and use this instance for all printing operations. The reason is that
this class stores various settings in it.
-
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
-
\latexignore{\rtfignore{\wxheading{Members}}}
-
\membersection{wxHtmlEasyPrinting::wxHtmlEasyPrinting}\label{wxhtmleasyprintingwxhtmleasyprinting}
\func{}{wxHtmlEasyPrinting}{\param{const wxString\& }{name = "Printing"}, \param{wxFrame* }{parent\_frame = NULL}}
\docparam{parent\_frame}{pointer to the frame that will own preview frame and setup dialogs. May be NULL.}
-
\membersection{wxHtmlEasyPrinting::PreviewFile}\label{wxhtmleasyprintingpreviewfile}
\func{void}{PreviewFile}{\param{const wxString\& }{htmlfile}}
Previews HTML file.
-
\membersection{wxHtmlEasyPrinting::PreviewText}\label{wxhtmleasyprintingpreviewtext}
\func{void}{PreviewText}{\param{const wxString\& }{htmltext}, \param{const wxString\& }{basepath = wxEmptyString}}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
-
-
\membersection{wxHtmlEasyPrinting::PrintFile}\label{wxhtmleasyprintingprintfile}
\func{void}{PrintFile}{\param{const wxString\& }{htmlfile}}
Prints HTML file.
-
\membersection{wxHtmlEasyPrinting::PrintText}\label{wxhtmleasyprintingprinttext}
\func{void}{PrintText}{\param{const wxString\& }{htmltext}, \param{const wxString\& }{basepath = wxEmptyString}}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
-
\membersection{wxHtmlEasyPrinting::PrinterSetup}\label{wxhtmleasyprintingprintersetup}
\func{void}{PrinterSetup}{\void}
Displays printer setup dialog and allows the user to modify settings.
-
\membersection{wxHtmlEasyPrinting::PageSetup}\label{wxhtmleasyprintingpagesetup}
\func{void}{PageSetup}{\void}
Displays page setup dialog and allows the user to modify settings.
-
\membersection{wxHtmlEasyPrinting::SetHeader}\label{wxhtmleasyprintingsetheader}
\func{void}{SetHeader}{\param{const wxString\& }{header}, \param{int }{pg = wxPAGE\_ALL}}
\wxheading{Parameters}
\docparam{header}{HTML text to be used as header. You can use macros in it:
-\begin{itemize}
+
+\begin{itemize}\itemsep=0pt
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
-
\membersection{wxHtmlEasyPrinting::SetFooter}\label{wxhtmleasyprintingsetfooter}
\func{void}{SetFooter}{\param{const wxString\& }{footer}, \param{int }{pg = wxPAGE\_ALL}}
\wxheading{Parameters}
\docparam{footer}{HTML text to be used as footer. You can use macros in it:
-\begin{itemize}
+
+\begin{itemize}\itemsep=0pt
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
}
-
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
-
-
-
\membersection{wxHtmlEasyPrinting::GetPrintData}\label{wxhtmleasyprintinggetprintdata}
\func{wxPrintData*}{GetPrintData}{\void}
\func{wxPageSetupDialogData*}{GetPageSetupData}{\void}
-Returns pointer to \helpref{wxPageSetupDialogData}{wxpagesetupdialogdata} instance used by
+Returns a pointer to \helpref{wxPageSetupDialogData}{wxpagesetupdialogdata} instance used by
this class. You can set its parameters (via SetXXXX methods).
+
\section{\class{wxHtmlFilter}}\label{wxhtmlfilter}
-This class is input filter for \helpref{wxHtmlWindow}{wxhtmlwindow}.
+This class is an input filter for \helpref{wxHtmlWindow}{wxhtmlwindow}.
It allows you to read and display files of different file formats.
\wxheading{Derived from}
{\bf WARNING! This help controller has an API incompatible with wxWindows
wxHelpController!}
-This help controller provides easy way how to display HTML help in your
-application (see {\it test} sample). Whole help system is based on {\bf books}
-(see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is logical
-part of documentation (for example "User's Guide" or "Programmer's Guide" or
-"C++ Reference" or "wxWindows Reference"). Help controller can handle as
+This help controller provides an easy way of displaying HTML help in your
+application (see {\it test} sample). The help system is based on {\bf books}
+(see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is a logical
+section of documentation (for example "User's Guide" or "Programmer's Guide" or
+"C++ Reference" or "wxWindows Reference"). The help controller can handle as
many books as you want.
wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc) as its
You can use tex2rtf to generate MHHW projects (see wxHTML homepage for details).
In order to use the controller in your application under Windows you must
-have following line in your .rc file:
+have the following line in your .rc file:
\begin{verbatim}
#include "wx/html/msw/wxhtml.rc"
Adds book (\helpref{.hhp file}{helpformat} - HTML Help Workshop project file) into the list of loaded books.
This must be called at least once before displaying any help.
-If {\it show_wait_msg} is TRUE then a decorationless window with progress message is displayed.
+If {\it show\_wait\_msg} is TRUE then a decorationless window with progress message is displayed.
\membersection{wxHtmlHelpController::Display}\label{wxhtmlhelpcontrollerdisplay}
You can specify the page in many ways:
-\begin{itemize}
+\begin{itemize}\itemsep=0pt
\item as direct filename of HTML document
\item as chapter name (from contents) or as a book name
\item as some word from index
Looking for the page runs in these steps:
-\begin{enumerate}
+\begin{enumerate}\itemsep=0pt
\item try to locate file named x (if x is for example "doc/howto.htm")
\item try to open starting page of book named x
\item try to find x in contents (if x is for example "How To ...")
Displays help window, focuses search panel and starts searching.
Returns TRUE if the keyword was found.
-IMPORTANT! KeywordSearch searches only pages listed in .htc file(s)!
-(you should have all pages in contents file...)
+{\bf Important:} KeywordSearch searches only pages listed in .htc file(s).
+You should list all pages in the contents file.
\membersection{wxHtmlHelpController::ReadCustomization}\label{wxhtmlhelpcontrollerreadcustomization}
\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
-Reads controllers setting (position of window etc.)
+Reads the controller's setting (position of window, etc.)
\membersection{wxHtmlHelpController::SetTempDir}\label{wxhtmlhelpcontrollersettempdir}
\func{void}{SetTempDir}{\param{const wxString\& }{path}}
-Sets path for storing temporary files (cached binary versions of index and contents files. These binary
-forms are much faster to read.) Default value is empty string (empty string means
-that no cached data are stored). Note that these files are NOT
-deleted when program exits!
+Sets the path for storing temporary files - cached binary versions of index and contents files. These binary
+forms are much faster to read. Default value is empty string (empty string means
+that no cached data are stored). Note that these files are {\it not}
+deleted when program exits.
\membersection{wxHtmlHelpController::SetTitleFormat}\label{wxhtmlhelpcontrollersettitleformat}
\membersection{Tag Handlers}\label{handlers}
-wxHTML library provides architecture of pluginable {\it tag handlers}.
+The wxHTML library provides architecture of pluggable {\it tag handlers}.
Tag handler is class that understands particular HTML tag (or tags) and is
able to interpret it.
\helpref{wxHtmlWinParser}{wxhtmlwinparser} has static table of {\bf modules}.
-Each module contains one or more tag handlers. Each time new wxHtmlWinParser
+Each module contains one or more tag handlers. Each time a new wxHtmlWinParser
object is constructed all modules are scanned and handlers are added
-to wxHtmlParser's list of available handlers (note : wxHtmlParser's list
+to wxHtmlParser's list of available handlers (note: wxHtmlParser's list
is non-static).
\wxheading{How it works}
Common tag handler's \helpref{HandleTag}{wxhtmltaghandlerhandletag} method
works in four steps:
-\begin{enumerate}
+\begin{enumerate}\itemsep=0pt
\item Save state of parent parser into local variables
\item Change parser state according to tag's params
\item Parse text between the tag and paired ending tag (if present)
for details). Handler definition must start with {\bf TAG\_HANDLER\_BEGIN} macro
and end with {\bf TAG\_HANDLER\_END} macro. I strongly recommend to have a look
at {\it include/wxhtml/mod\_templ.h} file. Otherwise you won't understand
-the structure of macros... See macros reference:
+the structure of macros. See macros reference:
{\bf TAG\_HANDLER\_BEGIN}({\it name}, {\it tags})
The wxHTML library provides printing facilities with several levels of complexity.
The easiest way to print an HTML document is to use
-\helpref{wxHtmlEasyPrinting class}{wxhtmleasyprinting}. It lets you print HTML documents with only one
-command and you don't have to care about wxPrintouts etc. at all. It is only simple wrapper around
+\helpref{wxHtmlEasyPrinting class}{wxhtmleasyprinting}. It lets you print HTML documents with only one
+command and you don't have to worry about deriving from the wxPrintout class at all. It is only a simple wrapper around the
\helpref{wxHtmlPrintout}{wxhtmlprintout}, normal wxWindows printout class.
-
-And finally there is low level class \helpref{wxHtmlDCRenderer}{wxhtmldcrenderer} which you can use to
-render HTML into rectangular area on any DC. It supports rendering into multiple rectangles with same
-width. (Most common use is placing one rectangle on each page or printing into two columns.)
+And finally there is the low level class \helpref{wxHtmlDCRenderer}{wxhtmldcrenderer} which you can use to
+render HTML into a rectangular area on any DC. It supports rendering into multiple rectangles with the same
+width. (The most common use of this is placing one rectangle on each page or printing into two columns.)
-\membersection{Quick Start}\label{quickstart}
+\membersection{wxHTML quick start}\label{wxhtmlquickstart}
\wxheading{Displaying HMTL}
Class \helpref{wxHtmlWindow}{wxhtmlwindow} (derived from wxScrolledWindow)
is used to display HTML documents.
-It has two important methods : \helpref{LoadPage}{wxhtmlwindowloadpage}
+It has two important methods: \helpref{LoadPage}{wxhtmlwindowloadpage}
and \helpref{SetPage}{wxhtmlwindowsetpage}.
LoadPage loads and displays HTML file while SetPage displays directly the
passed {\bf string}. See the example:
You can customize wxHtmlWindow by setting font size, font face and
borders (space between border of window and displayed HTML). Related functions:
-\begin{itemize}
+\begin{itemize}\itemsep=0pt
\item \helpref{SetFonts}{wxhtmlwindowsetfonts}
\item \helpref{SetBorders}{wxhtmlwindowsetborders}
\item \helpref{ReadCustomization}{wxhtmlwindowreadcustomization}
The method does these things:
-\begin{enumerate}
+\begin{enumerate}\itemsep=0pt
\item calls \helpref{InitParser(source)}{wxhtmlparserinitparser}
\item calls \helpref{DoParsing}{wxhtmlparserdoparsing}
\item calls \helpref{GetProduct}{wxhtmlparsergetproduct}
% htmprint.h at 17/Oct/99 12:48:02
%
-
\section{\class{wxHtmlPrintout}}\label{wxhtmlprintout}
-This class serves as printout class for HTML documents.
+This class serves as a printout class for HTML documents.
\wxheading{Derived from}
\helpref{wxPrintout}{wxprintout}
-
\latexignore{\rtfignore{\wxheading{Members}}}
-
\membersection{wxHtmlPrintout::wxHtmlPrintout}\label{wxhtmlprintoutwxhtmlprintout}
\func{}{wxHtmlPrintout}{\param{const wxString\& }{title = "Printout"}}
Constructor.
-
-
\membersection{wxHtmlPrintout::SetHtmlText}\label{wxhtmlprintoutsethtmltext}
\func{void}{SetHtmlText}{\param{const wxString\& }{html}, \param{const wxString\& }{basepath = wxEmptyString}, \param{bool }{isdir = TRUE}}
\docparam{isdir}{FALSE if basepath is filename, TRUE if it is directory name
(see \helpref{wxFileSystem}{wxfilesystem} for detailed explanation)}
-
-
\membersection{wxHtmlPrintout::SetHtmlFile}\label{wxhtmlprintoutsethtmlfile}
\func{void}{SetHtmlFile}{\param{const wxString\& }{htmlfile}}
Prepare the class for printing this HTML {\bf file}. The file may be located on
any virtual file system or it may be normal file.
-
-
\membersection{wxHtmlPrintout::SetHeader}\label{wxhtmlprintoutsetheader}
\func{void}{SetHeader}{\param{const wxString\& }{header}, \param{int }{pg = wxPAGE\_ALL}}
\wxheading{Parameters}
\docparam{header}{HTML text to be used as header. You can use macros in it:
-\begin{itemize}
+
+\begin{itemize}\itemsep=0pt
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
\wxheading{Parameters}
\docparam{footer}{HTML text to be used as footer. You can use macros in it:
-\begin{itemize}
+
+\begin{itemize}\itemsep=0pt
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
-
\membersection{wxHtmlPrintout::SetMargins}\label{wxhtmlprintoutsetmargins}
\func{void}{SetMargins}{\param{float }{top = 25.2}, \param{float }{bottom = 25.2}, \param{float }{left = 25.2}, \param{float }{right = 25.2}, \param{float }{spaces = 5}}
\section{\class{wxHtmlTag}}\label{wxhtmltag}
-This class represents single HTML tag.
+This class represents a single HTML tag.
It is used by \helpref{tag handlers}{handlers}.
\wxheading{Derived from}
\func{}{wxHtmlTag}{\param{const wxString\& }{source}, \param{int }{pos}, \param{int }{end\_pos}, \param{wxHtmlTagsCache* }{cache}}
-Constructor. You'll probably never have to construct wxHtmlTag object
-yourself. Feel free to ignore the constructor parameters...
-(have a look at lib/htmlparser.cpp if you're interested in creating it)
+Constructor. You'll probably never have to construct a wxHtmlTag object
+yourself. Feel free to ignore the constructor parameters.
+Have a look at lib/htmlparser.cpp if you're interested in creating it.
\membersection{wxHtmlTag::GetAllParams}\label{wxhtmltaggetallparams}
Returns TRUE if this tag is ending one.
({\tt </FONT>} is ending tag, {\tt <FONT>} is not)
-
\membersection{wxHtmlTag::ScanParam}\label{wxhtmltagscanparam}
\constfunc{wxString}{ScanParam}{\param{const wxString\& }{par}, \param{const char *}{format}, fuck}
-This method scans given parameter. Usage is exatly the same as sscanf's
+This method scans given parameter. Usage is exactly the same as sscanf's
usage except that you don't pass string but param name as the first parameter.
\wxheading{Parameters}
-\docparam{par}{The name of tag you wanna query (in uppercase)}
+\docparam{par}{The name of tag you want to query (in uppercase)}
\docparam{format}{scanf()-like format string.}
\wxheading{Cygwin and Mingw32}
If you're using Cygwin beta 20 or Mingw32 compiler please remember
-that ScanParam() is only partially implemented!! The problem is
-that under Cygnus' GCC vsscanf() function is not implemented. I workarounded
+that ScanParam() is only partially implemented! The problem is
+that under Cygnus' GCC vsscanf() function is not implemented. I worked around
this in a way which causes that you can use only one parameter in ...
-(and only one \% in {\it format})
+(and only one \% in {\it format}).
\section{\class{wxHtmlWidgetCell}}\label{wxhtmlwidgetcell}
-wxHtmlWidgetCell is class that provides connection between HTML cell and widget (object derived
-from wxWindow). You can use it to display things like forms, input boxes etc. in HTML window.
+wxHtmlWidgetCell is a class that provides a connection between HTML cells and widgets (an object derived
+from wxWindow). You can use it to display things like forms, input boxes etc. in an HTML window.
wxHtmlWidgetCell takes care of resizing and moving window.
\func{}{wxHtmlWidgetCell}{\param{wxWindow* }{wnd}, \param{int }{w = 0}}
-Constructor
+Constructor.
\wxheading{Parameters}
wxHtmlWindow is probably the only class you will directly use
unless you want to do something special (like adding new tag
-handlers or MIME filters)
+handlers or MIME filters).
-Purpose of this class is to display HTML page (either local
-file or downloaded via HTTP protocol) in a window. Width
-of window is constant - given in constructor - virtual height
-is changed dynamicly depending on page size.
-Once the window is created you can set it's content by calling
+The purpose of this class is to display HTML pages (either local
+file or downloaded via HTTP protocol) in a window. The width
+of the window is constant - given in the constructor - and virtual height
+is changed dynamically depending on page size.
+Once the window is created you can set its content by calling
\helpref{SetPage(text)}{wxhtmlwindowsetpage} or
\helpref{LoadPage(filename)}{wxhtmlwindowloadpage}.
\func{}{wxHtmlWindow}{\param{wxWindow }{*parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxHW_SCROLLBAR_AUTO}, \param{const wxString\& }{name = "htmlWindow"}}
-Constructor. The parameters are same as in wxScrollWindow ctor.
-(Too lazy to document it once again... :-)
+Constructor. The parameters are the same as for the \helpref{wxScrolledWindow}{wxscrolledwindow} constructor.
\wxheading{Parameters}
\docparam{style}{wxHW\_SCROLLBAR\_NEVER, or wxHW\_SCROLLBAR\_AUTO.
-Affects appearance of vertical scrollbar in the window.}
+Affects the appearance of vertical scrollbar in the window.}
\membersection{wxHtmlWindow::AddFilter}\label{wxhtmlwindowaddfilter}
Adds \helpref{input filter}{filters} to the static list of available
filters. These filters are present by default:
-\begin{itemize}
+\begin{itemize}\itemsep=0pt
\item {\tt text/html} MIME type
\item {\tt image/*} MIME types
\item Plain Text filter (this filter is used if no other filter matches)
\func{bool}{LoadPage}{\param{const wxString\& }{location}}
-Unlike SetPage this function first loads HTML page from {\it location}
+Unlike SetPage this function first loads HTML page from {\it location}
and then displays it. See example:
\begin{verbatim}
if given, otherwise it saves info into currently selected path.
The values are stored in sub-path {\tt wxHtmlWindow}
-Read values : all things set by SetFonts, SetBorders.
+Read values: all things set by SetFonts, SetBorders.
\wxheading{Parameters}
-\docparam{cfg}{wxConfig from which you wanna read configuration}
+\docparam{cfg}{wxConfig from which you want to read the configuration.}
\docparam{path}{Optional path in config tree. If not given current path is used.}
\wxheading{Parameters}
-\docparam{normal_face}{This is face name for normal (i.e. non-fixed) font.
+\docparam{normal\_face}{This is face name for normal (i.e. non-fixed) font.
It can be either empty string (then the default face is choosen) or
platform-specific face name. Examples are "helvetica" under Unix or
"Times New Roman" under Windows.}
-\docparam{normal_italic_mode}{This is either wxSLANT or wxITALIC.
+\docparam{normal\_italic\_mode}{This is either wxSLANT or wxITALIC.
It determines how
italic (<I>..</I>) text is handled. See wxFont documentation for
details. For example you should use wxSLANT in conjuction with
"helvetica" face or wxITALIC with "times" face.}
-\docparam{fixed_face}{The same thing for fixed face ( <TT>..</TT> )}
+\docparam{fixed\_face}{The same thing for fixed face ( <TT>..</TT> )}
-\docparam{fixed_italic_mode}{The same thing for fixed face.}
+\docparam{fixed\_italic\_mode}{The same thing for fixed face.}
\docparam{sizes}{This is an array of 7 items of {\it int} type.
The values represent size of font with HTML size from -2 to +4
htmlwin -> SetPage("<html><body>Hello, world!</body></html>");
\end{verbatim}
-If you want to load document from some location use
+If you want to load a document from some location use
\helpref{LoadPage}{wxhtmlwindowloadpage} instead.
\wxheading{Parameters}
\wxheading{Return value}
-FALSE if an error occured, TRUE otherwise
+FALSE if an error occured, TRUE otherwise.
\membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
\func{void}{SetRelatedFrame}{\param{wxFrame* }{frame}, \param{const wxString\& }{format}}
-Sets frame in which page title will be displayed. {\it format} is format of
+Sets the frame in which page title will be displayed. {\it format} is format of
frame title, e.g. "HtmlHelp : \%s". It must contain exactly one \%s. This
\%s is substituted with HTML page title.
Saves custom settings into wxConfig. It uses the path 'path'
if given, otherwise it saves info into currently selected path.
-Regardless path is given or not the function creates sub-path
-{\tt wxHtmlWindow}
+Regardless of whether the path is given or not, the function creates sub-path
+{\tt wxHtmlWindow}.
-Saved values : all things set by SetFonts, SetBorders.
+Saved values: all things set by SetFonts, SetBorders.
\wxheading{Parameters}
-\docparam{cfg}{wxConfig to which you wanna save configuration}
-
-\docparam{path}{Optional path in config tree. If not given current path is used.}
+\docparam{cfg}{wxConfig to which you want to save the configuration.}
+\docparam{path}{Optional path in config tree. If not given, the current path is used.}
Returns (average) char height in standard font. It's used as DC-independent metrics.
-{\bf Note:} This function doesn't return {\it actual} height. If you wanna
-know height of current font, call {\tt GetDC -> GetCharHeight()}
+{\bf Note:} This function doesn't return {\it actual} height. If you want to
+know the height of the current font, call {\tt GetDC -> GetCharHeight()}.
\membersection{wxHtmlWinParser::GetCharWidth}\label{wxhtmlwinparsergetcharwidth}
Returns average char width in standard font. It's used as DC-independent metrics.
-{\bf Note:} This function doesn't return {\it actual} width. If you wanna
-know height of current font, call {\tt GetDC -> GetCharWidth()}
+{\bf Note:} This function doesn't return {\it actual} width. If you want to
+know the height of the current font, call {\tt GetDC -> GetCharWidth()}
\membersection{wxHtmlWinParser::GetContainer}\label{wxhtmlwinparsergetcontainer}
\setfooter{\thepage}{}{}{}{}{\thepage}%
\begin{center}
-Copyright \copyright{} 1998 Julian Smart, Robert Roebling and other
+Copyright \copyright{} 1999 Julian Smart, Robert Roebling, Vadim Zeitlin and other
members of the wxWindows team\\
Portions \copyright{} 1996 Artificial Intelligence Applications Institute\\
\end{center}
TRUE}, the data has been successfully transfered to wxDataObject.
{\bf TODO} document drag and drop side when the API is finalised
+
% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
% Vadim, please remember the new line at the end of each file. Please
% also remember to compile the .hlp file to check for bad references etc.,
% before checking in. I have removed references that were unresolved. - JACS
-
* wxSashWindow flags
*/
-#define wxSW_3D 0x0004
+#define wxSW_NOBORDER 0x0000
+#define wxSW_3D 0x0010
+#define wxSW_BORDER 0x0020
/*
* wxSashWindow allows any of its edges to have a sash which can be dragged
#define wxUSE_SPINBTN 1
// Define 1 to compile spin button
-// use wxStaticLine class (separator line in the dialog)?
+
#define wxUSE_STATLINE 1
+ // use wxStaticLine class
#define wxUSE_CHECKLISTBOX 1
// Define 1 to compile check listbox
#define wxUSE_WX_RESOURCES 1
// Use .wxr resource mechanism (requires PrologIO library)
-// support for startup tips (wxShowTip &c)
#define wxUSE_STARTUP_TIPS 1
-
-// BC++/Win16 can't cope with the amount of data in resource.cpp
-#if defined(__WIN16__) && defined(__BORLANDC__)
-#undef wxUSE_WX_RESOURCES
-#define wxUSE_WX_RESOURCES 0
-#endif
+ // support for startup tips (wxShowTip &c)
#define wxUSE_DOC_VIEW_ARCHITECTURE 1
// Set to 0 to disable document/view architecture
#define wxUSE_ODBC 0
#endif
+// BC++/Win16 can't cope with the amount of data in resource.cpp
+#if defined(__WIN16__) && defined(__BORLANDC__)
+#undef wxUSE_WX_RESOURCES
+#define wxUSE_WX_RESOURCES 0
+#endif
+
#if defined(__WXMSW__) && defined(__WATCOMC__)
#undef wxUSE_LIBJPEG
#define wxUSE_LIBJPEG 0
MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size):
wxFrame(frame, -1, title, pos, size)
{
- grid = (wxGenericGrid *) NULL;
+ grid = (wxGrid*) NULL;
}
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
wxPen lightShadowPen(m_lightShadowColour, 1, wxSOLID);
wxPen hilightPen(m_hilightColour, 1, wxSOLID);
- if ( GetWindowStyleFlag() & wxSP_3D )
+ if ( GetWindowStyleFlag() & wxSW_3D )
{
dc.SetPen(mediumShadowPen);
dc.DrawLine(0, 0, w-1, 0);
dc.DrawLine(w-2, 1, w-2, h-2); // Right hand side
dc.DrawLine(1, h-2, w-1, h-2); // Bottom
}
- else if ( GetWindowStyleFlag() & wxSP_BORDER )
+ else if ( GetWindowStyleFlag() & wxSW_BORDER )
{
dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.SetPen(*wxBLACK_PEN);
* WriteDIB() - Writes a global handle in CF_DIB format*
* to a file. *
* *
- * PaletteSize() - Calculates the palette size in bytes *
+ * wxPaletteSize() - Calculates the palette size in bytes *
* of given DIB *
* *
* DibNumColors() - Determines the number of colors in DIB *
static DWORD PASCAL lwrite(int fh, VOID FAR *pv, DWORD ul);
static BOOL WriteDIB (LPTSTR szFile,HANDLE hdib);
-static WORD PaletteSize (VOID FAR * pv);
+WORD wxPaletteSize (VOID FAR * pv); // This is non-static as some apps use it externally
static WORD DibNumColors (VOID FAR * pv);
// HANDLE DibFromBitmap (HBITMAP hbm, DWORD biStyle, WORD biBits, HPALETTE hpal);
static BOOL PASCAL MakeBitmapAndPalette(HDC,HANDLE,HPALETTE *,HBITMAP *);
hdr.bfReserved1 = 0;
hdr.bfReserved2 = 0;
hdr.bfOffBits = (DWORD) sizeof(BITMAPFILEHEADER) + lpbi->biSize +
- PaletteSize(lpbi);
+ wxPaletteSize(lpbi);
/* Write the file header */
_lwrite(fh, (LPSTR) &hdr, sizeof(BITMAPFILEHEADER));
/****************************************************************************
* *
- * FUNCTION : PaletteSize(VOID FAR * pv) *
+ * FUNCTION : wxPaletteSize(VOID FAR * pv) *
* *
* PURPOSE : Calculates the palette size in bytes. If the info. block *
* is of the BITMAPCOREHEADER type, the number of colors is *
* *
****************************************************************************/
-static WORD PaletteSize(VOID FAR * pv)
+WORD wxPaletteSize(VOID FAR * pv)
{
LPBITMAPINFOHEADER lpbi;
WORD NumColors;
bi.biClrUsed = 0;
bi.biClrImportant = 0;
- dwLen = bi.biSize + PaletteSize(&bi);
+ dwLen = bi.biSize + wxPaletteSize(&bi);
hdc = GetDC((HWND) NULL);
hpal = SelectPalette(hdc, hpal, FALSE);
}
/* realloc the buffer big enough to hold all the bits */
- dwLen = bi.biSize + PaletteSize(&bi) + bi.biSizeImage;
+ dwLen = bi.biSize + wxPaletteSize(&bi) + bi.biSizeImage;
if (h = GlobalReAlloc(hdib, dwLen, 0))
hdib = h;
else {
hbm,
0,
(WORD) bi.biHeight,
- (LPSTR) lpbi + (WORD) lpbi->biSize + PaletteSize(lpbi),
+ (LPSTR) lpbi + (WORD) lpbi->biSize + wxPaletteSize(lpbi),
(LPBITMAPINFO) lpbi, DIB_RGB_COLORS) == 0) {
GlobalUnlock(hdib);
hdib = NULL;
LPSTR wxFindDIBBits (LPSTR lpbi)
{
- return (lpbi + *(LPDWORD)lpbi + PaletteSize (lpbi));
+ return (lpbi + *(LPDWORD)lpbi + wxPaletteSize (lpbi));
}
//---------------------------------------------------------------------
// into this memory, and find out where the bitmap bits go.
hDIB = GlobalAlloc (GHND, sizeof (BITMAPINFOHEADER) +
- PaletteSize ((LPSTR) &bmInfoHdr) + bmInfoHdr.biSizeImage);
+ wxPaletteSize ((LPSTR) &bmInfoHdr) + bmInfoHdr.biSizeImage);
if (!hDIB)
return NULL;
0));
GenerateSample("FractalVC", "fractal", dir + wxString("/samples/fractal"), wxStringList("fractal.cpp", 0));
GenerateSample("GridVC", "test", dir + wxString("/samples/grid"), wxStringList("test.cpp", 0));
+ GenerateSample("NewGridVC", "griddemo", dir + wxString("/samples/newgrid"), wxStringList("griddemo.cpp", 0));
GenerateSample("HelpVC", "demo", dir + wxString("/samples/help"), wxStringList("demo.cpp", 0));
// wxHTML samples