From 5eae411929abf27882cb9da8e20ef3b81664debd Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 25 Dec 1999 20:26:26 +0000 Subject: [PATCH 1/1] moved 1.6X -> 2.X porting manual to main book git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/porting/back.gif | Bin 225 -> 0 bytes docs/latex/porting/books.bmp | Bin 1222 -> 0 bytes docs/latex/porting/books.gif | Bin 242 -> 0 bytes docs/latex/porting/bullet.bmp | Bin 198 -> 0 bytes docs/latex/porting/contents.gif | Bin 231 -> 0 bytes docs/latex/porting/forward.gif | Bin 109 -> 0 bytes docs/latex/porting/porting.hpj | 16 -- docs/latex/porting/tex2rtf.ini | 28 --- docs/latex/porting/texhelp.sty | 289 ------------------------- docs/latex/porting/up.gif | 1 - docs/latex/wx/manual.tex | 2 + docs/latex/{porting => wx}/porting.tex | 111 ++++------ 12 files changed, 42 insertions(+), 405 deletions(-) delete mode 100644 docs/latex/porting/back.gif delete mode 100644 docs/latex/porting/books.bmp delete mode 100644 docs/latex/porting/books.gif delete mode 100644 docs/latex/porting/bullet.bmp delete mode 100644 docs/latex/porting/contents.gif delete mode 100644 docs/latex/porting/forward.gif delete mode 100644 docs/latex/porting/porting.hpj delete mode 100644 docs/latex/porting/tex2rtf.ini delete mode 100644 docs/latex/porting/texhelp.sty delete mode 100644 docs/latex/porting/up.gif rename docs/latex/{porting => wx}/porting.tex (90%) diff --git a/docs/latex/porting/back.gif b/docs/latex/porting/back.gif deleted file mode 100644 index 8a61076d3ba74bdedc1d24f60c3d1f5a361a6cee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmV<703QEGNk%v~VLt#E0Pz3-zrVld=jU&4Z(9HWEC2ui06zd20008IjE||y?GK}z zNf>~$-n{z{YJwGn=81mem9{RpmcUHc_KoNIPRH~B4DyD9p%LJl6@Sa4^Epcbno6kk zD5XxT&EQg7>t<(Iwfoo diff --git a/docs/latex/porting/books.bmp b/docs/latex/porting/books.bmp deleted file mode 100644 index cf1e148734c807052ec6359ad2eb1a3e8d43d43d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmb7?v2KGf5Qg0-f^PH?BCA8E<{c_a$x@Y}nZr;qXR5NnfE2boQZn^-S4x_%j?%%`Rfz!C$uHnGuoYEAr~D;JxHUzQYZhY(}{X$xY0SE&#JC# z5a%D|9QDv}6Qc3-Wv8+GlQ-*8<`8epNC>=NSLPUH1b$st*H{R=IXD*!fgA8x5Dt6l zUCo=!AsqI8={C$E9QGLr_q_i zFK;h=LxQhf>;v~gWIyoy(Zu$`w=UNZZuYl$t>-8&*n94Z?RTzqLWjlGhdMVK;w1@P zgX#l^|MHTQ1q9k0=J>%Sz9`L#Hix;bEVz#^(qoBse!qj(7b diff --git a/docs/latex/porting/books.gif b/docs/latex/porting/books.gif deleted file mode 100644 index 036d016fb16b793dd714a3916251f59b7efc654d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmZ?wbhEHb)MwCR*vtR|`@wiWnA#8I?caakz=4K_hW|kE{|x`Z6p#k8fI#sl3nK#q zKZ6cPC&&y2mVX~kdamAU@%rrU{|Op>ib=ClxMcXbmpr~@cYwQjllG1B@c#@4*Bxh6 zXgW0aLdB!6GuAT~S-RNt`OVPr@_rW=wo=ji*1082C&e=)?D>Nd&T?mLf1Rh>9rogT zb5=!pc{od3n0ygKU42Pea&8+-0S8NmU4OSQYXiUa%t^xRQ&~D^_RQ&<*e14knp~++ aGOJLpXX!!_Q{5#SmiGi(ui53dZaM&TQeqzf diff --git a/docs/latex/porting/bullet.bmp b/docs/latex/porting/bullet.bmp deleted file mode 100644 index 6481f5143b934b2b2fad561a9b39fb441944418a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmZ?rJ;ne5Wk5;;h`FGck%0v)5dbE!5e*CsK*Z3{0HJ^+kjZf1zyTl)lK2ls4FCUw iSU?PfAR!PR1i)haVEO|{7|2Jb|1&`3;p$=f&}abvMLt>p diff --git a/docs/latex/porting/contents.gif b/docs/latex/porting/contents.gif deleted file mode 100644 index 3dddfa3dd5f0c652e8b27cd6c29e1fdd49ced5a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmVG0Pz3-zrVld=jU&4Z(9HWEC2ui06_p40008OjE||y?GK}z zO&EZ)-n{z{a)K3v=81;mmA0S4Fj_r^UyThZDG{h6k9m zHI_(7spd!5_$SH6m{9_k^7`NQ&{w!+r zf%KU9zk~h~zZD#X^N5AuKea*5ueKt+`*Q6=#S#sWkN~ N6xIITmGWvyEC7KBF*X1I diff --git a/docs/latex/porting/porting.hpj b/docs/latex/porting/porting.hpj deleted file mode 100644 index 75e76d091b..0000000000 --- a/docs/latex/porting/porting.hpj +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -TITLE=wxWindows Porting Guide -CONTENTS=Contents -COMPRESS=HIGH - -[FILES] -porting.rtf - -[CONFIG] -CreateButton("Up", "&Up", "JumpId(`porting.hlp', `Contents')") -BrowseButtons() - -[MAP] - -[BITMAPS] - diff --git a/docs/latex/porting/tex2rtf.ini b/docs/latex/porting/tex2rtf.ini deleted file mode 100644 index 304529b8e4..0000000000 --- a/docs/latex/porting/tex2rtf.ini +++ /dev/null @@ -1,28 +0,0 @@ -;;; Tex2RTF initialisation file for 16-bit Winhelp -runTwice = yes -titleFontSize = 12 -authorFontSize = 10 -authorFontSize = 10 -chapterFontSize = 12 -sectionFontSize = 12 -subsectionFontSize = 12 -contentsDepth = 2 -headerRule = yes -footerRule = yes -useHeadingStyles = yes -listItemIndent=40 -generateHPJ = no -htmlBrowseButtons = bitmap -winHelpContents = yes -winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95 -winHelpTitle = "wxWindows Porting Guide" -truncateFilenames = yes -combineSubSections = yes -\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}} -\htmlonly{\image{}{books.gif}}\helpref{#1}{#2} -\sethotspotcolour{on}\sethotspotunderline{on}} -\docparam [2]{\parskip{0}{\it #1}\par\parskip{10}\indented{1cm}{#2}} -\wxheading [1]{{\bf \fcol{blue}{#1}}} -\const [0] {{\bf const}} -\constfunc [3] {{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}} - diff --git a/docs/latex/porting/texhelp.sty b/docs/latex/porting/texhelp.sty deleted file mode 100644 index 81704b0575..0000000000 --- a/docs/latex/porting/texhelp.sty +++ /dev/null @@ -1,289 +0,0 @@ -% LaTeX style file -% Name: texhelp.sty -% Author: Julian Smart -% -% Purpose -% ------- -% Style file to enable the simultaneous preparation of printed LaTeX and on-line -% hypertext manuals. -% Use in conjunction with Tex2RTF (see Tex2RTF documentation). -% -% Note that if a non-ASCII character starts a newline and there should be a space -% between the last word on the previous line and the first word on this line, -% you need to use \rtfsp to generate a space in Windows Help. \rtfsp is ignored -% in all other formats. -% -% Julian Smart -% Artificial Intelligence Applications Institute -% -% -% ============== C++/CLIPS Documentation Facilities ============== -% -% Each class definition should be typeset with e.g. -% -% \section{\class{Name}: Parent} -% -% followed by a description of the class. -% Each member should follow: -% -% \membersection{wxName::Member} -% -% with a description of what this member does. -% Then, one (or more if overloaded) member (function) in detail: -% -% \func{return type}{name}{args} -% or -% \member{type}{name} -% -% where args is a list of \param{type}{name}, ... - -% Function, e.g. -% e.g. to typeset -% -% void DoIt(char *string); -% -% write: -% -% \func{void}{DoIt}{\param{char *}{string}} -% - -\newcommand{\func}[3]{\hangafter=1\noindent\hangindent=10mm -{{\it #1} {\bf #2}\index{#2}}(#3)} - -% For function/type definition where the name is a pointer, -% e.g. to typeset -% -% typedef void (*wxFunction)(wxObject&) -% -% write: -% -% \pfunc{typedef void}{wxFunction}{param{wxObject&}} - -\newcommand{\pfunc}[3]{\hangafter=1\noindent\hangindent=10mm -{{\it #1} ({\bf *#2})\index{#2}}(#3)} - -% Use an ordinary \section command for class name definitions. - -% This is used for a member, such as wxBitmap: GetDepth -\newcommand{\membersection}[1]{\subsection*{#1}\index{#1}} - -% CLIPS function -\newcommand{\clipsfunc}[3]{\hangafter=1\noindent\hangindent=10mm -{{\bf #1} ({\bf #2}\index{#2}}#3)} - -\newcommand{\clipssection}[1]{\chapter{#1}} - -% This is used for a CLIPS function name -\newcommand{\functionsection}[1]{\subsection*{#1}} - -% Member: a type and a name -\newcommand{\member}[2]{{\bf #1 \it #2}} - -% C++ Parameter: a type and a name (no intervening space) -\newcommand{\param}[2]{{\it #1}{\bf #2}} - -% CLIPS Parameter: a type and a name (one intervening space) -\newcommand{\cparam}[2]{{\bf #1} {\it #2}} - -% Class: puts in index -\newcommand{\class}[1]{#1\index{#1}} - -% Void type -\newcommand{\void}{{\it void}} - -% Typeset destructor -\newcommand{\destruct}[1]{{$\sim$}#1} - -% Typeset insert/extract operators -\newcommand{\cinsert}{$<<$} -\newcommand{\cextract}{$>>$} - - -% =================== Hypertext facilities =================== -% -% To insert hyperlinks (or references, in Latex), \label the sections -% or membersections \label{ref-label} immediately after the section, on the same line, -% and use \helpref{text-to-show}{ref-label} to make a reference. -% - -% Type text with section reference -\newcommand{\helpref}[2]{{\it #1} (p.\ \pageref{#2}) } - -% Type text with URL in verbatim mode -\newcommand{\urlref}[2]{#1 (\verb$#2$)} - -% Don't typeset section number in LaTeX -\newcommand{\helprefn}[2]{{\it #1}} - -% Like helpref, but popup text in WinHelp instead of hyperlinked -\newcommand{\popref}[2]{{\it #1}} - -% Like footnote, but popup text. -\newcommand{\footnotepopup}[2]{{\it #1}\footnote{#2}} - -% =================== On-line help specific macros =================== -% - -% Global document font size/family, help only. -\newcommand{\helpfontsize}[1]{} -\newcommand{\helpfontfamily}[1]{} - -% Ignore in all on-line help -\newcommand{\helpignore}[1]{#1} -% Only print in all on-line help -\newcommand{\helponly}[1]{} - -% Ignore in LaTeX -\newcommand{\latexignore}[1]{} -% Only print in LaTeX -\newcommand{\latexonly}[1]{#1} - -% Ignore in linear RTF -\newcommand{\rtfignore}[1]{#1} -% Only print in linear RTF -\newcommand{\rtfonly}[1]{} - -% Ignore in WinHelp RTF -\newcommand{\winhelpignore}[1]{#1} -% Only print in WinHelp RTF -\newcommand{\winhelponly}[1]{} - -% Ignore in wxHelp -\newcommand{\xlpignore}[1]{#1} -% Only print in wxHelp -\newcommand{\xlponly}[1]{} - -% Ignore in HTML -\newcommand{\htmlignore}[1]{#1} -% Only print in HTML -\newcommand{\htmlonly}[1]{} - -% Input a file only for help system (binder thickness is not a limitation -% in help systems!) -\newcommand{\helpinput}[1]{} - -\newcommand{\rtfsp}{ } % Force a space in RTF, ignore in Latex - -% =================== Miscellaneous macros =================== -% -% Headings consistent with generated ones -\newcommand{\myheading}[1]{\vspace*{25pt} -\begin{flushleft} -{\LARGE \bf #1} -\end{flushleft} -\vskip 20pt -} - -% Heading with entry in contents page. -\newcommand{\chapterheading}[1]{\myheading{#1} -\addcontentsline{toc}{chapter}{#1}} - -\newcommand{\sectionheading}[1]{\myheading{#1} -\addcontentsline{toc}{section}{#1}} - -% Glossary environment -\newenvironment{helpglossary}{\newpage\chapterheading{Glossary}\begin{description}}{\end{description}} - -% Glossary entry -\newcommand{\gloss}[1]{\item[#1]\index{#1}} - -% Image: EPS in Latex, BMP or MF (whatever's available) in RTF. Requires psbox. -\newcommand{\image}[2]{\psboxto(#1){#2}} - -% Image, left aligned (HTML) -\newcommand{\imager}[2]{\psboxto(#1){#2}} - -% Image, right aligned (HTML) -\newcommand{\imagel}[2]{\psboxto(#1){#2}} - -% Imagemap: principally for HTML only. In Latex, -% acts like \image. -\newcommand{\imagemap}[3]{\psboxto(#1){#2}} - -% Headers and footers -% \setheader{EvenPageLeft}{EvenPageCentre}{EvenPageRight} -% {OddPageLeft}{OddPageCentre}{OddPageRight} -\newcommand{\setheader}[6]{ -\lhead[\fancyplain{}{#1}]{\fancyplain{}{#4}} -\chead[\fancyplain{}{#2}]{\fancyplain{}{#5}} -\rhead[\fancyplain{}{#3}]{\fancyplain{}{#6}} -} - -% \setfooter{EvenPageLeft}{EvenPageCentre}{EvenPageRight} -% {OddPageLeft}{OddPageCentre}{OddPageRight} -\newcommand{\setfooter}[6]{ -\lfoot[\fancyplain{#1}{#1}]{\fancyplain{#4}{#4}} -\cfoot[\fancyplain{#2}{#2}]{\fancyplain{#5}{#5}} -\rfoot[\fancyplain{#3}{#3}]{\fancyplain{#6}{#6}} -} - -% Needed for telling RTF where margin paragraph should go -% in mirrored margins mode. -\newcommand{\marginpareven}[1]{\hspace*{0pt}\marginpar{#1}} -\newcommand{\marginparodd}[1]{\hspace*{0pt}\marginpar{#1}} - -% Environment for two-column table popular in WinHelp and manuals. -\newcommand{\twocolwidtha}[1]{\def\twocolwidthaval{#1}} -\newcommand{\twocolwidthb}[1]{\def\twocolwidthbval{#1}} -\newcommand{\twocolspacing}[1]{\def\twocolspacingval{#1}} - -\twocolwidtha{3cm} -\twocolwidthb{8.5cm} -\twocolspacing{2} - -\newcommand{\twocolitem}[2]{#1 & #2\\} -\newcommand{\twocolitemruled}[2]{#1 & #2\\\hline} - -\newenvironment{twocollist}{\renewcommand{\arraystretch}{\twocolspacingval}\begin{tabular}{lp{\twocolwidthbval}}}% -{\end{tabular}\renewcommand{\arraystretch}{1}} - -% Specifying table rows for RTF compatibility -\newcommand{\row}[1]{#1\\} - -% Use for the last ruled row for correct RTF generation. -\newcommand{\ruledrow}[1]{#1\\\hline} - -% Indentation environment. Arg1 is left margin size -\newenvironment{indented}[1]{\begin{list}{}{\leftmargin=#1}\item[]}% -{\end{list}} - -% Framed box of text, normal formatting. -\newcommand{\normalbox}[1]{\fbox{\vbox{#1}}} -% Double-framed box of text. -\newcommand{\normalboxd}[1]{\fbox{\fbox{\vbox{#1}}}} - -% WITHDRAWN -- can't do in RTF, easily. -% Framed box of text, horizontally centred. Ragged right within box. -% \newcommand{\centeredbox}[2]{\begin{center}\fbox{\parbox{#1}{\raggedright#2}}\end{center}} -% Double-framed box of text, horizontally centred. Ragged right within box. -% \newcommand{\centeredboxd}[2]{\begin{center}\fbox{\fbox{\parbox{#1}{\raggedright#2}}}\end{center}} - -% toocomplex environment: simply prints the argument in LaTeX, -% comes out verbatim in all generated formats. -\newenvironment{toocomplex}{}{} - -% Colour: dummy commands since LaTeX doesn't support colour. -% \definecolour{name}{red}{blue}{green} -% \fcol{name}{text} ; Foreground -% \bcol{name}{text} ; Background -\newcommand{\definecolour}[4]{} -\newcommand{\definecolor}[4]{} -\newcommand{\fcol}[2]{#2} -\newcommand{\bcol}[2]{#2} -\newcommand{\sethotspotcolour}[1]{} -\newcommand{\sethotspotunderline}[1]{} -\newcommand{\settransparency}[1]{} -\newcommand{\backslashraw}[0]{} -\newcommand{\lbraceraw}[0]{} -\newcommand{\rbraceraw}[0]{} -\newcommand{\registered}[0]{(r)} -\newcommand{\background}[1]{} -\newcommand{\textcolour}[1]{} -\newcommand{\overview}[2]{See \helpref{#1}{#2}.} -\newcommand{\docparam}[2]{{\it #1}\begin{list}{}{\leftmargin=1cm}\item[] -#2% -\end{list}} -\newcommand{\wxheading}[1]{{\bf #1}} -\newcommand{\const}[0]{{\bf const}} -\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}} - diff --git a/docs/latex/porting/up.gif b/docs/latex/porting/up.gif deleted file mode 100644 index f9e7031e64..0000000000 --- a/docs/latex/porting/up.gif +++ /dev/null @@ -1 +0,0 @@ -GIF87a \ No newline at end of file diff --git a/docs/latex/wx/manual.tex b/docs/latex/wx/manual.tex index aa15549152..c7c1ac9b17 100644 --- a/docs/latex/wx/manual.tex +++ b/docs/latex/wx/manual.tex @@ -661,7 +661,9 @@ That's all there is to it! \input{category.tex} \input{topics.tex} \input{wxhtml.tex} +\input{proplist.tex} \input{wxPython.tex} +\input{porting.tex} \begin{comment} \newpage diff --git a/docs/latex/porting/porting.tex b/docs/latex/wx/porting.tex similarity index 90% rename from docs/latex/porting/porting.tex rename to docs/latex/wx/porting.tex index 6729f323eb..306260b397 100644 --- a/docs/latex/porting/porting.tex +++ b/docs/latex/wx/porting.tex @@ -1,36 +1,6 @@ -\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report} -\newcommand{\indexit}[1]{#1\index{#1}}% -\newcommand{\pipe}[0]{$\|$\ }% -\definecolour{black}{0}{0}{0}% -\definecolour{cyan}{0}{255}{255}% -\definecolour{green}{0}{255}{0}% -\definecolour{magenta}{255}{0}{255}% -\definecolour{red}{255}{0}{0}% -\definecolour{blue}{0}{0}{200}% -\definecolour{yellow}{255}{255}{0}% -\definecolour{white}{255}{255}{255}% -\input psbox.tex -\parskip=10pt -\parindent=0pt -\title{Guide to porting applications from wxWindows 1.xx to 2.0} -\author{Julian Smart} -\date{March 1999} -\makeindex -\begin{document} -\maketitle -\pagestyle{fancyplain} -\bibliographystyle{plain} -\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}} -\setfooter{\thepage}{}{}{}{}{\thepage}% -\pagenumbering{roman} -\tableofcontents -% -\chapter{About this document}\label{about} -\pagenumbering{arabic}% -\setheader{{\it Porting guide}}{}{}{}{}{{\it Porting guide}}% -\setfooter{\thepage}{}{}{}{}{\thepage}% - -This document gives guidelines and tips for porting applications from +\chapter{Porting from wxWindows 1.xx}\label{porting} + +This addendum gives guidelines and tips for porting applications from version 1.xx of wxWindows to version 2.0. The first section offers tips for writing 1.xx applications in a way to @@ -53,7 +23,7 @@ future. {\it Please note that this document is a work in progress.} -\chapter{Preparing for version 2.0}\label{preparing} +\section{Preparing for version 2.0}\label{portingpreparing} Even before compiling with version 2.0, there's also a lot you can do right now to make porting relatively simple. Here are a few tips. @@ -122,13 +92,13 @@ zero in the {\it multiple} parameter. The {\it multiple} parameter will be remov MDI sample is. In wxWindows 2.0, MDI functionality is separated into distinct classes. \end{itemize} -\chapter{The new event system}\label{eventsystem} +\section{The new event system}\label{portingeventsystem} The way that events are handled has been radically changed in wxWindows 2.0. Please read the topic `Event handling overview' in the wxWindows 2.0 manual for background on this. -\section{Callbacks} +\subsection{Callbacks} Instead of callbacks for panel items, menu command events, control commands and other events are directed to the originating window, or an ancestor, or an event handler that has been plugged into the window @@ -151,14 +121,14 @@ Control commands, such as button commands, can be routed to a derived button cla the parent window, or even the frame. Here, you use a function of the form EVT\_BUTTON(id, func). Similar macros exist for other control commands. -\section{Other events} +\subsection{Other events} To intercept other events, you used to override virtual functions, such as OnSize. Now, while you can use the OnSize name for such event handlers (or any other name of your choice), it has only a single argument (wxSizeEvent) and must again be `mapped' using the EVT\_SIZE macro. The same goes for all other events, including OnClose (although in fact you can still use the old, virtual form of OnClose for the time being). -\chapter{Class hierarchy}\label{classhierarchy} +\section{Class hierarchy}\label{portingclasshierarchy} The class hierarchy has changed somewhat. wxToolBar and wxButtonBar classes have been split into several classes, and are derived from wxControl (which was @@ -170,9 +140,9 @@ There are new MDI classes so that wxFrame does not have to be overloaded with th functionality. There are new device context classes, with wxPanelDC and wxCanvasDC disappearing. -See \helpref{Device contexts and painting}{dc}. +See \helpref{Device contexts and painting}{portingdc}. -\chapter{GDI objects}\label{gdiobjects} +\section{GDI objects}\label{portinggdiobjects} These objects - instances of classes such as wxPen, wxBrush, wxBitmap (but not wxColour) - are now implemented with reference-counting. This makes assignment a very cheap operation, @@ -192,7 +162,7 @@ unless this causes too much of an overhead in your application. At a minimum, you will have to make sure that calls to SetPen, SetBrush etc. work. Also, where you pass NULL to these functions, you will need to use an identifier such as wxNullPen or wxNullBrush. -\chapter{Dialogs and controls}\label{dialogscontrols} +\section{Dialogs and controls}\label{portingdialogscontrols} \wxheading{Labels} @@ -252,7 +222,7 @@ instead, which takes standard dialogs and panels and associates controls with pr You may also find that the new validation method, combined with dialog resources, is easier and more flexible than using wxForm. -\chapter{Device contexts and painting}\label{dc} +\section{Device contexts and painting}\label{portingdc} In wxWindows 2.0, device contexts are used for drawing into, as per 1.xx, but the way they are accessed and constructed is a bit different. @@ -274,9 +244,9 @@ no longer exists. wxMetaFile and wxMetaFileDC have been renamed to wxMetafile and wxMetafileDC. -\chapter{Miscellaneous} +\section{Miscellaneous} -\section{Strings} +\subsection{Strings} wxString has replaced char* in the majority of cases. For passing strings into functions, this should not normally require you to change your code if the syntax is otherwise the @@ -307,7 +277,7 @@ with this: To indicate an empty return value or a problem, a function may return either the empty string (``") or a null string. You can check for a null string with wxString::IsNull(). -\section{Use of const} +\subsection{Use of const} The {\bf const} keyword is now used to denote constant functions that do not affect the object, and for function arguments to denote that the object passed cannot be changed. @@ -318,19 +288,19 @@ check whether there is a parameter mismatch (or function type mismatch) involvin Try to use the {\bf const} keyword in your own code where possible. -\chapter{Backward compatibility}\label{compat} +\section{Backward compatibility}\label{portingcompat} Some wxWindows 1.xx functionality has been left to ease the transition to 2.0. This functionality (usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1 in setup.h. Mostly this defines old names to be the new names (e.g. wxRectangle is defined to be wxRect). -\chapter{Quick reference}\label{quickreference} +\section{Quick reference}\label{portingquickreference} This section allows you to quickly find features that need to be converted. -\section{Include files} +\subsection{Include files} Use the form: @@ -362,30 +332,30 @@ For precompiled header support, use this form: #include \end{verbatim} -\section{IPC classes} +\subsection{IPC classes} These are now separated out into wxDDEServer/Client/Connection (Windows only) and wxTCPServer/Client/Connection (Windows and Unix). Take care to use wxString for your overridden function arguments, instead of char*, as per the documentation. -\section{MDI style frames} +\subsection{MDI style frames} MDI is now implemented as a family of separate classes, so you can't switch to MDI just by using a different frame style. Please see the documentation for the MDI frame classes, and the MDI sample may be helpful too. -\section{OnActivate} +\subsection{OnActivate} Replace the arguments with one wxActivateEvent\& argument, make sure the function isn't virtual, and add an EVT\_ACTIVATE event table entry. -\section{OnChar} +\subsection{OnChar} This is now a non-virtual function, with the same wxKeyEvent\& argument as before. Add an EVT\_CHAR macro to the event table for your window, and the implementation of your function will need very few changes. -\section{OnClose} +\subsection{OnClose} The old virtual function OnClose is now obsolete. Add an OnCloseWindow event handler using an EVT\_CLOSE event table entry. For details @@ -394,7 +364,7 @@ topic so please read it very carefully. Basically, OnCloseWindow is now responsi destroying a window with Destroy(), but the default implementation (for example for wxDialog) may not destroy the window, so to be sure, always provide this event handler so it's obvious what's going on. -\section{OnEvent} +\subsection{OnEvent} This is now a non-virtual function, with the same wxMouseEvent\& argument as before. However you may wish to rename it OnMouseEvent. Add an EVT\_MOUSE\_EVENTS macro to the event table @@ -403,12 +373,12 @@ However, if you wish to intercept different events using different functions, yo specify specific events in your event table, such as EVT\_LEFT\_DOWN. Your OnEvent function is likely to have references to GetDC(), so make sure you create -a wxClientDC instead. See \helpref{Device contexts}{dc}. +a wxClientDC instead. See \helpref{Device contexts}{portingdc}. If you are using a wxScrolledWindow (formerly wxCanvas), you should call PrepareDC(dc) to set the correct translation for the current scroll position. -\section{OnMenuCommand} +\subsection{OnMenuCommand} You need to replace this virtual function with a series of non-virtual functions, one for each case of your old switch statement. Each function takes a wxCommandEvent\& argument. @@ -416,7 +386,7 @@ Create an event table for your frame containing EVT\_MENU macros, and insert DECLARE\_EVENT\_TABLE() in your frame class, as per the samples. -\section{OnPaint} +\subsection{OnPaint} This is now a non-virtual function, with a wxPaintEvent\& argument. Add an EVT\_PAINT macro to the event table @@ -428,12 +398,12 @@ obtain the device context. If you are using a wxScrolledWindow (formerly wxCanvas), you should call PrepareDC(dc) to set the correct translation for the current scroll position. -\section{OnSize} +\subsection{OnSize} Replace the arguments with one wxSizeEvent\& argument, make it non-virtual, and add to your event table using EVT\_SIZE. -\section{wxApp definition} +\subsection{wxApp definition} The definition of OnInit has changed. Return a bool value, not a wxFrame. @@ -441,51 +411,51 @@ Also, do {\it not} declare a global application object. Instead, use the macros DECLARE\_APP and IMPLEMENT\_APP as per the samples. Remove any occurrences of IMPLEMENT\_WXWIN\_MAIN: this is subsumed in IMPLEMENT\_APP. -\section{wxButton} +\subsection{wxButton} For bitmap buttons, use wxBitmapButton. -\section{wxCanvas} +\subsection{wxCanvas} Change the name to wxScrolledWindow. -\section{wxDialogBox} +\subsection{wxDialogBox} Change the name to wxDialog, and for modal dialogs, use ShowModal instead of Show. -\section{wxDialog::Show} +\subsection{wxDialog::Show} If you used {\bf Show} to show a modal dialog or to override the standard modal dialog {\bf Show}, use {\bf ShowModal} instead. \wxheading{See also} -\helpref{Dialogs and controls}{dialogscontrols} +\helpref{Dialogs and controls}{portingdialogscontrols} -\section{wxForm} +\subsection{wxForm} Sorry, this class is no longer available. Try using the wxPropertyListView or wxPropertyFormView class instead, or use .wxr files and validators. -\section{wxPoint} +\subsection{wxPoint} The old wxPoint is called wxRealPoint, and wxPoint now uses integers. -\section{wxRectangle} +\subsection{wxRectangle} This is now called wxRect. -\section{wxScrollBar} +\subsection{wxScrollBar} The function names have changed for this class: please refer to the documentation for wxScrollBar. Instead of setting properties individually, you will call SetScrollbar with several parameters. -\section{wxText, wxMultiText, wxTextWindow} +\subsection{wxText, wxMultiText, wxTextWindow} Change all these to wxTextCtrl. Add the window style wxTE\_MULTILINE if you wish to have a multi-line text control. -\section{wxToolBar} +\subsection{wxToolBar} This name is an alias for the most popular form of toolbar for your platform. There is now a family of toolbar classes, with for example wxToolBar95, wxToolBarMSW and wxToolBarSimple classes existing @@ -495,4 +465,3 @@ Toolbar management is supported by frames, so calling wxFrame::CreateToolBar and enough, and the SDI or MDI frame will manage the positioning for you. The client area of the frame is the space left over when the menu bar, toolbar and status bar have been taken into account. -\end{document} -- 2.47.2