Added 'tardist' script for creating .tgz archives of wxWin; cured wxExecute

crash on wxMotif; added wxHelpControllerBase::SetViewer; added consts to wxColour
== and != operators; changed beta version; fixed wxChoice/wxComboBox bugs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 1999-02-18 14:55:34 +00:00
parent a5a19b8360
commit 33b64e6f8b
34 changed files with 332 additions and 208 deletions

View File

@ -1,2 +1,3 @@
src/bc32.ide
src/bc32d.ide
samples/bc32.ide

View File

@ -1,5 +1,7 @@
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/tardist
distrib/gtk/*
docs/readme.txt
docs/install.txt

View File

@ -19,6 +19,7 @@ docs/gtk/makewxgtk
include/wx/gtk/*.h
include/install-sh
include/wx/install-sh
src/Makefile
src/Makefile.in

View File

@ -44,6 +44,7 @@ src/iodbc/postgres/*.h
include/wx/motif/*.h
include/install-sh
include/wx/install-sh
docs/motif/*.txt
docs/motif/makewxmotif

100
distrib/msw/tardist Normal file
View File

@ -0,0 +1,100 @@
#!/bin/sh
# tardist: make up a tar.gz distribution of wxWindows 2
# Supply a source (e.g. ~/wx2) and destination (e.g. ~/wx2/deliver)
init=""
if [ $1 = "" ]
then
exit
fi
if [ $2 = "" ]
then
exit
fi
echo About to archive wxWindows:
echo From $1
echo To $2
echo CTRL-C if this is not correct.
read dummy
cd $1
echo Removing backup files...
rm *~ */*~ */*/*~ */*/*/*~ */*/*/*/*~
rm -f $2/wxgtk.tar.gz
rm -f $2/wxmotif.tar.gz
rm -f $2/wxdocsrc.tar.gz
rm -f $2/wxhtml.tar.gz
rm -f $2/wxpdf.tar.gz
rm -f $2/wxstubs.tar.gz
rm -f $2/tex2rtf.tar.gz
rm -f $2/ogl.tar.gz
rm -f $2/wxtree.tar.gz
rm -f $2/glcanvas.tar.gz
echo Tarring...
### wxGTK
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/gtk.rsp` > /tmp/wxgtk.txt
tar cvf $2/wxgtk.tar -T /tmp/wxgtk.txt
gzip $2/wxgtk.tar
mv $2/wxgtk.tar.gz $2/wxgtk.tgz
### wxMotif
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/motif.rsp` > /tmp/wxmotif.txt
tar cvf $2/wxmotif.tar -T /tmp/wxmotif.txt
gzip $2/wxmotif.tar
mv $2/wxmotif.tar.gz $2/wxmotif.tgz
### Doc sources
ls `cat $1/distrib/msw/docsrc.rsp` > /tmp/docsrc.txt
tar cvf $2/wxdocsrc.tar -T /tmp/docsrc.txt
gzip $2/wxdocsrc.tar
mv $2/wxdocsrc.tar.gz $2/wxdocsrc.tgz
### HTML docs
ls `cat $1/distrib/msw/wx_html.rsp` > /tmp/html.txt
tar cvf $2/wxhtml.tar -T /tmp/html.txt
gzip $2/wxhtml.tar
mv $2/wxhtml.tar.gz $2/wxhtml.tgz
### PDF docs
ls `cat $1/distrib/msw/wx_pdf.rsp` > /tmp/pdf.txt
tar cvf $2/wxpdf.tar -T /tmp/pdf.txt
gzip $2/wxpdf.tar
mv $2/wxpdf.tar.gz $2/wxpdf.tgz
### Stubs files
ls `cat $1/distrib/msw/stubs.rsp` > /tmp/stubs.txt
tar cvf $2/wxstubs.tar -T /tmp/stubs.txt
gzip $2/wxstubs.tar
mv $2/wxstubs.tar.gz $2/wxstubs.tgz
### Tex2RTF
ls `cat $1/distrib/msw/tex2rtf.rsp` > /tmp/tex2rtf.txt
tar cvf $2/tex2rtf.tar -T /tmp/tex2rtf.txt
gzip $2/tex2rtf.tar
mv $2/tex2rtf.tar.gz $2/tex2rtf.tgz
### OGL
ls `cat $1/distrib/msw/ogl.rsp` > /tmp/ogl.txt
tar cvf $2/ogl.tar -T /tmp/ogl.txt
gzip $2/ogl.tar
mv $2/ogl.tar.gz $2/ogl.tgz
### wxGLCanvas
ls `cat $1/distrib/msw/glcanvas.rsp` > /tmp/glcanvas.txt
tar cvf $2/glcanvas.tar -T /tmp/glcanvas.txt
gzip $2/glcanvas.tar
mv $2/glcanvas.tar.gz $2/glcanvas.tgz
### wxTreeLayout
ls `cat $1/distrib/msw/wxtree.rsp` > /tmp/wxtree.txt
tar cvf $2/wxtree.tar -T /tmp/wxtree.txt
gzip $2/wxtree.tar
mv $2/wxtree.tar.gz $2/wxtree.tgz
echo Done!

View File

@ -1,11 +1,12 @@
wxWindows 2 Change Log
----------------------
Beta 5, February ?? 1999
Beta 5, February 18 1999
-------------------------
wxGTK:
- wxExecute improved.
wxMSW:
@ -14,12 +15,20 @@ wxMSW:
- Changed VC++ makefiles (.vc) so that it's possible to have
debug/release/DLL versions of the library available simultaneously,
with names wx.lib, wx_d.lib, wx200.lib(dll), wx200_d.lib(dll).
- Added BC++ 5 IDE files and instructions.
- Fixed wxChoice, wxComboBox constructor bugs (m_noStrings initialisation).
wxMotif:
- Cured asynchronous wxExecute crash.
General:
- wxLocale documented.
- Added include filenames to class reference.
- wxHelpController API changed: SetBrowser becomes SetViewer,
DisplaySection works for WinHelp, help sample compiles under Windows
(though doesn't display help yet).
Beta 4, February 12th 1999
--------------------------

View File

@ -4,7 +4,6 @@
\overview{Property classes overview}{propertyoverview}
\section{\class{wxBoolFormValidator}: wxPropertyFormValidator}\label{wxboolformvalidator}
\overview{Validator classes}{validatorclasses}

View File

@ -23,6 +23,7 @@ There are currently the following help controller classes defined:
\item wxWinHelpController, for controlling Windows Help.
\item wxExtHelpController, for controlling external browsers under Unix.
The default browser is Netscape Navigator.
\item wxXLPHelpController, for controlling wxHelp (from wxWindows 1).
\end{itemize}
\wxheading{Derived from}
@ -35,7 +36,8 @@ wxHelpControllerBase\\
<wx/help.h> (wxWindows chooses the appropriate help controller class)\\
<wx/helpbase.h> (wxHelpControllerBase class)\\
<wx/helpwin.h> (Windows Help controller)\\
<wx/generic/helpext.h> (external browser controller)
<wx/generic/helpext.h> (external HTML browser controller)
<wx/generic/helpxlp.h> (wxHelp controller)
\latexignore{\rtfignore{\wxheading{Members}}}
@ -58,7 +60,7 @@ Destroys the help instance, closing down the viewer if it is running.
\func{virtual void}{Initialize}{\param{const wxString\& }{file}, \param{int}{ server}}
Initializes the help instance with a help filename, and optionally a server (socket)
number. Does not invoke the help viewer.
number if using wxHelp. Does not invoke the help viewer.
This must be called directly after the help instance object is created and before
any attempts to communicate with the viewer.
@ -69,8 +71,12 @@ You may omit the file extension and a suitable one will be chosen.
\func{virtual bool}{DisplayBlock}{\param{long}{ blockNo}}
If the help viewer is not running, runs it and displays the file at the given block number.
The interpretation of {\it blockNo} differs between help viewers. If using Windows Help, this
refers to the context number. If wxHelp, this is the wxHelp block number.
{\it wxHelp:} this is the wxHelp block number.
{\it WinHelp:} Refers to the context number.
{\it External HTML help:} the same as for \helpref{wxHelpController::DisplaySection}{wxhelpcontrollerdisplaysection}.
\membersection{wxHelpController::DisplayContents}\label{wxhelpcontrollerdisplaycontents}
@ -84,24 +90,38 @@ contents.
\func{virtual bool}{DisplaySection}{\param{int}{ sectionNo}}
If the help viewer is not running, runs it and displays the given section.
Sections are numbered starting from 1.
For wxHelp, section numbers may be viewed by running wxHelp in edit mode.
{\it wxHelp:} Sections are numbered starting from 1. Section numbers may be viewed by running wxHelp in edit mode.
DisplaySection does not apply to WinHelp.
{\it WinHelp:} {\it sectionNo} is a context id.
{\it External HTML help:} wxExtHelpController implements {\it sectionNo} as an id in a map file, which is of the form:
\begin{verbatim}
0 wx.html ; Index
1 wx34.html#classref ; Class reference
2 wx204.html ; Function reference
\end{verbatim}
\membersection{wxHelpController::KeywordSearch}\label{wxhelpcontrollerkeywordsearch}
\func{virtual bool}{KeywordSearch}{\param{const wxString\& }{keyWord}}
If the help viewer is not running, runs it, and searches for sections matching the given keyword. If one
match is found, the file is displayed at this section. If more than one
match is found, the Search dialog is displayed with the matches (wxHelp)
or the first topic is displayed (Windows Help).
match is found, the file is displayed at this section.
{\it wxHelp:} If more than one
match is found, the Search dialog is displayed with the matches.
{\it WinHelp:} If more than one match is found,
the first topic is displayed.
{\it External HTML help:} If more than one match is found,
a choice of topics is displayed.
\membersection{wxHelpController::LoadFile}\label{wxhelpcontrollerloadfile}
\func{virtual bool}{LoadFile}{\param{const wxString\& }{file = NULL}}
\func{virtual bool}{LoadFile}{\param{const wxString\& }{file = ""}}
If the help viewer is not running, runs it and loads the given file.
If the filename is not supplied or is
@ -110,6 +130,19 @@ already displaying the specified file, it will not be reloaded. This
member function may be used before each display call in case the user
has opened another file.
\membersection{wxHelpController::SetViewer}\label{wxhelpcontrollersetviewer}
\func{virtual void}{SetViewer}{\param{const wxString\& }{viewer}, \param{long}{ flags}}
Sets detailed viewer information. So far this is only relevant to wxExtHelpController.
\wxheading{Parameters}
\docparam{viewer}{This defaults to "netscape" for wxExtHelpController.}
\docparam{flags}{This defaults to wxHELP\_NETSCAPE for wxExtHelpController, indicating
that the viewer is a variant of Netscape Navigator.}
\membersection{wxHelpController::OnQuit}\label{wxhelpcontrolleronquit}
\func{virtual bool}{OnQuit}{\void}

View File

@ -1,60 +1,30 @@
Readme for wxWindows 2.0 Ide-files
First release Feb. 1999, detlev@reymann-online.de
First release Feb. 16. 1999, detlev@reymann-online.de
1. What you can do with this IDE-files
1. What you can do with this ide-files
2. Where to install the files
3. How to modify them for your own needs
4. How to create IDE-files for your own wxWindows-programs
4. How to create ide-files for your own wxWindows-programs
1. What you can do with this IDE-files
1. What you can do with this ide-files
======================================
There are two IDE-files. One IDE-file should help you to create
the wxWindows library from within the Ide of Borlands C++, v.
5.x. The other one should help you to create most of the samples
of wxWindows the same way.
There are three ide-files. One ide-file should help you to create the wxWindows libraries from within the Ide of Borlands C++, v. 5.x. The second is called bc32d.ide and produces the debug-version of the wxWindows-library.
If you want to produce the debugging-version, using the special ide-file bc32d.ide you have to create a seperate subdirectory \WXWIN_PATH\src\debug.
The last one should help you to create most of the samples of wxWindows.
2. Where to install the files
=============================
You should copy the file named wxwin32_lib.IDE to the
src-directory of your wxWindows-Installation (e.g. C:\wxwin\src).
And the other file samples.IDE should be copied into the
samples-directory (e.g. C:\wxwin\samples).
You should copy the files for the libraries into the src-directory of your wxWindows-Installation (e.g. C:\wxwin\src).
And the other file for the samples should be copied into the samples-directory (e.g. C:\wxwin\samples).
3. How to modify them for your own needs
========================================
If your wxWindows-Installation resides on the same drive as your Borland-Compiler and additionally the Borland-Installation is the default (e.g. C:\BC5) then there should be no need to change anything.
Otherwise please change the path from within the ide (Options->project->directories). Because we use the $inherit-makro (Julian foung the trick), this should do the trick.
If your wxWindows-Installation resIDEs on the same drive as your
Borland-Compiler and additionally the Borland-Installation is
the default (e.g. C:\BC5) then there should be no need to change
anything. Otherwise please change the path from within the IDE
(Options->project->directories). This should be very easy for
the library-file. For the samples-file it can be neccessary to
change the settings for all programms seperately, because there
are local options for each of them. To do that, show the project
so that you can see the list with all the programs, right-click
onto each of them and choose local options. Then change the
directory-names.
4. How to create IDE-files for your own wxWindows-programs
4. How to create ide-files for your own wxWindows-programs
==========================================================
I think you are familiar with the necessary options for your own
program. So I will only describe what is neccessary to link
yout programm with the wxWindows-library. If you want to create
a IDE-file for your own wxWindows-program, create a new project
from the menu file->new->project. Deactivate all the
standard-options, the only two things that should be activated is
"static" for the libraries, if you want to use the library
produced with the library-IDE and the checkbox OLE (You can
leave this checkbox unchecked, but then you have to add the
library \bc5\lib\ole2w32.lib to your project). You have to add
the include-path of wxWindows to the include-path in the
options-dialog (options->project->directories->include). The
result should be something like:
path_of_my_program;\bc5\include;\wxwin2\include; Then you have
to add the libraries to the project. Open the project-view and
activate your programm. Then right-click and choose "add" and
select the wxWindows-library (e.g. \wxwin\lib\wx32.lib).
I think you are familiar with the necessary options for your own programm. So I will only describe what is neccessary to link yout programm with the wxWindows-library. If you want to create a ide-file for your own wxWindows-program, create a new project from the menu file->new->project. Deactivate all the standard-options, the only two thing that should be aktivated is "static" for the libraries, if you want to use the library produced with the library-ide and the checkbox OLE (You can leave this checkbox unchecked, but then you have to add the library \bc5\lib\ole2w32.lib to your project). You have to add the include-path of wxWindows to the include-path in the options-dialog (options->project->directories->include). The result should be something like:
path_of_my_program;\bc5\include;\wxwin2\include;
Then you have to add the libraries to the project.
Open the project-view and activate your programm. Then right-click and choose "add" and select the wxWindows-library (e.g. \wxwin\lib\wx32.lib).

View File

@ -26,6 +26,7 @@ wx200pdf.zip Acrobat PDF documentation
wx200htm.zip HTML documentation
wx200vc.zip MS VC++ 5.0 project files
wx200cw.zip Metrowerks CodeWarrior project files
wx200bc.zip BC++ 5 project files
Unarchive the required files plus any optional documentation
files into a suitable directory such as c:\wx.
@ -175,15 +176,22 @@ off in this mode. See issues.txt for details.
Compiling using the IDE files:
1. Load src\wxwin32_lib.ide.
1. Load src\bc32.ide (or src\bc32d.ide for a debugging version).
2. Go to Options|Project... and specify the correct BC++ include and lib path for
your file structure.
3. Press F9 to compile the wxWindows library.
4. Load samples\samples.ide.
4. Load samples\bc32.ide.
5. Go to Options|Project... and specify the correct BC++ include and lib path for
your file structure.
6. Press F9 to compile the samples.
Note that to make the png, xpm and zlib libraries (needed for
some samples) you need to compile with bc32.ide. bc32d.ide only
makes the wxWindows library (lib\wx32d.lib).
The debug version of the wxWindows library is about 37 MB, and the
release version is around 3 MB.
See also the file bc_ide.txt for further instructions and details
of how to create your own project files.
@ -216,10 +224,8 @@ Metrowerks CodeWarrior compilation
NOTES:
(a) Unfortunately CodeWarrior support is broken in this
release. Stefan Csomor (csomor@advancedconcepts.ch) will rectify this shortly.
(b) You need CodeWarrior Pro 4 plus the patches to 4.1 from the
Metrowerks Web site.
You need CodeWarrior Pro 4 plus the patches to 4.1 from the
Metrowerks Web site.
Symantec C++ compilation
------------------------

View File

@ -1,4 +1,4 @@
wxWindows 2 beta 4
wxWindows 2 beta 5
------------------
Welcome to wxWindows 2, a sophisticated cross-platform C++
@ -46,8 +46,9 @@ wx200doc.zip Documentation source code (not required)
wx200hlp.zip WinHelp documentation
wx200pdf.zip Acrobat PDF documentation
wx200htm.zip HTML documentation
wx200vc.zip MS VC++ 5.0 project files
wx200cw.zip Metrowerks CodeWarrior project files
wx200vc.zip MS VC++ 5/6 project files
wx200bc.zip Borland C++ 5 project files
wx200cw.zip Metrowerks CodeWarrior 4.1 project files
Installation
------------

View File

@ -27,7 +27,6 @@
/// Is browser a netscape browser?
#define WXEXTHELP_ENVVAR_BROWSERISNETSCAPE "WX_HELPBROWSER_NS"
/**
This class implements help via an external browser.
It requires the name of a directory containing the documentation
@ -61,8 +60,13 @@ DECLARE_CLASS(wxExtHelpController)
@param browsername The command to call a browser/html viewer.
@param isNetscape Set this to TRUE if the browser is some variant of Netscape.
*/
// Obsolete form
void SetBrowser(wxString const & browsername = WXEXTHELP_DEFAULTBROWSER,
bool isNetscape = WXEXTHELP_DEFAULTBROWSER_IS_NETSCAPE);
// Set viewer: new name for SetBrowser
virtual void SetViewer(const wxString& viewer = WXEXTHELP_DEFAULTBROWSER, long flags = wxHELP_NETSCAPE);
private:
/// How to call the html viewer.
wxString m_BrowserName;

View File

@ -58,8 +58,8 @@ public:
~wxColour();
// comparison
bool operator == ( const wxColour& col );
bool operator != ( const wxColour& col );
bool operator == ( const wxColour& col ) const;
bool operator != ( const wxColour& col ) const;
// accessors
void Set( unsigned char red, unsigned char green, unsigned char blue );

View File

@ -116,7 +116,7 @@ class wxMDIChildFrame: public wxFrame
long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr );
virtual void SetMenuBar( wxMenuBar *menu_bar );
virtual wxMenuBar *GetMenuBar();
virtual wxMenuBar *GetMenuBar() const;
virtual void GetClientSize( int *width, int *height ) const;
virtual void AddChild( wxWindow *child );

View File

@ -58,8 +58,8 @@ public:
~wxColour();
// comparison
bool operator == ( const wxColour& col );
bool operator != ( const wxColour& col );
bool operator == ( const wxColour& col ) const;
bool operator != ( const wxColour& col ) const;
// accessors
void Set( unsigned char red, unsigned char green, unsigned char blue );

View File

@ -116,7 +116,7 @@ class wxMDIChildFrame: public wxFrame
long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr );
virtual void SetMenuBar( wxMenuBar *menu_bar );
virtual wxMenuBar *GetMenuBar();
virtual wxMenuBar *GetMenuBar() const;
virtual void GetClientSize( int *width, int *height ) const;
virtual void AddChild( wxWindow *child );

View File

@ -20,6 +20,9 @@
#if wxUSE_HELP
// Flags for SetViewer
#define wxHELP_NETSCAPE 1
// Defines the API for help controllers
class WXDLLEXPORT wxHelpControllerBase: public wxObject
{
@ -35,6 +38,9 @@ class WXDLLEXPORT wxHelpControllerBase: public wxObject
virtual bool Initialize(const wxString& WXUNUSED(file), int WXUNUSED(server) ) { return FALSE; };
virtual bool Initialize(const wxString& file) = 0;
// Set viewer: only relevant to some kinds of controller
virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {}
// If file is "", reloads file given in Initialize
virtual bool LoadFile(const wxString& file = "") = 0;
virtual bool DisplayContents(void) = 0;

View File

@ -62,9 +62,9 @@ public:
int GetPixel() const { return m_pixel; };
void SetPixel(int pixel) { m_pixel = pixel; m_isInit = TRUE; };
inline bool operator == (const wxColour& colour) { return (m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue); }
inline bool operator == (const wxColour& colour) const { return (m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue); }
inline bool operator != (const wxColour& colour) { return (!(m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue)); }
inline bool operator != (const wxColour& colour) const { return (!(m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue)); }
// Allocate a colour, or nearest colour, using the given display.
// If realloc is TRUE, ignore the existing pixel, otherwise just return

View File

@ -64,13 +64,13 @@ public:
unsigned char Blue() const { return m_blue; }
// comparison
bool operator == (const wxColour& colour)
bool operator == (const wxColour& colour) const
{
return (m_red == colour.m_red &&
m_green == colour.m_green &&
m_blue == colour.m_blue);
}
bool operator != (const wxColour& colour) { return !(*this == colour); }
bool operator != (const wxColour& colour) const { return !(*this == colour); }
WXCOLORREF GetPixel() const { return m_pixel; };

View File

@ -112,9 +112,11 @@ class WXDLLEXPORT wxPropertyView: public wxEvtHandler
inline virtual void SetPropertySheet(wxPropertySheet *sheet) { m_propertySheet = sheet; }
inline virtual wxPropertySheet *GetPropertySheet(void) const { return m_propertySheet; }
/*
virtual void OnOk(void) {};
virtual void OnCancel(void) {};
virtual void OnHelp(void) {};
*/
inline virtual bool OnClose(void) { return FALSE; }
inline long GetFlags(void) { return m_buttonFlags; }

View File

@ -64,13 +64,13 @@ public:
unsigned char Blue() const { return m_blue; }
// comparison
bool operator == (const wxColour& colour)
bool operator == (const wxColour& colour) const
{
return (m_red == colour.m_red &&
m_green == colour.m_green &&
m_blue == colour.m_blue);
}
bool operator != (const wxColour& colour) { return !(*this == colour); }
bool operator != (const wxColour& colour) const { return !(*this == colour); }
void InitFromName(const wxString& col);

View File

@ -1,12 +1,12 @@
/////////////////////////////////////////////////////////////////////////////
// Name: minimal.cpp
// Purpose: Minimal wxWindows sample
// Author: Julian Smart
// Name: demo.cpp
// Purpose: wxHelpController demo
// Author: Karsten Ballueder
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
// Licence: wxWindows license
// Copyright: (c) Karsten Ballueder, Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
@ -17,8 +17,8 @@
// headers
// ----------------------------------------------------------------------------
#ifdef __GNUG__
#pragma implementation "minimal.cpp"
#pragma interface "minimal.cpp"
#pragma implementation "demo.cpp"
#pragma interface "demo.cpp"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
@ -87,17 +87,17 @@ private:
enum
{
// menu items
Minimal_Quit = 1,
Minimal_Help_Index,
Minimal_Help_Classes,
Minimal_Help_Functions,
Minimal_Help_Help,
Minimal_Help_KDE,
Minimal_Help_GNOME,
Minimal_Help_Netscape,
Minimal_Help_Search,
HelpDemo_Quit = 1,
HelpDemo_Help_Index,
HelpDemo_Help_Classes,
HelpDemo_Help_Functions,
HelpDemo_Help_Help,
HelpDemo_Help_KDE,
HelpDemo_Help_GNOME,
HelpDemo_Help_Netscape,
HelpDemo_Help_Search,
// controls start here (the numbers are, of course, arbitrary)
Minimal_Text = 1000,
HelpDemo_Text = 1000,
};
// ----------------------------------------------------------------------------
@ -108,15 +108,15 @@ enum
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_Help_Index, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_Classes, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_Functions, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_Help, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_KDE, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_GNOME, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_Netscape, MyFrame::OnHelp)
EVT_MENU(Minimal_Help_Search, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Quit, MyFrame::OnQuit)
EVT_MENU(HelpDemo_Help_Index, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_Classes, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_Functions, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_Help, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_KDE, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_GNOME, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_Netscape, MyFrame::OnHelp)
EVT_MENU(HelpDemo_Help_Search, MyFrame::OnHelp)
END_EVENT_TABLE()
// Create a new application object: this macro will allow wxWindows to create
@ -138,11 +138,9 @@ IMPLEMENT_APP(MyApp)
bool MyApp::OnInit()
{
// Create the main application window
MyFrame *frame = new MyFrame("Minimal wxWindows App",
MyFrame *frame = new MyFrame("HelpDemo wxWindows App",
wxPoint(50, 50), wxSize(450, 340));
// Show it and tell the application that it's our main window
// @@@ what does it do exactly, in fact? is it necessary here?
frame->Show(TRUE);
SetTopWindow(frame);
@ -166,21 +164,20 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
// create a menu bar
wxMenu *menuFile = new wxMenu;
menuFile->Append(Minimal_Help_Index, "&Help Index...");
menuFile->Append(Minimal_Help_Classes, "&Help on Classes...");
menuFile->Append(Minimal_Help_Functions, "&Help on Functions...");
menuFile->Append(Minimal_Help_Help, "&About wxExtHelpController...");
menuFile->Append(HelpDemo_Help_Index, "&Help Index...");
menuFile->Append(HelpDemo_Help_Classes, "&Help on Classes...");
menuFile->Append(HelpDemo_Help_Functions, "&Help on Functions...");
menuFile->Append(HelpDemo_Help_Help, "&About Help Demo...");
menuFile->AppendSeparator();
menuFile->Append(Minimal_Help_Search, "&Search help...");
if(help.IsKindOf(CLASSINFO(wxExtHelpController)))
{
menuFile->AppendSeparator();
menuFile->Append(Minimal_Help_KDE, "Use &KDE");
menuFile->Append(Minimal_Help_GNOME, "Use &GNOME");
menuFile->Append(Minimal_Help_Netscape, "Use &Netscape");
}
menuFile->Append(HelpDemo_Help_Search, "&Search help...");
#ifdef __WXGTK__
menuFile->AppendSeparator();
menuFile->Append(Minimal_Quit, "E&xit");
menuFile->Append(HelpDemo_Help_KDE, "Use &KDE");
menuFile->Append(HelpDemo_Help_GNOME, "Use &GNOME");
menuFile->Append(HelpDemo_Help_Netscape, "Use &Netscape");
#endif
menuFile->AppendSeparator();
menuFile->Append(HelpDemo_Quit, "E&xit");
// now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar;
@ -220,28 +217,33 @@ void MyFrame::OnHelp(wxCommandEvent& event)
{
switch(event.GetId())
{
case Minimal_Help_Classes:
// Note: these DisplaySection calls use ids that are specific to wxExtHelpController
// (on Unix). For WinHelp, we'd need to use different context ids.
case HelpDemo_Help_Classes:
help.DisplaySection(1);
break;
case Minimal_Help_Functions:
case HelpDemo_Help_Functions:
help.DisplaySection(2);
break;
case Minimal_Help_Help:
case HelpDemo_Help_Help:
help.DisplaySection(5);
break;
case Minimal_Help_KDE:
if(help.IsKindOf(CLASSINFO(wxExtHelpController)))
((wxExtHelpController *)&help)->SetBrowser("kdehelp");
// These three calls are only used by wxExtHelpController
case HelpDemo_Help_KDE:
help.SetViewer("kdehelp");
break;
case Minimal_Help_GNOME:
if(help.IsKindOf(CLASSINFO(wxExtHelpController)))
((wxExtHelpController *)&help)->SetBrowser("gnome-help-browser");
case HelpDemo_Help_GNOME:
help.SetViewer("gnome-help-browser");
break;
case Minimal_Help_Netscape:
if(help.IsKindOf(CLASSINFO(wxExtHelpController)))
((wxExtHelpController *)&help)->SetBrowser("netscape",TRUE);
case HelpDemo_Help_Netscape:
help.SetViewer("netscape", wxHELP_NETSCAPE);
break;
case Minimal_Help_Search:
case HelpDemo_Help_Search:
{
wxString key = wxGetTextFromUser("Search for?",
"Search help for keyword",
@ -251,9 +253,10 @@ void MyFrame::OnHelp(wxCommandEvent& event)
help.KeywordSearch(key);
}
break;
case Minimal_Help_Index:
case HelpDemo_Help_Index:
default:
help.DisplayContents();
break;
}
}

View File

@ -50,6 +50,12 @@ wxExtHelpController::SetBrowser(wxString const & browsername, bool isNetscape)
m_BrowserIsNetscape = isNetscape;
}
// Set viewer: new, generic name for SetBrowser
void wxExtHelpController::SetViewer(const wxString& viewer, long flags)
{
SetBrowser(viewer, ((flags & wxHELP_NETSCAPE) == wxHELP_NETSCAPE));
}
bool
wxExtHelpController::DisplayHelp(wxString const &relativeURL)
{

View File

@ -116,12 +116,12 @@ wxColour& wxColour::operator = ( const wxColour& col )
return *this;
}
bool wxColour::operator == ( const wxColour& col )
bool wxColour::operator == ( const wxColour& col ) const
{
return m_refData == col.m_refData;
}
bool wxColour::operator != ( const wxColour& col)
bool wxColour::operator != ( const wxColour& col) const
{
return m_refData != col.m_refData;
}

View File

@ -298,7 +298,7 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
}
}
wxMenuBar *wxMDIChildFrame::GetMenuBar()
wxMenuBar *wxMDIChildFrame::GetMenuBar() const
{
return m_menuBar;
}

View File

@ -116,12 +116,12 @@ wxColour& wxColour::operator = ( const wxColour& col )
return *this;
}
bool wxColour::operator == ( const wxColour& col )
bool wxColour::operator == ( const wxColour& col ) const
{
return m_refData == col.m_refData;
}
bool wxColour::operator != ( const wxColour& col)
bool wxColour::operator != ( const wxColour& col) const
{
return m_refData != col.m_refData;
}

View File

@ -298,7 +298,7 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
}
}
wxMenuBar *wxMDIChildFrame::GetMenuBar()
wxMenuBar *wxMDIChildFrame::GetMenuBar() const
{
return m_menuBar;
}

View File

@ -165,6 +165,8 @@ long wxExecute(char **argv, bool sync, wxProcess *handler)
printf ("wxWindows: could not execute '%s'\n", *argv);
_exit (-1);
}
if (!sync)
return pid;
wxLocalProcessData *process_data = new wxLocalProcessData;
@ -178,15 +180,13 @@ long wxExecute(char **argv, bool sync, wxProcess *handler)
(XtInputCallbackProc) xt_notify_end_process,
(XtPointer) process_data);
if (sync) {
while (!process_data->end_process)
XtAppProcessEvent((XtAppContext) wxTheApp->GetAppContext(), XtIMAll);
while (!process_data->end_process)
XtAppProcessEvent((XtAppContext) wxTheApp->GetAppContext(), XtIMAll);
if (WIFEXITED(process_data->end_process) != 0)
{
delete process_data;
return WEXITSTATUS(process_data->end_process);
}
if (WIFEXITED(process_data->end_process) != 0)
{
delete process_data;
return WEXITSTATUS(process_data->end_process);
}
delete process_data;

View File

@ -59,7 +59,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
if (parent) parent->AddChild(this);
SetBackgroundColour(parent->GetBackgroundColour()) ;
SetForegroundColour(parent->GetForegroundColour()) ;
m_noStrings = n;
m_noStrings = 0;
m_windowStyle = style;

View File

@ -72,7 +72,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id,
if (parent) parent->AddChild(this);
SetBackgroundColour(parent->GetBackgroundColour()) ;
SetForegroundColour(parent->GetForegroundColour()) ;
m_noStrings = n;
m_noStrings = 0;
m_windowStyle = style;

View File

@ -44,35 +44,3 @@
char wxDummyChar = 0;
#endif
// if wxWindows is in the DLL link our entry point with the application
// N.B. see include/wx/app.h, we're now putting this in IMPLEMENT_APP so we
// don't have to link our apps with dummy.obj.
#if 0 // defined(WXUSINGDLL)
// NT defines APIENTRY, 3.x not
#if !defined(APIENTRY)
#define APIENTRY FAR PASCAL
#endif
int
#ifdef __WATCOMC__
PASCAL
#else
APIENTRY
#endif
WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR m_lpCmdLine,
int nCmdShow )
{
#if !WXUSINGDLL
wxCrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
#endif
return wxEntry((WXHINSTANCE) hInstance, (WXHINSTANCE) hPrevInstance,
m_lpCmdLine, nCmdShow);
}
#endif

View File

@ -70,17 +70,17 @@ bool wxWinHelpController::DisplayContents(void)
{
if (m_helpFile == "") return FALSE;
char buf[_MAXPATHLEN];
strcpy(buf, (const char*) m_helpFile);
size_t len = strlen(buf);
if (!(buf[len-1] == 'p' && buf[len-2] == 'l' && buf[len-3] == 'h' && buf[len-4] == '.'))
strcat(buf, ".hlp");
wxString str = m_helpFile;
size_t len = str.Length();
if (!(str[(size_t)(len-1)] == 'p' && str[(size_t)(len-2)] == 'l' && str[(size_t)(len-3)] == 'h' && str[(size_t)(len-4)] == '.'))
str += ".hlp";
if (wxTheApp->GetTopWindow())
{
#if defined(__WIN95__)
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_FINDER, 0L);
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const char*) str, HELP_FINDER, 0L);
#else
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_CONTENTS, 0L);
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const char*) str, HELP_CONTENTS, 0L);
#endif
return TRUE;
}
@ -89,8 +89,20 @@ bool wxWinHelpController::DisplayContents(void)
bool wxWinHelpController::DisplaySection(int section)
{
// No WinHelp equivalent for this
return FALSE;
// Use context number
if (m_helpFile == "") return FALSE;
wxString str = m_helpFile;
size_t len = str.Length();
if (!(str[(size_t)(len-1)] == 'p' && str[(size_t)(len-2)] == 'l' && str[(size_t)(len-3)] == 'h' && str[(size_t)(len-4)] == '.'))
str += ".hlp";
if (wxTheApp->GetTopWindow())
{
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const char*) str, HELP_CONTEXT, (DWORD)section);
return TRUE;
}
return FALSE;
}
bool wxWinHelpController::DisplayBlock(long block)
@ -98,14 +110,14 @@ bool wxWinHelpController::DisplayBlock(long block)
// Use context number -- a very rough equivalent to block id!
if (m_helpFile == "") return FALSE;
char buf[_MAXPATHLEN];
strcpy(buf, m_helpFile);
size_t len = strlen(buf);
if (!(buf[len-1] == 'p' && buf[len-2] == 'l' && buf[len-3] == 'h' && buf[len-4] == '.'))
strcat(buf, ".hlp");
wxString str = m_helpFile;
size_t len = str.Length();
if (!(str[(size_t)(len-1)] == 'p' && str[(size_t)(len-2)] == 'l' && str[(size_t)(len-3)] == 'h' && str[(size_t)(len-4)] == '.'))
str += ".hlp";
if (wxTheApp->GetTopWindow())
{
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_CONTEXT, (DWORD)block);
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const char*) str, HELP_CONTEXT, (DWORD)block);
return TRUE;
}
return FALSE;
@ -115,14 +127,14 @@ bool wxWinHelpController::KeywordSearch(const wxString& k)
{
if (m_helpFile == "") return FALSE;
char buf[_MAXPATHLEN];
strcpy(buf, m_helpFile);
size_t len = strlen(buf);
if (!(buf[len-1] == 'p' && buf[len-2] == 'l' && buf[len-3] == 'h' && buf[len-4] == '.'))
strcat(buf, ".hlp");
wxString str = m_helpFile;
size_t len = str.Length();
if (!(str[(size_t)(len-1)] == 'p' && str[(size_t)(len-2)] == 'l' && str[(size_t)(len-3)] == 'h' && str[(size_t)(len-4)] == '.'))
str += ".hlp";
if (wxTheApp->GetTopWindow())
{
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), buf, HELP_PARTIALKEY, (DWORD)(const char*) k);
WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const char*) str, HELP_PARTIALKEY, (DWORD)(const char*) k);
return TRUE;
}
return FALSE;

View File

@ -358,7 +358,7 @@ $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
# If taking wxWindows from CVS, setup.h doesn't exist yet.
$(WXDIR)\include\wx\msw\setup.h: $(WXDIR)\include\wx\msw\setup0.h
-copy "$(WXDIR)"\include\wx\msw\setup.h "$(WXDIR)"\include\wx\msw\setup.bak
copy "$(WXDIR)"\include\wx\msw\setup0.h "$(WXDIR)"\include\wx\msw\setup.h
if not exist "$(WXDIR)"\include\wx\msw\setup.h copy "$(WXDIR)"\include\wx\msw\setup0.h "$(WXDIR)"\include\wx\msw\setup.h
..\common\$D\extended.obj: ..\common\extended.c
cl @<<

View File

@ -2201,7 +2201,7 @@ bool wxWindow::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control)
long wxWindow::MSWOnSysCommand(WXWPARAM wParam, WXLPARAM lParam)
{
switch (wParam)
switch (wParam && 0xFFFFFFF0)
{
case SC_MAXIMIZE:
{