]> git.saurik.com Git - wxWidgets.git/commitdiff
wxBook mods.
authorJulian Smart <julian@anthemion.co.uk>
Mon, 14 Aug 2000 16:19:20 +0000 (16:19 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Mon, 14 Aug 2000 16:19:20 +0000 (16:19 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/book/book.tex
docs/latex/book/chap_acknowledge.tex [new file with mode: 0644]
docs/latex/book/chap_intro.tex

index e9bee7984a9a7ac09156f26b63c110434a4ccf8b..1293474189aa060f661af8d172f2e7d21ded908b 100644 (file)
@@ -1,14 +1,5 @@
 \documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report}
-% JACS: doesn't make it through Tex2RTF, sorry. I will put it into texhelp.sty
-% since Tex2RTF doesn't parse it.
-% BTW, style MUST be report for it to work for Tex2RTF.
-%KB:
-%\addtolength{\textwidth}{1in}
-%\addtolength{\oddsidemargin}{-0.5in}
-%\addtolength{\topmargin}{-0.5in}
-%\addtolength{\textheight}{1in}
-%\sloppy
-%end of my changes
+%
 \newcommand{\indexit}[1]{#1\index{#1}}%
 \newcommand{\pipe}[0]{$\|$\ }%
 \definecolour{black}{0}{0}{0}%
 %\special{!/@scaleunit 1 def}
 \parskip=10pt
 \parindent=0pt
+%
 \title{Multiplatform application development with wxWindows}
-\winhelponly{\author{by Julian Smart et al
-%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
-}}
-\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin,
-Robin Dunn, et al}
+\author{Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn, et al}
 \date{August 13th 2000}
-}
+%
 \makeindex
 \begin{document}
 \maketitle
@@ -43,6 +31,9 @@ Robin Dunn, et al}
 \pagenumbering{roman}
 \tableofcontents
 
+% Acknowledgements
+\input chap\_acknowledge.tex
+%
 % Chapter 01: Introduction, advocacy, etc.
 \input chap\_intro.tex
 %
diff --git a/docs/latex/book/chap_acknowledge.tex b/docs/latex/book/chap_acknowledge.tex
new file mode 100644 (file)
index 0000000..aafc15e
--- /dev/null
@@ -0,0 +1,9 @@
+\chapter*{Acknowledgements}\label{chapacknowledgements}
+\pagenumbering{arabic}%
+\setheader{{\it CHAPTER \thechapter: ACKNOWLEDGEMENTS}}{}{}{}{}{{\it CHAPTER \thechapter: ACKNOWLEDGEMENTS}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+We would like to acknowledge the help of the following people.
+
+(Insert list of people here.)
+
index 334d7f57d0b7bbf664a08d511decac6b99ea9171..9e1be01e8b1922fcc1ce9be38644337dbd71a742 100644 (file)
@@ -3,5 +3,166 @@
 \setheader{{\it CHAPTER \thechapter: INTRODUCING wxWINDOWS}}{}{}{}{}{{\it CHAPTER \thechapter: INTRODUCING wxWINDOWS}}%
 \setfooter{\thepage}{}{}{}{}{\thepage}%
 
-Introduction, advocacy, etc.
+\section{The need for portability}
+
+Not so long ago, it seemed as though Microsoft was on course to
+take over the desktop for good with the Windows range of
+operating systems. Unix was retreating to server territory and
+had all but given up the fight against NT. Apple was sickening
+and it seemed almost common sense that the quirky Mac had had
+its day.
+
+At the start of the new century, the picture has changed quite
+dramatically. Linux is advancing from its position of strength
+in the server market and is poised to make inroads on the
+desktop, where the high price of Windows gives it an advantage.
+Apple has made an impressive comeback and is revamping its own
+operating system. The embedded market continues to explode and
+has given rise to new niches for specialist operating systems.
+The keyword bow is diversity, when the best guess of a few years
+was that Microsoft would conquer all. More than ever,
+application developers need to keep their options open and
+targeting one platform only can be a recipe for commercial (or
+open source) disaster.
+
+In the light of this change in the computing landscape,
+cross-platform development (or multiplatform development as we
+call it in this book) has become quite a hot and sometimes
+bitterly controversial topic. There are a number of ways to
+achieve the goal of portability, and many tools and languages to choose from.
+However, it is still generally agreed wisdom that C++ is the
+language of choice for desktop applications that depend on
+speed, ease of delivery and compatibility with billions of lines
+of existing code. Plus, there are many hundreds of thousands of
+developers now experienced in C++ programming.
+
+The purpose of this book is to give you (the developer or
+interested manager) a solid grounding in one increasingly
+popular multiplatform solution: wxWindows. wxWindows is an open
+source GUI toolkit that has been on the scene since 1993 and has
+reached a high degree of stability and functionality. It is
+available for Linux (and most other Unix variants), all desktop
+versions of Microsoft Windows, and Mac. Other ports are in
+progress.
+
+\section{Why wxWindows?}
+
+While wxWindows is labelled a GUI development toolkit, it is in
+fact much more than that and has many features that are useful
+for many aspects of application development. This has to
+be the case, since the whole of a wxWindows application needs to
+be portable to different platforms, and not just the GUI
+component. So wxWindows provides classes for working with files
+and streams, multithreading, management of application settings,
+interprocess communication, and much else.
+
+wxWindows is open source, with a vibrant developer and user
+community, and may be used in any proprietary or non-proprietary
+project. wxWindows encompasses the whole spectrum of users from
+one-man software outfits to big-name companies such as Xerox,
+Lockheed-Martin, Pratt and Whitney, and Motorola; from computer
+science departments to medical research groups; from ecological
+research, to the telecommunications industry, and in a myriad of
+open source projects.
+
+When you use wxWindows you tap into an astonishing talent pool,
+with contributors from a wide range of backgrounds. Many aspects
+of application development that you might otherwise have to
+laboriously code yourself have been encapsulated by these
+developers in easy-to-use classes that you can plug into your
+code. Since there are a lot of people subscribed to the mailing
+lists, you'll enjoy discussions not only about wxWindows but
+often other matters close to the hearts of both experienced and
+inexperienced developers. And hopefully, one day you'll join in the
+success of wxWindows and become a contributor yourself!
+
+\section{The history of wxWindows}
+
+wxWindows was started in 1992 at the Artificial Intelligence
+Applications Institute, University of Edinburgh, by Julian
+Smart. Julian was designing a kind of meta-CASE tool called
+Hardy which needed to run on Windows as well as X-based Unix
+workstations. The existing commercial cross-platform tools were
+deemed too expensive for an in-house experimental project, so
+the only alternative was to build one. wxWindows (w for Microsoft
+Windows, x for the X Windowing System) started off with support for XView and MFC 1.0, and
+AIAI allowed it to be released to the Internet. As it became
+clear that XView was doomed, a Motif port was written. Borland
+C++ users began to request a version that was not dependent on
+MFC, so the Windows port was rewritten to use the native Windows
+API. Over time, a small but enthusiastic community of wxWindows
+users was established and a mailing list set up. Contributions
+and fixes were sent in, the largest contributions being the Mac
+and Xt ports. wxWindows gradually picked up more and more users
+from all over the world: commercial, government, and - most
+gratifying of all - company users who found that wxWindows
+offered a better product, and better support, than the
+commercial products they had looked at or used.
+
+During 1995, Markus Holzem released his port of wxWindows to Xt,
+the X toolkit. This meant that software could be written that
+would work on X systems without the need for installing Motif,
+which is a commercial product.
+
+In 1996, Julian left AIAI to pursue freelance consultancy, and
+there were few new releases. The seemingly unstoppable advance
+of Java was throwing some doubt on the future of C++ libraries.
+After many contributions, the wxWindows code was looking rather
+tired and in need of a serious rethink. At the start of 1997 it
+was make or break time - call it a day and move onto other
+things, or commit to re-engineering wxWindows with an API that
+was flexible enough for current and future user interface
+trends, with more 'widgets', and better use of C++. After an
+exchange between Julian Smart and Markus Holzem (the author of
+the Xt port), it was decided that it was worthwhile. Julian
+would do the Windows port, Markus the combined Motif/Xt port,
+with both contributing to the generic parts. wxWindows 2 API
+ideas and code started to take shape.
+
+During 1997 an effort to produce a standard Linux desktop
+environment was underway - GNOME. Its widget set was GTK+, built
+on top of X11 and it looked as though GTK+-based apps were to
+become the standard in the Linux universe. Its one major problem
+- GTK+ was C-based, and only a thin (and unportable) C++ wrapper
+existed for it. In August 1997, Wolfram Gloger made a suggestion
+that wxWindows 2 should be ported to GTK+ - Robert Roebling had
+initial reservations, but in general supported the idea. He
+became the prime mover for wxGTK and alphas were made available
+at the beginning of 1998. In May 1998 the Windows and GTK+ ports
+were merged and put into a CVS repository made available to all
+contributors to wxWindows.
+
+Markus Holzem had to drop out of the wxWindows 2 effort in early
+1998, but Julian Smart started a new wxMotif port. The idea of
+an Xt port was dropped, since there remain two possibilities for
+free Unix programming with wxWindows: wxGTK, and wxMotif with
+the Motif clone Lesstif.
+
+In September 1998, Stefan Csomor started a new version of the
+wxMac 2 port based in part on Greg Whitehead's initial work.
+Several releases have been made and the code will be integrated
+into the main CVS stream in Summer 2000.
+
+David Webster and Stefan Neis are working on an OS/2 port, and
+interest has been expressed in ports to other systems, such as
+BeOS.
+
+wxWindows 2.1.11 saw the bundling of Vaclav Slavik's impressive
+wxHTML classes, with subsequent enhancements including
+print/preview ability, and a helpview application and help
+controller class for cross-platform HTML help. wxHTML gives
+applications easy access to enviable formatted text viewing and
+reporting capabilities.
+
+During 2000 wxWindows will adopt Vaclav's XML resource system
+as a replacement for the WXR system; this will allow much
+greater flexibility and portability with support for
+sizers and many more controls than WXR.
+
+\section{How to use this book}
+
+The chapters in this book are meant to be fairly independent, but
+as usual, the ordering reflects a progression from basic concepts
+to more advanced ones, so the first few chapters at least
+should be read consecutively for best effect.