From: Julian Smart Date: Sat, 12 Dec 1998 10:01:41 +0000 (+0000) Subject: Added script to help make wxMotif via configure; nativdlg sample works again; X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/44c4a3348693414bace13852e50d926c1aa9f08b Added script to help make wxMotif via configure; nativdlg sample works again; resource sample now works using .rc files for most Windows compilers git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/distrib/msw/motif.rsp b/distrib/msw/motif.rsp index 489adf0ac0..6c39512204 100644 --- a/distrib/msw/motif.rsp +++ b/distrib/msw/motif.rsp @@ -6,6 +6,9 @@ config.guess config.sub wx-config.in mkinstalldirs + +makeenvs/*.env + src/Makefile src/Makefile.in src/*.inc @@ -89,7 +92,8 @@ src/makeprog.env include/wx/motif/*.h -docs/motif/*.* +docs/motif/*.txt +docs/motif/makewx lib/dummy diff --git a/docs/latex/wx/layalgor.tex b/docs/latex/wx/layalgor.tex index 870a5c1273..81c39dfbfa 100644 --- a/docs/latex/wx/layalgor.tex +++ b/docs/latex/wx/layalgor.tex @@ -125,7 +125,7 @@ The MDI client window is set to occupy the remaining space. \membersection{wxLayoutAlgorithm::LayoutFrame}\label{wxlayoutalgorithmlayoutframe} -\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow}} +\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow = NULL}} Lays out the children of a normal frame. diff --git a/docs/motif/install.txt b/docs/motif/install.txt index a70b5c6f79..7860a169a7 100644 --- a/docs/motif/install.txt +++ b/docs/motif/install.txt @@ -1,8 +1,8 @@ wxWindows 2.0 for Motif installation ------------------------------------ -- Prerequisites: Motif 1.2 or above, or - Lesstif (not yet tested). +- Prerequisites: Motif 1.2 or above, or Lesstif + (not yet tested). Motif 2.0 and above may also be suitable. - Download the files wx200gen.zip and wx200mot.zip, and documentation in a preferred format, such as wx200htm.zip @@ -13,6 +13,32 @@ wxWindows 2.0 for Motif installation files to Unix format. Don't worry about files being overwritten: they should be identical anyway. +COMPILING USING CONFIGURE + +- You can use the wxGTK configure system to make wxMotif, or + you can follow the following steps to use the simpler (but + less automatic) makefile system. If using configure, the + following script should make the library and samples, when + run from the top-level wxWindows directory (see also 'makewx' + in this directory): + + # Make wxMotif using the configure system + chmod a+x install/unix/config.sub + install/unix/setup/general/* \ + install/unix/config.guess install/unix/setup/shared/* + cd install/unix + autoconf && ./configure --with-shared --with-motif --with-debug_flag \ + --with-debug_info --without-threads + cd ../.. + make makefiles + make + +COMPILING USING MAKEFILES + +- Choose a .env file from src/makeenvs that matches your + environment, and copy it to src/make.env. These are the + settings read by wxWindows for Motif makefiles. + - Edit src/make.env to change options according to your local environment. In particular, change WXDIR to where wxWindows is found on your system, or set the WXWIN environment variable @@ -42,10 +68,10 @@ Notes: ------ - Better installation and makefile systems are - required. I didn't use the wxGTK system because I couldn't - understand it or make it work with wxMotif. Also I think - we should use something that can be made to work easily - with applications outside the wxWindows hierarchy. + required. Although the wxGTK config system can be used to make + wxMotif and samples, it can't easily be made to work + with applications outside the wxWindows hierarchy. Hence the + simple makefile system. - Debugging mode is switched on by default. To compile in non-debug mode, remove the -D__WXDEBUG__ switch in make.env. @@ -59,6 +85,11 @@ Notes: need to install the XPM package. It can be obtained from: ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz + http://sunfreeware.com + + You may need to modify make.env to add -I and -L options pointing to where Xpm + is installed and possibly change bitmap.cpp to + include instead of Alternatively, edit include/motif/setup.h, set wxUSE_XPM to 0, and recompile. You will not be able to load any XPMs, @@ -70,5 +101,5 @@ Notes: wxwin-users@wx.dent.med.uni-muenchen.de -Julian Smart, November 1998. +Julian Smart, December 1998. julian.smart@ukonline.co.uk diff --git a/docs/motif/makewx b/docs/motif/makewx new file mode 100644 index 0000000000..97a114e343 --- /dev/null +++ b/docs/motif/makewx @@ -0,0 +1,7 @@ +# Make wxMotif using the configure system +chmod a+x install/unix/config.sub install/unix/setup/general/* install/unix/config.guess install/unix/setup/shared/* +cd install/unix +autoconf && ./configure --with-shared --with-gtk --with-debug_flag --with-debug_info --without-threads +cd ../.. +make makefiles +make diff --git a/include/wx/generic/laywin.h b/include/wx/generic/laywin.h index 8383855e1b..b6e89527cd 100644 --- a/include/wx/generic/laywin.h +++ b/include/wx/generic/laywin.h @@ -174,7 +174,7 @@ public: bool LayoutMDIFrame(wxMDIParentFrame* frame, wxRect* rect = (wxRect*) NULL); // mainWindow is sized to whatever's left over. - bool LayoutFrame(wxFrame* frame, wxWindow* mainWindow); + bool LayoutFrame(wxFrame* frame, wxWindow* mainWindow = (wxWindow*) NULL); }; #endif diff --git a/samples/nativdlg/nativdlg.cpp b/samples/nativdlg/nativdlg.cpp index 32d24f893c..17b37c668d 100644 --- a/samples/nativdlg/nativdlg.cpp +++ b/samples/nativdlg/nativdlg.cpp @@ -91,7 +91,7 @@ void MyFrame::OnQuit(wxCommandEvent& event) void MyFrame::OnTest1(wxCommandEvent& event) { MyDialog *dialog = new MyDialog; - if (dialog->LoadNativeDialog(this, dialog1)) + if (dialog->LoadNativeDialog(this, "dialog1")) { /* wxTextCtrl *text = (wxTextCtrl *)wxFindWindowByName("multitext3", dialog); diff --git a/samples/nativdlg/resource.h b/samples/nativdlg/resource.h index a71bf8475c..21b2464030 100644 --- a/samples/nativdlg/resource.h +++ b/samples/nativdlg/resource.h @@ -2,7 +2,7 @@ // Microsoft Developer Studio generated include file. // Used by dialog1.rc // -#define dialog1 101 +// #define dialog1 101 #define IDC_EDIT1 1000 #define IDC_CHECK1 1001 #define IDC_COMBO1 1003 diff --git a/samples/resource/resource.cpp b/samples/resource/resource.cpp index 4a981f9ba4..2a88d0518f 100644 --- a/samples/resource/resource.cpp +++ b/samples/resource/resource.cpp @@ -42,7 +42,7 @@ // the TEXT resource, for some reason, so either run-time file loading // or file inclusion should be used. -#if defined(__WXMSW__) && !defined(__BORLANDC__) && !defined(__GNUWIN32__) +#if defined(__WXMSW__) // Under Windows, some compilers can't include // a whole .wxr file. So we use a .rc user-defined resource // instead. dialog1 will point to the whole .wxr 'file'. @@ -69,10 +69,10 @@ MyApp::MyApp() // main frame bool MyApp::OnInit(void) { -#if defined(__WXMSW__) && !defined(__BORLANDC__) +#if defined(__WXMSW__) // Load the .wxr 'file' from a .rc resource, under Windows. - dialog1 = wxLoadUserResource("dialog1"); - menu1 = wxLoadUserResource("menu1"); + dialog1 = wxLoadUserResource("dialog1", "WXRDATA"); + menu1 = wxLoadUserResource("menu1", "WXRDATA"); // All resources in the file (only one in this case) get parsed // by this call. wxResourceParseString(dialog1); diff --git a/samples/resource/resource.rc b/samples/resource/resource.rc index 129260fd47..55ff494812 100644 --- a/samples/resource/resource.rc +++ b/samples/resource/resource.rc @@ -1,7 +1,10 @@ #include "wx/msw/wx.rc" /* Comment out these lines for Borland C++ or GNU-WIN32 */ +/* dialog1 TEXT "dialog1.wxr" menu1 TEXT "menu1.wxr" - +*/ +dialog1 WXRDATA "dialog1.wxr" +menu1 WXRDATA "menu1.wxr" diff --git a/src/common/extended.c b/src/common/extended.c index a59607f14c..bdf53ebb37 100644 --- a/src/common/extended.c +++ b/src/common/extended.c @@ -176,4 +176,4 @@ double ConvertFromIeeeExtended(const unsigned char *bytes) return f; } -#endif // wxUSE_APPLE_IEEE +#endif /* wxUSE_APPLE_IEEE */ diff --git a/src/generic/laywin.cpp b/src/generic/laywin.cpp index 396fe18067..c7d54c931d 100644 --- a/src/generic/laywin.cpp +++ b/src/generic/laywin.cpp @@ -226,7 +226,8 @@ bool wxLayoutAlgorithm::LayoutFrame(wxFrame* frame, wxWindow* mainWindow) rect = event.GetRect(); - mainWindow->SetSize(rect.x, rect.y, rect.width, rect.height); + if (mainWindow) + mainWindow->SetSize(rect.x, rect.y, rect.width, rect.height); return TRUE; } diff --git a/src/make.env b/src/make.env index 8ed42b1152..9d4e2aec27 100644 --- a/src/make.env +++ b/src/make.env @@ -4,6 +4,7 @@ # Common makefile settings for wxWindows programs # This file is included by all the other makefiles, thus changes # made here take effect everywhere (except where overriden). +# RCS-ID: $Id$ # ########################### Programs ################################# diff --git a/src/msw/nativdlg.cpp b/src/msw/nativdlg.cpp index 097db29e59..f59657cefd 100644 --- a/src/msw/nativdlg.cpp +++ b/src/msw/nativdlg.cpp @@ -174,7 +174,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) { // TODO: how to find the bitmap? win = new wxBitmapButton; - wxMessageBox("Have not yet implemented bitmap button as BS_BITMAP button."); + wxLogError("Have not yet implemented bitmap button as BS_BITMAP button."); } #endif else if (style1 == BS_OWNERDRAW) @@ -199,7 +199,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) { char buf[256]; sprintf(buf, "Don't know what kind of button this is: id = %d", (int) id); - wxMessageBox(buf); + wxLogError(buf); } } else if (str == "COMBOBOX") @@ -247,7 +247,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) win = new wxStaticBitmap; // Help! this doesn't correspond with the wxWin implementation. - wxMessageBox("Please make SS_BITMAP statics into owner-draw buttons."); + wxLogError("Please make SS_BITMAP statics into owner-draw buttons."); } #endif } @@ -255,7 +255,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) { wxString msg("Don't know how to convert from Windows class "); msg += str; - wxMessageBox(msg); + wxLogError(msg); } if (win)