From 750b78ba359e7d30c7d3ad49d268923e986268cb Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Wed, 10 Feb 1999 22:44:53 +0000 Subject: [PATCH] Cured some small doc typos; some WIN16 fixes; transferred DLL WinMain to IMPLEMENT_APP() macro so dummy.obj doesn't have to be linked; lexer.l fix for LEX (I hope) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- distrib/msw/generic.rsp | 12 ++++++++++++ distrib/msw/gtk.rsp | 2 ++ distrib/msw/vc.rsp | 8 ++++++-- docs/changes.txt | 22 ++++++++++++++++++++++ docs/latex/wx/manual.tex | 6 +++--- docs/latex/wx/stream.tex | 32 ++++++++++++++++---------------- docs/latex/wx/strmbase.tex | 2 +- docs/latex/wx/strmzlib.tex | 6 +++--- docs/latex/wx/textdlg.tex | 4 ++-- docs/motif/install.txt | 28 ++++++++++++++++++++-------- docs/msw/install.txt | 10 ++++++++++ docs/msw/todo.txt | 10 ++-------- docs/readme.txt | 2 +- docs/todo.txt | 10 ++-------- include/wx/app.h | 20 ++++++++++++++++++++ include/wx/msw/setup0.h | 3 +++ include/wx/msw/wx.rc | 16 ---------------- src/common/lexer.l | 2 ++ src/common/valgen.cpp | 10 ++++++++++ src/makeenvs/solaris.env | 2 +- src/motif/makefile.unx | 4 ++++ src/motif/utils.cpp | 6 +++--- src/msw/app.cpp | 8 ++++---- src/msw/dummy.cpp | 5 ++++- src/msw/dummydll.cpp | 2 +- src/msw/makefile.twn | 2 +- src/msw/makefile.vc | 9 +++++++-- src/msw/menu.cpp | 2 ++ src/msw/utilsexc.cpp | 2 ++ src/msw/window.cpp | 7 ++++++- utils/dialoged/src/makefile.vc | 25 ++++++++++++++++--------- 31 files changed, 188 insertions(+), 91 deletions(-) diff --git a/distrib/msw/generic.rsp b/distrib/msw/generic.rsp index 6c3d990bef..2f88a7e324 100644 --- a/distrib/msw/generic.rsp +++ b/distrib/msw/generic.rsp @@ -203,6 +203,12 @@ samples/wxsocket/client.wat samples/wxsocket/server.wat samples/wxsocket/client.vc samples/wxsocket/server.vc +samples/wxsocket/client.dos +samples/wxsocket/server.dos +samples/wxsocket/client.b32 +samples/wxsocket/server.b32 +samples/wxsocket/client.bcc +samples/wxsocket/server.bcc samples/wxsocket/*.xbm samples/wxsocket/*.xpm samples/wxsocket/*.ico @@ -648,6 +654,12 @@ samples/dde/client.vc samples/dde/server.vc samples/dde/client.wat samples/dde/server.wat +samples/dde/client.b32 +samples/dde/server.b32 +samples/dde/client.bcc +samples/dde/server.bcc +samples/dde/client.dos +samples/dde/server.dos samples/dde/*.rc samples/dde/*.def samples/dde/*.bmp diff --git a/distrib/msw/gtk.rsp b/distrib/msw/gtk.rsp index dda919d95a..53c4ef8ea5 100644 --- a/distrib/msw/gtk.rsp +++ b/distrib/msw/gtk.rsp @@ -9,6 +9,8 @@ wx-config.in mkinstalldirs wxGTK.spec +distrib/gtk/copy_src + docs/gtk/*.html docs/gtk/*.txt docs/gtk/makewxgtk diff --git a/distrib/msw/vc.rsp b/distrib/msw/vc.rsp index 6900ebc7da..2b99cc94d3 100644 --- a/distrib/msw/vc.rsp +++ b/distrib/msw/vc.rsp @@ -1,5 +1,7 @@ -src/wxVC.dsp -src/wxVC.dsw +src/wxvc.dsp +src/wxvc.dsw +src/wxvc_dll.dsp +src/wxvc_dll.dsw samples/checklst/ChecklstVC.dsp samples/checklst/ChecklstVC.dsw @@ -145,6 +147,8 @@ utils/ogl/src/OglVC.dsp utils/ogl/src/OglVC.dsw utils/ogl/samples/ogledit/OgleditVC.dsp utils/ogl/samples/ogledit/OgleditVC.dsw +utils/ogl/samples/studio/StudioVC.dsp +utils/ogl/samples/studio/StudioVC.dsw utils/wxtree/src/TreeVC.dsp utils/wxtree/src/TreeVC.dsw diff --git a/docs/changes.txt b/docs/changes.txt index e9c60cd523..3dda75dc07 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,6 +1,28 @@ wxWindows 2 Change Log ---------------------- +Beta 4, February 1999 +------------------------- + +wxGTK: + +- Miscellaneous fixes. + +wxMSW: + +- Makefiles for more compilers and samples; Cygwin makefiles + rationalised. +- Added DLL support to VC++ makefiles. + +wxMotif: + + +General: + +- Further doc improvements. +- wxGenericValidator added. + + Beta 3, January 31st 1999 ------------------------- diff --git a/docs/latex/wx/manual.tex b/docs/latex/wx/manual.tex index c13f2a9cad..9048c2324b 100644 --- a/docs/latex/wx/manual.tex +++ b/docs/latex/wx/manual.tex @@ -26,11 +26,11 @@ \parskip=10pt \parindent=0pt \title{User Manual for wxWindows 2.0: a portable C++ GUI toolkit} -\winhelponly{\author{by Julian Smart +\winhelponly{\author{by Julian Smart et al %\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$} }} -\winhelpignore{\author{Julian Smart} -\date{December 27th 1998} +\winhelpignore{\author{Julian Smart et al} +\date{February 10th 1999} } \makeindex \begin{document} diff --git a/docs/latex/wx/stream.tex b/docs/latex/wx/stream.tex index 5bf0c73e25..7818a9ae86 100644 --- a/docs/latex/wx/stream.tex +++ b/docs/latex/wx/stream.tex @@ -61,7 +61,7 @@ But you should care about destroying the stream buffer \it{YOURSELF}. \wxheading{See also} -\helpref{wxStreamBuffer:SetBufferIO}{wxstreambufsetbufferio} +\helpref{wxStreamBuffer:SetBufferIO}{wxstreambuffersetbufferio} \func{}{wxStreamBuffer}{\param{const wxStreamBuffer &}{buffer}} @@ -90,7 +90,7 @@ The "Write-Back" buffer is freed. % ----------- % Filtered IO % ----------- -\membersection{wxStreamBuffer::Read}\label{wxstreambufread} +\membersection{wxStreamBuffer::Read}\label{wxstreambufferread} \func{size\_t}{Read}{\param{void *}{buffer}, \param{size\_t }{size}} @@ -108,14 +108,14 @@ It returns the real read size. If returned size is different of the specified \wxheading{See also} -\helpref{wxStreamBuffer::WriteBack}{wxstreambufwriteback} +\helpref{wxStreamBuffer::WriteBack}{wxstreambufferwriteback} \func{size\_t}{Read}{\param{wxStreamBuffer *}{buffer}} Reads a \it{buffer}. The function returns when \it{buffer} is full or when there aren't datas anymore in the current buffer. -\membersection{wxStreamBuffer::Write} +\membersection{wxStreamBuffer::Write}\label{wxstreambufferwrite} \func{size\_t}{Write}{\param{const void *}{buffer}, \param{size\_t }{size}} @@ -124,9 +124,9 @@ are cached in a buffer before being sent in one block to the stream. \func{size\_t}{Write}{\param{wxStreamBuffer *}{buffer}} -See \helpref{Read}{wxstreambufreadbuf} +See \helpref{Read}{wxstreambufferread}. -\membersection{wxStreamBuffer::WriteBack}\label{wxstreambufwriteback} +\membersection{wxStreamBuffer::WriteBack}\label{wxstreambufferwriteback} \func{size\_t}{WriteBack}{\param{const char*}{ buffer}, \param{size\_t}{ size}} @@ -157,7 +157,7 @@ You aren't directly notified if an error occured during the IO call. \wxheading{See also} -\helpref{wxStreamBuffer::Read}{wxstreambufread} +\helpref{wxStreamBuffer::Read}{wxstreambufferread} \membersection{wxStreamBuffer::PutChar} @@ -171,7 +171,7 @@ You aren't directly notified if an error occured during the IO call. \wxheading{See also} -\helpref{wxStreamBuffer::Read}{wxstreambufwrite} +\helpref{wxStreamBuffer::Read}{wxstreambufferwrite} \membersection{wxStreamBuffer::Tell} @@ -216,7 +216,7 @@ the beginning of the stream. Otherwise, it returns wxInvalidOffset. Resets to the initial state variables concerning the buffer. -\membersection{wxStreamBuffer::SetBufferIO}\label{wxstreambufsetbufferio} +\membersection{wxStreamBuffer::SetBufferIO}\label{wxstreambuffersetbufferio} \func{void}{SetBufferIO}{\param{char*}{ buffer\_start}, \param{char*}{ buffer\_end}} @@ -235,8 +235,8 @@ it when it is full. \wxheading{See also} \helpref{wxStreamBuffer constructor}{wxstreambufconst}\\ -\helpref{wxStreamBuffer::Fixed}{wxstreambuffixed}\\ -\helpref{wxStreamBuffer::Flushable}{wxstreambufflushable} +\helpref{wxStreamBuffer::Fixed}{wxstreambufferfixed}\\ +\helpref{wxStreamBuffer::Flushable}{wxstreambufferflushable} \func{void}{SetBufferIO}{\param{size\_t}{ bufsize}} @@ -253,8 +253,8 @@ The created IO buffer is growable by the object. \wxheading{See also} -\helpref{wxStreamBuffer::Fixed}{wxstreambuffixed}\\ -\helpref{wxStreamBuffer::Flushable}{wxstreambufflushable} +\helpref{wxStreamBuffer::Fixed}{wxstreambufferfixed}\\ +\helpref{wxStreamBuffer::Flushable}{wxstreambufferflushable} \membersection{wxStreamBuffer::GetBufferStart} @@ -292,7 +292,7 @@ Sets the current position in the stream buffer. Returns the amount of bytes read during the last IO call to the parent stream. -\membersection{wxStreamBuffer::Fixed} +\membersection{wxStreamBuffer::Fixed}\label{wxstreambufferfixed} \func{void}{Fixed}{\param{bool}{ fixed}} @@ -302,9 +302,9 @@ Toggles the fixed flag. Usually this flag is toggled at the same time as \wxheading{See also} -\helpref{wxStreamBuffer::SetBufferIO}{wxstreambufsetbufferio} +\helpref{wxStreamBuffer::SetBufferIO}{wxstreambuffersetbufferio} -\membersection{wxStreamBuffer::Flushable} +\membersection{wxStreamBuffer::Flushable}\label{wxstreambufferflushable} \func{void}{Flushable}{\param{bool}{ flushable}} diff --git a/docs/latex/wx/strmbase.tex b/docs/latex/wx/strmbase.tex index 70eaf82689..f35be6e23c 100644 --- a/docs/latex/wx/strmbase.tex +++ b/docs/latex/wx/strmbase.tex @@ -42,7 +42,7 @@ This function returns the last error. \twocolitem{{\bf wxStream_NOERROR}}{No error occured.} \twocolitem{{\bf wxStream_EOF}}{An End-Of-File occured.} \twocolitem{{\bf wxStream_WRITE_ERR}}{A generic error occured on the last write call.} -\twocolitem{\bf wxStream_READ_ERR}{A generic error occured on the last read call.} +\twocolitem{{\bf wxStream_READ_ERR}}{A generic error occured on the last read call.} \end{twocollist} \membersection{wxStreamBase::StreamSize} diff --git a/docs/latex/wx/strmzlib.tex b/docs/latex/wx/strmzlib.tex index eadbb0897c..e7e6cfd4ee 100644 --- a/docs/latex/wx/strmzlib.tex +++ b/docs/latex/wx/strmzlib.tex @@ -1,7 +1,7 @@ % ----------------------------------------------------------------------------- % wxZlibInputStream % ----------------------------------------------------------------------------- -\section{\class{wxZlibInputStream}} +\section{\class{wxZlibInputStream}}\label{wxzlibinputstream} \wxheading{Derived from} @@ -19,7 +19,7 @@ stream to get new compressed data. % ----------------------------------------------------------------------------- % wxZlibOutputStream % ----------------------------------------------------------------------------- -\section{\class{wxZlibOutputStream}} +\section{\class{wxZlibOutputStream}}\label{wxzliboutputstream} \wxheading{Derived from} @@ -31,6 +31,6 @@ stream to get new compressed data. \wxheading{Short description} -This stream compresses all data written to it and passed the compressed data +This stream compresses all data written to it, and passes the compressed data to the ``filtered'' stream. diff --git a/docs/latex/wx/textdlg.tex b/docs/latex/wx/textdlg.tex index ec2f8d1db5..b6035be3a1 100644 --- a/docs/latex/wx/textdlg.tex +++ b/docs/latex/wx/textdlg.tex @@ -18,8 +18,8 @@ It is implemented as a generic wxWindows dialog. \membersection{wxTextEntryDialog::wxTextEntryDialog}\label{wxtextentrydialogconstr} -\func{}{wxTextEntryDialog}{\param{wxWindow* }{parent}, \param{const wxString\& }{message = "Please enter text"},\rtfsp -\param{const wxString\& }{defaultValue = ""}, \param{long }{style = wxOK \pipe wxCANCEL \pipe wxCENTRE}, \param{const wxPoint\& }{pos = wxDefaultPosition}} +\func{}{wxTextEntryDialog}{\param{wxWindow* }{parent}, \param{const wxString\& }{message},\rtfsp +\param{const wxString\& }{caption = "Please enter text"}, \param{const wxString\& }{defaultValue = ""}, \param{long }{style = wxOK \pipe wxCANCEL \pipe wxCENTRE}, \param{const wxPoint\& }{pos = wxDefaultPosition}} Constructor. Use \helpref{wxTextEntryDialog::ShowModal}{wxtextentrydialogshowmodal} to show the dialog. diff --git a/docs/motif/install.txt b/docs/motif/install.txt index 1279481f77..6e9db5b047 100644 --- a/docs/motif/install.txt +++ b/docs/motif/install.txt @@ -105,8 +105,21 @@ COMPILING USING MAKEFILES and run the resulting minimal_motif binary. -Notes: ------- +Troubleshooting +--------------- + +- If you have trouble compiling the file y_tab.c, or have strange + linking errors, check whether you're using a C or C++ compiler for this file. + You should specify a C compiler in the CCLEX variable in src/make.env. + You could also try using bison and flex instead of yacc and + lex. + +- Solaris compilation with gcc: if the compiler has problems with the variable argument + functions, try putting the gcc fixinclude file paths early in the + include path. + +Other Notes +----------- - Better installation and makefile systems are required. A revised configure system is in preparation. @@ -128,10 +141,6 @@ Notes: For Linux, the problem is expected to go away with future distributions of the operating system. -- If you have trouble compiling the file y_tab.c, or have strange - linking errors, check whether you're using a C or C++ compiler for this file. - You should specify a C compiler in the CCLEX variable in src/make.env. - - If you run into problems with a missing X11/Xpm.h header, you need to install the XPM package. It can be obtained from: @@ -146,8 +155,11 @@ Notes: to 0, and recompile. You will not be able to load any XPMs, though (currently the only supported colour bitmap format). -- Please send bug reports with a description of your environment, - compiler and the error message(s) to the wxwin-users mailing list at: +Bug reports +----------- + +Please send bug reports with a description of your environment, +compiler and the error message(s) to the wxwin-users mailing list at: wxwin-users@wx.dent.med.uni-muenchen.de diff --git a/docs/msw/install.txt b/docs/msw/install.txt index a8e5447ff5..ddb16cc334 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -98,6 +98,16 @@ Note (2): libraries and applications generated with makefiles and project files are unlikely to be compatible, so use one method or the other. +Note (3): VC++ 5's optimization code seems to be broken and can +cause problems: this can be seen when deleting an object Dialog +Editor, in Release mode with optimizations on. If in doubt, +switch off optimisations, although this will result in much +larger executables. It seems possible that the library can be created with +strong optimization, so long as the application is not strongly +optimized. For example, in wxWindows project, set to 'Minimum +Size'. In Dialog Editor project, set to 'Customize: Favor Small +Code' (and no others). This will then work. + Visual C++ 1.5 compilation -------------------------- diff --git a/docs/msw/todo.txt b/docs/msw/todo.txt index 89dbba57a5..834d74c85c 100644 --- a/docs/msw/todo.txt +++ b/docs/msw/todo.txt @@ -14,10 +14,7 @@ Update manual. wxListBox changes (for ownerdraw functionality) wxThread DONE (except for topic overview) wxString PARTLY DONE - wxBaseArray, other arrays - (wxOwnerDrawn) Document the include file for each class - Stream classes wxSocket topic overview Functions @@ -35,15 +32,12 @@ Supply correct ctl3d/odbc lib files for BC++, Watcom (corrupt?) Implement new wxClipboard and DnD (Vadim) -Implement wxToolTip +Implement wxToolTip (Vadim) LOW PRIORITY (MEDIUM TERM) -------------------------- -Get wxMSW's wxGLCanvas working with non-VC++ compilers. - -Generate VC++ lib project files and supply VC++ project -generator utility. +Supply VC++ project generator utility. Convert remaining utilities e.g. wxGraphLayout. diff --git a/docs/readme.txt b/docs/readme.txt index c1b18eec46..d8fff9d674 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -1,4 +1,4 @@ -wxWindows 2 beta 3 +wxWindows 2 beta 4 ------------------ Welcome to wxWindows 2, a sophisticated cross-platform C++ diff --git a/docs/todo.txt b/docs/todo.txt index 2dc4bd4957..6492e73e07 100644 --- a/docs/todo.txt +++ b/docs/todo.txt @@ -20,14 +20,6 @@ Please see also: - Fix TCP/IP mode in dde sample (how to use; why does it crash). -- Remove trashed CVS files: - - include/wx/msw/magnif1.cur - src/msw/ctl3d/* - utils/glcanvas/samples/isosurf/isosurf.dat.gz - - and re-add them. - - wxDB ODBC classes: it seems that there are too many Sybase-specific features for it to work on e.g. MySQL, PostgreSQL. Find out what Remstar uses and document @@ -36,5 +28,7 @@ Please see also: - In doc/view file selector, document type is selected by extension, not the type selected in the (Windows) file selector. +- Add all makefiles/documentation for utils/serialize. + - Complete this ToDo list :-) diff --git a/include/wx/app.h b/include/wx/app.h index d454acf6fa..64b479d1f0 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -60,6 +60,26 @@ public: #define IMPLEMENT_WXWIN_MAIN \ extern int wxEntry( int argc, char *argv[] ); \ int main(int argc, char *argv[]) { return wxEntry(argc, argv); } + +#elif defined(__WXMSW__) && defined(WXUSINGDLL) + +// NT defines APIENTRY, 3.x not +#if !defined(WXAPIENTRY) +# ifdef __WATCOMC__ +# define WXAPIENTRY PASCAL +# else +# define WXAPIENTRY FAR PASCAL +# endif +#endif + +#define IMPLEMENT_WXWIN_MAIN \ +int WXAPIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,\ + LPSTR m_lpCmdLine, int nCmdShow )\ +{\ + return wxEntry((WXHINSTANCE) hInstance, (WXHINSTANCE) hPrevInstance,\ + m_lpCmdLine, nCmdShow);\ +} + #else #define IMPLEMENT_WXWIN_MAIN #endif diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 95fdd2f356..df22ac28c3 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -287,6 +287,9 @@ #undef wxUSE_THREADS #define wxUSE_THREADS 0 +#undef wxUSE_TOOLTIPS +#define wxUSE_TOOLTIPS 0 + #endif #endif diff --git a/include/wx/msw/wx.rc b/include/wx/msw/wx.rc index 3c0f4e3478..220d689e8c 100644 --- a/include/wx/msw/wx.rc +++ b/include/wx/msw/wx.rc @@ -84,21 +84,6 @@ END // Standard wxWindows Cursors // -#ifdef __SALFORDC__ -WXCURSOR_HAND CURSOR DISCARDABLE WXINCDIR"wx/msw/hand.cur" -WXCURSOR_BULLSEYE CURSOR DISCARDABLE WXINCDIR"wx/msw/bullseye.cur" -WXCURSOR_PENCIL CURSOR DISCARDABLE WXINCDIR"wx/msw/pencil.cur" -WXCURSOR_MAGNIFIER CURSOR DISCARDABLE WXINCDIR"wx/msw/magnif1.cur" -WXCURSOR_NO_ENTRY CURSOR DISCARDABLE WXINCDIR"wx/msw/noentry.cur" -WXCURSOR_SIZING CURSOR DISCARDABLE WXINCDIR"wx/msw/size.cur" -WXCURSOR_ROLLER CURSOR DISCARDABLE WXINCDIR"wx/msw/roller.cur" -WXCURSOR_WATCH CURSOR DISCARDABLE WXINCDIR"wx/msw/watch1.cur" -WXCURSOR_PBRUSH CURSOR DISCARDABLE WXINCDIR"wx/msw/pbrush.cur" -WXCURSOR_PLEFT CURSOR DISCARDABLE WXINCDIR"wx/msw/pntleft.cur" -WXCURSOR_PRIGHT CURSOR DISCARDABLE WXINCDIR"wx/msw/pntright.cur" -WXCURSOR_QARROW CURSOR DISCARDABLE WXINCDIR"wx/msw/query.cur" -WXCURSOR_BLANK CURSOR DISCARDABLE WXINCDIR"wx/msw/blank.cur" -#else WXCURSOR_HAND CURSOR DISCARDABLE "wx/msw/hand.cur" WXCURSOR_BULLSEYE CURSOR DISCARDABLE "wx/msw/bullseye.cur" WXCURSOR_PENCIL CURSOR DISCARDABLE "wx/msw/pencil.cur" @@ -112,7 +97,6 @@ WXCURSOR_PLEFT CURSOR DISCARDABLE "wx/msw/pntleft.cur" WXCURSOR_PRIGHT CURSOR DISCARDABLE "wx/msw/pntright.cur" WXCURSOR_QARROW CURSOR DISCARDABLE "wx/msw/query.cur" WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur" -#endif ////////////////////////////////////////////////////////////////////////////// // diff --git a/src/common/lexer.l b/src/common/lexer.l index bb25277e79..c8700e0c78 100644 --- a/src/common/lexer.l +++ b/src/common/lexer.l @@ -191,6 +191,8 @@ static int my_input( void ) void wxExprCleanUp() { +#ifdef FLEX_SCANNER if (yy_current_buffer) yy_delete_buffer(yy_current_buffer); +#endif } diff --git a/src/common/valgen.cpp b/src/common/valgen.cpp index 76666bcdb1..8dbc461079 100644 --- a/src/common/valgen.cpp +++ b/src/common/valgen.cpp @@ -26,8 +26,10 @@ #include "wx/wx.h" #endif +#ifndef __WIN16__ #include "wx/spinbutt.h" #include "wx/checklst.h" +#endif #include "wx/valgen.h" @@ -129,6 +131,7 @@ bool wxGenericValidator::TransferToWindow(void) return TRUE; } } +#ifndef __WIN16__ else if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) ) { wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow; @@ -138,6 +141,7 @@ bool wxGenericValidator::TransferToWindow(void) return TRUE; } } +#endif // string controls else if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) ) { @@ -184,6 +188,7 @@ bool wxGenericValidator::TransferToWindow(void) return TRUE; } } +#ifndef __WIN16__ // array controls // NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox // MUST come first: @@ -205,6 +210,7 @@ bool wxGenericValidator::TransferToWindow(void) else return FALSE; } +#endif else if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) ) { wxListBox* pControl = (wxListBox*) m_validatorWindow; @@ -279,6 +285,7 @@ bool wxGenericValidator::TransferFromWindow(void) return TRUE; } } +#ifndef __WIN16__ else if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) ) { wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow; @@ -288,6 +295,7 @@ bool wxGenericValidator::TransferFromWindow(void) return TRUE; } } +#endif // string controls else if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) ) { @@ -334,6 +342,7 @@ bool wxGenericValidator::TransferFromWindow(void) return TRUE; } } +#ifndef __WIN16__ // array controls // NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox // MUST come first: @@ -354,6 +363,7 @@ bool wxGenericValidator::TransferFromWindow(void) else return FALSE; } +#endif else if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) ) { wxListBox* pControl = (wxListBox*) m_validatorWindow; diff --git a/src/makeenvs/solaris.env b/src/makeenvs/solaris.env index fa4a6fde53..a6c8d1b7fd 100644 --- a/src/makeenvs/solaris.env +++ b/src/makeenvs/solaris.env @@ -30,7 +30,7 @@ RANLIB = ranlib # Debug/trace mode. 1 or more for debugging. DEBUG = 0 -GUI = -D__MOTIF__ -D__LINUX__ -D__UNIX__ +GUI = -D__MOTIF__ -D__SOLARIS__ -D__UNIX__ GUISUFFIX = _motif ########################## Compiler flags ############################# diff --git a/src/motif/makefile.unx b/src/motif/makefile.unx index 6a0d47c13d..27fc8a76a8 100644 --- a/src/motif/makefile.unx +++ b/src/motif/makefile.unx @@ -207,6 +207,10 @@ $(WXLIB) : $(OBJECTS) sed -e "s/YYLMAX 200/YYLMAX 5000/g" > ../common/lex_yy.c /bin/rm -f ../common/lex.yy.c +# N.B. if you have lex instead of flex, replace the $(LEX) line above +# with the following: +# $(LEX) ../common/lexer.l + # Replace yacc with bison if you run into compilation # problems with y_tab.c. ../common/y_tab.c: ../common/parser.y diff --git a/src/motif/utils.cpp b/src/motif/utils.cpp index 1e026d61b3..99569a53c2 100644 --- a/src/motif/utils.cpp +++ b/src/motif/utils.cpp @@ -34,7 +34,7 @@ #include #include -#if defined(__SVR4__) && !defined(__HPUX__) +#if defined(__SOLARIS__) || defined(__SVR4__) && !defined(__HPUX__) #include #endif @@ -61,7 +61,7 @@ extern wxList wxTopLevelWindows; // Get full hostname (eg. DoDo.BSn-Germany.crg.de) bool wxGetHostName(char *buf, int maxSize) { -#if defined(__SVR4__) && !defined(__HPUX__) +#if defined(__SOLARIS__) || defined(__SVR4__) && !defined(__HPUX__) return (sysinfo (SI_HOSTNAME, buf, maxSize) != -1); #else /* BSD Sockets */ char name[255]; @@ -491,7 +491,7 @@ void wxXMergeDatabases (wxApp * theApp, Display * display) size_t len; environment = GetIniFile (filename, NULL); len = strlen (environment); -#if defined(__SVR4__) && !defined(__HPUX__) +#if defined(__SOLARIS__) || defined(__SVR4__) && !defined(__HPUX__) (void) sysinfo (SI_HOSTNAME, environment + len, 1024 - len); #else (void) gethostname (environment + len, 1024 - len); diff --git a/src/msw/app.cpp b/src/msw/app.cpp index cbf871abde..8488c2d14f 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -248,7 +248,7 @@ bool wxApp::RegisterWindowClasses() // Register the frame window class. WNDCLASS wndclass; // Structure used to register Windows class. - wndclass.style = CS_HREDRAW | CS_VREDRAW; + wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS ; wndclass.lpfnWndProc = (WNDPROC)wxWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = sizeof( DWORD ); // was 4 @@ -272,7 +272,7 @@ bool wxApp::RegisterWindowClasses() // Register the MDI frame window class. WNDCLASS wndclass1; // Structure used to register Windows class. - wndclass1.style = CS_HREDRAW | CS_VREDRAW; + wndclass1.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS ; wndclass1.lpfnWndProc = (WNDPROC)wxWndProc; wndclass1.cbClsExtra = 0; wndclass1.cbWndExtra = sizeof( DWORD ); // was 4 @@ -294,7 +294,7 @@ bool wxApp::RegisterWindowClasses() // Register the MDI child frame window class. WNDCLASS wndclass4; // Structure used to register Windows class. - wndclass4.style = CS_HREDRAW | CS_VREDRAW; + wndclass4.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS ; wndclass4.lpfnWndProc = (WNDPROC)wxWndProc; wndclass4.cbClsExtra = 0; wndclass4.cbWndExtra = sizeof( DWORD ); // was 4 @@ -321,7 +321,7 @@ bool wxApp::RegisterWindowClasses() memset(&wndclass2, 0, sizeof(WNDCLASS)); // start with NULL defaults // Use CS_OWNDC to avoid messing about restoring the context // for every graphic operation. - wndclass2.style = CS_HREDRAW | CS_VREDRAW; + wndclass2.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS ; wndclass2.lpfnWndProc = (WNDPROC)wxWndProc; wndclass2.cbClsExtra = 0; wndclass2.cbWndExtra = sizeof( DWORD ); // was 4 diff --git a/src/msw/dummy.cpp b/src/msw/dummy.cpp index 5bca45319e..dda57b7e3b 100644 --- a/src/msw/dummy.cpp +++ b/src/msw/dummy.cpp @@ -45,7 +45,10 @@ #endif // if wxWindows is in the DLL link our entry point with the application -#if defined(WXUSINGDLL) +// 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) diff --git a/src/msw/dummydll.cpp b/src/msw/dummydll.cpp index 1a594077d8..f1a29bcf1e 100644 --- a/src/msw/dummydll.cpp +++ b/src/msw/dummydll.cpp @@ -19,7 +19,7 @@ // Foils optimizations in Visual C++ (see also app.cpp). Without it, // dummy.obj isn't linked and we get a linker error. -#if defined(__VISUALC__) && defined(__WIN16__) +#if defined(__VISUALC__) char wxDummyChar=0; #endif diff --git a/src/msw/makefile.twn b/src/msw/makefile.twn index dab7599437..2e1918fc4a 100644 --- a/src/msw/makefile.twn +++ b/src/msw/makefile.twn @@ -281,7 +281,7 @@ $(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l $(LEX) $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c -# The following may be required for some versions of LEX/FLEX +# The following may be required for FLEX # $(LEX) -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l # sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \ diff --git a/src/msw/makefile.vc b/src/msw/makefile.vc index 73b6293aa8..4bb2cd095a 100644 --- a/src/msw/makefile.vc +++ b/src/msw/makefile.vc @@ -295,14 +295,19 @@ $(WXDIR)\lib\wx200.dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\wx200.lib ######################################################## # Windows-specific objects -dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h +dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h cl $(CPPFLAGS) $(MAKEPRECOMP) /c /Tp $*.$(SRCSUFF) -dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h +dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h cl @<< $(CPPFLAGS) $(MAKEPRECOMP) /c /Tp $*.$(SRCSUFF) << +# 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 + $(MSWDIR)/accel.obj: $*.$(SRCSUFF) cl @<< $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@ diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index a24f0f419d..dbf1723bef 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -341,6 +341,7 @@ void wxMenu::SetTitle(const wxString& label) } } +#ifndef __WIN16__ // put the title string in bold face if ( !m_title.IsEmpty() ) { @@ -354,6 +355,7 @@ void wxMenu::SetTitle(const wxString& label) wxLogLastError("SetMenuItemInfo"); } } +#endif } const wxString wxMenu::GetTitle() const diff --git a/src/msw/utilsexc.cpp b/src/msw/utilsexc.cpp index 5f12734b4c..ade6c3077a 100644 --- a/src/msw/utilsexc.cpp +++ b/src/msw/utilsexc.cpp @@ -77,10 +77,12 @@ struct wxExecuteData public: ~wxExecuteData() { +#ifndef __WIN16__ if ( !::CloseHandle(hProcess) ) { wxLogLastError("CloseHandle(hProcess)"); } +#endif } HWND hWnd; // window to send wxWM_PROC_TERMINATED to diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 9dcf9a86a1..6bc6898c49 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -49,7 +49,11 @@ #include "wx/menuitem.h" #include "wx/log.h" + +#if wxUSE_TOOLTIPS #include "wx/tooltip.h" +#endif + #include "wx/intl.h" #include "wx/log.h" @@ -2037,7 +2041,7 @@ bool wxWindow::MSWProcessMessage(WXMSG* pMsg) // it return FALSE; } - +#ifndef __WIN16__ wxButton *btnDefault = GetDefaultItem(); if ( btnDefault && !bCtrlDown ) { @@ -2050,6 +2054,7 @@ bool wxWindow::MSWProcessMessage(WXMSG* pMsg) // else: but if there is not it makes sense to make it // work like a TAB - and that's what we do. // Note that Ctrl-Enter always works this way. +#endif } break; diff --git a/utils/dialoged/src/makefile.vc b/utils/dialoged/src/makefile.vc index 79339bd8b6..fce0a56fd7 100644 --- a/utils/dialoged/src/makefile.vc +++ b/utils/dialoged/src/makefile.vc @@ -11,12 +11,19 @@ # Use FINAL=1 argument to nmake to build final version with no debugging # info + +# N.B. This makefiles uses CPPFLAGS2 to disable precompiled headers so we +# can override optimization, which is necessary for correct behaviour under +# VC++ 5 (otherwise deleting an object causes a crash). + # Set WXDIR for your system WXDIR = $(WXWIN) THISDIR = $(WXDIR)\utils\dialoged\src DOCDIR=$(WXDIR)\docs LOCALDOCDIR=$(WXDIR)\utils\dialoged\docs +OVERRIDEFLAGS=/Od + PROGRAM=dialoged OBJECTS = dialoged.obj reseditr.obj dlghndlr.obj reswrite.obj\ @@ -29,47 +36,47 @@ all: dialoged.exe dialoged.obj: winprop.h reseditr.h dialoged.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << winprop.obj: winprop.h reseditr.h winprop.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << reswrite.obj: winprop.h reseditr.h reswrite.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << reseditr.obj: winprop.h reseditr.h reseditr.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << edtree.obj: winprop.h reseditr.h edtree.h edtree.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << edlist.obj: winprop.h reseditr.h edlist.h edlist.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << dlghndlr.obj: winprop.h reseditr.h dlghndlr.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << symbtabl.obj: symbtabl.h symbtabl.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << winstyle.obj: winstyle.h winstyle.$(SRCSUFF) $(DUMMYOBJ) $(cc) @<< -$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) +$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) << DOCSOURCES=$(LOCALDOCDIR)\dialoged.tex $(LOCALDOCDIR)\body.tex\ -- 2.45.2