<HTML>
<HEAD>
-<TITLE>wxWindows 2 for Mac FAQ</TITLE>
+<TITLE>wxWidgets for Mac FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<tr>
<td bgcolor="#004080" align=left height=24 background="images/bluetitlegradient.gif">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
-<b>wxWindows 2 for Mac FAQ</b>
+<b>wxWidgets for Mac FAQ</b>
</font>
</td>
</tr>
<ul>
<li><a href="#release">Where should I download wxMac from?</a></li>
<li><a href="#macplat">Which Mac platforms are supported?</a></li>
-<li><a href="#macosx">How is the Mac OS X port different from the Classic Mac OS port?</a></li>
-<li><a href="#macclassic">How are improvements to the Classic Mac OS port integrated into the Mac OS X port?</a></li>
<li><a href="#compilers">What compilers are supported?</a></li>
+<li><a href="#conflicts">What can I do if I get conflicts between different installed versions of wxWidgets?</a></li>
<li><a href="#filetypes">How does CVS handle file types/creators under Mac OS 8.x /9.x?</a></li>
<li><a href="#filetypesx">How does CVS handle file types/creators under Mac OS X? </a></li>
-<li><a href="#cwpro53">What steps are required to build wxMac using CodeWarrior P ro 5.3?</a></li>
+<!--
+<li><a href="#cwpro53">What steps are required to build wxMac using CodeWarrior Pro 5.3?</a></li>
+-->
<li><a href="#buildx">What steps are required to build wxMac under Mac OS X?</a></li>
<li><a href="#settings">What important settings are required in the CodeWarrior Project Preferences?</a></li>
<li><a href="#smarterrors">What are the smart preprocessing errors with the Apple Developer Tools?</a></li>
<li><a href="#aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></li>
+<li><a href="#findericon">How do I add an icon to my application?</a></li>
+<li><a href="#switching">How can I easily switch between different versions of wxWidgets in CodeWarrior?</a></li>
</ul>
<hr>
<h3><a name="release">Where should I download wxMac from?</a></h3>
Please see the <a href="dl_mac2.htm">downloads page</a>.
-The version of wxMac in CVS advances quickly so it is recommended that you download the
-the sources from the <a href="cvs.htm">CVS trunk</a>.
-There is also a wxMac 2.3.1 <a href="dl_mac2.htm#dev">development snapshot</a>.
<P>
The author of this port is <a href="mailto:csomor@advancedconcepts.ch">Stefan Csomor</a>.
<P>
<h3><a name="macplat">Which Mac platforms are supported?</a></h3>
-wxWindows 2 can be used to develop and deliver applications on Classic Mac OS (e.g. Mac OS 8.x/9.x) both as Carbon and non-Carbon applications.
-<P>
-A Mac OS X port is in progress in order to be able to build wxWindows applications using the Apple Developer Tools that are delivered with every copy of Mac OS X.
-The Mac OS X port is based on and, for the most part, merged with the Carbon code for Classic Mac OS.
+wxWidgets can be used to develop and deliver applications on Mac OS X and Mac Classic (e.g. Mac OS 8.x/9.x) both as Carbon and non-Carbon applications.
+However the Mac OS X port is the most actively developed one, and Mac Classic will not be supported
+after 2.6. wxMac works best with Mac OS X 10.3 and above.
<P>
-<h3><a name="macosx">How is the Mac OS X port different from the Classic Mac OS port?</a></h3>
+<h3><a name="compilers">What compilers are supported?</a></h3>
-wxMac for Mac OS X shares code both with wxMac for Mac OS and common Unix code in wxWindows. The aim is to use the same Mac OS Carbon code both for Classic Mac OS and for Mac OS X while leveraging the fact that Mac OS X is a BSD Unix.
+Under Classic Mac OS, MetroWerks CodeWarrior Pro 6 (or above) is required to build wxMac.
<P>
-This hybrid approach was suggested by Apple to the <a href="http://www.mozilla.org/ports/fizzilla/">Fizzilla</a> team working on <a href="http://www.mozilla.org/">Mozilla</a> for Mac OS X.
+Under Mac OS X, the Developer Tools are sufficient to build wxMac. CodeWarrior Pro 6 can also be used to build the Carbon targets.
<P>
-<h3><a name="macclassic">How are improvements to the Classic Mac OS port integrated into the Mac OS X port?</a></h3>
-
-Since the source code is shared between the two ports, any Carbon compliant improvements to wxMac for Classic Mac OS are automatically available in the Mac OS X port.
-<P>
-The following points should be considered when improving wxMac:
-<ul>
-<li>Non Carbon compliant changes for Classic Mac OS will most likely break the Mac OS X port. <em>Such changes should be tested using the Carbon targets in the CodeWarrior projects for Classic Mac OS.</em>
-<li>Non Carbon compliant changes for Mac OS X will most likely break the Classic Mac OS port. <em>Such changes should be tested using CodeWarrior under Mac OS 8.x/9.x.</em>
-</ul>
-<P>
+<h3><a name="conflicts">What can I do if I get conflicts between different installed versions of wxWidgets?</a></h3>
-<h3><a name="compilers">What compilers are supported?</a></h3>
+Some versions of Mac OS X install an older version of wxMac than the one you may be using
+for development. This can cause conflicts, such as link errors when building your
+applications. A user reports:<p>
-Under Classic Mac OS, MetroWerks CodeWarrior Pro 5.3 or 6 are required to build wxMac.
-<P>
-Under Mac OS X, the Developer Tools are sufficient to build wxMac. CodeWarrior Pro 6 can also be used to build the Carbon targets.
-<P>
+<blockquote>
+I got it to work. I removed the original wxMac build-release folder
+and recompiled wxMac following instructions in your book. I then ran
+"sudo make install" which I didn't do the first time. I figured I
+could now run wx-config --cxxflags from my home directory because
+/usr/local/bin/wx-config was in my $PATH. However, OSX 10.4 installed
+a version of wxWidgets. When I ran wx-config I was getting wx 2.5
+libs instead of the 2.6.1 libs I just compiled. When I ran
+"/usr/local/bin/wx-config --cxxflags" and "/usr/local/bin/wx-config --libs"
+and pasted that output into XCode preferences, everything worked fine.
+</blockquote>
+<p>
<h3><a name="filetypes">How does CVS handle file types/creators under Mac OS 8.x/9.x?</a></h3>
-Before checking out the wxWindows code using a CVS client under Mac OS 8.x/9.x, be sure your computer is set up to treat <code>xpm</code> and <code>xbm</code> images correctly:
+Before checking out the wxWidgets code using a CVS client under Mac OS 8.x/9.x, be sure your computer is set up to treat <code>xpm</code> and <code>xbm</code> images correctly:
<ul>
<li>bring up the Internet control panel, select the <i>Advanced Options</i> tab, click on the <i>File Mapping</i> icon from the list at the left and see if there are is an entry for ".xpm" files and another for ".xbm".
<li>if an entry exists, click <i>Change...</i> and make sure <i>File Type</i> is <code>TEXT</code> (just those four capital letters); correct it if necessary. If there is no entry, make one with type set to <code>TEXT</code> and creator set to anything you like; reasonable choices include <code>GKON</code> (Graphic Converter) or <code>CWIE</code> (CodeWarrior).
<P>
All files checked out under Mac OS X will be untyped and CodeWarrior will not recognize them correctly. To correct this, use the autotyper provided in the CVS sources:
<ul>
-<li>decode and decompress the file <code>wxWindows/docs/mac/TypeAsMetrowerksText.sea.hqx</code>
-<li>drag the wxWindows CVS sandbox directory onto the autotyper and most of the files will be typed according to the file extension
+<li>decode and decompress the file <code>wxWidgets/docs/mac/TypeAsMetrowerksText.sea.hqx</code>
+<li>drag the wxWidgets CVS sandbox directory onto the autotyper and most of the files will be typed according to the file extension
</ul>
<P>
+<!--
<h3><a name="cwpro53">What steps are required to build wxMac using CodeWarrior Pro 5.3?</a></h3>
The latest build for Carbon support lead to a few changes that you will have to follow in order to successfully compile the code.
<P>
Build the projects (<code>makemac6.mcp</code> for CodeWarrior Pro 6; <code>makemac.mpc</code> for CodeWarrior Pro 5) in the following five directories:
<ul>
-<li>wxWindows:src:
-<li>wxWindows:src:jpeg:
-<li>wxWindows:src:png:
-<li>wxWindows:src:tiff:
-<li>wxWindows:src:zlib:
+<li>wxWidgets:src:
+<li>wxWidgets:src:jpeg:
+<li>wxWidgets:src:png:
+<li>wxWidgets:src:tiff:
+<li>wxWidgets:src:zlib:
</ul>
<P>
+-->
<h3><a name="buildx">What steps are required to build wxMac under Mac OS X?</a></h3>
<P>
Building wxMac completely without configure is not supported.
<P>
-Building wxWindows directly in the CVS sandbox is not recommended. Instead, wxWindows should be built in a directory configured relatively to the CVS sandbox.
-For instance, to build wxMac with configure, start in the base wxWindows directory and type:
+Building wxWidgets directly in the CVS sandbox is not recommended. Instead, wxWidgets should be built in a directory configured relatively to the CVS sandbox.
+For instance, to build wxMac with configure, start in the base wxWidgets directory and type:
<ul>
<li><code>mkdir macbuild</code>
<li><code>cd macbuild</code>
<h3><a name="aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></h3>
-Because wxWindows does not have a specific API for the <i>About</i> menu item or the <i>Help</i> menu, the Mac OS port uses some static variables to help the engine make the right decisions:
+Because wxWidgets does not have a specific API for the <i>About</i> menu item or the <i>Help</i> menu, the Mac OS port uses some static variables to help the engine make the right decisions:
<ul>
<li>It assumes that the <i>About</i> menu item is part of a <i>Help</i> menu.
-<li>The title of the <i>Help</i> menu is stored in <code>wxApp::s_macHelpMenuTitleName</code>, it defaults to "&Help", but you can change it in your constructor to your specific menu title.
+<li>The title of the <i>Help</i> menu is stored in <code>wxApp::s_macHelpMenuTitleName</code>, it defaults to "&Help", but you can change it in your constructor to your specific menu title.
<li>The item Id of the <i>About</i> menu is stored in <code>wxApp::s_macAboutMenuItemID</code>, it defaults to <code>wxID_ABOUT</code>, but can be changed as well to suit your needs.
-<li>The other items of the wxWindows help menu are appended to the Mac OS <i>Help</i> menu and the translation of Ids is handled transparently for your application.
+<li>The other items of the wxWidgets help menu are appended to the Mac OS <i>Help</i> menu and the translation of Ids is handled transparently for your application.
</ul>
<P>
+<h3><a name="findericon">How do I add an icon to my application?</a></h3>
+
+If you have Mac OS X, you have the icns editor somewhere in the
+Utilities folder. Create an icon using this tool and DeRez it, so that you have a .r
+file with a 'icns' resource with id (-16455). Include this .r file in
+your project and in the CodeWarrior Settings add a check mark under Linker:Output
+Flags/Finder Flags/Has Custom Icon.
+<P>
+
+<h3><a name="switching">How can I easily switch between different versions of wxWidgets in CodeWarrior?</a></h3>
+
+Sometimes you want to test your application against different versions
+of wxWidgets, for example a stable version of wxWidgets versus a development version.
+The easiest way to do this is to create a symbolic path.<P>
+
+Under Edit-Preferences in General:Source Trees, type a name (for example WXWIN)
+and choose a path for it. Now reselect your include and lib paths for a last
+time, in the settings for each configuration, but make them relative to the symbolic name.
+<P>
+
+From now on you can just change the path associated with the symbolic name.
+
+<P>
+
+
</font>
</BODY>