]> git.saurik.com Git - wxWidgets.git/commitdiff
Added script to help make wxMotif via configure; nativdlg sample works again;
authorJulian Smart <julian@anthemion.co.uk>
Sat, 12 Dec 1998 10:01:41 +0000 (10:01 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Sat, 12 Dec 1998 10:01:41 +0000 (10:01 +0000)
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

13 files changed:
distrib/msw/motif.rsp
docs/latex/wx/layalgor.tex
docs/motif/install.txt
docs/motif/makewx [new file with mode: 0644]
include/wx/generic/laywin.h
samples/nativdlg/nativdlg.cpp
samples/nativdlg/resource.h
samples/resource/resource.cpp
samples/resource/resource.rc
src/common/extended.c
src/generic/laywin.cpp
src/make.env
src/msw/nativdlg.cpp

index 489adf0ac0e9f725a3461545fc73c55c4598d80b..6c395122041d6467ea1162beb9622c4d862fe7c3 100644 (file)
@@ -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
 
index 870a5c127363c5a1f1ba8d3c33ca45f1285400b8..81c39dfbfa47360729e7d3b67bc29c29ef917808 100644 (file)
@@ -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.
 
index a70b5c6f7936baf5c3847316830a7b13ea9146ab..7860a169a7a0ffc6eeedcbf7c3b0be26ffe9e212 100644 (file)
@@ -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 <xpm.h> instead of <X11/xpm.h>
 
   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 (file)
index 0000000..97a114e
--- /dev/null
@@ -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
index 8383855e1b27daf729d704d3a1346e990d50e866..b6e89527cdf2a38023843c4bfeb52113970effc7 100644 (file)
@@ -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
index 32d24f893cec9a0d5bfe029a95610d8c757f401f..17b37c668d4c1f6361d64ff5a6e61753ff429cf0 100644 (file)
@@ -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);
index a71bf8475c2b20cb22c795edab973294504991b2..21b24640308f2fe53cbdfa8ac2f4d514c75dce79 100644 (file)
@@ -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
index 4a981f9ba45b7aa4c8bc664831edcd1a43bdea26..2a88d0518f1f1a4b3c6c61d600b1a6ef3c8b7b51 100644 (file)
@@ -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);
index 129260fd47afa24bcc659935f8e759f0cdb00541..55ff49481285adca4c662a4c95486707d1f7083d 100644 (file)
@@ -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"
 
index a59607f14ca231daae2f29fcf978a99015e3c4d5..bdf53ebb37e1d682f20b9a807917e86763a5833a 100644 (file)
@@ -176,4 +176,4 @@ double ConvertFromIeeeExtended(const unsigned char *bytes)
                return f;
 }
 
-#endif // wxUSE_APPLE_IEEE
+#endif /* wxUSE_APPLE_IEEE */
index 396fe18067e9e30bb9edd43e2cc4ea9ac84302b6..c7d54c931d0e7736f35e191754a4065fbbf34cb9 100644 (file)
@@ -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;
 }
index 8ed42b115241092b20b5f09db91fc303f73fad96..9d4e2aec27f2bfc6d799bd905b11e0729a623612 100644 (file)
@@ -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 #################################
 
index 097db29e59800a2927bd3a3813b165b3c63da19b..f59657cefd21f293b46fa95be77fcf955d5fabf3 100644 (file)
@@ -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)