diff options
author | das <das> | 2005-11-27 02:36:46 (GMT) |
---|---|---|
committer | das <das> | 2005-11-27 02:36:46 (GMT) |
commit | 1b9cdb47165d048a72acb062ead0a15fa722c256 (patch) | |
tree | 7ab2d749c35dad34d628970ddcc55bf506c6aace /macosx | |
parent | 10e80a6dc5f569368be5a75752fa8e6071a2777b (diff) | |
download | tk-1b9cdb47165d048a72acb062ead0a15fa722c256.zip tk-1b9cdb47165d048a72acb062ead0a15fa722c256.tar.gz tk-1b9cdb47165d048a72acb062ead0a15fa722c256.tar.bz2 |
* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to
configure (flag can't be present twice, so can't be in both CFLAGS and
LDFLAGS during configure), don't use -prebind when deploying on 10.4,
define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542).
(SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete
autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD.
* unix/configure.in: fix obsolete autoconf macros, sync gratuitous
formatting/ordering differences with tcl/unix/configure.in.
* unix/Makefile.in: add CFLAGS to wish/tktest link to make executable
linking the same as during configure (needed to avoid loosing any linker
relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS).
Avoid concurrent linking of wish and compiling of tkTestInit.o during
parallel make, fix dependencies and flags for building tkMacOSXInit.o
(checkstubs, checkexports): dependency and Darwin fixes
* macosx/tkMacOSXEvent.c (TkMacOSXProcessEvent):
* macosx/tkMacOSXEvent.h:
* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent):
* macosx/tkMacOSXCarbonEvents.c: install standard application event
handler, add & call functions to start and stop carbon even timer that
runs the tcl event loop periodically during a nested carbon event loop
in the toolbox (e.g. during menutracking) to ensure tcl timers etc
continue to fire, register app event handler for menu tracking and HI
command carbon events, move menu event handling to new handlers for
those carbon events, no longer register for/handle appleevent carbon
event (now dealt with by standard application event handler), event
debugging code dynamically acquires carbon event debugging functions to
allow use on Tiger where they are no longer exported from HIToolbox.
* macosx/tkMacOSXFont.c (TkMacOSXUseAntialiasedText):
* macosx/tkMacOSXKeyEvent.c (GetKeyboardLayout):
* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents):
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXInt.h: abstract common code to dynamically acquire
address of a named symbol (from a loaded dynamic library) into new
function TkMacOSXGetNamedSymbol() and macro TkMacOSXInitNamedSymbol.
* macosx/tkMacOSXMenu.c (TkpNewMenu):
* macosx/tkMacOSXMenubutton.c (MenuButtonInitControl):
* macosx/tkMacOSXMenus.c (TkMacOSXHandleMenuSelect): switch to modern
utf8 aware menu manager API, remove obsolete code, add error handling.
* macosx/tkMacOSXMouseEvent.c: define OSX 10.3 or later only constants
if necessary to allow compilation on OSX 10.2
* macosx/tkMacOSXWm.c (UpdateSizeHints): remove code that is never
executed.
* generic/tk.h: add/correct location of version numbers in macosx files.
* generic/tkInt.h: clarify fat compile comment.
* macosx/Wish.pbproj/default.pbxuser (new file):
* macosx/Wish.pbproj/jingham.pbxuser:
* macosx/Wish.pbproj/project.pbxproj: sync with HEAD.
* macosx/buildTkConfig.tcl (removed): remove obsolete build files.
* macosx/README: clarification/cleanup, sync with HEAD, document
universal (fat) builds via CFLAGS (i.e. ppc and i386 at the same time).
* macosx/Makefile: add support for reusing configure cache, build target
fixes.
* generic/tkMenu.c:
* macosx/tkMacOSXButton.c:
* macosx/tkMacOSXDebug.c:
* macosx/tkMacOSXDebug.h:
* macosx/tkMacOSXDialog.c:
* macosx/tkMacOSXDraw.c:
* macosx/tkMacOSXEntry.c:
* macosx/tkMacOSXMenu.c:
* macosx/tkMacOSXMouseEvent.c:
* macosx/tkMacOSXXStubs.c:
* macosx/tkMacOSXSubwindows.c:
* xlib/xgc.c: declare functions and globals used only in own file as
static, #ifdef out a few Xlib and aqua functions that are never called
(sync with HEAD).
* macosx/tkMacOSXPort.h:
* generic/tkInt.decls: correct signature of TkMacOSXHandleMenuSelect,
add XSync to aqua Xlib stubs.
* generic/tkTest.c: #ifdef unix only declarations.
(TestmetricsCmd): unify win and mac implementation.
* generic/tkTextDisp.c:
* generic/tkTextBTree.c:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXKeyEvent.c:
* macosx/tkMacOSXWindowEvent.c:
* macosx/tkMacOSXXStubs.c: fix gcc 4 warnings.
* macosx/tkMacOSXNotify.c:
* macosx/tkMacOSXTest.c: sync with HEAD.
* generic/tkIntPlatDecls.h:
* generic/tkIntXlibDecls.h:
* generic/tkStubInit.c:
* unix/configure: regen.
Diffstat (limited to 'macosx')
30 files changed, 1273 insertions, 3566 deletions
diff --git a/macosx/Makefile b/macosx/Makefile index e611787..b4f77f7 100644 --- a/macosx/Makefile +++ b/macosx/Makefile @@ -4,7 +4,7 @@ # uses the standard unix build system in tk/unix (which can be used directly instead of this # if you are not using the tk/macosx projects). # -# RCS: @(#) $Id: Makefile,v 1.7.2.11 2005/06/18 21:47:47 das Exp $ +# RCS: @(#) $Id: Makefile,v 1.7.2.12 2005/11/27 02:36:46 das Exp $ # ######################################################################################################## @@ -100,7 +100,7 @@ TCL_VERSION := ${VERSION} wish := wish WISH = wish${VERSION} -BUILD_TARGET := wish +BUILD_TARGET := all tktest INSTALL_TARGET := install ifneq ($(wildcard ${TCL_BUILD_DIR}/tclConfig.sh),) @@ -135,7 +135,7 @@ endif MAKE_VARS += INSTALL_ROOT INSTALL_TARGETS VERSION MAKE_ARGS_V = $(foreach v,${MAKE_VARS},$v='${$v}') -build-${PROJECT}: target = ${TARGET} +build-${PROJECT}: target = ${BUILD_TARGET} install-${PROJECT}: target = ${INSTALL_TARGET} clean-${PROJECT} distclean-${PROJECT} test-${PROJECT}: \ target = $* @@ -164,12 +164,14 @@ TK_FMWK_DIR := ${FMWK_DIR}/${PRODUCT_NAME}.framework/Versions/${VERSION} ${PROJECT}: ${MAKE} install-${PROJECT} INSTALL_ROOT=${OBJ_DIR}/ -${OBJ_DIR}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure - mkdir -p ${OBJ_DIR} && cd ${OBJ_DIR} && ${UNIX_DIR}/configure \ +${OBJ_DIR}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure \ + ${UNIX_DIR}/tkConfig.sh.in Tk-Info.plist.in Wish-Info.plist.in + mkdir -p ${OBJ_DIR} && cd ${OBJ_DIR} && \ + if [ ${UNIX_DIR}/configure -nt config.status ]; then ${UNIX_DIR}/configure \ --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} \ --mandir=${MANDIR} --enable-threads --enable-framework \ --with-tcl=${TCL_DIR} \ - ${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS} + ${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}; else ./config.status; fi ifneq (${TK_X11},) @cd ${OBJ_DIR} && sed -e 's#/Versions/${TCL_VERSION}#/Versions/${VERSION}#' \ tkConfig.sh > tkConfig.sh.1 && mv -f tkConfig.sh.1 tkConfig.sh diff --git a/macosx/README b/macosx/README index 70d1961..066c5d1 100644 --- a/macosx/README +++ b/macosx/README @@ -1,44 +1,51 @@ -TclTkAqua README ----------------- +Tcl/Tk Mac OS X README +---------------------- -RCS: @(#) $Id: README,v 1.6.2.8 2005/05/24 04:21:32 das Exp $ +RCS: @(#) $Id: README,v 1.6.2.9 2005/11/27 02:36:46 das Exp $ -This is the README file for the Mac OS X native versions of Tcl & Tk. +This is the README file for the Mac OS X/Darwin version of Tcl/Tk. -1. General ----------- +1. Where to go for support +-------------------------- -- The tcl-mac mailing list on sourceforge is the canonical place for questions +- The tcl-mac mailing list on sourceforge is the best place to ask questions specific to Tcl & Tk on Mac OS X: http://lists.sourceforge.net/lists/listinfo/tcl-mac (this page also has a link to searchable archives of the list, please check them before asking on the list, many questions have already been answered). -- For general tcl/tk questions, the newsgroup comp.lang.tcl is your best bet, -but also check the Tcl'ers Wiki for a wealth of information: - http://wiki.tcl.tk/ +- For general Tcl/Tk questions, the newsgroup comp.lang.tcl is your best bet: + http://groups.google.com/group/comp.lang.tcl/ -- The wiki has a page listing known bugs in Mac OS X Tcl/Tk (and other tips) - http://wiki.tcl.tk/MacOS%20X -as well as a page with info on building Tcl/Tk on Mac OS X - http://wiki.tcl.tk/Steps%20to%20build%20Tcl/Tk%208.4.0%20on%20MacOS%20X +- The Tcl'ers Wiki also has many pages dealing with Tcl & Tk on Mac OS X, see + http://wiki.tcl.tk/references/3753! + http://wiki.tcl.tk/references/8361! -- You should report bugs to the sourceforge bug trackers as usual: - Tcl: https://sourceforge.net/tracker/?func=add&group_id=10894&atid=110894 - Tk: https://sourceforge.net/tracker/?func=add&group_id=12997&atid=112997 -please make sure that your report Tk specific bugs to the tktoolkit bug -tracker and not the tcl one. +- Please report bugs with Tcl or Tk on Mac OS X to the sourceforge bug trackers: + Tcl: http://sf.net/tracker/?func=add&group_id=10894&atid=110894 + Tk: http://sf.net/tracker/?func=add&group_id=12997&atid=112997 +please make sure that your report Tk specific bugs to the tktoolkit project bug +tracker rather than the tcl project bug tracker. +Mac OS X specific bugs should usually be assigned to 'das' or 'wolfsuit'. -2. Using TclTkAqua ------------------- +2. Using Tcl/Tk on Mac OS X +--------------------------- -- Mac OS X 10.2 (or higher) is required to run TclTkAqua. +- There are two versions of Tk available on Mac OS X: TkAqua using the native +aqua widgets and look&feel, and TkX11 using the traditional unix X11 wigets. +TkX11 requires an X11 server to be installed, such as Apple's X11 (which is +available as an optional install on recent Mac OS X retail disks). +TkAqua and TkX11 can be distinguished at runtime via [tk windowingsystem]. -- Tcl built on Mac OS X 10.3 or higher will not run on 10.2 due to missing -symbols in libSystem, however Tcl built on 10.2 will run on 10.3 (but without -prebinding and other optimizations). +- At a minimum, Mac OS X 10.1 is required to run Tcl and TkX11, and OS X 10.2 is +required to run TkAqua. However OS X 10.3 or higher is recommended (certain +[file] operations behave incorrectly on earlier releases). + +- Tcl/Tk built on Mac OS X 10.x will not run on 10.y for y < x, on the other +hand Tcl/Tk built on 10.y will run on 10.x for y < x (but without any of the +fixes and optimizations that would be available in a binary built on 10.x). - Wish checks the Resources/Scripts directory in its application bundle for a file called AppMain.tcl, if found it is used as the startup script and the @@ -46,85 +53,81 @@ Scripts folder is added to the auto_path. This can be used to emulate the old OS9 TclTk droplets. - If standard input is a special file of zero length (e.g. /dev/null), Wish -brings up the tk console window at startup. This is the case when double +brings up the Tk console window at startup. This is the case when double clicking Wish in the Finder (or using 'open Wish.app' from the Terminal). -- Tcl extensions will be found in any of: +- Tcl extensions can be installed in any of: $HOME/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl $HOME/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks (searched in that order). Given a potential package directory $pkg, Tcl on OSX checks for the file $pkg/Resources/Scripts/pkgIndex.tcl as well as the usual $pkg/pkgIndex.tcl. -This allows building extensions as frameworks with all script files contained -in the Resources/Scripts directory of the framework. +This allows building extensions as frameworks with all script files contained in +the Resources/Scripts directory of the framework. + +- [load]able binary extensions can linked as either ordinary shared libraries +(.dylib) or as MachO bundles (since 8.4.10/8.5a3); only bundles can be unloaded, +and bundles are also loaded more efficiently from VFS (no temporary copy to the +native filesystem required). -- The Tcl and Tk frameworks contain documentation in html format in the -standard location for frameworks: +- The 'deploy' target of macosx/GNUmakefile installs the html manpages into the +standard documentation location in the Tcl/Tk frameworks: Tcl.framework/Resources/Documentation/Reference/Tcl Tk.framework/Resources/Documentation/Reference/Tk -No manpages are installed by default for either tcl or tk. +No nroff manpages are installed by default by the GNUmakefiles. -- the frameworks Tcl.framework and Tk.framework can be placed in any of the -system's standard framework directories: +- The Tcl and Tk frameworks can be installed in any of the system's standard +framework directories: $HOME/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks -and 'Wish' as well as /usr/bin/tclsh will work. -- /usr/bin/wish is a script that calls a copy of 'Wish' contained in +- /usr/bin/wish8.x is a script that calls a copy of 'Wish' contained in Tk.framework/Resources - if 'Wish' is started from the Finder or via 'open', $argv contains a "-psn_XXXX" argument. This is the Wish's carbon process serial number, you may need to filter it out for cross platform compatibility of your scripts. -- the env array is different when Wish is started from the Finder than when -it (or tclsh) is invoked from the Terminal, in particular PATH may not be what -you expect. (Wish started from the Finder inherits the Finder's environment +- the env array is different when Wish is started from the Finder than when it +(or tclsh) is invoked from the Terminal, in particular PATH may not be what you +expect. (Wish started from the Finder inherits the Finder's environment variables, which are essentially those set in $HOME/.MacOSX/environment.plist and not those set by your shell configuration files). -- As of Tk 8.4.7, AquaTk has a version of the low-level drawing primitives using +- As of Tk 8.4.7, TkAqua has a version of the low-level drawing primitives using the CoreGraphics routines - the code is primarily due to James Tittle. There were numerous problems with the QD version, mostly due to the different drawing -model of QD & Tk. CG also trivially supports dashed lines, and the various end -caps & miters. So this is a great improvement. - -The old QD code is retained for now, just in case there are any -compatibility problems. To switch back to the QD drawing, just put: - -set tk::mac::useCGDrawing 0 - -in your script before you do drawing. Also the CG drawing can anti-alias line drawing. -However, anti-aliased thin lines look washed out, so the threshold for antialiasing -is set to 3 pixel width lines. You can change this if you want by putting: - -set tk::mac::CGAntialiasLimit <limit> - -in your script before drawing, in which case only lines thinner that <limit> pixels -will not be antialiased. +model of QD & Tk. CG also trivially supports dashed lines, and the various end +caps & miters. So this is a great improvement. +The old QD code is retained for now, just in case there are any compatibility +problems. To switch back to the QD drawing, just put: + set tk::mac::useCGDrawing 0 +in your script before you do drawing. Also the CG drawing can anti-alias line +drawing. However, anti-aliased thin lines look washed out, so the threshold for +antialiasing is set to 3 pixel width lines. You can change this if you want by +putting: + set tk::mac::CGAntialiasLimit <limit> +in your script before drawing, in which case only lines thinner that <limit> +pixels will not be antialiased. - Quickdraw text antialiasing is enabled by default when available (from 10.1.5 onwards). Changing the global boolean variable '::tk::mac::antialiasedtext' -allows to dis/enable antialiasing on the fly from tcl (even for existing text). +allows to dis/enable antialiasing on the fly from Tcl (even for existing text). -- the format of binary extensions expected by [load] is that of ordinary shared -libraries (.dylib) and not MachO bundles, at present loading of MachO bundles is -not supported. +- Scrollbars: There are two scrollbar variants in Aqua, normal & small. The +normal scrollbar has a small dimension of 16, the small variant 12. Access to +the small variant was added in Tk 8.4.2. -- Scrollbars: There are two scrollbar variants in Aqua, normal & small. The -normal scrollbar has a small dimension of 16, the small variant 12. Access -to the small variant was added in Tk 8.4.2. - -- Cursors: You can now put up and spin the Classic MacOS spinner, and the -counting hands and watch cursor. The way this is done is each of the spinners +- Cursors: You can now put up and spin the Classic MacOS spinner, and the +counting hands and watch cursor. The way this is done is each of the spinners have a base name: spinning: The circular B&W circular spinner countinguphand: The counting up hand countingdownhand: The counting down hand countingupanddownhand: The counting up then down hand watch: The watch cursor -Then to get the sequential variants, add an integer to the end of the base -name. So, for instance this code will spin the spinner: +Then to get the sequential variants, add an integer to the end of the base name. +So, for instance this code will spin the spinner: proc spinCursor {widget count} { $widget configure -cursor spinning$count after 100 spinCursor [incr count] @@ -132,27 +135,50 @@ name. So, for instance this code will spin the spinner: This was added in Tk 8.4.2 -3. Building TclTkAqua ---------------------- - -- Mac OS X 10.2 (or higher) is required to build TclTkAqua on MacOSX. - -- Apple's Developer Tools CD needs to be installed (the most recent version -matching your OS release, but no earlier than December 2002). This CD should -have come with Mac OS X retail or should be present as a disk image on new macs -that came with OSX preinstalled. It can also be downloaded from -http://connect.apple.com (after you register for free ADC membership). - -- Tcl and Tk are built as a Mac OS X frameworks via the Makefiles in tcl/macosx -and tk/macosx, but can also be built directly with the standard unix configure -and make buildsystem in tcl/unix resp. tk/unix. - -- It is still possible to build with Apple's Xcode IDE using the Tcl.pbproj and -Wish.pbproj projects but this is not recommended anymore (currently Tcl.pbproj -calls through to the tcl/macosx/Makefile; but Wish.pbproj doesn't, so there could -be build differences). - -- Unpack the tcl and tk source release archives and place the tcl and tk source +3. Building Tcl/Tk on Mac OS X +------------------------------ + +- At least Mac OS X 10.1 is required to build Tcl and TkX11 and OS X 10.2 is +required to build TkAqua. Apple's Developer Tools need to be installed (only the +most recent version matching your OS release is supported). The Developer Tools +installer is available on Mac OS X retail disks or is present in +/Applications/Installers on Macs that came with OS X preinstalled. The most +recent version can be downloaded from the ADC website http://connect.apple.com +(after you register for free ADC membership). + +- Tcl/Tk are most easily built as Mac OS X frameworks via GNUmakefile in +tcl/macosx and tk/macosx (see below for details), but can also be built with the +standard unix configure and make buildsystem in tcl/unix resp. tk/unix as on any +other unix platform (indeed, the GNUmakefiles are just wrappers around the unix +buildsystem). +The Mac OS X specifc configure flags are --enable-aqua, --enable-framework and +--disable-corefoundation (which disables CF and notably reverts to the standard +select based notifier, you will only need this if your require use of naked fork +(i.e. not followed by execve) in an unthreaded core). Note that --enable-aqua is +incompatible with --disable-corefoundation (for both Tcl and Tk configure). + +- It is also possible to build with Apple's IDE via the tk/macosx/Wish.pbproj +project, this simply calls through to the tk/macosx/GNUMakefile. It requires a +build of the tcl/macosx/Tcl.pbproj project. + +- To build universal binaires, set CFLAGS as follows: + export CFLAGS="-arch ppc -arch i386 \ + -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" +This requires Mac OS X 10.4 and Xcode 2.2 (_not_ Xcode 2.1) and will work on +any of the architectures (on i386 DTKs, the -isysroot is not required). +Note that it is not possible to configure correctly if the current architecture +is not present in CFLAGS (i.e. -arch `arch` must always be there). +Universal builds of Tk TEA extensions are also possible with CFLAGS set as +above, they will be [load]able by universal as well as thin binaries of Tk. +Note that while Tcl can be built for the ppc64 architecture, neither TkAqua nor +TkX11 can be built with -arch ppc64 as the corresponding GUI libraries are not +available for 64bit at present. However, linking a universal 'ppc i386' Tk +binary against a universal 'ppc ppc64 i386' Tcl binary works just fine. + +Detailed Instructions for building with macosx/GNUmakefile +---------------------------------------------------------- + +- Unpack the Tcl and Tk source release archives and place the tcl and tk source trees in a common parent directory. [ If you don't want have the two source trees in one directory, you'll need to ] [ create the following symbolic link for the build to work as setup by default ] @@ -160,17 +186,17 @@ trees in a common parent directory. [ (where /path_to_{tcl,tk} is the directory containing the tcl resp. tk tree) ] [ or you can pass an argument of BUILD_DIR=/somewhere to the tcl and tk make. ] -- The following instructions assume the tcl and tk source trees are named +- The following instructions assume the Tcl and Tk source trees are named "tcl${ver}" and "tk${ver}", respectively, where ${ver} is a shell variable -containing the tcl and tk version number (for example '8.4.2'). +containing the Tcl and Tk version number (for example '8.4.12'). Setup the shell variable as follows: - set ver="8.4.2" ;: if your shell is csh - ver="8.4.2" ;: if your shell is sh + set ver="8.4.12" ;: if your shell is csh + ver="8.4.12" ;: if your shell is sh The source trees will be named this way only if you are building from a release archive, if you are building from CVS, the version numbers will be missing; so set ${ver} to the empty string instead: - set ver="" ;: if your shell is csh - ver="" ;: if your shell is sh + set ver="" ;: if your shell is csh + ver="" ;: if your shell is sh - The following steps will build Tcl and Tk from the Terminal, assuming you are located in the directory containing the tcl and tk source trees: @@ -221,13 +247,12 @@ Notes: - It is possible to build Tk against an installed Tcl.framework; but you will still need a tcl sourcetree in the location specified in TCL_SRC_DIR in -Tcl.framework/tclConfig.sh. Also, linking with Tcl.framework has to work -exactly as indicated in TCL_LIB_SPEC in Tcl.framework/tclConfig.sh. +Tcl.framework/tclConfig.sh. Also, linking with Tcl.framework has to work exactly +as indicated in TCL_LIB_SPEC in Tcl.framework/tclConfig.sh. If you used non-default install locations for Tcl.framework, specify them as make overrides to the tk/macosx Makefile, e.g. make -C tk${ver}/macosx \ TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin sudo make -C tk${ver}/macosx install \ TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin - The Makefile variables TCL_FRAMEWORK_DIR and TCLSH_DIR were added in Tk 8.4.3. diff --git a/macosx/Wish.pbproj/default.pbxuser b/macosx/Wish.pbproj/default.pbxuser new file mode 100644 index 0000000..aafee5a --- /dev/null +++ b/macosx/Wish.pbproj/default.pbxuser @@ -0,0 +1,178 @@ +// !$*UTF8*$! +{ + F537552A016C352C01DC9062 = { + activeBuildStyle = F537552C016C352C01DC9062; + activeExecutable = F9F6B1E308E8648C00C9CB24; + activeTarget = F9D6747B08E84DC100688CAA; + addToTargets = ( + ); + codeSenseManager = F9D7368F06AD399F00DC3A31; + executables = ( + F9F6B1EB08E864DC00C9CB24, + F9F6B1E308E8648C00C9CB24, + ); + sourceControlManager = F9D7368E06AD399F00DC3A31; + userBuildSettings = { + SYMROOT = "${SRCROOT}/../../build/tk"; + }; + }; + F9D6747B08E84DC100688CAA = { + activeExec = 0; + }; + F9D7368E06AD399F00DC3A31 = { + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + isa = PBXSourceControlManager; + scmConfiguration = { + }; + scmType = scm.cvs; + }; + F9D7368F06AD399F00DC3A31 = { + indexTemplatePath = ""; + isa = PBXCodeSenseManager; + usesDefaults = 1; + wantsCodeCompletion = 1; + wantsCodeCompletionAutoSuggestions = 1; + wantsCodeCompletionCaseSensitivity = 1; + wantsCodeCompletionListAlways = 1; + wantsCodeCompletionOnlyMatchingItems = 1; + wantsCodeCompletionParametersIncluded = 1; + wantsCodeCompletionPlaceholdersInserted = 1; + wantsCodeCompletionTabCompletes = 1; + wantsIndex = 1; + }; + F9F6B1E308E8648C00C9CB24 = { + activeArgIndex = 2147483647; + activeArgIndices = ( + ); + argumentStrings = ( + ); + configStateDict = { + "PBXLSLaunchAction-0" = { + PBXLSLaunchAction = 0; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXLSRunLaunchConfig; + displayName = "Executable Runner"; + identifier = com.apple.Xcode.launch.runConfig; + remoteHostInfo = ""; + startActionInfo = ""; + }; + "PBXLSLaunchAction-1" = { + PBXLSLaunchAction = 1; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXGDB_LaunchConfig; + displayName = GDB; + identifier = com.apple.Xcode.launch.GDBMI_Config; + remoteHostInfo = ""; + startActionInfo = ""; + }; + }; + cppStopOnCatchEnabled = 0; + cppStopOnThrowEnabled = 0; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = _debug; + enableDebugStr = 0; + environmentEntries = ( + { + active = NO; + name = DYLD_PRINT_LIBRARIES; + }, + ); + isa = PBXExecutable; + launchableReference = F9F6B1E408E8648C00C9CB24; + libgmallocEnabled = 0; + name = Wish; + shlibInfoDictList = ( + ); + sourceDirectories = ( + ); + }; + F9F6B1E408E8648C00C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.application; + path = Wish.app; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F9F6B1EB08E864DC00C9CB24 = { + activeArgIndex = 2147483647; + activeArgIndices = ( + NO, + NO, + NO, + ); + argumentStrings = ( + "${SRCROOT}/../../tcl/tests/all.tcl", + "${SRCROOT}/../../tk/tests/all.tcl", + "-verbose \"\"", + ); + configStateDict = { + "PBXLSLaunchAction-0" = { + PBXLSLaunchAction = 0; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXLSRunLaunchConfig; + displayName = "Executable Runner"; + identifier = com.apple.Xcode.launch.runConfig; + remoteHostInfo = ""; + startActionInfo = ""; + }; + "PBXLSLaunchAction-1" = { + PBXLSLaunchAction = 1; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXGDB_LaunchConfig; + displayName = GDB; + identifier = com.apple.Xcode.launch.GDBMI_Config; + remoteHostInfo = ""; + startActionInfo = ""; + }; + }; + cppStopOnCatchEnabled = 0; + cppStopOnThrowEnabled = 0; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = _debug; + enableDebugStr = 0; + environmentEntries = ( + { + active = YES; + name = TCL_LIBRARY; + value = "${SRCROOT}/../../tcl/library"; + }, + { + active = YES; + name = TK_LIBRARY; + value = "${SRCROOT}/../../tk/library"; + }, + { + active = NO; + name = DYLD_PRINT_LIBRARIES; + }, + ); + isa = PBXExecutable; + launchableReference = F9F6B1EC08E864DC00C9CB24; + libgmallocEnabled = 0; + name = tktest; + shlibInfoDictList = ( + ); + sourceDirectories = ( + ); + }; + F9F6B1EC08E864DC00C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.executable"; + path = tktest; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; +} diff --git a/macosx/Wish.pbproj/jingham.pbxuser b/macosx/Wish.pbproj/jingham.pbxuser index 79685a9..aafee5a 100644 --- a/macosx/Wish.pbproj/jingham.pbxuser +++ b/macosx/Wish.pbproj/jingham.pbxuser @@ -1,20 +1,25 @@ // !$*UTF8*$! { - 4C26BFE606AF8D9A00889141 = { - fileReference = F5375551016C376E01DC9062; - functionName = "TkMacOSXSetUpCGContext()"; - isa = PBXFileBreakpoint; - lineNumber = 1730; - state = 2; + F537552A016C352C01DC9062 = { + activeBuildStyle = F537552C016C352C01DC9062; + activeExecutable = F9F6B1E308E8648C00C9CB24; + activeTarget = F9D6747B08E84DC100688CAA; + addToTargets = ( + ); + codeSenseManager = F9D7368F06AD399F00DC3A31; + executables = ( + F9F6B1EB08E864DC00C9CB24, + F9F6B1E308E8648C00C9CB24, + ); + sourceControlManager = F9D7368E06AD399F00DC3A31; + userBuildSettings = { + SYMROOT = "${SRCROOT}/../../build/tk"; + }; }; - 4C26BFE806AF8E8600889141 = { - fileReference = F5375551016C376E01DC9062; - functionName = "TkMacOSXReleaseCGContext()"; - isa = PBXFileBreakpoint; - lineNumber = 1833; - state = 2; + F9D6747B08E84DC100688CAA = { + activeExec = 0; }; - 4CFCC13905E175AD00686F63 = { + F9D7368E06AD399F00DC3A31 = { fallbackIsa = XCSourceControlManager; isSCMEnabled = 0; isa = PBXSourceControlManager; @@ -22,12 +27,12 @@ }; scmType = scm.cvs; }; - 4CFCC13A05E175AD00686F63 = { + F9D7368F06AD399F00DC3A31 = { indexTemplatePath = ""; isa = PBXCodeSenseManager; usesDefaults = 1; wantsCodeCompletion = 1; - wantsCodeCompletionAutoSuggestions = 0; + wantsCodeCompletionAutoSuggestions = 1; wantsCodeCompletionCaseSensitivity = 1; wantsCodeCompletionListAlways = 1; wantsCodeCompletionOnlyMatchingItems = 1; @@ -36,903 +41,138 @@ wantsCodeCompletionTabCompletes = 1; wantsIndex = 1; }; - F537552A016C352C01DC9062 = { - activeBuildStyle = F537552C016C352C01DC9062; - activeExecutable = F9B92F14047876F1006F146B; - activeTarget = F53755DF016C38D201DC9062; - addToTargets = ( - F53755DF016C38D201DC9062, - ); - breakpoints = ( - 4C26BFE606AF8D9A00889141, - 4C26BFE806AF8E8600889141, + F9F6B1E308E8648C00C9CB24 = { + activeArgIndex = 2147483647; + activeArgIndices = ( ); - codeSenseManager = 4CFCC13A05E175AD00686F63; - executables = ( - F9B92F14047876F1006F146B, + argumentStrings = ( ); - perUserDictionary = { - PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 280, - 20, - 55, - 43, - 43, - 20, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - PBXFileDataSource_Target_ColumnID, - ); - }; - PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID; - PBXFileTableDataSourceColumnWidthsKey = ( - 196.2974, - 198.2085, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFindDataSource_MessageID, - PBXFindDataSource_LocationID, - ); - }; - PBXPerProjectTemplateStateSaveDate = 133417037; - PBXPrepackagedSmartGroups_v2 = ( - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - activationKey = OldTargetSmartGroup; - clz = PBXTargetSmartGroup; - description = "Displays all targets of the project."; - globalID = 1C37FABC04509CD000000102; - name = Targets; - preferences = { - image = Targets; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXTargetSmartGroup2; - description = "Displays all targets of the project as well as nested build phases."; - globalID = 1C37FBAC04509CD000000102; - name = Targets; - preferences = { - image = Targets; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXExecutablesSmartGroup; - description = "Displays all executables of the project."; - globalID = 1C37FAAC04509CD000000102; - name = Executables; - preferences = { - image = Executable; - }; - }, - { - " PBXTransientLocationAtTop " = bottom; - absolutePathToBundle = ""; - clz = PBXErrorsWarningsSmartGroup; - description = "Displays files with errors or warnings."; - globalID = 1C08E77C0454961000C914BD; - name = "Errors and Warnings"; - preferences = { - fnmatch = ""; - image = WarningsErrors; - recursive = 1; - regex = ""; - root = "<PROJECT>"; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXFilenameSmartGroup; - description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; - globalID = 1CC0EA4004350EF90044410B; - name = "Implementation Files"; - preferences = { - canSave = 1; - fnmatch = ""; - image = SmartFolder; - isLeaf = 0; - recursive = 1; - regex = "?*\\.[mcMC]"; - root = "<PROJECT>"; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXFilenameSmartGroup; - description = "This group displays Interface Builder NIB Files."; - globalID = 1CC0EA4004350EF90041110B; - name = "NIB Files"; - preferences = { - canSave = 1; - fnmatch = "*.nib"; - image = SmartFolder; - isLeaf = 0; - recursive = 1; - regex = ""; - root = "<PROJECT>"; - }; - }, - { - PBXTransientLocationAtTop = no; - absolutePathToBundle = ""; - clz = PBXFindSmartGroup; - description = "Displays Find Results."; - globalID = 1C37FABC05509CD000000102; - name = "Find Results"; - preferences = { - image = spyglass; - }; - }, - { - PBXTransientLocationAtTop = no; - absolutePathToBundle = ""; - clz = PBXBookmarksSmartGroup; - description = "Displays Project Bookmarks."; - globalID = 1C37FABC05539CD112110102; - name = Bookmarks; - preferences = { - image = Bookmarks; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = XCSCMSmartGroup; - description = "Displays files with interesting SCM status."; - globalID = E2644B35053B69B200211256; - name = SCM; - preferences = { - image = PBXRepository; - isLeaf = 0; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXSymbolsSmartGroup; - description = "Displays all symbols for the project."; - globalID = 1C37FABC04509CD000100104; - name = "Project Symbols"; - preferences = { - image = ProjectSymbols; - isLeaf = 1; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXFilenameSmartGroup; - description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; - globalID = PBXTemplateMarker; - name = "Simple Filter SmartGroup"; - preferences = { - canSave = 1; - fnmatch = "*.nib"; - image = SmartFolder; - isLeaf = 0; - recursive = 1; - regex = ""; - root = "<PROJECT>"; - }; - }, - { - PBXTransientLocationAtTop = bottom; - absolutePathToBundle = ""; - clz = PBXFilenameSmartGroup; - description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; - globalID = PBXTemplateMarker; - name = "Simple Regular Expression SmartGroup"; - preferences = { - canSave = 1; - fnmatch = ""; - image = SmartFolder; - isLeaf = 0; - recursive = 1; - regex = "?*\\.[mcMC]"; - root = "<PROJECT>"; - }; - }, - { - PBXTransientLocationAtTop = bottom; - clz = XDDesignSmartGroup; - description = "Displays Xdesign models"; - globalID = 2E4A936305E6979E00701470; - name = Design; - preferences = { - image = Design; - isLeaf = 0; - }; - }, - ); - PBXWorkspaceContents = ( - { - PBXProjectWorkspaceModule_StateKey_Rev39 = { - PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = { - BoundsStr = "{{0, 0}, {216, 426}}"; - Rows = ( - ); - VisibleRectStr = "{{0, 0}, {216, 426}}"; - }; - PBXProjectWorkspaceModule_EditorOpen = false; - PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = { - PBXSplitModuleInNavigatorKey = { - SplitCount = 1; - }; - }; - PBXProjectWorkspaceModule_GeometryKey_Rev15 = { - PBXProjectWorkspaceModule_SGTM_Geometry = { - _collapsingFrameDimension = 418; - _indexOfCollapsedView = 1; - _percentageOfCollapsedView = 0.6966667; - isCollapsed = yes; - sizes = ( - "{{0, 0}, {413, 422}}", - ); - }; - }; - PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {231, 443}}"; - PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}"; - PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {231, 443}}"; - PBXProjectWorkspaceModule_SGTM = { - PBXBottomSmartGroupGIDs = ( - 1C37FBAC04509CD000000102, - 1C37FAAC04509CD000000102, - 1C08E77C0454961000C914BD, - 1CC0EA4004350EF90044410B, - 1CC0EA4004350EF90041110B, - 1C37FABC05509CD000000102, - 1C37FABC05539CD112110102, - E2644B35053B69B200211256, - 1C37FABC04509CD000100104, - ); - PBXSmartGroupTreeModuleColumnData = { - PBXSmartGroupTreeModuleColumnWidthsKey = ( - 396, - ); - PBXSmartGroupTreeModuleColumnsKey_v4 = ( - MainColumn, - ); - }; - PBXSmartGroupTreeModuleOutlineStateKey_v7 = { - PBXSmartGroupTreeModuleOutlineStateExpansionKey = ( - F537552B016C352C01DC9062, - F537552E016C376E01DC9062, - F5375530016C376E01DC9062, - F537553C016C376E01DC9062, - F537553D016C376E01DC9062, - F5375546016C376E01DC9062, - F53755CC016C389901DC9062, - F53755CD016C389901DC9062, - 1C37FABC05509CD000000102, - ); - PBXSmartGroupTreeModuleOutlineStateSelectionKey = ( - ( - 107, - 94, - 85, - 0, - ), - ); - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 1650}, {396, 404}}"; - }; - PBXTopSmartGroupGIDs = ( - ); - }; - }; - }, - ); - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXBuildResultsModule" = { - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugBreakpointsModule" = { - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugCLIModule" = { - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugSessionModule" = { - Debugger = { - HorizontalSplitView = { - _collapsingFrameDimension = 0; - _indexOfCollapsedView = 0; - _percentageOfCollapsedView = 0; - isCollapsed = yes; - sizes = ( - "{{0, 0}, {301, 283}}", - "{{301, 0}, {504, 283}}", - ); - }; - VerticalSplitView = { - _collapsingFrameDimension = 0; - _indexOfCollapsedView = 0; - _percentageOfCollapsedView = 0; - isCollapsed = yes; - sizes = ( - "{{0, 0}, {805, 283}}", - "{{0, 283}, {805, 309}}", - ); - }; - }; - LauncherConfigVersion = 8; - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugSingleDataValueViewModule" = { - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXNavigatorGroup" = { - PBXSplitModuleInNavigatorKey = { - SplitCount = 1; - }; - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectFindModule" = { - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = { - PBXProjectWorkspaceModule_StateKey_Rev39 = { - PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = { - BoundsStr = "{{0, 0}, {216, 426}}"; - Rows = ( - ); - VisibleRectStr = "{{0, 0}, {216, 426}}"; - }; - PBXProjectWorkspaceModule_EditorOpen = false; - PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = { - PBXSplitModuleInNavigatorKey = { - SplitCount = 1; - }; - }; - PBXProjectWorkspaceModule_GeometryKey_Rev15 = { - PBXProjectWorkspaceModule_SGTM_Geometry = { - _collapsingFrameDimension = 418; - _indexOfCollapsedView = 1; - _percentageOfCollapsedView = 0.6966667; - isCollapsed = yes; - sizes = ( - "{{0, 0}, {413, 422}}", - ); - }; - }; - PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {231, 443}}"; - PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}"; - PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {231, 443}}"; - PBXProjectWorkspaceModule_SGTM = { - PBXBottomSmartGroupGIDs = ( - 1C37FBAC04509CD000000102, - 1C37FAAC04509CD000000102, - 1C08E77C0454961000C914BD, - 1CC0EA4004350EF90044410B, - 1CC0EA4004350EF90041110B, - 1C37FABC05509CD000000102, - 1C37FABC05539CD112110102, - E2644B35053B69B200211256, - 1C37FABC04509CD000100104, - ); - PBXSmartGroupTreeModuleColumnData = { - PBXSmartGroupTreeModuleColumnWidthsKey = ( - 396, - ); - PBXSmartGroupTreeModuleColumnsKey_v4 = ( - MainColumn, - ); - }; - PBXSmartGroupTreeModuleOutlineStateKey_v7 = { - PBXSmartGroupTreeModuleOutlineStateExpansionKey = ( - F537552B016C352C01DC9062, - F537553C016C376E01DC9062, - F537553D016C376E01DC9062, - F5375546016C376E01DC9062, - F53755CC016C389901DC9062, - F53755CD016C389901DC9062, - 1C37FABC05509CD000000102, - ); - PBXSmartGroupTreeModuleOutlineStateSelectionKey = ( - ( - 31, - 16, - 7, - 0, - ), - ); - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 400}, {396, 404}}"; - }; - PBXTopSmartGroupGIDs = ( - ); - }; - }; - }; - "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXRunSessionModule" = { - LauncherConfigVersion = 3; - Runner = { - HorizontalSplitView = { - _collapsingFrameDimension = 0; - _indexOfCollapsedView = 0; - _percentageOfCollapsedView = 0; - isCollapsed = yes; - sizes = ( - "{{0, 0}, {365, 167}}", - "{{0, 176}, {365, 267}}", - ); - }; - VerticalSplitView = { - _collapsingFrameDimension = 0; - _indexOfCollapsedView = 0; - _percentageOfCollapsedView = 0; - isCollapsed = yes; - sizes = ( - "{{0, 0}, {405, 443}}", - "{{414, 0}, {514, 443}}", - ); - }; - }; - }; - PBXWorkspaceGeometries = ( - { - Frame = "{{0, 0}, {413, 422}}"; - PBXProjectWorkspaceModule_GeometryKey_Rev15 = { - }; - RubberWindowFrame = "380 282 413 464 0 0 1024 746 "; - }, - ); - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXBuildResultsModule" = { - Frame = "{{0, 0}, {719, 443}}"; - PBXModuleWindowStatusBarHidden = YES; - RubberWindowFrame = "280 83 719 464 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugBreakpointsModule" = { - BreakpointsTreeTableConfiguration = ( - enabledColumn, - 16, - breakpointColumn, - 282.583, - ); - Frame = "{{0, 0}, {208, 495}}"; - PBXModuleWindowStatusBarHidden = YES; - RubberWindowFrame = "761 230 208 516 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugCLIModule" = { - Frame = "{{0, 0}, {500, 258}}"; - RubberWindowFrame = "469 103 500 300 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugSessionModule" = { - DebugConsoleDrawerSize = "{100, 120}"; - DebugConsoleVisible = None; - DebugConsoleWindowFrame = "{{65, 452}, {959, 294}}"; - DebugSTDIOWindowFrame = "{{469, 103}, {500, 300}}"; - Frame = "{{0, 0}, {805, 592}}"; - RubberWindowFrame = "145 107 805 634 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugSingleDataValueViewModule" = { - Frame = "{{0, 0}, {400, 657}}"; - RubberWindowFrame = "35 16 400 699 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXNavigatorGroup" = { - Frame = "{{0, 0}, {597, 659}}"; - PBXModuleWindowStatusBarHidden = YES; - RubberWindowFrame = "253 66 597 680 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectFindModule" = { - Frame = "{{0, 0}, {654, 460}}"; - RubberWindowFrame = "293 148 654 502 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = { - Frame = "{{0, 0}, {413, 422}}"; - PBXProjectWorkspaceModule_GeometryKey_Rev15 = { - }; - RubberWindowFrame = "380 282 413 464 0 0 1024 746 "; - }; - "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXRunSessionModule" = { - Frame = "{{0, 0}, {745, 443}}"; - PBXModuleWindowStatusBarHidden = YES; - RubberWindowFrame = "254 127 745 464 0 0 1024 746 "; + configStateDict = { + "PBXLSLaunchAction-0" = { + PBXLSLaunchAction = 0; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXLSRunLaunchConfig; + displayName = "Executable Runner"; + identifier = com.apple.Xcode.launch.runConfig; + remoteHostInfo = ""; + startActionInfo = ""; + }; + "PBXLSLaunchAction-1" = { + PBXLSLaunchAction = 1; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXGDB_LaunchConfig; + displayName = GDB; + identifier = com.apple.Xcode.launch.GDBMI_Config; + remoteHostInfo = ""; + startActionInfo = ""; }; - PBXWorkspaceStateSaveDate = 133417037; - }; - sourceControlManager = 4CFCC13905E175AD00686F63; - userBuildSettings = { - OBJROOT = "${SRCROOT}/../../build/tk/"; - SYMROOT = "${SRCROOT}/../../build/tk"; - }; - }; - F5375540016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 7517}}"; - sepNavSelRange = "{9914, 0}"; - sepNavVisRect = "{{0, 3927}, {711, 449}}"; - sepNavWindowFrame = "{{180, 60}, {750, 534}}"; - }; - }; - F5375542016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 2267}}"; - sepNavSelRange = "{4985, 26}"; - sepNavVisRect = "{{0, 1790}, {711, 449}}"; - sepNavWindowFrame = "{{42, 186}, {750, 534}}"; - }; - }; - F537554A016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 22819}}"; - sepNavSelRange = "{5893, 16}"; - sepNavVisRect = "{{0, 4310}, {711, 449}}"; - sepNavWindowFrame = "{{65, 165}, {750, 534}}"; - }; - }; - F537554E016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 6761}}"; - sepNavSelRange = "{12868, 0}"; - sepNavVisRect = "{{0, 5874}, {711, 449}}"; - sepNavWindowFrame = "{{108, 212}, {750, 534}}"; - }; - }; - F5375550016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {819, 23267}}"; - sepNavSelRange = "{46489, 9}"; - sepNavVisRect = "{{0, 20155}, {819, 360}}"; - }; - }; - F5375551016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {558, 28671}}"; - sepNavSelRange = "{3970, 0}"; - sepNavVisRect = "{{0, 1641}, {558, 627}}"; - sepNavWindowFrame = "{{253, 34}, {597, 712}}"; - }; - }; - F5375553016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 4031}}"; - sepNavSelRange = "{4638, 20}"; - sepNavVisRect = "{{0, 2569}, {711, 449}}"; - sepNavWindowFrame = "{{19, 207}, {750, 534}}"; - }; - }; - F5375554016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {728, 32325}}"; - sepNavSelRange = "{34980, 12}"; - sepNavVisRect = "{{0, 13559}, {711, 449}}"; - sepNavWindowFrame = "{{88, 144}, {750, 534}}"; - }; - }; - F5375556016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 3163}}"; - sepNavSelRange = "{3116, 0}"; - sepNavVisRect = "{{0, 1462}, {711, 449}}"; - sepNavWindowFrame = "{{22, 78}, {750, 534}}"; - }; - }; - F5375559016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 67157}}"; - sepNavSelRange = "{6813, 8}"; - sepNavVisRect = "{{0, 2947}, {711, 449}}"; - sepNavWindowFrame = "{{43, 66}, {750, 534}}"; - }; - }; - F537555C016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 11717}}"; - sepNavSelRange = "{6747, 0}"; - sepNavVisRect = "{{0, 2457}, {711, 449}}"; - sepNavWindowFrame = "{{115, 97}, {750, 534}}"; - }; - }; - F537555D016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 16491}}"; - sepNavSelRange = "{8857, 0}"; - sepNavVisRect = "{{0, 3812}, {711, 428}}"; - }; - }; - F537555E016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 3639}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRect = "{{0, 0}, {711, 449}}"; - sepNavWindowFrame = "{{65, 165}, {750, 534}}"; - }; - }; - F5375560016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 15959}}"; - sepNavSelRange = "{10001, 4}"; - sepNavVisRect = "{{0, 3955}, {711, 449}}"; - sepNavWindowFrame = "{{19, 207}, {750, 534}}"; - }; - }; - F5375562016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 19669}}"; - sepNavSelRange = "{6075, 0}"; - sepNavVisRect = "{{0, 3021}, {711, 449}}"; - sepNavWindowFrame = "{{296, 212}, {750, 534}}"; - }; - }; - F5375565016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 9687}}"; - sepNavSelRange = "{10015, 19}"; - sepNavVisRect = "{{0, 4314}, {711, 449}}"; - sepNavWindowFrame = "{{134, 102}, {750, 534}}"; - }; - }; - F5375567016C376E01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 79127}}"; - sepNavSelRange = "{2012, 27}"; - sepNavVisRect = "{{0, 805}, {711, 449}}"; - sepNavWindowFrame = "{{111, 123}, {750, 534}}"; - }; - }; - F537556B016C37A601DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 22763}}"; - sepNavSelRange = "{23942, 9}"; - sepNavVisRect = "{{0, 10195}, {711, 449}}"; - sepNavWindowFrame = "{{114, 212}, {750, 534}}"; }; - }; - F5375574016C37A601DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 16477}}"; - sepNavSelRange = "{23833, 9}"; - sepNavVisRect = "{{0, 10380}, {711, 449}}"; - sepNavWindowFrame = "{{157, 81}, {750, 534}}"; - }; - }; - F537557A016C37A601DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1910, 4213}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRect = "{{0, 0}, {711, 449}}"; - sepNavWindowFrame = "{{88, 144}, {750, 534}}"; - }; - }; - F5375580016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {766, 20075}}"; - sepNavSelRange = "{29382, 0}"; - sepNavVisRect = "{{0, 14163}, {766, 277}}"; - }; - }; - F5375585016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 25115}}"; - sepNavSelRange = "{50483, 15}"; - sepNavVisRect = "{{0, 20194}, {711, 449}}"; - sepNavWindowFrame = "{{88, 144}, {750, 534}}"; - }; - }; - F5375587016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 80597}}"; - sepNavSelRange = "{73464, 0}"; - sepNavVisRect = "{{0, 30764}, {691, 633}}"; - sepNavWindowFrame = "{{166, 0}, {730, 718}}"; - }; - }; - F537558E016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {766, 24905}}"; - sepNavSelRange = "{3562, 0}"; - sepNavVisRect = "{{0, 1859}, {766, 272}}"; - }; - }; - F537558F016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 15497}}"; - sepNavSelRange = "{11262, 14}"; - sepNavVisRect = "{{0, 4732}, {711, 449}}"; - sepNavWindowFrame = "{{42, 186}, {750, 534}}"; - }; - }; - F5375591016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 29007}}"; - sepNavSelRange = "{31963, 9}"; - sepNavVisRect = "{{0, 16919}, {711, 449}}"; - sepNavWindowFrame = "{{65, 165}, {750, 534}}"; - }; - }; - F5375595016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 12375}}"; - sepNavSelRange = "{6236, 36}"; - sepNavVisRect = "{{0, 3185}, {711, 449}}"; - sepNavWindowFrame = "{{203, 39}, {750, 534}}"; - }; - }; - F5375596016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 65351}}"; - sepNavSelRange = "{60305, 0}"; - sepNavVisRect = "{{0, 25118}, {711, 449}}"; - sepNavWindowFrame = "{{216, 212}, {750, 534}}"; - }; - }; - F5375598016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 21307}}"; - sepNavSelRange = "{40237, 196}"; - sepNavVisRect = "{{0, 19495}, {711, 449}}"; - sepNavWindowFrame = "{{88, 144}, {750, 534}}"; - }; - }; - F537559A016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 15063}}"; - sepNavSelRange = "{19488, 9}"; - sepNavVisRect = "{{0, 9130}, {711, 449}}"; - sepNavWindowFrame = "{{65, 165}, {750, 534}}"; - }; - }; - F537559C016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 27971}}"; - sepNavSelRange = "{44345, 12}"; - sepNavVisRect = "{{0, 19355}, {711, 449}}"; - sepNavWindowFrame = "{{134, 102}, {750, 534}}"; - }; - }; - F53755A0016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 22609}}"; - sepNavSelRange = "{33749, 0}"; - sepNavVisRect = "{{0, 14636}, {711, 449}}"; - sepNavWindowFrame = "{{134, 102}, {750, 534}}"; - }; - }; - F53755A8016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 48859}}"; - sepNavSelRange = "{56455, 0}"; - sepNavVisRect = "{{0, 25823}, {711, 449}}"; - sepNavWindowFrame = "{{19, 207}, {750, 534}}"; - }; - }; - F53755AB016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 50959}}"; - sepNavSelRange = "{12728, 16}"; - sepNavVisRect = "{{0, 3941}, {711, 449}}"; - sepNavWindowFrame = "{{157, 81}, {750, 534}}"; - }; - }; - F53755B0016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 14573}}"; - sepNavSelRange = "{13559, 12}"; - sepNavVisRect = "{{0, 6837}, {711, 449}}"; - sepNavWindowFrame = "{{135, 102}, {750, 534}}"; - }; - }; - F53755B2016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {766, 23408}}"; - sepNavSelRange = "{20282, 0}"; - sepNavVisRect = "{{0, 9139}, {766, 273}}"; - }; - }; - F53755B4016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 9281}}"; - sepNavSelRange = "{14480, 21}"; - sepNavVisRect = "{{0, 7749}, {711, 449}}"; - sepNavWindowFrame = "{{180, 60}, {750, 534}}"; - }; - }; - F53755BF016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {766, 73863}}"; - sepNavSelRange = "{54794, 0}"; - sepNavVisRect = "{{0, 23655}, {766, 277}}"; - }; - }; - F53755C8016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 44841}}"; - sepNavSelRange = "{64393, 13}"; - sepNavVisRect = "{{0, 29253}, {711, 449}}"; - sepNavWindowFrame = "{{157, 81}, {750, 534}}"; - }; - }; - F53755D2016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 9491}}"; - sepNavSelRange = "{5074, 20}"; - sepNavVisRect = "{{0, 1864}, {711, 449}}"; - sepNavWindowFrame = "{{70, 164}, {750, 534}}"; - }; - }; - F53755D5016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 17009}}"; - sepNavSelRange = "{20859, 9}"; - sepNavVisRect = "{{0, 7885}, {711, 449}}"; - sepNavWindowFrame = "{{226, 18}, {750, 534}}"; - }; - }; - F53755D9016C389901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {766, 1189}}"; - sepNavSelRange = "{1660, 0}"; - sepNavVisRect = "{{0, 912}, {766, 277}}"; - }; - }; - F53755DF016C38D201DC9062 = { - activeExec = 0; - }; - F53756A0016C4DD401DC9062 = { - activeExec = 0; - executables = ( - F9B92F14047876F1006F146B, + cppStopOnCatchEnabled = 0; + cppStopOnThrowEnabled = 0; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = _debug; + enableDebugStr = 0; + environmentEntries = ( + { + active = NO; + name = DYLD_PRINT_LIBRARIES; + }, + ); + isa = PBXExecutable; + launchableReference = F9F6B1E408E8648C00C9CB24; + libgmallocEnabled = 0; + name = Wish; + shlibInfoDictList = ( + ); + sourceDirectories = ( ); }; - F548F8CE0313CEF0016F146B = { - activeExec = 0; - }; - F5C8865B017D625C01DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 31583}}"; - sepNavSelRange = "{1450, 27}"; - sepNavVisRect = "{{0, 553}, {711, 428}}"; - sepNavWindowFrame = "{{111, 123}, {750, 534}}"; - }; - }; - F5DF0935016CD3F901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 5823}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRect = "{{0, 2446}, {711, 428}}"; - }; - }; - F5DF093D016CD3F901DC9062 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 5935}}"; - sepNavSelRange = "{8810, 14}"; - sepNavVisRect = "{{0, 4152}, {711, 449}}"; - sepNavWindowFrame = "{{212, 193}, {750, 534}}"; - }; + F9F6B1E408E8648C00C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.application; + path = Wish.app; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; - F9B92F14047876F1006F146B = { + F9F6B1EB08E864DC00C9CB24 = { activeArgIndex = 2147483647; activeArgIndices = ( + NO, + NO, + NO, ); argumentStrings = ( + "${SRCROOT}/../../tcl/tests/all.tcl", + "${SRCROOT}/../../tk/tests/all.tcl", + "-verbose \"\"", ); configStateDict = { + "PBXLSLaunchAction-0" = { + PBXLSLaunchAction = 0; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXLSRunLaunchConfig; + displayName = "Executable Runner"; + identifier = com.apple.Xcode.launch.runConfig; + remoteHostInfo = ""; + startActionInfo = ""; + }; + "PBXLSLaunchAction-1" = { + PBXLSLaunchAction = 1; + PBXLSLaunchStartAction = 1; + PBXLSLaunchStdioStyle = 2; + PBXLSLaunchStyle = 0; + class = PBXGDB_LaunchConfig; + displayName = GDB; + identifier = com.apple.Xcode.launch.GDBMI_Config; + remoteHostInfo = ""; + startActionInfo = ""; + }; }; cppStopOnCatchEnabled = 0; cppStopOnThrowEnabled = 0; customDataFormattersEnabled = 1; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; - dylibVariantSuffix = ""; - enableDebugStr = 1; + dylibVariantSuffix = _debug; + enableDebugStr = 0; environmentEntries = ( + { + active = YES; + name = TCL_LIBRARY; + value = "${SRCROOT}/../../tcl/library"; + }, + { + active = YES; + name = TK_LIBRARY; + value = "${SRCROOT}/../../tk/library"; + }, + { + active = NO; + name = DYLD_PRINT_LIBRARIES; + }, ); isa = PBXExecutable; + launchableReference = F9F6B1EC08E864DC00C9CB24; libgmallocEnabled = 0; - name = Wish; + name = tktest; shlibInfoDictList = ( ); sourceDirectories = ( ); }; + F9F6B1EC08E864DC00C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.executable"; + path = tktest; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; } diff --git a/macosx/Wish.pbproj/project.pbxproj b/macosx/Wish.pbproj/project.pbxproj index 56a7fe4..5565720 100644 --- a/macosx/Wish.pbproj/project.pbxproj +++ b/macosx/Wish.pbproj/project.pbxproj @@ -5,68 +5,70 @@ }; objectVersion = 39; objects = { + 4C148E2007ECCFAC0033822E = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = tkEntry.h; + path = ../generic/tkEntry.h; + refType = 2; + sourceTree = SOURCE_ROOT; + }; + 4C148E2407ECCFCF0033822E = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.c; + path = tkMacOSXEntry.c; + refType = 4; + sourceTree = "<group>"; + }; 4C3B4CF6040B18B200C916F0 = { - fileEncoding = 30; + fileEncoding = 5; isa = PBXFileReference; lastKnownFileType = sourcecode.rez; path = tkMacOSXAETE.r; refType = 4; sourceTree = "<group>"; }; - 4C3B4CF7040B18B200C916F0 = { - fileRef = 4C3B4CF6040B18B200C916F0; - isa = PBXBuildFile; - settings = { - }; - }; - 4C9404EF07F3C84D004B0BCE = { - containerPortal = F537552A016C352C01DC9062; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F548F8CE0313CEF0016F146B; - remoteInfo = TkStubLibrary; - }; - 4C9404F007F3C84D004B0BCE = { - containerPortal = F537552A016C352C01DC9062; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F53755DF016C38D201DC9062; - remoteInfo = TkLibrary; - }; - 4C94055707F3C880004B0BCE = { - fileEncoding = 30; + 4C8A204405E0421900C18A82 = { + fileEncoding = 5; isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; - path = tkMacOSXEntry.c; + path = tkMacOSXCarbonEvents.c; refType = 4; sourceTree = "<group>"; }; - 4C94055807F3C880004B0BCE = { - fileRef = 4C94055707F3C880004B0BCE; - isa = PBXBuildFile; - settings = { - }; - }; - 4C94055B07F3C897004B0BCE = { + 4CB2D7CF0619F8EB0081E375 = { fileEncoding = 5; isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = tkEntry.h; - path = ../generic/tkEntry.h; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 4C94055C07F3C897004B0BCE = { - fileRef = 4C94055B07F3C897004B0BCE; - isa = PBXBuildFile; - settings = { - }; + lastKnownFileType = sourcecode.c.c; + path = tkMacOSXScale.c; + refType = 4; + sourceTree = "<group>"; }; //4C0 //4C1 //4C2 //4C3 //4C4 +//950 +//951 +//952 +//953 +//954 + 95911CC7081532D8006F6BCB = { + isa = PBXFileReference; + lastKnownFileType = wrapper.framework; + name = IOKit.framework; + path = /System/Library/Frameworks/IOKit.framework; + refType = 0; + sourceTree = "<absolute>"; + }; +//950 +//951 +//952 +//953 +//954 //F50 //F51 //F52 @@ -80,99 +82,6 @@ refType = 0; sourceTree = "<absolute>"; }; - F50D96130196176E01DC9062 = { - fileRef = F50D96120196176E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F50D96140196176E01DC9062 = { - fileRef = F50D96120196176E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D903F018149BD01DC9062 = { - buildActionMask = 2147483647; - dstPath = "Versions/$(FRAMEWORK_VERSION)/Headers/X11"; - dstSubfolderSpec = 1; - files = ( - F51D9040018149FD01DC9062, - F51D9041018149FD01DC9062, - F51D9042018149FD01DC9062, - F51D9043018149FD01DC9062, - F51D9044018149FD01DC9062, - F51D9045018149FD01DC9062, - F51D9046018149FD01DC9062, - F51D9047018149FD01DC9062, - F51D9048018149FD01DC9062, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F51D9040018149FD01DC9062 = { - fileRef = F53755CE016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9041018149FD01DC9062 = { - fileRef = F53755CF016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9042018149FD01DC9062 = { - fileRef = F53755D0016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9043018149FD01DC9062 = { - fileRef = F53755D1016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9044018149FD01DC9062 = { - fileRef = F53755D2016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9045018149FD01DC9062 = { - fileRef = F53755D3016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9046018149FD01DC9062 = { - fileRef = F53755D4016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9047018149FD01DC9062 = { - fileRef = F53755D5016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F51D9048018149FD01DC9062 = { - fileRef = F53755D6016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F52D38C5031F4259016F146B = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# keep copy of debug library around, so that\n\t# Deployment build can be installed on top\n\t# of Development build without overwriting it\n\tcd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}\"\n\tcp -fp \"${PRODUCT_NAME}\" \"${PRODUCT_NAME}_debug\"\n\tln -f \"Versions/Current/${PRODUCT_NAME}_debug\" ../..\n\tln -f \"libtkstub${FRAMEWORK_VERSION}.a\" \"libtkstub${FRAMEWORK_VERSION}g.a\"\n\n\t# force Deployment build to be relinked next time\n\tif [ -f \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nelse\n\t# force Development build to be relinked next time\n\tif [ -f \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nfi\n\n# fixup Framework structure\ncd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}\"\nln -fs `ls libtkstub* | sed -e \"s|.*|Versions/${FRAMEWORK_VERSION}/&|\"` ../..\nln -fs \"Versions/Current/tkConfig.sh\" ../..\nranlib libtkstub${FRAMEWORK_VERSION}*.a\n\n# create pkgIndex\n( echo \"if {[package vcompare [package provide Tcl] ${FRAMEWORK_VERSION}] != 0} { return }\" && \\\n echo \"package ifneeded Tk ${FRAMEWORK_VERSION} [list load [file join \\$dir .. .. Tk] Tk]\" \\\n) > \"Resources/Scripts/pkgIndex.tcl\""; - }; F537552A016C352C01DC9062 = { buildSettings = { }; @@ -186,9 +95,7 @@ productRefGroup = F53755DD016C38D201DC9062; projectDirPath = ""; targets = ( - F53756A0016C4DD401DC9062, - F53755DF016C38D201DC9062, - F548F8CE0313CEF0016F146B, + F9D6747B08E84DC100688CAA, ); }; F537552B016C352C01DC9062 = { @@ -211,28 +118,16 @@ }; F537552C016C352C01DC9062 = { buildSettings = { - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - OTHER_LDFLAGS = "\U0001-prebind"; - TCL_DBGX = g; - TEMP_DIR = "${OBJROOT}/Development.build/$(PROJECT_NAME).build/$(TARGET_NAME).build"; - UNSTRIPPED_PRODUCT = YES; - ZERO_LINK = YES; + BUILD_STYLE = Development; + MAKE_TARGET = develop; }; isa = PBXBuildStyle; name = Development; }; F537552D016C352C01DC9062 = { buildSettings = { - DEBUGGING_SYMBOLS = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - OPTIMIZATION_CFLAGS = "-Os"; - OTHER_LDFLAGS = "\U0001-prebind"; - TCL_DBGX = ""; - TEMP_DIR = "${OBJROOT}/Deployment.build/$(PROJECT_NAME).build/$(TARGET_NAME).build"; - ZERO_LINK = NO; + BUILD_STYLE = Deployment; + MAKE_TARGET = deploy; }; isa = PBXBuildStyle; name = Deployment; @@ -257,7 +152,7 @@ F537556E016C37A601DC9062, F537556F016C37A601DC9062, F5375570016C37A601DC9062, - 4C94055B07F3C897004B0BCE, + 4C148E2007ECCFAC0033822E, F5375571016C37A601DC9062, F5375572016C37A601DC9062, F5375573016C37A601DC9062, @@ -509,9 +404,9 @@ }; F5375546016C376E01DC9062 = { children = ( - 4C94055707F3C880004B0BCE, F5375549016C376E01DC9062, F537554A016C376E01DC9062, + 4C8A204405E0421900C18A82, F537554B016C376E01DC9062, F537554C016C376E01DC9062, F537554D016C376E01DC9062, @@ -520,6 +415,7 @@ F5375550016C376E01DC9062, F5375551016C376E01DC9062, F5375552016C376E01DC9062, + 4C148E2407ECCFCF0033822E, F5375553016C376E01DC9062, F5375554016C376E01DC9062, F5375555016C376E01DC9062, @@ -532,6 +428,7 @@ F537555C016C376E01DC9062, F537555D016C376E01DC9062, F537555E016C376E01DC9062, + 4CB2D7CF0619F8EB0081E375, F5375560016C376E01DC9062, F5375561016C376E01DC9062, F5375562016C376E01DC9062, @@ -1847,1214 +1744,21 @@ }; F53755DD016C38D201DC9062 = { children = ( - F53755DE016C38D201DC9062, - F537569F016C4DD401DC9062, - F548F8CF0313CEF0016F146B, + F9F6B1C008E863C200C9CB24, + F9F6B1BF08E863B300C9CB24, + F9F6B1BE08E8639A00C9CB24, ); isa = PBXGroup; name = Products; refType = 4; sourceTree = "<group>"; }; - F53755DE016C38D201DC9062 = { - explicitFileType = wrapper.framework; - isa = PBXFileReference; - path = Tk.framework; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F53755DF016C38D201DC9062 = { - buildPhases = ( - F5877FB7031F97ED016F146B, - F92CCC75080CEBA800E72D64, - F53755E0016C38D201DC9062, - F53755E1016C38D301DC9062, - F53755E2016C38D301DC9062, - F53755E3016C38D301DC9062, - F53755E4016C38D301DC9062, - F5B1FC08016FFE3501DC9062, - F51D903F018149BD01DC9062, - F548F8C80313C9E0016F146B, - F5C1D51901B88F9A01DC9062, - F52D38C5031F4259016F146B, - F5877FBC031FA968016F146B, - F9A61D2F04C2C861006F5A0B, - ); - buildSettings = { - DOCDIR = "${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/Resources/Documentation/Reference"; - DYLIB_COMPATIBILITY_VERSION = 8.4; - DYLIB_CURRENT_VERSION = "$(FRAMEWORK_VERSION)"; - DYLIB_INSTALL_PATH = /Library/Frameworks; - FRAMEWORK_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)\""; - FRAMEWORK_VERSION = 8.4; - GLOBAL_CFLAGS = "`source \"${TCL_FRAMEWORK_DIR}/Tcl.framework/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' -e 's|\\\\\\\\\\\\ |_|g' -e 's|TCL_WIDE_INT_TYPE|BOGUS_&|'` -U_REENTRANT"; - HEADER_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/PrivateHeaders\" . ../bitmaps ../generic ../xlib"; - INSTALL_PATH = "${DYLIB_INSTALL_PATH}"; - LIBRARY_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework\""; - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-DMAC_OSX_TK -DUSE_TCL_STUBS -DTCL_WIDE_INT_TYPE=\"long long\" -DTK_FRAMEWORK -DTK_FRAMEWORK_VERSION=\\\\\\\"$(FRAMEWORK_VERSION)\\\\\\\""; - OTHER_LDFLAGS = "-ltclstub${FRAMEWORK_VERSION}${TCL_DBGX} -seg1addr 0xb000000 -Wl,-search_paths_first -Wl,-unexported_symbols_list \"${TEMP_DIR}/tclstub.exp\""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = "-i \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" -i \"../generic\""; - PRECOMPILE_PREFIX_HEADER = YES; - PRINCIPAL_CLASS = ""; - PRODUCT_NAME = Tk; - SECTORDER_FLAGS = ""; - SYMROOT = "${SRCROOT}/../../build/tk"; - TCLSH_DIR = "$(TCL_FRAMEWORK_DIR)"; - TCLTKMAN2HTML = ""; - TCL_FRAMEWORK_DIR = "$(SYMROOT)/../tcl"; - USE_GCC3_PFE_SUPPORT = YES; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas -Wno-deprecated-declarations"; - WRAPPER_EXTENSION = framework; - }; - dependencies = ( - F548F8D20313CF93016F146B, - ); - isa = PBXFrameworkTarget; - name = TkLibrary; - productInstallPath = /Library/Frameworks; - productName = TkLibrary; - productReference = F53755DE016C38D201DC9062; - productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> -<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> -<plist version=\"1.0\"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>Tk</string> - <key>CFBundleGetInfoString</key> - <string>Tk Library 8.4, Copyright © 2005 Tcl Core Team. -Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright © 2001-2002, Apple Computer, Inc.</string> - <key>CFBundleIdentifier</key> - <string>com.tcltk.tklibrary</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>Tk Library 8.4</string> - <key>CFBundlePackageType</key> - <string>FMWK</string> - <key>CFBundleShortVersionString</key> - <string>8.4.12</string> - <key>CFBundleSignature</key> - <string>Tk </string> - <key>CFBundleVersion</key> - <string>8.4.12</string> -</dict> -</plist> -"; - }; - F53755E0016C38D201DC9062 = { - buildActionMask = 2147483647; - files = ( - F53755E5016C390401DC9062, - F53755E6016C390401DC9062, - F53755E7016C390401DC9062, - F53755E8016C390401DC9062, - F53755E9016C390401DC9062, - F53755EA016C390401DC9062, - F53755EB016C390401DC9062, - F53755EC016C390401DC9062, - F53755ED016C390401DC9062, - F53755EE016C390401DC9062, - F53755EF016C390401DC9062, - F53755F0016C390401DC9062, - F53755F1016C390401DC9062, - F53755F2016C390401DC9062, - F53755F3016C390401DC9062, - F53755F4016C390401DC9062, - F53755F5016C390401DC9062, - F53755F6016C390401DC9062, - F53755F7016C390401DC9062, - F53755F8016C390401DC9062, - F53755F9016C390401DC9062, - F53755FA016C390401DC9062, - F53755FB016C390401DC9062, - F53755FC016C397D01DC9062, - F53755FD016C397D01DC9062, - F53755FE016C397D01DC9062, - F53755FF016C397D01DC9062, - F5375600016C397D01DC9062, - F5375601016C397D01DC9062, - F5375603016C397D01DC9062, - F537566E016C3A1F01DC9062, - F537566F016C3A1F01DC9062, - F5375670016C3A1F01DC9062, - F5375671016C3A1F01DC9062, - F5375672016C3A1F01DC9062, - F5375673016C3A1F01DC9062, - F5375674016C3A1F01DC9062, - F5375675016C3A1F01DC9062, - F5375676016C3A1F01DC9062, - F5375693016C3F1001DC9062, - F5375694016C3F1001DC9062, - F5375695016C3F1001DC9062, - F5375696016C3F1001DC9062, - F5375697016C3F1001DC9062, - F5375698016C3F1001DC9062, - F5375699016C3F1001DC9062, - F537569A016C3F1001DC9062, - F537569B016C3F1001DC9062, - F537569C016C3F1001DC9062, - F5BFE59002F8C45B01DC9062, - 4C94055C07F3C897004B0BCE, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53755E1016C38D301DC9062 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53755E2016C38D301DC9062 = { - buildActionMask = 2147483647; - files = ( - F5375604016C397D01DC9062, - F5375605016C397D01DC9062, - F5375606016C397D01DC9062, - F5375607016C397D01DC9062, - F5375608016C397D01DC9062, - F5375609016C397D01DC9062, - F537560A016C397D01DC9062, - F537560B016C397D01DC9062, - F537560C016C397D01DC9062, - F537560D016C397D01DC9062, - F537560E016C397D01DC9062, - F537560F016C397D01DC9062, - F5375610016C397D01DC9062, - F5375611016C397D01DC9062, - F5375612016C397D01DC9062, - F5375613016C397D01DC9062, - F5375614016C397D01DC9062, - F5375615016C397D01DC9062, - F5375616016C397D01DC9062, - F5375617016C397D01DC9062, - F5375618016C397D01DC9062, - F5375619016C397D01DC9062, - F537561A016C397D01DC9062, - F537561B016C397D01DC9062, - F537561C016C397D01DC9062, - F537561D016C397D01DC9062, - F537561E016C397D01DC9062, - F537561F016C397D01DC9062, - F5375620016C397D01DC9062, - F5375621016C397D01DC9062, - F5375622016C397D01DC9062, - F5375623016C397D01DC9062, - F5375624016C397D01DC9062, - F5375625016C397D01DC9062, - F5375626016C397D01DC9062, - F5375627016C397D01DC9062, - F5375628016C397D01DC9062, - F5375629016C397D01DC9062, - F537562A016C397D01DC9062, - F537562B016C397D01DC9062, - F537562C016C397D01DC9062, - F537562D016C397D01DC9062, - F537562E016C397D01DC9062, - F537562F016C397D01DC9062, - F5375630016C397D01DC9062, - F5375631016C397D01DC9062, - F5375632016C397D01DC9062, - F5375633016C397D01DC9062, - F5375634016C397D01DC9062, - F5375635016C397D01DC9062, - F5375636016C397D01DC9062, - F5375637016C397D01DC9062, - F5375638016C397D01DC9062, - F5375639016C397D01DC9062, - F537563A016C397D01DC9062, - F537563B016C397D01DC9062, - F537563C016C397D01DC9062, - F537563D016C397D01DC9062, - F537563F016C397D01DC9062, - F5375640016C397D01DC9062, - F5375641016C397D01DC9062, - F5375642016C397D01DC9062, - F5375643016C397D01DC9062, - F5375644016C397D01DC9062, - F5375645016C397D01DC9062, - F5375646016C397D01DC9062, - F5375647016C397D01DC9062, - F5375648016C397D01DC9062, - F5375649016C397D01DC9062, - F537564A016C397D01DC9062, - F537564D016C39A101DC9062, - F537564E016C39A101DC9062, - F537564F016C39A101DC9062, - F5375650016C39A101DC9062, - F5375651016C39A101DC9062, - F5375652016C39A101DC9062, - F5375653016C39A101DC9062, - F5375654016C39A101DC9062, - F5375655016C39A101DC9062, - F5375656016C39A101DC9062, - F5375657016C39A101DC9062, - F5375658016C39A101DC9062, - F5375659016C39A101DC9062, - F537565A016C39A101DC9062, - F537565B016C39A101DC9062, - F537565C016C39A101DC9062, - F537565D016C39A101DC9062, - F537565E016C39A101DC9062, - F537565F016C39A101DC9062, - F5375660016C39A101DC9062, - F5375661016C39A101DC9062, - F5375662016C39A101DC9062, - F5375664016C39A101DC9062, - F5375665016C39A101DC9062, - F5375666016C39A101DC9062, - F5375668016C39A101DC9062, - F537566A016C39A101DC9062, - F537566B016C39A101DC9062, - F537566C016C39F201DC9062, - F537566D016C39F201DC9062, - F5375677016C3A6D01DC9062, - F5375678016C3A6D01DC9062, - F5375679016C3A6D01DC9062, - F537567A016C3A6D01DC9062, - F537567B016C3A6D01DC9062, - F537569E016C49C301DC9062, - F55BC46902B2D38B01DC9062, - F5BFE58D02F8C41501DC9062, - F5BFE58E02F8C41501DC9062, - 4C94055807F3C880004B0BCE, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53755E3016C38D301DC9062 = { - buildActionMask = 2147483647; - files = ( - F537567E016C3ADB01DC9062, - F50D96130196176E01DC9062, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53755E4016C38D301DC9062 = { - buildActionMask = 2147483647; - files = ( - F537567F016C3ADB01DC9062, - F5375680016C3ADB01DC9062, - F5375681016C3ADB01DC9062, - F5375682016C3ADB01DC9062, - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53755E5016C390401DC9062 = { - fileRef = F5375569016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755E6016C390401DC9062 = { - fileRef = F537556A016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755E7016C390401DC9062 = { - fileRef = F537556B016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); - }; - }; - F53755E8016C390401DC9062 = { - fileRef = F537556C016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755E9016C390401DC9062 = { - fileRef = F537556D016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755EA016C390401DC9062 = { - fileRef = F537556E016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755EB016C390401DC9062 = { - fileRef = F537556F016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755EC016C390401DC9062 = { - fileRef = F5375570016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); - }; - }; - F53755ED016C390401DC9062 = { - fileRef = F5375571016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755EE016C390401DC9062 = { - fileRef = F5375572016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755EF016C390401DC9062 = { - fileRef = F5375573016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755F0016C390401DC9062 = { - fileRef = F5375574016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F53755F1016C390401DC9062 = { - fileRef = F5375575016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F53755F2016C390401DC9062 = { - fileRef = F5375576016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F53755F3016C390401DC9062 = { - fileRef = F5375577016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); - }; - }; - F53755F4016C390401DC9062 = { - fileRef = F5375578016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755F5016C390401DC9062 = { - fileRef = F5375579016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755F6016C390401DC9062 = { - fileRef = F537557A016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); - }; - }; - F53755F7016C390401DC9062 = { - fileRef = F537557B016C37A601DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F53755F8016C390401DC9062 = { - fileRef = F537557C016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755F9016C390401DC9062 = { - fileRef = F537557D016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755FA016C390401DC9062 = { - fileRef = F537557E016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755FB016C390401DC9062 = { - fileRef = F537557F016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755FC016C397D01DC9062 = { - fileRef = F537553E016C376E01DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Public, - ); - }; - }; - F53755FD016C397D01DC9062 = { - fileRef = F537553F016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755FE016C397D01DC9062 = { - fileRef = F5375540016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53755FF016C397D01DC9062 = { - fileRef = F5375541016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375600016C397D01DC9062 = { - fileRef = F5375542016C376E01DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F5375601016C397D01DC9062 = { - fileRef = F5375543016C376E01DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F5375603016C397D01DC9062 = { - fileRef = F5375545016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375604016C397D01DC9062 = { - fileRef = F5375580016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375605016C397D01DC9062 = { - fileRef = F5375581016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375606016C397D01DC9062 = { - fileRef = F5375582016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375607016C397D01DC9062 = { - fileRef = F5375583016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375608016C397D01DC9062 = { - fileRef = F5375584016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375609016C397D01DC9062 = { - fileRef = F5375585016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537560A016C397D01DC9062 = { - fileRef = F5375586016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537560B016C397D01DC9062 = { - fileRef = F5375587016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537560C016C397D01DC9062 = { - fileRef = F5375588016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537560D016C397D01DC9062 = { - fileRef = F5375589016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537560E016C397D01DC9062 = { - fileRef = F537558A016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537560F016C397D01DC9062 = { - fileRef = F537558B016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375610016C397D01DC9062 = { - fileRef = F537558C016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375611016C397D01DC9062 = { - fileRef = F537558D016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375612016C397D01DC9062 = { - fileRef = F537558E016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375613016C397D01DC9062 = { - fileRef = F537558F016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375614016C397D01DC9062 = { - fileRef = F5375590016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375615016C397D01DC9062 = { - fileRef = F5375591016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375616016C397D01DC9062 = { - fileRef = F5375592016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375617016C397D01DC9062 = { - fileRef = F5375593016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375618016C397D01DC9062 = { - fileRef = F5375594016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375619016C397D01DC9062 = { - fileRef = F5375595016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537561A016C397D01DC9062 = { - fileRef = F5375596016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537561B016C397D01DC9062 = { - fileRef = F5375597016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537561C016C397D01DC9062 = { - fileRef = F5375598016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537561D016C397D01DC9062 = { - fileRef = F5375599016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537561E016C397D01DC9062 = { - fileRef = F537559A016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537561F016C397D01DC9062 = { - fileRef = F537559B016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375620016C397D01DC9062 = { - fileRef = F537559C016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375621016C397D01DC9062 = { - fileRef = F537559D016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375622016C397D01DC9062 = { - fileRef = F537559E016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375623016C397D01DC9062 = { - fileRef = F537559F016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375624016C397D01DC9062 = { - fileRef = F53755A0016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375625016C397D01DC9062 = { - fileRef = F53755A1016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375626016C397D01DC9062 = { - fileRef = F53755A2016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375627016C397D01DC9062 = { - fileRef = F53755A3016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375628016C397D01DC9062 = { - fileRef = F53755A4016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375629016C397D01DC9062 = { - fileRef = F53755A5016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537562A016C397D01DC9062 = { - fileRef = F53755A6016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537562B016C397D01DC9062 = { - fileRef = F53755A7016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537562C016C397D01DC9062 = { - fileRef = F53755A8016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537562D016C397D01DC9062 = { - fileRef = F53755A9016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537562E016C397D01DC9062 = { - fileRef = F53755AA016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537562F016C397D01DC9062 = { - fileRef = F53755AB016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375630016C397D01DC9062 = { - fileRef = F53755AC016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375631016C397D01DC9062 = { - fileRef = F53755AD016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375632016C397D01DC9062 = { - fileRef = F53755AE016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375633016C397D01DC9062 = { - fileRef = F53755AF016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375634016C397D01DC9062 = { - fileRef = F53755B0016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375635016C397D01DC9062 = { - fileRef = F53755B1016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375636016C397D01DC9062 = { - fileRef = F53755B2016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375637016C397D01DC9062 = { - fileRef = F53755B3016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375638016C397D01DC9062 = { - fileRef = F53755B4016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375639016C397D01DC9062 = { - fileRef = F53755B5016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537563A016C397D01DC9062 = { - fileRef = F53755B6016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537563B016C397D01DC9062 = { - fileRef = F53755B7016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537563C016C397D01DC9062 = { - fileRef = F53755B8016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537563D016C397D01DC9062 = { - fileRef = F53755BA016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537563F016C397D01DC9062 = { - fileRef = F53755BD016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375640016C397D01DC9062 = { - fileRef = F53755BE016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375641016C397D01DC9062 = { - fileRef = F53755BF016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375642016C397D01DC9062 = { - fileRef = F53755C0016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375643016C397D01DC9062 = { - fileRef = F53755C1016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375644016C397D01DC9062 = { - fileRef = F53755C2016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375645016C397D01DC9062 = { - fileRef = F53755C3016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375646016C397D01DC9062 = { - fileRef = F53755C4016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375647016C397D01DC9062 = { - fileRef = F53755C5016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375648016C397D01DC9062 = { - fileRef = F53755C6016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375649016C397D01DC9062 = { - fileRef = F53755C7016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537564A016C397D01DC9062 = { - fileRef = F53755C8016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537564D016C39A101DC9062 = { - fileRef = F5375549016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537564E016C39A101DC9062 = { - fileRef = F537554A016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537564F016C39A101DC9062 = { - fileRef = F537554B016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375650016C39A101DC9062 = { - fileRef = F537554C016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375651016C39A101DC9062 = { - fileRef = F537554D016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375652016C39A101DC9062 = { - fileRef = F537554E016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375653016C39A101DC9062 = { - fileRef = F537554F016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375654016C39A101DC9062 = { - fileRef = F5375550016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375655016C39A101DC9062 = { - fileRef = F5375551016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375656016C39A101DC9062 = { - fileRef = F5375552016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375657016C39A101DC9062 = { - fileRef = F5375553016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375658016C39A101DC9062 = { - fileRef = F5375554016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375659016C39A101DC9062 = { - fileRef = F5375555016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537565A016C39A101DC9062 = { - fileRef = F5375556016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537565B016C39A101DC9062 = { - fileRef = F5375557016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537565C016C39A101DC9062 = { - fileRef = F5375558016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537565D016C39A101DC9062 = { - fileRef = F5375559016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537565E016C39A101DC9062 = { - fileRef = F537555A016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537565F016C39A101DC9062 = { - fileRef = F537555B016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375660016C39A101DC9062 = { - fileRef = F537555C016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375661016C39A101DC9062 = { - fileRef = F537555D016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375662016C39A101DC9062 = { - fileRef = F537555E016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375664016C39A101DC9062 = { - fileRef = F5375560016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375665016C39A101DC9062 = { - fileRef = F5375561016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375666016C39A101DC9062 = { - fileRef = F5375562016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375668016C39A101DC9062 = { - fileRef = F5375565016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537566A016C39A101DC9062 = { - fileRef = F5375567016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537566B016C39A101DC9062 = { - fileRef = F5375568016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537566C016C39F201DC9062 = { - fileRef = F53755CA016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537566D016C39F201DC9062 = { - fileRef = F53755CB016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537566E016C3A1F01DC9062 = { - fileRef = F53755CE016C389901DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - F537566F016C3A1F01DC9062 = { - fileRef = F53755CF016C389901DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - F5375670016C3A1F01DC9062 = { - fileRef = F53755D0016C389901DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - F5375671016C3A1F01DC9062 = { - fileRef = F53755D1016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375672016C3A1F01DC9062 = { - fileRef = F53755D2016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375673016C3A1F01DC9062 = { - fileRef = F53755D3016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375674016C3A1F01DC9062 = { - fileRef = F53755D4016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375675016C3A1F01DC9062 = { - fileRef = F53755D5016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375676016C3A1F01DC9062 = { - fileRef = F53755D6016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375677016C3A6D01DC9062 = { - fileRef = F53755D8016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375678016C3A6D01DC9062 = { - fileRef = F53755D9016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375679016C3A6D01DC9062 = { - fileRef = F53755DA016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537567A016C3A6D01DC9062 = { - fileRef = F53755DB016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537567B016C3A6D01DC9062 = { - fileRef = F53755DC016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F537567C016C3ADB01DC9062 = { children = ( - F50D96120196176E01DC9062, F5875C7B016FEF1D01DC9062, + F50D96120196176E01DC9062, F537567D016C3ADB01DC9062, + 95911CC7081532D8006F6BCB, ); isa = PBXGroup; name = "External Frameworks"; @@ -3069,36 +1773,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 0; sourceTree = "<absolute>"; }; - F537567E016C3ADB01DC9062 = { - fileRef = F537567D016C3ADB01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537567F016C3ADB01DC9062 = { - fileRef = F5375533016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375680016C3ADB01DC9062 = { - fileRef = F5375535016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375681016C3ADB01DC9062 = { - fileRef = F5375538016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375682016C3ADB01DC9062 = { - fileRef = F537553A016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F5375688016C3F1001DC9062 = { children = ( F5375689016C3F1001DC9062, @@ -3197,344 +1871,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F5375693016C3F1001DC9062 = { - fileRef = F5375689016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375694016C3F1001DC9062 = { - fileRef = F537568A016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375695016C3F1001DC9062 = { - fileRef = F537568B016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375696016C3F1001DC9062 = { - fileRef = F537568C016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375697016C3F1001DC9062 = { - fileRef = F537568D016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375698016C3F1001DC9062 = { - fileRef = F537568E016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5375699016C3F1001DC9062 = { - fileRef = F537568F016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537569A016C3F1001DC9062 = { - fileRef = F5375690016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537569B016C3F1001DC9062 = { - fileRef = F5375691016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537569C016C3F1001DC9062 = { - fileRef = F5375692016C3F1001DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537569E016C49C301DC9062 = { - fileRef = F53755BB016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F537569F016C4DD401DC9062 = { - explicitFileType = wrapper.application; - isa = PBXFileReference; - path = "Wish Shell.app"; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F53756A0016C4DD401DC9062 = { - buildPhases = ( - F5877FB8031F982D016F146B, - F53756A1016C4DD401DC9062, - F53756A2016C4DD401DC9062, - F53756A4016C4DD401DC9062, - F53756A6016C4DD401DC9062, - F53756AA016C4DD401DC9062, - F5EEA7050324680B016F146B, - F55A164E032A11B1016F146B, - F5877FBD031FAC6A016F146B, - ); - buildSettings = { - APPLICATION_INSTALL_PATH = "${SYSTEM_ADMIN_APPS_DIR}"; - BINDIR = /usr/bin; - DYLIB_INSTALL_PATH = /Library/Frameworks; - FRAMEWORK_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)\" \"$(SYMROOT)\""; - FRAMEWORK_VERSION = 8.4; - GLOBAL_CFLAGS = "`source \"${TCL_FRAMEWORK_DIR}/Tcl.framework/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' -e 's|\\\\\\\\\\\\ |_|g' -e 's|TCL_WIDE_INT_TYPE|BOGUS_&|'` -U_REENTRANT"; - HEADER_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/PrivateHeaders\" . ../generic ../xlib"; - INSTALL_PATH = "${APPLICATION_INSTALL_PATH}"; - LIBRARY_SEARCH_PATHS = ""; - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-DMAC_OSX_TK -DTCL_WIDE_INT_TYPE=\"long long\""; - OTHER_LDFLAGS = "-sectcreate __TEXT __info_plist \"$TEMP_DIR/Info.plist\" -headerpad_max_install_names"; - OTHER_REZFLAGS = "-i \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" -i \"../generic\""; - PRODUCT_NAME = "Wish Shell"; - SECTORDER_FLAGS = ""; - SYMROOT = "${SRCROOT}/../../build/tk"; - TCL_FRAMEWORK_DIR = "$(SYMROOT)/../tcl"; - USE_GCC3_PFE_SUPPORT = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas -Wno-deprecated-declarations"; - WRAPPER_EXTENSION = app; - }; - dependencies = ( - F53756B2016C525F01DC9062, - ); - isa = PBXApplicationTarget; - name = Wish; - productInstallPath = /Applications/Utilities; - productName = "Wish Shell"; - productReference = F537569F016C4DD401DC9062; - productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> -<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> -<plist version=\"1.0\"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleDocumentTypes</key> - <array> - <dict> - <key>CFBundleTypeExtensions</key> - <array> - <string>*</string> - </array> - <key>CFBundleTypeName</key> - <string>NSStringPboardType</string> - <key>CFBundleTypeOSTypes</key> - <array> - <string>TEXT</string> - </array> - <key>CFBundleTypeRole</key> - <string>Viewer</string> - </dict> - </array> - <key>CFBundleExecutable</key> - <string>Wish Shell</string> - <key>CFBundleGetInfoString</key> - <string>Wish Shell 8.4, Copyright © 2005 Tcl Core Team. -Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright © 2001-2002, Apple Computer, Inc.</string> - <key>CFBundleIconFile</key> - <string>Wish.icns</string> - <key>CFBundleIdentifier</key> - <string>com.tcltk.wish</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>Wish</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>8.4.12</string> - <key>CFBundleSignature</key> - <string>WiSH</string> - <key>CFBundleVersion</key> - <string>8.4.12</string> -</dict> -</plist> -"; - }; - F53756A1016C4DD401DC9062 = { - buildActionMask = 2147483647; - files = ( - F53756AC016C4E1D01DC9062, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53756A2016C4DD401DC9062 = { - buildActionMask = 2147483647; - files = ( - F53756A3016C4DD401DC9062, - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53756A3016C4DD401DC9062 = { - fileRef = F537553B016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53756A4016C4DD401DC9062 = { - buildActionMask = 2147483647; - files = ( - F53756A5016C4DD401DC9062, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53756A5016C4DD401DC9062 = { - fileRef = F5375548016C376E01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53756A6016C4DD401DC9062 = { - buildActionMask = 2147483647; - files = ( - F53756A8016C4DD401DC9062, - F5875C7D016FEF1D01DC9062, - F53756A7016C4DD401DC9062, - F50D96140196176E01DC9062, - F5877FB9031F9F49016F146B, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53756A7016C4DD401DC9062 = { - fileRef = F53755DE016C38D201DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53756A8016C4DD401DC9062 = { - fileRef = F537567D016C3ADB01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53756AA016C4DD401DC9062 = { - buildActionMask = 2147483647; - files = ( - 4C3B4CF7040B18B200C916F0, - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F53756AC016C4E1D01DC9062 = { - fileRef = F537556B016C37A601DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F53756B2016C525F01DC9062 = { - isa = PBXTargetDependency; - target = F53755DF016C38D201DC9062; - targetProxy = 4C9404F007F3C84D004B0BCE; - }; - F548F8C80313C9E0016F146B = { - buildActionMask = 2147483647; - dstPath = "Versions/$(FRAMEWORK_VERSION)"; - dstSubfolderSpec = 1; - files = ( - F5877FBA031F9F4B016F146B, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F548F8CA0313CEF0016F146B = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F548F8CB0313CEF0016F146B = { - buildActionMask = 2147483647; - files = ( - F548F8D10313CF14016F146B, - F548F8D00313CF11016F146B, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F548F8CC0313CEF0016F146B = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F548F8CE0313CEF0016F146B = { - buildPhases = ( - F548F8CA0313CEF0016F146B, - F548F8CB0313CEF0016F146B, - F548F8CC0313CEF0016F146B, - F59D847903390D7E016F146B, - ); - buildSettings = { - GLOBAL_CFLAGS = "`source \"${TCL_FRAMEWORK_DIR}/Tcl.framework/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' -e 's|\\\\\\\\\\\\ |_|g' -e 's|TCL_WIDE_INT_TYPE|BOGUS_&|'` -U_REENTRANT"; - HEADER_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/PrivateHeaders\" . ../generic ../xlib"; - LIBRARY_STYLE = STATIC; - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-DMAC_OSX_TK -DTCL_WIDE_INT_TYPE=\"long long\""; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - PRODUCT_NAME = libtkstub8.4.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - SYMROOT = "${SRCROOT}/../../build/tk"; - TCL_FRAMEWORK_DIR = "$(SYMROOT)/../tcl"; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas -Wno-deprecated-declarations"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = TkStubLibrary; - productInstallPath = /usr/local/lib; - productName = TkStub; - productReference = F548F8CF0313CEF0016F146B; - }; - F548F8CF0313CEF0016F146B = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libtkstub8.4.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F548F8D00313CF11016F146B = { - fileRef = F53755B9016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F548F8D10313CF14016F146B = { - fileRef = F53755BB016C389901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F548F8D20313CF93016F146B = { - isa = PBXTargetDependency; - target = F548F8CE0313CEF0016F146B; - targetProxy = 4C9404EF07F3C84D004B0BCE; - }; - F55A164E032A11B1016F146B = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ -n \"${EMBEDDED_BUILD:-}\" ]; then\ncd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents\"\n\n# if we are embedding frameworks, copy them into the app\nrm -rf \"Frameworks\"\nmkdir -p \"Frameworks\"\nif [ \"${DEPLOYMENT_LOCATION:-}\" = \"YES\" -o \"${ACTION}\" = \"install\" ]; then\n FWKDIR=\"${INSTALL_ROOT}${DYLIB_INSTALL_PATH}\"\nelse\n FWKDIR=\"${TARGET_BUILD_DIR}\"\nfi\ncp -fpRPH \"${FWKDIR}/Tcl.framework\" \"Frameworks\"\ncp -fpRPH \"${FWKDIR}/Tk.framework\" \"Frameworks\"\n\n# fix install names when embedding\nfix_install_id ( ) {\n chmod -RH a+w \"$1\"\n install_name_tool -id $(otool -L \"$1\" | awk \"/$(basename \"$1\")\\.framework.*[^:]\\$/ {sub(\\\"^.*/Frameworks\\\",\\\"@executable_path/../Frameworks\\\",\\$1); print \\$1}\") \"$1\"\n chmod -RH a-w \"$1\" \n}\nfix_install_name ( ) {\n chmod -RH a+w \"$1\"\n install_name_tool -change $(otool -L \"$1\" | awk \"/$2\\.framework.*[^:]\\$/ {print \\$1; sub(\\\"^.*/Frameworks\\\",\\\"@executable_path/../Frameworks\\\",\\$1); print \\$1}\") \"$1\"\n chmod -RH a-w \"$1\" \n}\nfix_install_id Frameworks/Tcl.framework/Tcl\nfix_install_id Frameworks/Tk.framework/Tk\nfix_install_name \"MacOS/${PRODUCT_NAME}\" Tcl\nfix_install_name \"MacOS/${PRODUCT_NAME}\" Tk\n\nfi"; - }; F55BC46802B2D38B01DC9062 = { fileEncoding = 5; isa = PBXFileReference; @@ -3544,12 +1880,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F55BC46902B2D38B01DC9062 = { - fileRef = F55BC46802B2D38B01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F55BC46A02B2D3F301DC9062 = { isa = PBXFileReference; lastKnownFileType = text; @@ -3558,12 +1888,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F55BC46B02B2D3F301DC9062 = { - fileRef = F55BC46A02B2D3F301DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F5875C7B016FEF1D01DC9062 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; @@ -3572,290 +1896,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 3; sourceTree = BUILT_PRODUCTS_DIR; }; - F5875C7D016FEF1D01DC9062 = { - fileRef = F5875C7B016FEF1D01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5877FB7031F97ED016F146B = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "# ensure we can overwrite a previous install\nif [ -d \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\" ]; then\n chmod -RH u+w \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nfi"; - }; - F5877FB8031F982D016F146B = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "# ensure we can overwrite a previous install\nif [ -d \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\" ]; then\n chmod -RH u+w \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nfi"; - }; - F5877FB9031F9F49016F146B = { - fileRef = F548F8CF0313CEF0016F146B; - isa = PBXBuildFile; - settings = { - }; - }; - F5877FBA031F9F4B016F146B = { - fileRef = F548F8CF0313CEF0016F146B; - isa = PBXBuildFile; - settings = { - }; - }; - F5877FBC031FA968016F146B = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}/\"\nif [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\nif [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\nif [ ! -d ./${DYLIB_INSTALL_PATH}/Tcl.framework ]; then ln -fs ${TCL_FRAMEWORK_DIR}/Tcl.framework ./${DYLIB_INSTALL_PATH}; RM_TCL=1; fi\nredo_prebinding -r . \"./${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/${PRODUCT_NAME}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f ./${DYLIB_INSTALL_PATH}/Tcl.framework; fi\n\n# fix permissions on uninstalled products\nchmod a+w \"${TEMP_ROOT}/UninstalledProducts\"\nchmod a+w \"${TEMP_ROOT}\"/UninstalledProducts/libtkstub*.a"; - }; - F5877FBD031FAC6A016F146B = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}/\"\nAPP_DIR=\"${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nEXECUTABLE_DIR=\"${APP_DIR}/Contents/MacOS\"\nEXECUTABLE=\"${EXECUTABLE_DIR}/${PRODUCT_NAME}\"\nFWK_RSRC_DIR=\"${DYLIB_INSTALL_PATH}/Tk.framework/Versions/${FRAMEWORK_VERSION}/Resources\"\nif [ -z \"${EMBEDDED_BUILD:-}\" ]; then\n if [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\n if [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\n if [ ! -d ./${DYLIB_INSTALL_PATH}/Tcl.framework ]; then ln -fs ${TCL_FRAMEWORK_DIR}/Tcl.framework ./${DYLIB_INSTALL_PATH}; RM_TCL=1; fi\n PREBIND_OPTS=\"-r .\"\nfi\nredo_prebinding ${PREBIND_OPTS:-} -e \"./${INSTALL_PATH}/${EXECUTABLE_DIR}\" \"./${INSTALL_PATH}/${EXECUTABLE}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f ./${DYLIB_INSTALL_PATH}/Tcl.framework; fi\n\n# copy Wish.app into framework, install wish script & symbolic link\nif [ -z \"${EMBEDDED_BUILD:-}\" ]; then\nchmod -H a+w \"./${FWK_RSRC_DIR}\"\nif [ -e \"./${FWK_RSRC_DIR}/${APP_DIR}\" ]; then chmod -RH a+w \"./${FWK_RSRC_DIR}/${APP_DIR}\" && rm -rf \"./${FWK_RSRC_DIR}/${APP_DIR}\"; fi\ncp -fpRPH \"./${INSTALL_PATH}/${APP_DIR}\" \"./${FWK_RSRC_DIR}\"\nchmod -H ${INSTALL_MODE_FLAG} \"./${FWK_RSRC_DIR}\"\nmkdir -p \"./${BINDIR}\"\nrm -f \"./${BINDIR}/wish${FRAMEWORK_VERSION}\"\ncat > \"./${BINDIR}/wish${FRAMEWORK_VERSION}\" <<EOF\n#!/bin/sh\n\"\\$(dirname \\$0)$(echo ${BINDIR} | sed -e 's#/[^/][^/]*#/..#g')${FWK_RSRC_DIR}/${EXECUTABLE}\" \"\\$@\"\nEOF\nchmod a+x \"./${BINDIR}/wish${FRAMEWORK_VERSION}\"\nln -fs \"wish${FRAMEWORK_VERSION}\" \"./${BINDIR}/wish\"\nfi"; - }; - F59D847903390D7E016F146B = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# force Deployment build to be relinked next time\n\tif [ -f \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nelse\n\t# force Development build to be relinked next time\n\tif [ -f \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nfi"; - }; - F5B1FC08016FFE3501DC9062 = { - buildActionMask = 2147483647; - dstPath = "Versions/$(FRAMEWORK_VERSION)/Resources/Scripts"; - dstSubfolderSpec = 1; - files = ( - F5B1FC09016FFE3501DC9062, - F5B1FC0A016FFE3501DC9062, - F5B1FC0B016FFE3501DC9062, - F5B1FC0C016FFE3501DC9062, - F5B1FC0D016FFE3501DC9062, - F5B1FC0E016FFE3501DC9062, - F5B1FC0F016FFE3501DC9062, - F5B1FC10016FFE3501DC9062, - F5B1FC11016FFE3501DC9062, - F5B1FC12016FFE3501DC9062, - F5B1FC13016FFE3501DC9062, - F5B1FC14016FFE3501DC9062, - F5B1FC15016FFE3501DC9062, - F5C2EA35034D7212016F146B, - F5B1FC16016FFE3501DC9062, - F5B1FC17016FFE3501DC9062, - F5B1FC18016FFE3501DC9062, - F5B1FC19016FFE3501DC9062, - F5B1FC1A016FFE3501DC9062, - F55BC46B02B2D3F301DC9062, - F5B1FC1B016FFE3501DC9062, - F5B1FC1C016FFE3501DC9062, - F5B1FC1D016FFE3501DC9062, - F5B1FC1E016FFE3501DC9062, - F5B1FC1F016FFE3501DC9062, - F5B1FC20016FFE3501DC9062, - F5B1FC21016FFE3501DC9062, - F5B1FC22016FFE3501DC9062, - F5B1FC23016FFE3501DC9062, - F5B1FC24016FFE3501DC9062, - F5B1FC25016FFE3501DC9062, - F5B1FC26016FFE3501DC9062, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5B1FC09016FFE3501DC9062 = { - fileRef = F5DF0928016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC0A016FFE3501DC9062 = { - fileRef = F5DF0929016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC0B016FFE3501DC9062 = { - fileRef = F5DF092A016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC0C016FFE3501DC9062 = { - fileRef = F5DF092B016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC0D016FFE3501DC9062 = { - fileRef = F5DF092C016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC0E016FFE3501DC9062 = { - fileRef = F5DF092D016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC0F016FFE3501DC9062 = { - fileRef = F5DF092E016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC10016FFE3501DC9062 = { - fileRef = F5DF092F016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC11016FFE3501DC9062 = { - fileRef = F5DF0930016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC12016FFE3501DC9062 = { - fileRef = F5DF0931016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC13016FFE3501DC9062 = { - fileRef = F5DF0932016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC14016FFE3501DC9062 = { - fileRef = F5DF0933016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC15016FFE3501DC9062 = { - fileRef = F5DF0934016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC16016FFE3501DC9062 = { - fileRef = F5DF0935016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC17016FFE3501DC9062 = { - fileRef = F5DF0936016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC18016FFE3501DC9062 = { - fileRef = F5DF0937016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC19016FFE3501DC9062 = { - fileRef = F5DF0938016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC1A016FFE3501DC9062 = { - fileRef = F5DF0939016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC1B016FFE3501DC9062 = { - fileRef = F5DF093A016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC1C016FFE3501DC9062 = { - fileRef = F5DF093B016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC1D016FFE3501DC9062 = { - fileRef = F5DF093C016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC1E016FFE3501DC9062 = { - fileRef = F5DF093D016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC1F016FFE3501DC9062 = { - fileRef = F5DF093E016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC20016FFE3501DC9062 = { - fileRef = F5DF093F016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC21016FFE3501DC9062 = { - fileRef = F5DF0940016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC22016FFE3501DC9062 = { - fileRef = F5DF0941016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC23016FFE3501DC9062 = { - fileRef = F5DF0942016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC24016FFE3501DC9062 = { - fileRef = F5DF0943016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC25016FFE3501DC9062 = { - fileRef = F5DF0944016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5B1FC26016FFE3501DC9062 = { - fileRef = F5DF0945016CD3F901DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F5BFE58B02F8C41501DC9062 = { fileEncoding = 5; isa = PBXFileReference; @@ -3874,18 +1914,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F5BFE58D02F8C41501DC9062 = { - fileRef = F5BFE58B02F8C41501DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5BFE58E02F8C41501DC9062 = { - fileRef = F5BFE58C02F8C41501DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F5BFE58F02F8C45B01DC9062 = { fileEncoding = 5; isa = PBXFileReference; @@ -3895,21 +1923,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F5BFE59002F8C45B01DC9062 = { - fileRef = F5BFE58F02F8C45B01DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5C1D51901B88F9A01DC9062 = { - buildActionMask = 12; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# synthesize tkConfig.sh via buildTkConfig.tcl script\nexport DYLD_FRAMEWORK_PATH=\"${TCL_FRAMEWORK_DIR}\"\nTCLSH=\"${TCLSH_DIR}/tclsh${FRAMEWORK_VERSION}\"\nif [ ! -e \"${TCLSH}\" ]; then TCLSH=\"/bin/sh\"; fi\n\"${TCLSH}\" \"buildTkConfig.tcl\" \"${TCL_FRAMEWORK_DIR}/Tcl.${WRAPPER_EXTENSION}/tclConfig.sh\" \"../unix/tkConfig.sh.in\" \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/tkConfig.sh\""; - }; F5C2EA33034D71B2016F146B = { isa = PBXFileReference; lastKnownFileType = text; @@ -3918,12 +1931,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F5C2EA35034D7212016F146B = { - fileRef = F5C2EA33034D71B2016F146B; - isa = PBXBuildFile; - settings = { - }; - }; F5C88659017D625C01DC9062 = { children = ( F5C8865A017D625C01DC9062, @@ -4234,15 +2241,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F5EEA7050324680B016F146B = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# force Deployment build to be relinked next time\n\tif [ -f \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nelse\n\t# force Development build to be relinked next time\n\tif [ -f \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nfi\n# create symbolic link to Tcl.framework if necessary\ncd \"${SYMROOT}\"\nif [ ! -e Tcl.framework -o -L Tcl.framework ]; then\n\trm -f Tcl.framework && ln -s \"${TCL_FRAMEWORK_DIR}/Tcl.framework\" .\nfi"; - }; //F50 //F51 //F52 @@ -4253,15 +2251,6 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop //F92 //F93 //F94 - F92CCC75080CEBA800E72D64 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# extract global symbols in libtclstub so that we can unexport them from Tk.framework\nnm -gjp \"${TCL_FRAMEWORK_DIR}/Tcl.framework/libtclstub${FRAMEWORK_VERSION}${TCL_DBGX}.a\" | tail +3 > \"${TEMP_DIR}/tclstub.exp\""; - }; F92ED9910403D0F0006F146B = { fileEncoding = 5; isa = PBXFileReference; @@ -4271,14 +2260,51 @@ Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Cop refType = 2; sourceTree = SOURCE_ROOT; }; - F9A61D2F04C2C861006F5A0B = { - buildActionMask = 8; - files = ( + F9D6747B08E84DC100688CAA = { + buildArgumentsString = "-c \"cd \\\"${TK_SRCROOT}/macosx\\\" && ACTION=${ACTION} && gnumake \\${ACTION:+\\${ACTION/clean/distclean}-}${MAKE_TARGET} INSTALL_ROOT=\\\"${DSTROOT}\\\" INSTALL_PATH=\\\"${INSTALL_PATH}\\\" APPLICATION_INSTALL_PATH=\\\"${APPLICATION_INSTALL_PATH}\\\" PREFIX=\\\"${PREFIX}\\\" BINDIR=\\\"${BINDIR}\\\" MANDIR=\\\"${MANDIR}\\\" TCL_BUILD_DIR=\\\"${TCL_BUILD_DIR}\\\" \\${EXTRA_MAKE_FLAGS} ${ALL_SETTINGS}\""; + buildPhases = ( ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "if [ -z \"${EMBEDDED_BUILD:-}\" ]; then\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n\t# build html documentation\n\tif [ -n \"${TCLTKMAN2HTML}\" -o -e \"${TCL_FRAMEWORK_DIR}/Deployment/Makefile\" ]; then\n\t\texport DYLD_FRAMEWORK_PATH=\"${TCL_FRAMEWORK_DIR}\"\n\t\trm -fr \"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}\"\n\t\tif [ -n \"${TCLTKMAN2HTML}\" ]; then\n\t\t\t\"${TCLSH_DIR}/tclsh${FRAMEWORK_VERSION}\" \"${TCLTKMAN2HTML}\" \\\n\t\t\t\t--srcdir=\"../..\" --tk \\\n\t\t\t\t--htmldir=\"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}\"\n\t\telse\n\t\t\tgnumake -C \"${TCL_FRAMEWORK_DIR}/Deployment\" html-tk \\\n\t\t\t\tDISTDIR=\"${INSTALL_ROOT}${DOCDIR}\" \\\n\t\t\t\tTCL_EXE=\"${TCLSH_DIR}/tclsh${FRAMEWORK_VERSION}\"\n\t\t\tmv -f \"${INSTALL_ROOT}${DOCDIR}/html\" \\\n\t\t\t\t\"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}\"\n\t\tfi\n\t\tln -fs contents.htm \\\n\t\t\t\"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}/${PRODUCT_NAME}TOC.html\"\n\telse\n\t\techo \"Couldn't build html documentation!\"\n\tfi\nfi\nfi"; + buildSettings = { + APPLICATION_INSTALL_PATH = /Applications/Utilities; + BINDIR = "${PREFIX}/bin"; + INSTALL_PATH = /Library/Frameworks; + MANDIR = "${PREFIX}/man"; + PREFIX = /usr/local; + PRODUCT_NAME = Tk; + TCL_BUILD_DIR = "${SYMROOT}/../tcl/${BUILD_STYLE}"; + TCL_SRCROOT = "${SRCROOT}/../../tcl"; + TEMP_DIR = "${PROJECT_TEMP_DIR}"; + TK_SRCROOT = "${SRCROOT}/../../tk"; + }; + buildToolPath = /bin/bash; + buildWorkingDirectory = "${SRCROOT}"; + dependencies = ( + ); + isa = PBXLegacyTarget; + name = Tk; + passBuildSettingsInEnvironment = 0; + productName = Tk; + }; + F9F6B1BE08E8639A00C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.framework; + path = Tk.framework; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F9F6B1BF08E863B300C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.application; + path = Wish.app; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F9F6B1C008E863C200C9CB24 = { + isa = PBXFileReference; + lastKnownFileType = "compiled.mach-o.executable"; + path = tktest; + refType = 3; + sourceTree = BUILT_PRODUCTS_DIR; }; }; rootObject = F537552A016C352C01DC9062; diff --git a/macosx/buildTkConfig.tcl b/macosx/buildTkConfig.tcl deleted file mode 100755 index dba0c51..0000000 --- a/macosx/buildTkConfig.tcl +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# -# Synthesize tkConfig.sh for Mac OS X based -# on tclConfig.sh and tkConfig.sh.in -# -# RCS: @(#) $Id: buildTkConfig.tcl,v 1.1.2.1 2003/07/21 12:37:08 das Exp $ -# -# the next line restarts using tclsh \ -exec tclsh8.4 "$0" "$@" - -proc main {tclConfigFile tkConfigFileIn tkConfigFile} { - set in [open $tclConfigFile] - set tclConfig [read $in] - close $in - set in [open $tkConfigFileIn] - set tkConfig [read $in] - close $in - set tclconfvars [regexp -all -inline -line -- {^TCL_([^=]*)=(.*)$} $tclConfig] - lappend tclconfvars {} {XINCLUDES} \ - [lindex [regexp -inline -line -- {^TCL_INCLUDE_SPEC=(.*)$} $tclConfig] 1] - set tkconfvars [regexp -all -inline -line -- {^TK_([^=]*)=} $tkConfig] - foreach {-> var val} $tclconfvars { - regsub -all -- {([Tt])cl((?![[:alnum:]])|stub)} $val {\1k\2} val - foreach {-> tkvar} $tkconfvars { - regsub -all -- "TCL_$tkvar" $val "TK_$tkvar" val - } - regsub -line -- "^TK_$var=.*\$" $tkConfig "TK_$var=$val" tkConfig - } - regsub -line -all -- {@[^@]+@} $tkConfig {} tkConfig - regsub -line -all -- {(/tk)/(?:Development|Deployment)} $tkConfig {\1} tkConfig - regsub -line {^(TK_DEFS=')} $tkConfig {\1 -DMAC_OSX_TK} tkConfig - - set out [open $tkConfigFile w] - puts $out $tkConfig - close $out -} - -if {$argc != 3} { - puts stderr "usage: $argv0 /path/to/tclConfig.sh \ -/path/to/tkConfig.sh.in /path/to/tkConfig.sh" - exit 1 -} - -main [lindex $argv 0] [lindex $argv 1] [lindex $argv 2] diff --git a/macosx/tkMacOSXButton.c b/macosx/tkMacOSXButton.c index 909e83e..d5672cc 100644 --- a/macosx/tkMacOSXButton.c +++ b/macosx/tkMacOSXButton.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXButton.c,v 1.2.2.11 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXButton.c,v 1.2.2.12 2005/11/27 02:36:46 das Exp $ */ #include "tkButton.h" @@ -789,7 +789,7 @@ TkpDestroyButton( *---------------------------------------------------------------------- */ -int +static int TkMacOSXInitControl ( MacButton *mbPtr, /* Mac button. */ GWorldPtr destPort, diff --git a/macosx/tkMacOSXCarbonEvents.c b/macosx/tkMacOSXCarbonEvents.c index 9b45c19..855ab7b 100644 --- a/macosx/tkMacOSXCarbonEvents.c +++ b/macosx/tkMacOSXCarbonEvents.c @@ -2,12 +2,19 @@ * tkMacOSXCarbonEvents.c -- * * This file implements functions that register for and handle - * various Carbon Events. The reason a separate set of handlers - * is necessary is that not all interesting events get delivered - * directly to the event queue through ReceiveNextEvent. Some only - * get delivered if you register a Carbon Event Handler for the event. + * various Carbon Events and Timers. Most carbon events of interest + * to TkAqua are processed in a handler registered on the dispatcher + * event target so that we get first crack at them before HIToolbox + * dispatchers/processes them further. + * As some events are sent directly to the focus or app event target + * and not dispatched normally, we also register a handler on the + * application event target. * - * Copyright 2001, Apple Computer, Inc. + * Copyright 2001, Apple Computer, Inc. + * Copyright (c) 2005 Daniel A. Steffen <das@users.sourceforge.net> + * + * See the file "license.terms" for information on usage and redistribution of + * this file, and for a DISCLAIMER OF ALL WARRANTIES. * * The following terms apply to all files originating from Apple * Computer, Inc. ("Apple") and associated with the software @@ -53,7 +60,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXCarbonEvents.c,v 1.3.2.4 2005/09/10 15:11:29 das Exp $ + * RCS: @(#) $Id: tkMacOSXCarbonEvents.c,v 1.3.2.5 2005/11/27 02:36:46 das Exp $ */ #include "tkInt.h" @@ -62,69 +69,83 @@ #include "tkMacOSXDebug.h" /* -#ifdef TK_MAC_DEBUG +#ifdef TK_MAC_DEBUG #define TK_MAC_DEBUG_CARBON_EVENTS #endif */ -#ifdef TK_MAC_DEBUG_CARBON_EVENTS -/* Carbon-internal event debugging routines (c.f. Technote 2124): */ -void _DebugPrintEvent(EventRef inEvent); -void _TraceEventByName(CFStringRef eventName); -#endif /* TK_MAC_DEBUG_CARBON_EVENTS */ - /* Declarations of functions used only in this file */ -static OSStatus CarbonEventHandlerProc ( - EventHandlerCallRef callRef, - EventRef inEvent, - void *userData); +static OSStatus CarbonEventHandlerProc(EventHandlerCallRef callRef, + EventRef event, void *userData); +static OSStatus InstallStandardApplicationEventHandler(); +static void ExitRaelEventHandlerProc (EventHandlerCallRef, EventRef, void*) + __attribute__ ((__noreturn__)); +static void CarbonTimerProc(EventLoopTimerRef timer, void *userData); + +/* Static data used by several functions in this file */ +static jmp_buf exitRaelJmpBuf; +static EventLoopTimerRef carbonTimer = NULL; +static int carbonTimerEnabled = 0; /* *---------------------------------------------------------------------- * * CarbonEventHandlerProc -- * - * This procedure is the handler for all registered CarbonEvents. + * This procedure is the handler for all registered CarbonEvents. * * Results: - * None. + * OS status code. * * Side effects: - * Dispatches CarbonEvents. + * Dispatches CarbonEvents. * *---------------------------------------------------------------------- */ static OSStatus CarbonEventHandlerProc ( - EventHandlerCallRef callRef, - EventRef inEvent, - void *inUserData) + EventHandlerCallRef callRef, + EventRef event, + void *userData) { - OSStatus result = eventNotHandledErr; + OSStatus result = eventNotHandledErr; TkMacOSXEvent macEvent; MacEventStatus eventStatus; + macEvent.eventRef = event; + macEvent.eClass = GetEventClass(macEvent.eventRef); + macEvent.eKind = GetEventKind(macEvent.eventRef); + macEvent.interp = (Tcl_Interp *) userData; + bzero(&eventStatus, sizeof(eventStatus)); + #ifdef TK_MAC_DEBUG_CARBON_EVENTS char buf [256]; - CarbonEventToAscii(inEvent, buf); - fprintf(stderr, "CarbonEventHandlerProc started handling %s\n", buf); - _DebugPrintEvent(inEvent); + if (macEvent.eKind != kEventMouseMoved && + macEvent.eKind != kEventMouseDragged) { + CarbonEventToAscii(event, buf); + fprintf(stderr, "CarbonEventHandlerProc started handling %s\n", buf); + TkMacOSXInitNamedSymbol(HIToolbox, void, _DebugPrintEvent, + EventRef inEvent); + if (_DebugPrintEvent) { + /* Carbon-internal event debugging (c.f. Technote 2124) */ + _DebugPrintEvent(event); + } + } #endif /* TK_MAC_DEBUG_CARBON_EVENTS */ - macEvent.eventRef = inEvent; - macEvent.eClass = GetEventClass(macEvent.eventRef); - macEvent.eKind = GetEventKind(macEvent.eventRef); - macEvent.interp = (Tcl_Interp *) inUserData; - bzero(&eventStatus, sizeof(eventStatus)); TkMacOSXProcessEvent(&macEvent,&eventStatus); if (eventStatus.stopProcessing) { - result = noErr; + result = noErr; } #ifdef TK_MAC_DEBUG_CARBON_EVENTS - fprintf(stderr, "CarbonEventHandlerProc finished handling %s: %s handled\n", buf, - eventStatus.stopProcessing ? " " : "not"); + if (macEvent.eKind != kEventMouseMoved && + macEvent.eKind != kEventMouseDragged) { + fprintf(stderr, + "CarbonEventHandlerProc finished handling %s: %s handled\n", + buf, eventStatus.stopProcessing ? " " : "not"); + } #endif /* TK_MAC_DEBUG_CARBON_EVENTS */ return result; } @@ -134,75 +155,312 @@ CarbonEventHandlerProc ( * * TkMacOSXInitCarbonEvents -- * - * This procedure initializes all CarbonEvent handlers. + * This procedure initializes all CarbonEvent handlers. * * Results: - * None. + * None. * * Side effects: - * Handlers for Carbon Events are registered. + * Handlers for Carbon Events are registered. * *---------------------------------------------------------------------- */ void TkMacOSXInitCarbonEvents ( - Tcl_Interp *interp) + Tcl_Interp *interp) { + OSStatus err; const EventTypeSpec dispatcherEventTypes[] = { - {kEventClassMouse, kEventMouseDown}, - {kEventClassMouse, kEventMouseUp}, - {kEventClassMouse, kEventMouseMoved}, - {kEventClassMouse, kEventMouseDragged}, - {kEventClassMouse, kEventMouseWheelMoved}, - {kEventClassWindow, kEventWindowUpdate}, - {kEventClassWindow, kEventWindowActivated}, - {kEventClassWindow, kEventWindowDeactivated}, - {kEventClassKeyboard, kEventRawKeyDown}, - {kEventClassKeyboard, kEventRawKeyRepeat}, - {kEventClassKeyboard, kEventRawKeyUp}, - {kEventClassKeyboard, kEventRawKeyModifiersChanged}, - {kEventClassKeyboard, kEventRawKeyRepeat}, - {kEventClassApplication, kEventAppActivated}, - {kEventClassApplication, kEventAppDeactivated}, - {kEventClassApplication, kEventAppQuit}, - {kEventClassAppleEvent, kEventAppleEvent}, + {kEventClassMouse, kEventMouseDown}, + {kEventClassMouse, kEventMouseUp}, + {kEventClassMouse, kEventMouseMoved}, + {kEventClassMouse, kEventMouseDragged}, + {kEventClassMouse, kEventMouseWheelMoved}, + {kEventClassWindow, kEventWindowUpdate}, + {kEventClassWindow, kEventWindowActivated}, + {kEventClassWindow, kEventWindowDeactivated}, + {kEventClassKeyboard, kEventRawKeyDown}, + {kEventClassKeyboard, kEventRawKeyRepeat}, + {kEventClassKeyboard, kEventRawKeyUp}, + {kEventClassKeyboard, kEventRawKeyModifiersChanged}, + {kEventClassKeyboard, kEventRawKeyRepeat}, + {kEventClassApplication, kEventAppActivated}, + {kEventClassApplication, kEventAppDeactivated}, + {kEventClassApplication, kEventAppQuit}, }; const EventTypeSpec applicationEventTypes[] = { - {kEventClassWindow, kEventWindowExpanded}, - {kEventClassApplication, kEventAppHidden}, - {kEventClassApplication, kEventAppShown}, + {kEventClassMenu, kEventMenuBeginTracking}, + {kEventClassMenu, kEventMenuEndTracking}, + {kEventClassCommand, kEventCommandProcess}, + {kEventClassWindow, kEventWindowExpanded}, + {kEventClassApplication, kEventAppHidden}, + {kEventClassApplication, kEventAppShown}, }; EventHandlerUPP handler = NewEventHandlerUPP(CarbonEventHandlerProc); - InstallEventHandler(GetEventDispatcherTarget(), handler, - GetEventTypeCount(dispatcherEventTypes), dispatcherEventTypes, - (void *) interp, NULL); - InstallEventHandler(GetApplicationEventTarget(), handler, - GetEventTypeCount(applicationEventTypes), applicationEventTypes, - (void *) interp, NULL); + err = InstallStandardApplicationEventHandler(); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr, "InstallStandardApplicationEventHandler failed, %d\n", + (int) err); +#endif + } + err = InstallEventHandler(GetEventDispatcherTarget(), handler, + GetEventTypeCount(dispatcherEventTypes), dispatcherEventTypes, + (void *) interp, NULL); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr, "InstallEventHandler failed, %d\n", (int) err); +#endif + } + err = InstallEventHandler(GetApplicationEventTarget(), handler, + GetEventTypeCount(applicationEventTypes), applicationEventTypes, + (void *) interp, NULL); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr, "InstallEventHandler failed, %d\n", (int) err); +#endif + } + +#ifdef TK_MAC_DEBUG_CARBON_EVENTS + TkMacOSXInitNamedSymbol(HIToolbox, void, _TraceEventByName, CFStringRef); + if (_TraceEventByName) { + /* Carbon-internal event debugging (c.f. Technote 2124) */ + _TraceEventByName(CFSTR("kEventMouseDown")); + _TraceEventByName(CFSTR("kEventMouseUp")); + _TraceEventByName(CFSTR("kEventMouseWheelMoved")); + _TraceEventByName(CFSTR("kEventWindowUpdate")); + _TraceEventByName(CFSTR("kEventWindowActivated")); + _TraceEventByName(CFSTR("kEventWindowDeactivated")); + _TraceEventByName(CFSTR("kEventRawKeyDown")); + _TraceEventByName(CFSTR("kEventRawKeyRepeat")); + _TraceEventByName(CFSTR("kEventRawKeyUp")); + _TraceEventByName(CFSTR("kEventRawKeyModifiersChanged")); + _TraceEventByName(CFSTR("kEventRawKeyRepeat")); + _TraceEventByName(CFSTR("kEventAppActivated")); + _TraceEventByName(CFSTR("kEventAppDeactivated")); + _TraceEventByName(CFSTR("kEventAppQuit")); + _TraceEventByName(CFSTR("kEventMenuBeginTracking")); + _TraceEventByName(CFSTR("kEventMenuEndTracking")); + _TraceEventByName(CFSTR("kEventCommandProcess")); + _TraceEventByName(CFSTR("kEventWindowExpanded")); + _TraceEventByName(CFSTR("kEventAppHidden")); + _TraceEventByName(CFSTR("kEventAppShown")); + } +#endif /* TK_MAC_DEBUG_CARBON_EVENTS */ +} + +/* + *---------------------------------------------------------------------- + * + * InstallStandardApplicationEventHandler -- + * + * This procedure installs the carbon standard application event + * handler. + * + * Results: + * OS status code. + * + * Side effects: + * Standard handlers for application Carbon Events are registered. + * + *---------------------------------------------------------------------- + */ + +static OSStatus +InstallStandardApplicationEventHandler() +{ + /* + * This is a hack to workaround missing Carbon API to install the standard + * application event handler (InstallStandardEventHandler() does not work + * on the application target). The only way to install the standard app + * handler is to call RunApplicationEventLoop(), but since we are running + * our own event loop, we'll immediately need to break out of RAEL again: + * we do this via longjmp out of the ExitRaelEventHandlerProc event handler + * called first off from RAEL by posting a high priority dummy event. + * This workaround is derived from a similar approach in Technical Q&A 1061. + */ + enum { kExitRaelEvent = 'ExiT' }; + const EventTypeSpec exitRaelEventType = + { kExitRaelEvent, kExitRaelEvent}; + EventHandlerUPP exitRaelEventHandler; + EventHandlerRef exitRaelEventHandlerRef = NULL; + EventRef exitRaelEvent = NULL; + OSStatus err = memFullErr; + + exitRaelEventHandler = NewEventHandlerUPP( + (EventHandlerProcPtr) ExitRaelEventHandlerProc); + if (exitRaelEventHandler) { + err = InstallEventHandler(GetEventDispatcherTarget(), + exitRaelEventHandler, 1, &exitRaelEventType, NULL, + &exitRaelEventHandlerRef); + } + if (err == noErr) { + err = CreateEvent(NULL, kExitRaelEvent, kExitRaelEvent, + GetCurrentEventTime(), kEventAttributeNone, &exitRaelEvent); + } + if (err == noErr) { + err = PostEventToQueue(GetMainEventQueue(), exitRaelEvent, + kEventPriorityHigh); + } + if (err == noErr) { + if (!setjmp(exitRaelJmpBuf)) { + RunApplicationEventLoop(); + /* This point should never be reached ! */ + Tcl_Panic("RunApplicationEventLoop exited !"); + } + } + if (exitRaelEvent) { + ReleaseEvent(exitRaelEvent); + } + if (exitRaelEventHandlerRef) { + RemoveEventHandler(exitRaelEventHandlerRef); + } + if (exitRaelEventHandler) { + DisposeEventHandlerUPP(exitRaelEventHandler); + } + return err; +} + +/* + *---------------------------------------------------------------------- + * + * ExitRaelEventHandlerProc -- + * + * This procedure is the dummy event handler used to break out of + * RAEL via longjmp, it is called as the first ever event handler + * in RAEL by posting a high priority dummy event. + * + * Results: + * None. Never returns ! + * + * Side effects: + * longjmp back to InstallStandardApplicationEventHandler(). + * + *---------------------------------------------------------------------- + */ + +static void +ExitRaelEventHandlerProc ( + EventHandlerCallRef callRef, + EventRef event, void *userData) +{ + longjmp(exitRaelJmpBuf, 1); +} + +/* + *---------------------------------------------------------------------- + * + * CarbonTimerProc -- + * + * This procedure is the carbon timer handler that runs the tcl + * event loop periodically. It does not process TCL_WINDOW_EVENTS + * to avoid reentry issues with Carbon, nor TCL_IDLE_EVENTS since + * it is only intended to be called during short periods of busy + * time such as during menu tracking. + * + * Results: + * None. + * + * Side effects: + * Runs the Tcl event loop. + * + *---------------------------------------------------------------------- + */ +static void +CarbonTimerProc ( + EventLoopTimerRef timer, + void *userData) +{ + while(carbonTimerEnabled && Tcl_DoOneEvent( + TCL_FILE_EVENTS|TCL_TIMER_EVENTS|TCL_DONT_WAIT)) { #ifdef TK_MAC_DEBUG_CARBON_EVENTS - _TraceEventByName(CFSTR("kEventMouseDown")); - _TraceEventByName(CFSTR("kEventMouseUp")); - _TraceEventByName(CFSTR("kEventMouseMoved")); - _TraceEventByName(CFSTR("kEventMouseDragged")); - _TraceEventByName(CFSTR("kEventMouseWheelMoved")); - _TraceEventByName(CFSTR("kEventWindowUpdate")); - _TraceEventByName(CFSTR("kEventWindowActivated")); - _TraceEventByName(CFSTR("kEventWindowDeactivated")); - _TraceEventByName(CFSTR("kEventRawKeyDown")); - _TraceEventByName(CFSTR("kEventRawKeyRepeat")); - _TraceEventByName(CFSTR("kEventRawKeyUp")); - _TraceEventByName(CFSTR("kEventRawKeyModifiersChanged")); - _TraceEventByName(CFSTR("kEventRawKeyRepeat")); - _TraceEventByName(CFSTR("kEventAppActivated")); - _TraceEventByName(CFSTR("kEventAppDeactivated")); - _TraceEventByName(CFSTR("kEventAppQuit")); - _TraceEventByName(CFSTR("kEventAppleEvent")); - _TraceEventByName(CFSTR("kEventWindowExpanded")); - _TraceEventByName(CFSTR("kEventAppHidden")); - _TraceEventByName(CFSTR("kEventAppShown")); + fprintf(stderr, "Processed tcl event from carbon timer\n"); #endif /* TK_MAC_DEBUG_CARBON_EVENTS */ + } } + +/* + *---------------------------------------------------------------------- + * + * TkMacOSXStartTclEventLoopCarbonTimer -- + * + * This procedure installs (if necessary) and starts a carbon + * event timer that runs the tcl event loop periodically. + * It should be called whenever a nested carbon event loop is + * run by HIToolbox (e.g. during menutracking) to ensure that + * non-window non-idle tcl events are processed. + * + * Results: + * OS status code. + * + * Side effects: + * Carbon event timer is installed and started. + * + *---------------------------------------------------------------------- + */ + +OSStatus +TkMacOSXStartTclEventLoopCarbonTimer() +{ + OSStatus err; + + if(!carbonTimer) { + EventLoopTimerUPP timerUPP = NewEventLoopTimerUPP(CarbonTimerProc); + err = InstallEventLoopTimer(GetMainEventLoop(), kEventDurationNoWait, + 5 * kEventDurationMillisecond, timerUPP, NULL, &carbonTimer); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr, "InstallEventLoopTimer failed, %d\n", (int) err); +#endif + } + } else { + err = SetEventLoopTimerNextFireTime(carbonTimer, kEventDurationNoWait); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr, "SetEventLoopTimerNextFireTime failed, %d\n", + (int) err); +#endif + } + } + carbonTimerEnabled = 1; + return err; +} + +/* + *---------------------------------------------------------------------- + * + * TkMacOSXStopTclEventLoopCarbonTimer -- + * + * This procedure stops the carbon event timer started by + * TkMacOSXStartTclEventLoopCarbonTimer(). + * + * Results: + * OS status code. + * + * Side effects: + * Carbon event timer is stopped. + * + *---------------------------------------------------------------------- + */ + +OSStatus +TkMacOSXStopTclEventLoopCarbonTimer() +{ + OSStatus err = noErr; + if(carbonTimer) { + err = SetEventLoopTimerNextFireTime(carbonTimer, kEventDurationForever); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr, "SetEventLoopTimerNextFireTime failed, %d\n", + (int) err); +#endif + } + } + carbonTimerEnabled = 0; + return err; +} + diff --git a/macosx/tkMacOSXDebug.c b/macosx/tkMacOSXDebug.c index 8651bc9..77d700d 100644 --- a/macosx/tkMacOSXDebug.c +++ b/macosx/tkMacOSXDebug.c @@ -50,7 +50,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXDebug.c,v 1.2.2.3 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXDebug.c,v 1.2.2.4 2005/11/27 02:36:46 das Exp $ */ #include "tkMacOSXDebug.h" @@ -230,7 +230,7 @@ static MyEventNameList eventNameList [] = { }; -MyEventName classicEventNames [] = { +static MyEventName classicEventNames [] = { { nullEvent,"nullEvent" }, { mouseDown,"mouseDown" }, { mouseUp,"mouseUp" }, @@ -289,7 +289,8 @@ CarbonEventToAscii(EventRef eventRef, char * buf) return iBuf; } -char * CarbonEventKindToAscii(EventRef eventRef, char * buf ) +char * +CarbonEventKindToAscii(EventRef eventRef, char * buf ) { EventClass eventClass; EventKind eventKind; @@ -324,7 +325,8 @@ char * CarbonEventKindToAscii(EventRef eventRef, char * buf ) return buf; } -char * ClassicEventToAscii(EventRecord * eventPtr, char * buf ) +char * +ClassicEventToAscii(EventRecord * eventPtr, char * buf ) { MyEventName * names = NULL; int found = 0; @@ -353,27 +355,31 @@ char * ClassicEventToAscii(EventRecord * eventPtr, char * buf ) } -void printPoint(char * tag, Point * p ) +void +printPoint(char * tag, Point * p ) { fprintf(stderr,"%s %4d %4d\n", tag,p->h,p->v ); } -void printRect(char * tag, Rect * r ) +void +printRect(char * tag, Rect * r ) { fprintf(stderr,"%s %4d %4d %4d %4d (%dx%d)\n", tag, r->left, r->top, r->right, r->bottom, r->right - r->left + 1, r->bottom - r->top + 1); } -void printRegion(char * tag, RgnHandle rgn ) +void +printRegion(char * tag, RgnHandle rgn ) { Rect r; GetRegionBounds(rgn,&r); printRect(tag,&r); } -void printWindowTitle(char * tag, WindowRef window ) +void +printWindowTitle(char * tag, WindowRef window ) { Str255 title; GetWTitle(window,title); @@ -386,7 +392,7 @@ typedef struct { char * name; } MsgName; -MsgName msgNames [] = { +static MsgName msgNames [] = { { kMenuDrawMsg, "Draw"}, { kMenuSizeMsg, "Size"}, { kMenuPopUpMsg, "PopUp"}, @@ -400,7 +406,6 @@ MsgName msgNames [] = { { -1, NULL } }; - char * TkMacOSXMenuMessageToAscii(int msg, char * s) { @@ -417,20 +422,21 @@ TkMacOSXMenuMessageToAscii(int msg, char * s) return s; } +static MsgName trackingNames [] = { + { kMouseTrackingMousePressed , "MousePressed " }, + { kMouseTrackingMouseReleased , "MouseReleased " }, + { kMouseTrackingMouseExited , "MouseExited " }, + { kMouseTrackingMouseEntered , "MouseEntered " }, + { kMouseTrackingMouseMoved , "MouseMoved " }, + { kMouseTrackingKeyModifiersChanged, "KeyModifiersChanged" }, + { kMouseTrackingUserCancelled , "UserCancelled " }, + { kMouseTrackingTimedOut , "TimedOut " }, + { -1, NULL } +}; -char * MouseTrackingResultToAscii(MouseTrackingResult r, char * buf) +char * +MouseTrackingResultToAscii(MouseTrackingResult r, char * buf) { - MsgName trackingNames [] = { - { kMouseTrackingMousePressed , "MousePressed " }, - { kMouseTrackingMouseReleased , "MouseReleased " }, - { kMouseTrackingMouseExited , "MouseExited " }, - { kMouseTrackingMouseEntered , "MouseEntered " }, - { kMouseTrackingMouseMoved , "MouseMoved " }, - { kMouseTrackingKeyModifiersChanged, "KeyModifiersChanged" }, - { kMouseTrackingUserCancelled , "UserCancelled " }, - { kMouseTrackingTimedOut , "TimedOut " }, - { -1, NULL } - }; MsgName * namePtr; for (namePtr = trackingNames; namePtr->name; namePtr++) { if (namePtr->msg == r) { diff --git a/macosx/tkMacOSXDebug.h b/macosx/tkMacOSXDebug.h index c947ef3..f57fc71 100644 --- a/macosx/tkMacOSXDebug.h +++ b/macosx/tkMacOSXDebug.h @@ -50,11 +50,16 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXDebug.h,v 1.2.2.3 2005/09/10 15:11:29 das Exp $ + * RCS: @(#) $Id: tkMacOSXDebug.h,v 1.2.2.4 2005/11/27 02:36:46 das Exp $ */ #ifndef _TKMACDEBUG #define _TKMACDEBUG + +#ifndef _TKINT +#include "tkInt.h" +#endif + #include <Carbon/Carbon.h> /* The following define enables printing of debug messages to stderr: */ diff --git a/macosx/tkMacOSXDialog.c b/macosx/tkMacOSXDialog.c index 37d07f6..e2e609d 100644 --- a/macosx/tkMacOSXDialog.c +++ b/macosx/tkMacOSXDialog.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXDialog.c,v 1.4.2.8 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXDialog.c,v 1.4.2.9 2005/11/27 02:36:46 das Exp $ */ #include <Carbon/Carbon.h> @@ -73,7 +73,7 @@ static Boolean MatchOneType _ANSI_ARGS_((StringPtr fileNamePtr, O static pascal Boolean OpenFileFilterProc(AEDesc* theItem, void* info, NavCallBackUserData callBackUD, NavFilterModes filterMode ); -pascal void OpenEventProc(NavEventCallbackMessage callBackSelector, +static pascal void OpenEventProc(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD ); static void InitFileDialogs(); @@ -98,8 +98,8 @@ static int fileDlgInited = 0; * commands. */ -NavObjectFilterUPP openFileFilterUPP; -NavEventUPP openFileEventUPP; +static NavObjectFilterUPP openFileFilterUPP; +static NavEventUPP openFileEventUPP; /* diff --git a/macosx/tkMacOSXDraw.c b/macosx/tkMacOSXDraw.c index e02fb0c..e24eb8b 100644 --- a/macosx/tkMacOSXDraw.c +++ b/macosx/tkMacOSXDraw.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXDraw.c,v 1.2.2.7 2005/07/29 05:36:50 hobbs Exp $ + * RCS: @(#) $Id: tkMacOSXDraw.c,v 1.2.2.8 2005/11/27 02:36:46 das Exp $ */ #include "tclInt.h" @@ -52,10 +52,10 @@ static int useThemedFrame = 0; */ static unsigned char InvertByte _ANSI_ARGS_((unsigned char data)); -void TkMacOSXSetUpCGContext(MacDrawable *macWin, +static void TkMacOSXSetUpCGContext(MacDrawable *macWin, CGrafPtr destPort, GC gc, CGContextRef *contextPtr); -void TkMacOSXReleaseCGContext(MacDrawable *macWin, CGrafPtr destPort, - CGContextRef *context); +static void TkMacOSXReleaseCGContext(MacDrawable *macWin, CGrafPtr destPort, + CGContextRef *context); static inline double radians(double degrees) { return degrees * PI / 180.0f; } int @@ -881,6 +881,7 @@ XDrawRectangle( SetGWorld(saveWorld, saveDevice); } +#if 0 /* *---------------------------------------------------------------------- * @@ -963,6 +964,7 @@ XDrawRectangles( } SetGWorld(saveWorld, saveDevice); } +#endif /* *---------------------------------------------------------------------- @@ -1074,6 +1076,7 @@ XDrawArc( SetGWorld(saveWorld, saveDevice); } +#if 0 /* *---------------------------------------------------------------------- * @@ -1183,6 +1186,7 @@ XDrawArcs( } SetGWorld(saveWorld, saveDevice); } +#endif /* *---------------------------------------------------------------------- @@ -1328,6 +1332,7 @@ XFillArc( SetGWorld(saveWorld, saveDevice); } +#if 0 /* *---------------------------------------------------------------------- * @@ -1509,7 +1514,9 @@ XFillArcs( } SetGWorld(saveWorld, saveDevice); } +#endif +#if 0 /* *---------------------------------------------------------------------- * @@ -1522,6 +1529,7 @@ XMaxRequestSize(Display *display) { return (SHRT_MAX / 4); } +#endif /* *---------------------------------------------------------------------- @@ -1729,7 +1737,7 @@ TkMacOSXSetUpGraphicsPort( *---------------------------------------------------------------------- */ -void +static void TkMacOSXSetUpCGContext( MacDrawable *macWin, CGrafPtr destPort, @@ -1836,7 +1844,7 @@ TkMacOSXSetUpCGContext( } } -void +static void TkMacOSXReleaseCGContext( MacDrawable *macWin, CGrafPtr destPort, diff --git a/macosx/tkMacOSXEntry.c b/macosx/tkMacOSXEntry.c index 2df8dfc..d8d0504 100644 --- a/macosx/tkMacOSXEntry.c +++ b/macosx/tkMacOSXEntry.c @@ -50,7 +50,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXEntry.c,v 1.2.2.4 2005/08/09 07:39:55 das Exp $ + * RCS: @(#) $Id: tkMacOSXEntry.c,v 1.2.2.5 2005/11/27 02:36:46 das Exp $ */ #include "tk.h" @@ -59,7 +59,7 @@ #include "tkMacOSXDefault.h" #include "tkEntry.h" -ThemeButtonKind ComputeIncDecParameters (int height, int *width); +static ThemeButtonKind ComputeIncDecParameters (int height, int *width); /* *-------------------------------------------------------------- @@ -78,7 +78,7 @@ ThemeButtonKind ComputeIncDecParameters (int height, int *width); * *-------------------------------------------------------------- */ -ThemeButtonKind +static ThemeButtonKind ComputeIncDecParameters (int height, int *width) { static int version = 0; diff --git a/macosx/tkMacOSXEvent.c b/macosx/tkMacOSXEvent.c index 3315310..0f97852 100644 --- a/macosx/tkMacOSXEvent.c +++ b/macosx/tkMacOSXEvent.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXEvent.c,v 1.3.2.3 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXEvent.c,v 1.3.2.4 2005/11/27 02:36:46 das Exp $ */ #include <stdio.h> @@ -18,13 +18,6 @@ #include "tkMacOSXEvent.h" #include "tkMacOSXDebug.h" -/* - * Forward declarations of procedures used in this file. - */ - -static int TkMacOSXProcessAppleEvent( - TkMacOSXEvent * eventPtr, MacEventStatus * statusPtr); - /* *---------------------------------------------------------------------- * @@ -56,52 +49,6 @@ TkMacOSXFlushWindows () } } -/* - *---------------------------------------------------------------------- - * - * TkMacOSXProcessAppleEvent -- - * - * This processes Apple events - * - * Results: - * 0 on success - * -1 on failure - * - * Side effects: - * Calls the Tk high-level event handler - * - *---------------------------------------------------------------------- - */ - -static int -TkMacOSXProcessAppleEvent(TkMacOSXEvent * eventPtr, MacEventStatus * statusPtr) -{ - int err; - EventRecord eventRecord; - if (ConvertEventRefToEventRecord(eventPtr->eventRef, - &eventRecord )) { - err = TkMacOSXDoHLEvent(&eventRecord); - if (err != noErr) { -#ifdef TK_MAC_DEBUG - char buf1 [ 256 ]; - char buf2 [ 256 ]; - fprintf(stderr, - "TkMacOSXDoHLEvent failed : %s,%s,%d\n", - CarbonEventToAscii(eventPtr->eventRef, buf1), - ClassicEventToAscii(&eventRecord,buf2), err); -#endif - statusPtr->err = 1; - } - } else { -#ifdef TK_MAC_DEBUG - fprintf(stderr,"ConvertEventRefToEventRecord failed\n"); -#endif - statusPtr->err = 1; - } - return 0; -} - - /* *---------------------------------------------------------------------- * @@ -141,8 +88,11 @@ TkMacOSXProcessEvent(TkMacOSXEvent * eventPtr, MacEventStatus * statusPtr) case kEventClassApplication: TkMacOSXProcessApplicationEvent(eventPtr, statusPtr); break; - case kEventClassAppleEvent: - TkMacOSXProcessAppleEvent(eventPtr, statusPtr); + case kEventClassMenu: + TkMacOSXProcessMenuEvent(eventPtr, statusPtr); + break; + case kEventClassCommand: + TkMacOSXProcessCommandEvent(eventPtr, statusPtr); break; default: #ifdef TK_MAC_DEBUG @@ -161,6 +111,113 @@ TkMacOSXProcessEvent(TkMacOSXEvent * eventPtr, MacEventStatus * statusPtr) /* *---------------------------------------------------------------------- * + * TkMacOSXProcessMenuEvent -- + * + * This routine processes the event in eventPtr, and + * generates the appropriate Tk events from it. + * + * Results: + * True if event(s) are generated - false otherwise. + * + * Side effects: + * Additional events may be place on the Tk event queue. + * + *---------------------------------------------------------------------- + */ + +int +TkMacOSXProcessMenuEvent(TkMacOSXEvent *eventPtr, MacEventStatus * statusPtr) +{ + int menuContext; + OSStatus status; + + switch (eventPtr->eKind) { + case kEventMenuBeginTracking: + case kEventMenuEndTracking: + break; + default: + return 0; + break; + } + status = GetEventParameter(eventPtr->eventRef, + kEventParamMenuContext, + typeUInt32, NULL, + sizeof(menuContext), NULL, + &menuContext); + if (status == noErr && (menuContext & kMenuContextMenuBar)) { + static int oldMode = TCL_SERVICE_ALL; + if (eventPtr->eKind == kEventMenuBeginTracking) { + oldMode = Tcl_SetServiceMode(TCL_SERVICE_ALL); + TkMacOSXClearMenubarActive(); + + /* + * Handle -postcommand + */ + + TkMacOSXPreprocessMenu(); + } else { + Tcl_SetServiceMode(oldMode); + } + } + return 0; +} + +/* + *---------------------------------------------------------------------- + * + * TkMacOSXProcessCommandEvent -- + * + * This routine processes the event in eventPtr, and + * generates the appropriate Tk events from it. + * + * Results: + * True if event(s) are generated - false otherwise. + * + * Side effects: + * Additional events may be place on the Tk event queue. + * + *---------------------------------------------------------------------- + */ + +int +TkMacOSXProcessCommandEvent(TkMacOSXEvent *eventPtr, MacEventStatus * statusPtr) +{ + HICommand command; + int menuContext; + OSStatus status; + + switch (eventPtr->eKind) { + case kEventCommandProcess: + break; + default: + return 0; + break; + } + status = GetEventParameter(eventPtr->eventRef, + kEventParamDirectObject, + typeHICommand, NULL, + sizeof(command), NULL, + &command); + if (status == noErr && (command.attributes & kHICommandFromMenu)) { + status = GetEventParameter(eventPtr->eventRef, + kEventParamMenuContext, + typeUInt32, NULL, + sizeof(menuContext), NULL, + &menuContext); + if (status == noErr && (menuContext & kMenuContextMenuBar) && + (menuContext & kMenuContextMenuBarTracking)) { + TkMacOSXHandleMenuSelect(GetMenuID(command.menu.menuRef), + command.menu.menuItemIndex, + GetCurrentEventKeyModifiers() & optionKey); + return 1; + } + } + return 0; +} + +/* + *---------------------------------------------------------------------- + * * TkMacOSXReceiveAndProcessEvent -- * * This receives a carbon event and converts it to a Tk event @@ -193,7 +250,9 @@ TkMacOSXReceiveAndProcessEvent() if (!targetRef) { targetRef = GetEventDispatcherTarget(); } + TkMacOSXStartTclEventLoopCarbonTimer(); err = SendEventToEventTarget(eventRef,targetRef); + TkMacOSXStopTclEventLoopCarbonTimer(); #ifdef TK_MAC_DEBUG if (err != noErr && err != eventLoopTimedOutErr && err != eventNotHandledErr diff --git a/macosx/tkMacOSXEvent.h b/macosx/tkMacOSXEvent.h index 1300e91..a1d8d33 100644 --- a/macosx/tkMacOSXEvent.h +++ b/macosx/tkMacOSXEvent.h @@ -50,7 +50,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXEvent.h,v 1.3.2.2 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXEvent.h,v 1.3.2.3 2005/11/27 02:36:46 das Exp $ */ #ifndef _TKMACEVENT @@ -87,12 +87,17 @@ int TkMacOSXProcessKeyboardEvent(TkMacOSXEvent *e, MacEventStatus *statusPtr); int TkMacOSXProcessApplicationEvent(TkMacOSXEvent *e, MacEventStatus *statusPtr); - +int TkMacOSXProcessMenuEvent(TkMacOSXEvent *e, + MacEventStatus *statusPtr); +int TkMacOSXProcessCommandEvent(TkMacOSXEvent *e, + MacEventStatus *statusPtr); int TkMacOSXKeycodeToUnicode( UniChar * uniChars, int maxChars, EventKind eKind, UInt32 keycode, UInt32 modifiers, UInt32 * deadKeyStatePtr); +OSStatus TkMacOSXStartTclEventLoopCarbonTimer(); +OSStatus TkMacOSXStopTclEventLoopCarbonTimer(); #endif diff --git a/macosx/tkMacOSXFont.c b/macosx/tkMacOSXFont.c index 39a06db..953af3c 100644 --- a/macosx/tkMacOSXFont.c +++ b/macosx/tkMacOSXFont.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXFont.c,v 1.3.2.4 2005/08/09 07:39:55 das Exp $ + * RCS: @(#) $Id: tkMacOSXFont.c,v 1.3.2.5 2005/11/27 02:36:46 das Exp $ */ #include <Carbon/Carbon.h> @@ -255,6 +255,8 @@ static int GetFamilyOrAliasNum(CONST char *faceName, short *familyPtr); static Tcl_Encoding GetFontEncoding(int faceNum, int allowSymbol, int *isSymbolPtr); static Tk_Uid GetUtfFaceName(StringPtr faceNameStr); +void TkMacOSXInitControlFontStyle(Tk_Font tkfont, + ControlFontStylePtr fsPtr); /* *------------------------------------------------------------------------- @@ -2239,8 +2241,6 @@ TkMacOSXInitControlFontStyle(Tk_Font tkfont, ControlFontStylePtr fsPtr) *---------------------------------------------------------------------- */ -#include <mach-o/dyld.h> - /* define constants from 10.2 Quickdraw.h to enable compilation in 10.1 */ #define kQDUseTrueTypeScalerGlyphs (1 << 0) #define kQDUseCGTextRendering (1 << 1) @@ -2269,14 +2269,9 @@ TkMacOSXUseAntialiasedText(interp, enable) static UInt32 (*swaptextflags)(UInt32) = NULL; if(!initialized) { - NSSymbol nsSymbol = NULL; - if(NSIsSymbolNameDefinedWithHint("_QDSwapTextFlags", "QD")) { - nsSymbol = NSLookupAndBindSymbolWithHint("_QDSwapTextFlags", "QD"); - } else if(NSIsSymbolNameDefinedWithHint("_SwapQDTextFlags", "QD")) { - nsSymbol = NSLookupAndBindSymbolWithHint("_SwapQDTextFlags", "QD"); - } - if(nsSymbol) { - swaptextflags = NSAddressOfSymbol(nsSymbol); + swaptextflags = TkMacOSXGetNamedSymbol("QD", "_QDSwapTextFlags"); + if (!swaptextflags) { + swaptextflags = TkMacOSXGetNamedSymbol("QD", "_SwapQDTextFlags"); } initialized = TRUE; diff --git a/macosx/tkMacOSXInit.c b/macosx/tkMacOSXInit.c index 7498514..f558b4a 100644 --- a/macosx/tkMacOSXInit.c +++ b/macosx/tkMacOSXInit.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXInit.c,v 1.3.2.10 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXInit.c,v 1.3.2.11 2005/11/27 02:36:46 das Exp $ */ #include "tkInt.h" @@ -170,9 +170,9 @@ TkpInit(interp) if (rsrc) { ReleaseResource(rsrc); } else { - struct mach_header *image; + const struct mach_header *image; char *data = NULL; - unsigned long size; + uint32_t size; int fd = -1; char fileName[L_tmpnam + 15]; int i, n; @@ -204,7 +204,7 @@ TkpInit(interp) if (fd == -1) break; fcntl(fd, F_SETFD, FD_CLOEXEC); if (write(fd, data, size) == -1) break; - err = FSPathMakeRef(fileName, &ref, NULL); + err = FSPathMakeRef((unsigned char*)fileName, &ref, NULL); if (err != noErr) break; err = FSOpenResourceFile(&ref, 0, NULL, fsRdPerm, &refNum); #ifdef TK_MAC_DEBUG @@ -286,22 +286,14 @@ TkpInit(interp) * Load the CPS SPI symbol dynamically, so that we don't break * if it every disappears or changes its name. */ - OSErr (*cpsEnableForegroundOperation)(ProcessSerialNumberPtr) = NULL; - NSSymbol nsSymbol; - if(NSIsSymbolNameDefinedWithHint( - "_CPSEnableForegroundOperation", "CoreGraphics")) { - nsSymbol = NSLookupAndBindSymbolWithHint( - "_CPSEnableForegroundOperation", "CoreGraphics"); - if(nsSymbol) { - cpsEnableForegroundOperation = NSAddressOfSymbol(nsSymbol); - } - } - if (cpsEnableForegroundOperation) { + TkMacOSXInitNamedSymbol(CoreGraphics, OSErr, \ + CPSEnableForegroundOperation, ProcessSerialNumberPtr); + if (CPSEnableForegroundOperation) { ProcessSerialNumber psn = { 0, kCurrentProcess }; /* * Let the window server know that we are a foregroundable app */ - cpsEnableForegroundOperation(&psn); + CPSEnableForegroundOperation(&psn); } } } @@ -443,3 +435,44 @@ TkMacOSXDefaultStartupScript(void) } } } + +/* + *---------------------------------------------------------------------- + * + * TkMacOSXGetNamedSymbol -- + * + * + * Dynamically acquire address of a named symbol from a loaded + * dynamic library, so that we can use API that may not be + * available on all OS versions. + * If module is non-NULL and not the empty string, use twolevel + * namespace lookup. + * + * Results: + * Address of given symbol or NULL if unavailable. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +MODULE_SCOPE void* +TkMacOSXGetNamedSymbol(const char* module, const char* symbol) +{ + NSSymbol nsSymbol = NULL; + if (module && *module) { + if(NSIsSymbolNameDefinedWithHint(symbol, module)) { + nsSymbol = NSLookupAndBindSymbolWithHint(symbol, module); + } + } else { + if(NSIsSymbolNameDefined(symbol)) { + nsSymbol = NSLookupAndBindSymbol(symbol); + } + } + if(nsSymbol) { + return NSAddressOfSymbol(nsSymbol); + } else { + return NULL; + } +} diff --git a/macosx/tkMacOSXInt.h b/macosx/tkMacOSXInt.h index 799d957..514680a 100644 --- a/macosx/tkMacOSXInt.h +++ b/macosx/tkMacOSXInt.h @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXInt.h,v 1.3.2.5 2005/08/09 07:40:00 das Exp $ + * RCS: @(#) $Id: tkMacOSXInt.h,v 1.3.2.6 2005/11/27 02:36:46 das Exp $ */ #ifndef _TKMACINT @@ -157,6 +157,14 @@ extern int TkMacOSXInitCGDrawing(Tcl_Interp *interp, int enable, int antiAlias); extern void TkMacOSXDefaultStartupScript(void); extern int TkMacOSXGenerateFocusEvent( Window window, int activeFlag); extern WindowClass TkMacOSXWindowClass(TkWindow *winPtr); +extern void* TkMacOSXGetNamedSymbol(const char* module, const char* symbol); + +/* Macro to abstract common use of TkMacOSXGetNamedSymbol to initialize named symbols */ +#define TkMacOSXInitNamedSymbol(module, ret, symbol, ...) \ + static ret (* symbol)(__VA_ARGS__) = (void*)(-1L); \ + if (symbol == (void*)(-1L)) { \ + symbol = TkMacOSXGetNamedSymbol(STRINGIFY(module), STRINGIFY(_##symbol));\ + } #include "tkIntPlatDecls.h" diff --git a/macosx/tkMacOSXKeyEvent.c b/macosx/tkMacOSXKeyEvent.c index 10b430e..1da09ba 100644 --- a/macosx/tkMacOSXKeyEvent.c +++ b/macosx/tkMacOSXKeyEvent.c @@ -50,7 +50,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXKeyEvent.c,v 1.6.2.5 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXKeyEvent.c,v 1.6.2.6 2005/11/27 02:36:46 das Exp $ */ #include "tkMacOSXInt.h" @@ -61,7 +61,7 @@ typedef struct { WindowRef whichWindow; Point global; Point local; - int state; + unsigned int state; unsigned char ch; UInt32 keyCode; UInt32 keyModifiers; @@ -97,8 +97,6 @@ static int GenerateKeyEvent ( UInt32 savedModifiers, const UniChar * chars, int numChars); -static void KLSInit(void); - static int GetKeyboardLayout ( Ptr * resourcePtr, TextEncoding * encodingPtr); static TextEncoding GetKCHREncoding( @@ -558,23 +556,6 @@ InitKeyEvent( /* - *---------------------------------------------------------------------- - * - * KLSInit -- - * - * Dynamically initialize Keyboard Layout Services bindings. - * - * Side effects: - * Sets some function pointers (hopefully). - * - *---------------------------------------------------------------------- - */ - -#include <mach-o/dyld.h> - -static int KLSIsInitialized = false; - -/* * If we have old headers, we need to define these types and constants * ourself. We use preprocessor macros instead of enums and typedefs, * because macros work even in case of version misunderstandings, while @@ -590,35 +571,6 @@ static int KLSIsInitialized = false; #define kKLIdentifier 2 #endif -static OSStatus (*KLGetCurrentKeyboardLayoutPtr)( - KeyboardLayoutRef * oKeyboardLayout) = NULL; -static OSStatus (*KLGetKeyboardLayoutPropertyPtr)( - KeyboardLayoutRef iKeyboardLayout, - KeyboardLayoutPropertyTag iPropertyTag, - const void ** oValue) = NULL; - -static void -KLSInit(void) -{ - static const char MODULE[] = "HIToolbox"; - static const char GET_LAYOUT[] = "_KLGetCurrentKeyboardLayout"; - static const char GET_PROP[] = "_KLGetKeyboardLayoutProperty"; - - NSSymbol symbol; - - if (NSIsSymbolNameDefinedWithHint(GET_LAYOUT, MODULE)) { - symbol = NSLookupAndBindSymbolWithHint(GET_LAYOUT, MODULE); - KLGetCurrentKeyboardLayoutPtr = NSAddressOfSymbol(symbol); - } - if (NSIsSymbolNameDefinedWithHint(GET_PROP, MODULE)) { - symbol = NSLookupAndBindSymbolWithHint(GET_PROP, MODULE); - KLGetKeyboardLayoutPropertyPtr = NSAddressOfSymbol(symbol); - } - - KLSIsInitialized = true; -} - - /* *---------------------------------------------------------------------- * @@ -662,18 +614,18 @@ GetKeyboardLayout (Ptr * resourcePtr, TextEncoding * encodingPtr) currentKeyScript = GetScriptManagerVariable(smKeyScript); - if (!KLSIsInitialized) { - KLSInit(); - } - - if (KLGetCurrentKeyboardLayoutPtr != NULL) { + TkMacOSXInitNamedSymbol(HIToolbox, OSStatus, KLGetCurrentKeyboardLayout, + KeyboardLayoutRef*); + TkMacOSXInitNamedSymbol(HIToolbox, OSStatus, KLGetKeyboardLayoutProperty, + KeyboardLayoutRef, KeyboardLayoutPropertyTag, const void**); + if (KLGetCurrentKeyboardLayout && KLGetKeyboardLayoutProperty) { /* * Use the Keyboard Layout Services (these functions only exist since * 10.2). */ - (*KLGetCurrentKeyboardLayoutPtr)(¤tLayout); + KLGetCurrentKeyboardLayout(¤tLayout); if (currentLayout != NULL) { @@ -684,7 +636,7 @@ GetKeyboardLayout (Ptr * resourcePtr, TextEncoding * encodingPtr) * also change and it could still be the same layoutid. */ - (*KLGetKeyboardLayoutPropertyPtr)(currentLayout, kKLIdentifier, + KLGetKeyboardLayoutProperty(currentLayout, kKLIdentifier, (const void**)¤tLayoutId); if ((lastLayout != currentLayout) @@ -705,12 +657,12 @@ GetKeyboardLayout (Ptr * resourcePtr, TextEncoding * encodingPtr) uchr = NULL; KCHR = NULL; - if (((*KLGetKeyboardLayoutPropertyPtr)(currentLayout, + if ((KLGetKeyboardLayoutProperty(currentLayout, kKLuchrData, (const void**)&uchr) == noErr) && (uchr != NULL)) { /* done */ - } else if (((*KLGetKeyboardLayoutPropertyPtr)(currentLayout, + } else if ((KLGetKeyboardLayoutProperty(currentLayout, kKLKCHRData, (const void**)&KCHR) == noErr) && (KCHR != NULL)) { diff --git a/macosx/tkMacOSXMenu.c b/macosx/tkMacOSXMenu.c index 2b4914e..022bd86 100644 --- a/macosx/tkMacOSXMenu.c +++ b/macosx/tkMacOSXMenu.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXMenu.c,v 1.6.2.10 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXMenu.c,v 1.6.2.11 2005/11/27 02:36:46 das Exp $ */ #include "tkMacOSXInt.h" #include "tkMenubutton.h" @@ -333,7 +333,7 @@ static void AppearanceEntryDrawWrapper _ANSI_ARGS_((TkMenuEntry *mePtr, Rect * menuRectPtr, MenuTrackingData *mtdPtr, Drawable d, Tk_FontMetrics *fmPtr, Tk_Font tkfont, int x, int y, int width, int height)); -pascal void tkThemeMenuItemDrawingProc _ANSI_ARGS_ ((const Rect *inBounds, +static pascal void ThemeMenuItemDrawingProc _ANSI_ARGS_ ((const Rect *inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData)); @@ -543,25 +543,38 @@ TkpNewMenu( * platform structure for. */ { short menuID; - Str255 itemText; - int length; MenuRef macMenuHdl; MenuDefSpec menuDefSpec; Tcl_Obj *useMDEFObjPtr; int useMDEF; int error = TCL_OK; - int err; - + OSStatus err; + CFStringRef cfStr; error = TkMacOSXGetNewMenuID(menuPtr->interp, menuPtr, 0, &menuID); if (error != TCL_OK) { return error; } - length = strlen(Tk_PathName(menuPtr->tkwin)); - memmove(&itemText[1], Tk_PathName(menuPtr->tkwin), - (length > 230) ? 230 : length); - itemText[0] = (length > 230) ? 230 : length; - macMenuHdl = NewMenu(menuID, itemText); + err = CreateNewMenu(menuID, kMenuAttrDoNotUseUserCommandKeys, &macMenuHdl); + if (err != noErr) { + Tcl_AppendResult(menuPtr->interp, "CreateNewMenu failed.", + (char *) NULL); + return TCL_ERROR; + } + cfStr = CFStringCreateWithCString(NULL, Tk_PathName(menuPtr->tkwin), + kCFStringEncodingUTF8); + if (!cfStr) { + Tcl_AppendResult(menuPtr->interp, "CFStringCreateWithCString failed.", + (char *) NULL); + return TCL_ERROR; + } + err = SetMenuTitleWithCFString(macMenuHdl, cfStr); + CFRelease(cfStr); + if (err != noErr) { + Tcl_AppendResult(menuPtr->interp, "SetMenuTitleWithCFString failed.", + (char *) NULL); + return TCL_ERROR; + } /* * Check whether we want to use the custom mdef or not. For now @@ -577,7 +590,7 @@ TkpNewMenu( menuDefSpec.u.defProc = MenuDefProc; if ((err = SetMenuDefinition(macMenuHdl, &menuDefSpec)) != noErr) { #ifdef TK_MAC_DEBUG - fprintf(stderr, "SetMenuDefinition failed %d\n", err ); + fprintf(stderr, "SetMenuDefinition failed %d\n", (int) err); #endif } } @@ -2747,7 +2760,7 @@ AppearanceEntryDrawWrapper( /* *---------------------------------------------------------------------- * - * tkThemeMenuItemDrawingProc -- + * ThemeMenuItemDrawingProc -- * * This routine is called from the Appearance DrawThemeMenuEntry * @@ -2759,8 +2772,8 @@ AppearanceEntryDrawWrapper( * *---------------------------------------------------------------------- */ -pascal void -tkThemeMenuItemDrawingProc ( +static pascal void +ThemeMenuItemDrawingProc ( const Rect *inBounds, SInt16 inDepth, Boolean inIsColorDevice, @@ -3875,7 +3888,7 @@ TkpMenuInit(void) windowListPtr = NULL; tkThemeMenuItemDrawingUPP - = NewMenuItemDrawingUPP(tkThemeMenuItemDrawingProc); + = NewMenuItemDrawingUPP(ThemeMenuItemDrawingProc); /* * We should just hardcode the utf-8 ellipsis character into diff --git a/macosx/tkMacOSXMenubutton.c b/macosx/tkMacOSXMenubutton.c index 67d84ca..cd5b44c 100644 --- a/macosx/tkMacOSXMenubutton.c +++ b/macosx/tkMacOSXMenubutton.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXMenubutton.c,v 1.2.2.3 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXMenubutton.c,v 1.2.2.4 2005/11/27 02:36:46 das Exp $ */ #include <Carbon/Carbon.h> @@ -87,8 +87,6 @@ static void CompareControlTitleParams( extern int TkFontGetFirstTextLayout(Tk_TextLayout layout, Tk_Font * font, char * dst); extern void TkMacOSXInitControlFontStyle(Tk_Font tkfont,ControlFontStylePtr fsPtr); -extern int tkPictureIsOpen; - /* * The structure below defines menubutton class behavior by means of * procedures that can be invoked from generic window code. @@ -603,7 +601,7 @@ MenuButtonInitControl ( Rect *cntrRect ) { - OSErr status; + OSStatus err; TkMenuButton * butPtr = ( TkMenuButton * )mbPtr; ControlRef rootControl; SInt16 procID; @@ -612,10 +610,7 @@ MenuButtonInitControl ( SInt16 minValue; SInt16 maxValue; SInt32 controlReference; - int err; short menuID; - int length; - Str255 itemText; rootControl = TkMacOSXGetRootControl(Tk_WindowId(butPtr->tkwin)); mbPtr->windowRef = GetWindowFromPort(TkMacOSXGetDrawablePort(Tk_WindowId(butPtr->tkwin))); @@ -643,10 +638,10 @@ MenuButtonInitControl ( #endif return 1; } - status = EmbedControl(mbPtr->userPane,rootControl); - if (status != noErr) { + err = EmbedControl(mbPtr->userPane,rootControl); + if (err != noErr) { #ifdef TK_MAC_DEBUG - fprintf(stderr,"Failed to embed user pane control %d\n", status); + fprintf(stderr,"Failed to embed user pane control %d\n", (int) err); #endif return 1; } @@ -674,7 +669,7 @@ MenuButtonInitControl ( err = EmbedControl(mbPtr->control,mbPtr->userPane); if (err != noErr ) { #ifdef TK_MAC_DEBUG - fprintf(stderr,"failed to embed control of type %d,%d\n",procID, err); + fprintf(stderr,"failed to embed control of type %d,%d\n",procID, (int) err); #endif return 1; } @@ -688,30 +683,47 @@ MenuButtonInitControl ( err = SetControlFontStyle(mbPtr->control,&mbPtr->titleParams.style); if (err !=noErr) { #ifdef TK_MAC_DEBUG - fprintf(stderr,"SetControlFontStyle failed %d\n", err); + fprintf(stderr,"SetControlFontStyle failed %d\n", (int) err); #endif return 1; } } } else { - CFStringRef cf; + CFStringRef cfStr; err = TkMacOSXGetNewMenuID(mbPtr->info.interp, (TkMenu *)mbPtr, 0, &menuID); if (err != TCL_OK) { - return err; + return 1; } - length = strlen(Tk_PathName(mbPtr->info.tkwin)); - memmove(&itemText[1], Tk_PathName(mbPtr->info.tkwin), - (length > 230) ? 230 : length); - itemText[0] = (length > 230) ? 230 : length; - if (!(mbPtr->menuRef = NewMenu(menuID,itemText))) { + err = CreateNewMenu(menuID, kMenuAttrDoNotUseUserCommandKeys, + &(mbPtr->menuRef)); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr,"CreateNewMenu failed, %d.\n", (int) err); +#endif return 1; } - cf = CFStringCreateWithCString(NULL, + cfStr = CFStringCreateWithCString(NULL, Tk_PathName(mbPtr->info.tkwin), + kCFStringEncodingUTF8); + if (!cfStr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr,"CFStringCreateWithCString failed.\n"); +#endif + return 1; + } + err = SetMenuTitleWithCFString(mbPtr->menuRef, cfStr); + CFRelease(cfStr); + if (err != noErr) { +#ifdef TK_MAC_DEBUG + fprintf(stderr,"SetMenuTitleWithCFString failed, %d.\n", (int) err); +#endif + return 1; + } + cfStr = CFStringCreateWithCString(NULL, (char*) mbPtr->titleParams.title, kCFStringEncodingUTF8); AppendMenuItemText(mbPtr->menuRef, "\px"); - if (cf != NULL) { - SetMenuItemTextWithCFString(mbPtr->menuRef, 1, cf); - CFRelease(cf); + if (cfStr) { + SetMenuItemTextWithCFString(mbPtr->menuRef, 1, cfStr); + CFRelease(cfStr); } err = SetControlData(mbPtr->control, kControlNoPart, diff --git a/macosx/tkMacOSXMenus.c b/macosx/tkMacOSXMenus.c index 4d04235..1531d2b 100644 --- a/macosx/tkMacOSXMenus.c +++ b/macosx/tkMacOSXMenus.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXMenus.c,v 1.2.2.4 2005/08/09 07:40:01 das Exp $ + * RCS: @(#) $Id: tkMacOSXMenus.c,v 1.2.2.5 2005/11/27 02:36:46 das Exp $ */ #include "tk.h" @@ -64,16 +64,15 @@ static void SourceDialog _ANSI_ARGS_((void)); void TkMacOSXHandleMenuSelect( - long mResult, + MenuID theMenu, + MenuItemIndex theItem, int optionKeyPressed) { - short theItem = LoWord(mResult); - short theMenu = HiWord(mResult); Tk_Window tkwin; Window window; TkDisplay *dispPtr; - if (mResult == 0) { + if (theItem == 0) { TkMacOSXHandleTearoffMenu(); TkMacOSXClearMenubarActive(); return; @@ -150,45 +149,44 @@ void TkMacOSXInitMenus( Tcl_Interp *interp) { + OSStatus err; gInterp = interp; - /* - * At this point, InitMenus() should have already been called. - */ - - if (TkMacOSXUseMenuID(256) != TCL_OK) { - Tcl_Panic("Menu ID 256 is already in use!"); + if (TkMacOSXUseMenuID(kAppleMenu) != TCL_OK) { + Tcl_Panic("Menu ID %d is already in use!", kAppleMenu); } - tkAppleMenu = NewMenu(256, "\p\024"); - if (tkAppleMenu == NULL) { - Tcl_Panic("memory - menus"); + err = CreateNewMenu(kAppleMenu, kMenuAttrDoNotUseUserCommandKeys, + &tkAppleMenu); + if (err != noErr) { + Tcl_Panic("CreateNewMenu failed !"); } + SetMenuTitle(tkAppleMenu, "\p\024"); InsertMenu(tkAppleMenu, 0); AppendMenu(tkAppleMenu, "\pAbout Tcl & TkÉ"); AppendMenu(tkAppleMenu, "\p(-"); - /* Not necessary in Carbon: - AppendResMenu(tkAppleMenu, 'DRVR'); - */ if (TkMacOSXUseMenuID(kFileMenu) != TCL_OK) { Tcl_Panic("Menu ID %d is already in use!", kFileMenu); } - tkFileMenu = NewMenu(kFileMenu, "\pFile"); - if (tkFileMenu == NULL) { - Tcl_Panic("memory - menus"); + err = CreateNewMenu(kFileMenu, kMenuAttrDoNotUseUserCommandKeys, + &tkFileMenu); + if (err != noErr) { + Tcl_Panic("CreateNewMenu failed !"); } + SetMenuTitle(tkFileMenu, "\pFile"); InsertMenu(tkFileMenu, 0); AppendMenu(tkFileMenu, "\pSourceÉ"); AppendMenu(tkFileMenu, "\pClose/W"); - if (TkMacOSXUseMenuID(kEditMenu) != TCL_OK) { Tcl_Panic("Menu ID %d is already in use!", kEditMenu); } - tkEditMenu = NewMenu(kEditMenu, "\pEdit"); - if (tkEditMenu == NULL) { - Tcl_Panic("memory - menus"); + err = CreateNewMenu(kEditMenu, kMenuAttrDoNotUseUserCommandKeys, + &tkEditMenu); + if (err != noErr) { + Tcl_Panic("CreateNewMenu failed !"); } + SetMenuTitle(tkEditMenu, "\pEdit"); InsertMenu(tkEditMenu, 0); AppendMenu(tkEditMenu, "\pCut/X"); AppendMenu(tkEditMenu, "\pCopy/C"); diff --git a/macosx/tkMacOSXMouseEvent.c b/macosx/tkMacOSXMouseEvent.c index 1c63fdf..ef1f9be 100644 --- a/macosx/tkMacOSXMouseEvent.c +++ b/macosx/tkMacOSXMouseEvent.c @@ -4,7 +4,11 @@ * This file implements functions that decode & handle mouse events * on MacOS X. * - * Copyright 2001, Apple Computer, Inc. + * Copyright 2001, Apple Computer, Inc. + * Copyright (c) 2005 Daniel A. Steffen <das@users.sourceforge.net> + * + * See the file "license.terms" for information on usage and redistribution of + * this file, and for a DISCLAIMER OF ALL WARRANTIES. * * The following terms apply to all files originating from Apple * Computer, Inc. ("Apple") and associated with the software @@ -50,7 +54,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXMouseEvent.c,v 1.6.2.8 2005/09/10 14:54:17 das Exp $ + * RCS: @(#) $Id: tkMacOSXMouseEvent.c,v 1.6.2.9 2005/11/27 02:36:46 das Exp $ */ #include "tkInt.h" @@ -61,6 +65,13 @@ #include "tkPort.h" #include "tkMacOSXDebug.h" +#if !defined(MAC_OS_X_VERSION_10_3) || \ + (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3) + /* Define constants only available on Mac OS X 10.3 or later */ + #define kEventParamWindowPartCode 'wpar' + #define typeWindowPartCode 'wpar' +#endif + typedef struct { WindowRef whichWin; WindowRef activeNonFloating; @@ -76,7 +87,7 @@ typedef struct { * Declarations of static variables used in this file. */ -static int gEatButtonUp = 0; /* 1 if we need to eat the next * up event */ +static int gEatButtonUp = 0; /* 1 if we need to eat the next up event */ /* * Declarations of functions used only in this file. @@ -90,8 +101,8 @@ static int GenerateToolbarButtonEvent(MouseEventData * medPtr); static int HandleWindowTitlebarMouseDown(MouseEventData * medPtr, Tk_Window tkwin); static unsigned int ButtonModifiers2State(UInt32 buttonState, UInt32 keyModifiers); -extern int TkMacOSXGetEatButtonUp(); -extern void TkMacOSXSetEatButtonUp(int f); +static int TkMacOSXGetEatButtonUp(); +static void TkMacOSXSetEatButtonUp(int f); /* *---------------------------------------------------------------------- @@ -332,23 +343,6 @@ TkMacOSXProcessMouseEvent(TkMacOSXEvent *eventPtr, MacEventStatus * statusPtr) return GenerateButtonEvent(medPtr); } break; - case inMenuBar: { - int oldMode; - - oldMode = Tcl_SetServiceMode(TCL_SERVICE_ALL); - TkMacOSXClearMenubarActive(); - - /* - * Handle -postcommand - */ - - TkMacOSXPreprocessMenu(); - TkMacOSXHandleMenuSelect(MenuSelect(where), - medPtr->state & Mod2Mask); - Tcl_SetServiceMode(oldMode); - return true; /* TODO: may not be on event on queue. */ - break; - } default: return false; break; @@ -600,7 +594,7 @@ GenerateMouseWheelEvent(MouseEventData * medPtr) * *---------------------------------------------------------------------- */ -int +static int TkMacOSXGetEatButtonUp() { return gEatButtonUp; @@ -620,7 +614,7 @@ TkMacOSXGetEatButtonUp() * *---------------------------------------------------------------------- */ -void +static void TkMacOSXSetEatButtonUp(int f) { gEatButtonUp = f; diff --git a/macosx/tkMacOSXNotify.c b/macosx/tkMacOSXNotify.c index 78f159b..a51d666 100644 --- a/macosx/tkMacOSXNotify.c +++ b/macosx/tkMacOSXNotify.c @@ -7,11 +7,12 @@ * Copyright (c) 1995-1997 Sun Microsystems, Inc. * Copyright 2001, Apple Computer, Inc. * Copyright 2005, Tcl Core Team. + * Copyright (c) 2005 Daniel A. Steffen <das@users.sourceforge.net> * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXNotify.c,v 1.5.2.6 2005/09/10 14:54:18 das Exp $ + * RCS: @(#) $Id: tkMacOSXNotify.c,v 1.5.2.7 2005/11/27 02:36:46 das Exp $ */ #include "tclInt.h" diff --git a/macosx/tkMacOSXPort.h b/macosx/tkMacOSXPort.h index fd157dd..97e3293 100644 --- a/macosx/tkMacOSXPort.h +++ b/macosx/tkMacOSXPort.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXPort.h,v 1.3.2.2 2005/08/09 07:40:01 das Exp $ + * RCS: @(#) $Id: tkMacOSXPort.h,v 1.3.2.3 2005/11/27 02:36:46 das Exp $ */ #ifndef _TKMACPORT @@ -158,8 +158,6 @@ extern int strncasecmp _ANSI_ARGS_((CONST char *s1, #define XSynchronize(display, bool) {display->request++;} #define XVisualIDFromVisual(visual) (visual->visualid) -int XSync(Display *display, Bool discard); - /* * The following functions are not used on the Mac, so we stub them out. */ diff --git a/macosx/tkMacOSXSubwindows.c b/macosx/tkMacOSXSubwindows.c index 7e7bfc0..1093a3f 100644 --- a/macosx/tkMacOSXSubwindows.c +++ b/macosx/tkMacOSXSubwindows.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXSubwindows.c,v 1.2.2.6 2005/08/09 07:40:01 das Exp $ + * RCS: @(#) $Id: tkMacOSXSubwindows.c,v 1.2.2.7 2005/11/27 02:36:46 das Exp $ */ #include "tkInt.h" @@ -176,7 +176,7 @@ XDestroyWindow( *---------------------------------------------------------------------- */ -void +static void FixMappingFlags (TkWindow *winPtr, int on) { TkWindow *childPtr; @@ -770,6 +770,7 @@ XRaiseWindow( } } +#if 0 /* *---------------------------------------------------------------------- * @@ -800,6 +801,7 @@ XLowerWindow( /* TODO: this should generate damage */ } } +#endif /* *---------------------------------------------------------------------- diff --git a/macosx/tkMacOSXTest.c b/macosx/tkMacOSXTest.c index 87b025b..8195cd8 100644 --- a/macosx/tkMacOSXTest.c +++ b/macosx/tkMacOSXTest.c @@ -10,11 +10,10 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXTest.c,v 1.2.2.1 2005/08/09 07:40:01 das Exp $ + * RCS: @(#) $Id: tkMacOSXTest.c,v 1.2.2.2 2005/11/27 02:36:46 das Exp $ */ -#include <tcl.h> -#include <Carbon/Carbon.h> +#include "tkMacOSXInt.h" /* * Forward declarations of procedures defined later in this file: diff --git a/macosx/tkMacOSXWindowEvent.c b/macosx/tkMacOSXWindowEvent.c index c960f10..a653b02 100644 --- a/macosx/tkMacOSXWindowEvent.c +++ b/macosx/tkMacOSXWindowEvent.c @@ -4,7 +4,11 @@ * This file defines the routines for both creating and handling * Window Manager class events for Tk. * - * Copyright 2001, Apple Computer, Inc. + * Copyright 2001, Apple Computer, Inc. + * Copyright (c) 2005 Daniel A. Steffen <das@users.sourceforge.net> + * + * See the file "license.terms" for information on usage and redistribution of + * this file, and for a DISCLAIMER OF ALL WARRANTIES. * * The following terms apply to all files originating from Apple * Computer, Inc. ("Apple") and associated with the software @@ -50,7 +54,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXWindowEvent.c,v 1.3.2.4 2005/09/10 14:54:18 das Exp $ + * RCS: @(#) $Id: tkMacOSXWindowEvent.c,v 1.3.2.5 2005/11/27 02:36:46 das Exp $ */ #include "tkMacOSXInt.h" @@ -63,10 +67,10 @@ * Declarations of global variables defined in this file. */ -int tkMacOSXAppInFront = true; /* Boolean variable for determining if - * we are the frontmost app. Only set - * in TkMacOSXProcessApplicationEvent - */ +static int tkMacOSXAppInFront = true; /* Boolean variable for determining if + * we are the frontmost app. Only set + * in TkMacOSXProcessApplicationEvent + */ static RgnHandle gDamageRgn; static RgnHandle visRgn; @@ -181,7 +185,7 @@ TkMacOSXProcessWindowEvent( OSStatus status; WindowRef whichWindow; Window window; - int eventFound; + int eventFound = false; switch (eventPtr->eKind) { case kEventWindowActivated: diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c index 9c1c6db..48cc210 100644 --- a/macosx/tkMacOSXWm.c +++ b/macosx/tkMacOSXWm.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXWm.c,v 1.7.2.13 2005/09/10 14:54:18 das Exp $ + * RCS: @(#) $Id: tkMacOSXWm.c,v 1.7.2.14 2005/11/27 02:36:46 das Exp $ */ #include <Carbon/Carbon.h> @@ -3307,82 +3307,10 @@ UpdateSizeHints( TkWindow *winPtr) { WmInfo *wmPtr = winPtr->wmInfoPtr; - XSizeHints *hintsPtr; wmPtr->flags &= ~WM_UPDATE_SIZE_HINTS; - hintsPtr = XAllocSizeHints(); - if (hintsPtr == NULL) { - return; - } - - /* - * Compute the pixel-based sizes for the various fields in the - * size hints structure, based on the grid-based sizes in - * our structure. - */ - - if (wmPtr->gridWin != NULL) { - hintsPtr->base_width = winPtr->reqWidth - - (wmPtr->reqGridWidth * wmPtr->widthInc); - if (hintsPtr->base_width < 0) { - hintsPtr->base_width = 0; - } - hintsPtr->base_height = winPtr->reqHeight - - (wmPtr->reqGridHeight * wmPtr->heightInc); - if (hintsPtr->base_height < 0) { - hintsPtr->base_height = 0; - } - hintsPtr->min_width = hintsPtr->base_width - + (wmPtr->minWidth * wmPtr->widthInc); - hintsPtr->min_height = hintsPtr->base_height - + (wmPtr->minHeight * wmPtr->heightInc); - hintsPtr->max_width = hintsPtr->base_width - + (wmPtr->maxWidth * wmPtr->widthInc); - hintsPtr->max_height = hintsPtr->base_height - + (wmPtr->maxHeight * wmPtr->heightInc); - } else { - hintsPtr->min_width = wmPtr->minWidth; - hintsPtr->min_height = wmPtr->minHeight; - hintsPtr->max_width = wmPtr->maxWidth; - hintsPtr->max_height = wmPtr->maxHeight; - hintsPtr->base_width = 0; - hintsPtr->base_height = 0; - } - hintsPtr->width_inc = wmPtr->widthInc; - hintsPtr->height_inc = wmPtr->heightInc; - hintsPtr->min_aspect.x = wmPtr->minAspect.x; - hintsPtr->min_aspect.y = wmPtr->minAspect.y; - hintsPtr->max_aspect.x = wmPtr->maxAspect.x; - hintsPtr->max_aspect.y = wmPtr->maxAspect.y; - hintsPtr->win_gravity = wmPtr->gravity; - hintsPtr->flags = wmPtr->sizeHintsFlags | PMinSize | PMaxSize; - - /* - * If the window isn't supposed to be resizable, then set the - * minimum and maximum dimensions to be the same. - */ - - if (wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) { - if (wmPtr->width >= 0) { - hintsPtr->min_width = wmPtr->width; - } else { - hintsPtr->min_width = winPtr->reqWidth; - } - hintsPtr->max_width = hintsPtr->min_width; - } - if (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE) { - if (wmPtr->height >= 0) { - hintsPtr->min_height = wmPtr->height; - } else { - hintsPtr->min_height = winPtr->reqHeight; - } - hintsPtr->max_height = hintsPtr->min_height; - } - - XSetWMNormalHints(winPtr->display, winPtr->window, hintsPtr); - - XFree((char *) hintsPtr); + return; } /* diff --git a/macosx/tkMacOSXXStubs.c b/macosx/tkMacOSXXStubs.c index 7942c9e..eea58fc 100644 --- a/macosx/tkMacOSXXStubs.c +++ b/macosx/tkMacOSXXStubs.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXXStubs.c,v 1.2.2.8 2005/09/10 14:54:18 das Exp $ + * RCS: @(#) $Id: tkMacOSXXStubs.c,v 1.2.2.9 2005/11/27 02:36:46 das Exp $ */ #include "tkInt.h" @@ -61,13 +61,13 @@ static int DefaultErrorHandler _ANSI_ARGS_((Display* display, * Other declarations */ -int TkMacOSXXDestroyImage _ANSI_ARGS_((XImage *image)); -unsigned long TkMacOSXXGetPixel _ANSI_ARGS_((XImage *image, int x, int y)); -int TkMacOSXXPutPixel _ANSI_ARGS_((XImage *image, int x, int y, +static int TkMacOSXXDestroyImage _ANSI_ARGS_((XImage *image)); +static unsigned long TkMacOSXXGetPixel _ANSI_ARGS_((XImage *image, int x, int y)); +static int TkMacOSXXPutPixel _ANSI_ARGS_((XImage *image, int x, int y, unsigned long pixel)); -XImage *TkMacOSXXSubImage _ANSI_ARGS_((XImage *image, int x, int y, +static XImage *TkMacOSXXSubImage _ANSI_ARGS_((XImage *image, int x, int y, unsigned int width, unsigned int height)); -int TkMacOSXXAddPixel _ANSI_ARGS_((XImage *image, long value)); +static int TkMacOSXXAddPixel _ANSI_ARGS_((XImage *image, long value)); int _XInitImageFuncPtrs _ANSI_ARGS_((XImage *image)); @@ -475,6 +475,7 @@ XBell( SysBeep(percent); } +#if 0 void XSetWMNormalHints( Display* display, @@ -496,6 +497,7 @@ XAllocSizeHints() return NULL; } +#endif XImage * XCreateImage( @@ -754,7 +756,7 @@ TkGetServerInfo( * Image stuff */ -int +static int TkMacOSXXDestroyImage( XImage *image) { @@ -763,7 +765,7 @@ TkMacOSXXDestroyImage( return 0; } -unsigned long +static unsigned long TkMacOSXXGetPixel( XImage *image, int x, @@ -791,7 +793,7 @@ TkMacOSXXGetPixel( return c; } -int +static int TkMacOSXXPutPixel( XImage *image, int x, @@ -822,7 +824,7 @@ TkMacOSXXPutPixel( return 0; } -XImage * +static XImage * TkMacOSXXSubImage( XImage *image, int x, @@ -834,7 +836,7 @@ TkMacOSXXSubImage( return NULL; } -int +static int TkMacOSXXAddPixel( XImage *image, long value) |