summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-10-13 18:15:56 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-10-13 18:15:56 (GMT)
commitc6300a7265e457702bf13456bfdccd02aa4a1a54 (patch)
tree633af8c60b7edde7f150480213f2abdc2f49a66f
parent3f2bd047306169e148056331830dfb214349fb71 (diff)
parenta37288e3386c67b1c08f3fee24fcdfb265b90930 (diff)
downloadtk-c6300a7265e457702bf13456bfdccd02aa4a1a54.zip
tk-c6300a7265e457702bf13456bfdccd02aa4a1a54.tar.gz
tk-c6300a7265e457702bf13456bfdccd02aa4a1a54.tar.bz2
merge trunk
-rw-r--r--ChangeLog55
-rw-r--r--README2
-rw-r--r--carbon/GNUmakefile314
-rw-r--r--carbon/README339
-rw-r--r--carbon/Tk-Info.plist.in36
-rw-r--r--carbon/Wish-Common.xcconfig48
-rw-r--r--carbon/Wish-Debug.xcconfig19
-rw-r--r--carbon/Wish-Info.plist.in73
-rw-r--r--carbon/Wish-Release.xcconfig19
-rw-r--r--carbon/Wish.icnsbin35960 -> 0 bytes
-rw-r--r--carbon/Wish.xcode/default.pbxuser337
-rw-r--r--carbon/Wish.xcode/project.pbxproj5514
-rw-r--r--carbon/Wish.xcodeproj/default.pbxuser339
-rw-r--r--carbon/Wish.xcodeproj/project.pbxproj5886
-rw-r--r--carbon/configure.ac11
-rw-r--r--carbon/tkAboutDlg.r382
-rw-r--r--carbon/tkMacOSX.h36
-rw-r--r--carbon/tkMacOSXAETE.r51
-rw-r--r--carbon/tkMacOSXBitmap.c268
-rw-r--r--carbon/tkMacOSXButton.c1621
-rw-r--r--carbon/tkMacOSXCarbonEvents.c693
-rw-r--r--carbon/tkMacOSXClipboard.c380
-rw-r--r--carbon/tkMacOSXColor.c738
-rw-r--r--carbon/tkMacOSXConfig.c43
-rw-r--r--carbon/tkMacOSXCursor.c489
-rw-r--r--carbon/tkMacOSXCursors.r128
-rw-r--r--carbon/tkMacOSXDebug.c643
-rw-r--r--carbon/tkMacOSXDebug.h96
-rw-r--r--carbon/tkMacOSXDefault.h555
-rw-r--r--carbon/tkMacOSXDialog.c2325
-rw-r--r--carbon/tkMacOSXDraw.c2117
-rw-r--r--carbon/tkMacOSXEmbed.c1184
-rw-r--r--carbon/tkMacOSXEntry.c324
-rw-r--r--carbon/tkMacOSXEvent.c294
-rw-r--r--carbon/tkMacOSXEvent.h107
-rw-r--r--carbon/tkMacOSXFont.c2678
-rw-r--r--carbon/tkMacOSXFont.h38
-rw-r--r--carbon/tkMacOSXHLEvents.c691
-rw-r--r--carbon/tkMacOSXInit.c599
-rw-r--r--carbon/tkMacOSXInt.h186
-rw-r--r--carbon/tkMacOSXKeyEvent.c1168
-rw-r--r--carbon/tkMacOSXKeyboard.c841
-rw-r--r--carbon/tkMacOSXMenu.c4750
-rw-r--r--carbon/tkMacOSXMenubutton.c950
-rw-r--r--carbon/tkMacOSXMenus.c406
-rw-r--r--carbon/tkMacOSXMouseEvent.c1190
-rw-r--r--carbon/tkMacOSXNotify.c196
-rw-r--r--carbon/tkMacOSXPort.h187
-rw-r--r--carbon/tkMacOSXPrivate.h352
-rw-r--r--carbon/tkMacOSXRegion.c644
-rw-r--r--carbon/tkMacOSXScale.c482
-rw-r--r--carbon/tkMacOSXScrlbr.c1017
-rw-r--r--carbon/tkMacOSXSend.c506
-rw-r--r--carbon/tkMacOSXSubwindows.c1476
-rw-r--r--carbon/tkMacOSXTest.c80
-rw-r--r--carbon/tkMacOSXWindowEvent.c984
-rw-r--r--carbon/tkMacOSXWm.c6559
-rw-r--r--carbon/tkMacOSXWm.h304
-rw-r--r--carbon/tkMacOSXXCursors.r958
-rw-r--r--carbon/tkMacOSXXStubs.c1285
-rw-r--r--carbon/ttkMacOSXTheme.c1132
-rw-r--r--changes8
-rw-r--r--generic/tk.h4
-rw-r--r--generic/tkCanvPs.c13
-rw-r--r--generic/tkClipboard.c3
-rw-r--r--generic/ttk/ttkEntry.c7
-rw-r--r--generic/ttk/ttkLabel.c12
-rw-r--r--library/console.tcl6
-rw-r--r--library/tk.tcl2
-rw-r--r--macosx/tkMacOSXFont.c3
-rw-r--r--macosx/tkMacOSXMenu.c6
-rw-r--r--macosx/tkMacOSXNotify.c2
-rw-r--r--macosx/tkMacOSXSubwindows.c2
-rw-r--r--macosx/tkMacOSXWm.c18
-rw-r--r--tests/winWm.test23
-rwxr-xr-xunix/configure33
-rw-r--r--unix/configure.in11
-rw-r--r--unix/tcl.m44
-rw-r--r--unix/tk.spec2
-rw-r--r--unix/tkConfig.h.in31
-rw-r--r--unix/tkUnixSend.c3
-rw-r--r--win/Makefile.in22
-rwxr-xr-xwin/configure2
-rw-r--r--win/configure.in2
-rw-r--r--win/tkWinWm.c4
-rw-r--r--xlib/xgc.c2
86 files changed, 209 insertions, 55141 deletions
diff --git a/ChangeLog b/ChangeLog
index 4590f7c..455931b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,58 @@
+2012-09-19 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/Makefile.in: Compile win32 binaries with -DTCL_NO_DEPRECATED
+ * win/tkiWinWm.c: Fix gcc compiler warning.
+
+2012-09-17 Don Porter <dgp@users.sourceforge.net>
+
+ *** 8.6b2 TAGGED FOR RELEASE ***
+
+ * macosx/tkMacOSXWm.c: [Bug 3567786] Stop segfault in [wm forget].
+
+2012-09-15 Don Porter <dgp@users.sourceforge.net>
+
+ * macosx/tkMacOSXFont.c: [Bug 3567778] Make Tk_MeasureChars() honor
+ the TK_AT_LEAST_ONE flag properly.
+
+2012-09-13 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/ttk/ttkEntry.c (EntryDisplay): [Bug 3567453]: Clip regions
+ * generic/ttk/ttkLabel.c (TextDraw): must be cleared with XSetClipMask
+ * xlib/xgc.c (TkSetRegion): and not TkSetRegion, or crashes will ensue
+ on X11-based builds, which can't handle None for a region argument.
+ Added a clean panic to the non-X11 TkSetRegion to catch this case and
+ stop such confusion from happening again.
+
+2012-09-13 Donal K. Fellows <dkf@users.sf.net>
+
+ * win/tkWinWm.c (WmTransientCmd): [Bug 3567283]: Added missing cast.
+
+2012-09-11 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/ttk/ttkEntry.c (EntryDisplay): [Bug 3566594]: Must manually
+ * generic/ttk/ttkLabel.c (TextDraw): reset the clip region of GCs
+ when not using the Xft font renderer (well, especially on classic X11)
+ because the GC sharing code doesn't take into account clip handling.
+ Thanks to Christian Nassau for identifying the problem.
+
+2012-09-07 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tkCanvPs.c (TkCanvPostscriptCmd): [Bug 3565533]: Purge use
+ of variable that was only ever checked once immediately afterwards,
+ except for one (buggy) case where it was checked without assignment.
+
+2012-09-07 Don Porter <dgp@users.sourceforge.net>
+
+ * README: Bump version number to 8.6b3
+ * generic/tk.h:
+ * library/tk.tcl:
+ * unix/configure.in:
+ * unix/tk.spec:
+ * win/configure.in:
+
+ * unix/configure: autoconf-2.59
+ * win/configure:
+
2012-08-30 Andreas Kupries <andreask@activestate.com>
* generic/tkCanvWind.c (CanvasPsWindow): Unbreak AIX, replaced use
diff --git a/README b/README
index ff13f01..304970d 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
README: Tk
- This is the Tk 8.6b2 source distribution.
+ This is the Tk 8.6b3 source distribution.
http://tcl.sourceforge.net/
You can get any source release of Tcl from the file distributions
link at the above URL.
diff --git a/carbon/GNUmakefile b/carbon/GNUmakefile
deleted file mode 100644
index 6a4e9b8..0000000
--- a/carbon/GNUmakefile
+++ /dev/null
@@ -1,314 +0,0 @@
-########################################################################################################
-#
-# Makefile wrapper to build tk on Mac OS X in a way compatible with the tk/carbon Xcode buildsystem
-# uses the standard unix build system in tk/unix (which can be used directly instead of this
-# if you are not using the tk/carbon projects).
-#
-# Copyright (c) 2002-2008 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.
-########################################################################################################
-
-#-------------------------------------------------------------------------------------------------------
-# customizable settings
-
-DESTDIR ?=
-INSTALL_ROOT ?= ${DESTDIR}
-
-BUILD_DIR ?= ${CURDIR}/../../build
-SYMROOT ?= ${BUILD_DIR}/${PROJECT}
-OBJROOT ?= ${SYMROOT}
-
-EXTRA_CONFIGURE_ARGS ?=
-EXTRA_MAKE_ARGS ?=
-
-INSTALL_PATH ?= /Library/Frameworks
-APPLICATION_INSTALL_PATH ?= /Applications/Utilities
-PREFIX ?= /usr/local
-BINDIR ?= ${PREFIX}/bin
-LIBDIR ?= ${INSTALL_PATH}
-MANDIR ?= ${PREFIX}/man
-
-# tcl build directory (containing tclConfig.sh and Makefile)
-TCL_BUILD_DIR ?= ${BUILD_DIR}/tcl/${BUILD_STYLE}
-# location of installed tcl, only used if tcl in TCL_BUILD_DIR can't be found
-TCL_FRAMEWORK_DIR ?= /Library/Frameworks
-TCLSH_DIR ?= ${PREFIX}
-
-# set to non-empty value to install manpages in addition to html help:
-INSTALL_MANPAGES ?=
-
-# set to non-empty value to build TkX11 instead of TkAqua:
-TK_X11 ?=
-
-#-------------------------------------------------------------------------------------------------------
-# meta targets
-
-meta := all install embedded install-embedded clean distclean test
-
-styles := develop deploy
-
-all := ${styles}
-all : ${all}
-
-install := ${styles:%=install-%}
-install : ${install}
-install-%: action := install-
-
-embedded := ${styles:%=embedded-%}
-embedded : embedded-deploy
-install-embedded := ${embedded:%=install-%}
-install-embedded : install-embedded-deploy
-
-clean := ${styles:%=clean-%}
-clean : ${clean}
-clean-%: action := clean-
-distclean := ${styles:%=distclean-%}
-distclean : ${distclean}
-distclean-%: action := distclean-
-
-test := ${styles:%=test-%}
-test : ${test}
-test-%: action := test-
-
-targets := $(foreach v,${meta},${$v})
-
-#-------------------------------------------------------------------------------------------------------
-# build styles
-
-BUILD_STYLE =
-CONFIGURE_ARGS =
-OBJ_DIR = ${OBJROOT}/${BUILD_STYLE}
-
-empty :=
-space := ${empty} ${empty}
-objdir = $(subst ${space},\ ,${OBJ_DIR})
-
-develop_make_args := BUILD_STYLE=Development CONFIGURE_ARGS=--enable-symbols
-deploy_make_args := BUILD_STYLE=Deployment INSTALL_TARGET=install-strip
-embedded_make_args := EMBEDDED_BUILD=1
-install_make_args := INSTALL_BUILD=1
-
-${targets}:
- ${MAKE} ${action}${PROJECT} \
- $(foreach s,${styles} embedded install,$(if $(findstring $s,$@),${${s}_make_args}))
-
-#-------------------------------------------------------------------------------------------------------
-# project specific settings
-
-PROJECT := tk
-PRODUCT_NAME := Tk
-
-UNIX_DIR := ${CURDIR}/../unix
-VERSION := $(shell awk -F= '/^TK_VERSION/ {print $$2; nextfile}' ${UNIX_DIR}/configure.in)
-TCL_VERSION := ${VERSION}
-wish := wish
-WISH = wish${VERSION}
-
-BUILD_TARGET := all tktest
-INSTALL_TARGET := install
-
-ifneq ($(wildcard $(subst ${space},\ ,${TCL_BUILD_DIR})/tclConfig.sh),)
-TCL_DIR := ${TCL_BUILD_DIR}
-TCL_FRAMEWORK_DIR := ${TCL_BUILD_DIR}/..
-MAKE_VARS :=
-else
-TCL_DIR := ${TCL_FRAMEWORK_DIR}/Tcl.framework
-TCL_EXE := ${TCLSH_DIR}/tclsh${TCL_VERSION}
-MAKE_VARS := TCL_EXE
-export DYLD_FRAMEWORK_PATH := ${TCL_FRAMEWORK_DIR}
-endif
-
-export CPPROG := cp -p
-
-ifeq (${TK_X11},)
-override CONFIGURE_ARGS := ${CONFIGURE_ARGS} --enable-aqua=carbon
-else
-override CONFIGURE_ARGS := ${CONFIGURE_ARGS} --enable-xft
-VERSION := ${VERSION}-X11
-wish := ${wish}-X11
-override EMBEDDED_BUILD :=
-endif
-
-INSTALL_TARGETS = install-binaries install-libraries
-ifeq (${EMBEDDED_BUILD},)
-INSTALL_TARGETS += install-private-headers install-demos
-endif
-ifeq (${INSTALL_BUILD}_${EMBEDDED_BUILD}_${BUILD_STYLE},1__Deployment)
-INSTALL_TARGETS += html-tk
-ifneq (${INSTALL_MANPAGES},)
-INSTALL_TARGETS += install-doc
-endif
-endif
-
-MAKE_VARS += INSTALL_ROOT INSTALL_TARGETS VERSION
-MAKE_ARGS_V = $(foreach v,${MAKE_VARS},$v='${$v}')
-
-build-${PROJECT}: target = ${BUILD_TARGET}
-install-${PROJECT}: target = ${INSTALL_TARGET}
-clean-${PROJECT} distclean-${PROJECT} test-${PROJECT}: \
- target = $*
-
-DO_MAKE = +${MAKE} -C "${OBJ_DIR}" ${target} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS}
-
-#-------------------------------------------------------------------------------------------------------
-# locations for custom tk install actions
-
-ifeq (${INSTALL_BUILD},1)
-TOP_DIR := ${INSTALL_ROOT}/
-APP_DIR := ${APPLICATION_INSTALL_PATH}
-FMWK_DIR := ${LIBDIR}
-else
-TOP_DIR := ${SYMROOT}
-APP_DIR := .
-FMWK_DIR := .
-endif
-
-TCL_FMWK_DIR := ${FMWK_DIR}/Tcl.framework/Versions/${TCL_VERSION}
-TK_FMWK_DIR := ${FMWK_DIR}/${PRODUCT_NAME}.framework/Versions/${VERSION}
-
-#-------------------------------------------------------------------------------------------------------
-# build rules
-
-${PROJECT}:
- ${MAKE} install-${PROJECT} INSTALL_ROOT="${OBJ_DIR}/"
-
-${objdir}/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 -C \
- --prefix="${PREFIX}" --bindir="${BINDIR}" --libdir="${LIBDIR}" \
- --mandir="${MANDIR}" --enable-threads --enable-framework \
- --with-tcl="${TCL_DIR}" \
- ${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}; else ./config.status; fi
-ifneq (${VERSION},${TCL_VERSION})
- @cd "${OBJ_DIR}" && sed -e 's#/Versions/${TCL_VERSION}#/Versions/${VERSION}#' \
- tkConfig.sh > tkConfig.sh.1 && mv -f tkConfig.sh.1 tkConfig.sh
-endif
-
-build-${PROJECT}: ${objdir}/Makefile
- ${DO_MAKE}
-ifeq (${INSTALL_BUILD},)
-# symolic link hackery to trick
-# 'make install INSTALL_ROOT=${OBJ_DIR}'
-# into building Tk.framework and wish in ${SYMROOT}
- @cd "${OBJ_DIR}" && mkdir -p $(dir $(subst ${space},\ ,./${LIBDIR})) $(dir $(subst ${space},\ ,./${BINDIR})) "${SYMROOT}" && \
- rm -rf "./${LIBDIR}" "./${BINDIR}" && ln -fs "${SYMROOT}" "./${LIBDIR}" && \
- ln -fs "${SYMROOT}" "./${BINDIR}" && ln -fs "${OBJ_DIR}/tktest" "${SYMROOT}"
-ifeq (${TK_X11},)
- @rm -f "${OBJ_DIR}/${BINDIR}" && \
- ln -fs Wish.app/Contents/MacOS/Wish "${SYMROOT}/${WISH}"
-endif
-# Create symbolic link to Tcl.framework in ${SYMROOT}if necessary
- @cd "${SYMROOT}" && if [ ! -e Tcl.framework -o -L Tcl.framework ]; then \
- rm -f Tcl.framework && ln -s "${TCL_FRAMEWORK_DIR}/Tcl.framework" . ; fi
-endif
-
-install-${PROJECT}: build-${PROJECT}
-ifeq (${EMBEDDED_BUILD}_${INSTALL_ROOT},1_)
- @echo "Cannot install-embedded with empty INSTALL_ROOT !" && false
-endif
-ifeq (${EMBEDDED_BUILD},1)
- @rm -rf "${INSTALL_ROOT}/${LIBDIR}/Tk.framework"
-endif
- ${DO_MAKE}
-ifeq (${EMBEDDED_BUILD}_${TK_X11},1_)
-# workaround bug with 'cp -pRH' on Darwin 6 and earlier
- @if [ "`uname -r | awk -F. '{print $$1}'`" -lt 7 ]; then \
- mkdir -p "${TOP_DIR}"/{"${TCL_FMWK_DIR}","${TK_FMWK_DIR}"}/PrivateHeaders; fi
-endif
-ifeq (${INSTALL_BUILD},1)
-ifeq (${EMBEDDED_BUILD},1)
-# if we are embedding frameworks, don't install wish
- @rm -f "${INSTALL_ROOT}${BINDIR}/${WISH}" && \
- rmdir -p "${INSTALL_ROOT}${BINDIR}" 2>&- || true
-else
-# redo prebinding (when not building for Mac OS X 10.4 or later only)
- @if [ "`echo "$${MACOSX_DEPLOYMENT_TARGET}" | \
- awk -F '10\\.' '{print int($$2)}'`" -lt 4 -a "`echo "$${CFLAGS}" | \
- awk -F '-mmacosx-version-min=10\\.' '{print int($$2)}'`" -lt 4 ]; \
- then cd ${INSTALL_ROOT}/; \
- if [ ! -d usr/lib ]; then mkdir -p usr && ln -fs /usr/lib usr/ && RM_USRLIB=1; fi; \
- if [ -n "${TK_X11}" -a ! -d usr/X11R6 ]; then mkdir -p usr && ln -fs /usr/X11R6 usr/ && RM_USRX11=1; fi; \
- if [ ! -d System ]; then ln -fs /System . && RM_SYSTEM=1; fi; \
- if [ ! -d "./${LIBDIR}/Tcl.framework" ]; then ln -fs "${TCL_FRAMEWORK_DIR}/Tcl.framework" "./${LIBDIR}"; RM_TCL=1; fi; \
- redo_prebinding -r . "./${TK_FMWK_DIR}/${PRODUCT_NAME}"; \
- if [ -z "${TK_X11}" ]; then redo_prebinding -r . "./${TK_FMWK_DIR}/Resources/Wish.app/Contents/MacOS/Wish"; \
- else redo_prebinding -r . "./${BINDIR}/${WISH}"; fi; \
- if [ -n "$${RM_USRLIB:-}" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi; \
- if [ -n "$${RM_USRX11:-}" ]; then rm -f usr/X11R6; rmdir -p usr 2>&-; fi; \
- if [ -n "$${RM_SYSTEM:-}" ]; then rm -f System; fi; \
- if [ -n "$${RM_TCL:-}" ]; then rm -f "./${LIBDIR}/Tcl.framework"; fi; fi
-# install wish symbolic link
- @ln -fs ${WISH} "${INSTALL_ROOT}${BINDIR}/${wish}"
-endif
-endif
-ifeq (${BUILD_STYLE}_${EMBEDDED_BUILD},Development_)
-# keep copy of debug library around, so that
-# Deployment build can be installed on top
-# of Development build without overwriting
-# the debug library
- @cd "${INSTALL_ROOT}${LIBDIR}/${PRODUCT_NAME}.framework/Versions/${VERSION}" && \
- ln -f "${PRODUCT_NAME}" "${PRODUCT_NAME}_debug"
-endif
-ifeq (${TK_X11},)
-ifeq (${EMBEDDED_BUILD},)
-# install Wish.app link in APPLICATION_INSTALL_PATH and setup 'Wish Shell' compatibility links
- @cd "${TOP_DIR}" && if [ -n "${APP_DIR}" ]; then mkdir -p "./${APP_DIR}" && rm -rf "./${APP_DIR}/Wish.app" && \
- ln -fsh "./$$(echo "${APP_DIR}" | sed -e 's#/[^/][^/]*#/..#g')/${FMWK_DIR}/${PRODUCT_NAME}.framework/Resources/Wish.app" "./${APP_DIR}" && \
- ln -fsh Wish.app "./${APP_DIR}/Wish Shell.app"; fi && \
- ln -fsh Wish.app "./${TK_FMWK_DIR}/Resources/Wish Shell.app" && \
- ln -fsh Wish "./${TK_FMWK_DIR}/Resources/Wish.app/Contents/MacOS/Wish Shell"
-else
-# if we are embedding frameworks, move them into the app and fix their install names
- @cd "${TOP_DIR}" && \
- rm -rf "./${APP_DIR}/Wish.app" && mkdir -p "./${APP_DIR}" && \
- mv -f "./${TK_FMWK_DIR}/Resources/Wish.app" "./${APP_DIR}" && \
- ln -fsh Wish.app "./${APP_DIR}/Wish Shell.app" && \
- rm -rf "./${APP_DIR}/Wish.app/Contents/Frameworks" && \
- mkdir -p "./${APP_DIR}/Wish.app/Contents/Frameworks" && \
- ${CPPROG} -RH "./${FMWK_DIR}"/T{cl,k}.framework "./${APP_DIR}/Wish.app/Contents/Frameworks" && \
- cd "./${APP_DIR}/Wish.app/Contents" && \
- rm -rf Frameworks/Tcl.framework/{,/Versions/${TCL_VERSION}}/{Headers,PrivateHeaders,*_debug,lib*.a,*Config.sh} && \
- rm -rf Frameworks/Tk.framework/{,/Versions/${VERSION}}/{Headers,PrivateHeaders,*_debug,lib*.a,*Config.sh} && \
- fix_install_id ( ) { \
- chmod -RH a+w "$$1"; \
- install_name_tool -id $$(otool -L "$$1" | awk "/$$2\.framework.*[^:]\$$/ {sub(\"^.*/Frameworks\",\"@executable_path/../Frameworks\",\$$1); print \$$1}") "$$1"; \
- chmod -RH a-w "$$1"; \
- } && \
- fix_install_name ( ) { \
- chmod -RH a+w "$$1"; \
- install_name_tool -change $$(otool -L "$$1" | awk "/$$2\.framework.*[^:]\$$/ {print \$$1; sub(\"^.*/Frameworks\",\"@executable_path/../Frameworks\",\$$1); print \$$1}") "$$1"; \
- chmod -RH a-w "$$1"; \
- } && \
- fix_install_id Frameworks/Tcl.framework/Tcl Tcl && fix_install_id Frameworks/Tk.framework/Tk Tk && \
- fix_install_name MacOS/Wish Tcl && fix_install_name MacOS/Wish Tk
-ifeq (${INSTALL_BUILD},1)
- @cd "${TOP_DIR}" && rm -rf "./${FMWK_DIR}"/T{cl,k}.framework && rmdir -p "./${FMWK_DIR}" 2>&- || true
-endif
-endif
-endif
-
-clean-${PROJECT}: %-${PROJECT}:
- ${DO_MAKE}
- rm -rf "${SYMROOT}"/{${PRODUCT_NAME}.framework,${WISH},tktest}
- rm -f "${OBJ_DIR}"{"${LIBDIR}","${BINDIR}"} && \
- rmdir -p "${OBJ_DIR}"$(dir $(subst ${space},\ ,${LIBDIR})) 2>&- || true && \
- rmdir -p "${OBJ_DIR}"$(dir $(subst ${space},\ ,${BINDIR})) 2>&- || true
-
-distclean-${PROJECT}: %-${PROJECT}: clean-${PROJECT}
- ${DO_MAKE}
- rm -rf "${OBJ_DIR}"
-
-test-${PROJECT}: %-${PROJECT}: build-${PROJECT}
- ${DO_MAKE}
-
-#-------------------------------------------------------------------------------------------------------
-
-.PHONY: ${meta} ${targets} ${PROJECT} build-${PROJECT} install-${PROJECT} \
- clean-${PROJECT} distclean-${PROJECT}
-
-.NOTPARALLEL:
-
-#-------------------------------------------------------------------------------------------------------
diff --git a/carbon/README b/carbon/README
deleted file mode 100644
index 85452c4..0000000
--- a/carbon/README
+++ /dev/null
@@ -1,339 +0,0 @@
-Tcl/TkAqua Carbon Mac OS X README
----------------------------------
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! This is the README for tk/carbon, the legacy version of TkAqua based on the !
-! Carbon API. This version of TkAqua is deprecated and no longer actively !
-! supported, it will be removed in a future release of Tk. It is only useful !
-! for users requiring support of Mac OS X releases older than 10.5. !
-! The supported version of TkAqua is located in tk/macosx and is based on the !
-! Cocoa API. It requires Mac OS X 10.5 or later. !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-1. Where to go for support
---------------------------
-
-- 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:
- http://groups.google.com/group/comp.lang.tcl/
-
-- 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!
-
-- 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 Tcl/Tk on Mac OS X
----------------------------
-
-- 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].
-
-- 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).
-
-- Unless weak-linking is used, Tcl/Tk built on Mac OS X 10.x will not run on
-10.y with y < x; on the other hand Tcl/Tk built on 10.y will always run on 10.x
-with y <= x (but without any of the fixes and optimizations that would be
-available in a binary built on 10.x).
-Weak-linking is available on OS X 10.2 or later, it additionally allows Tcl/Tk
-built on 10.x to run on any 10.y with x > y >= z (for a chosen z >= 2).
-
-- 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
-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
-clicking Wish in the Finder (or using 'open Wish.app' from the Terminal).
-
-- 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.
-
-- [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 'deploy' target of carbon/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 nroff manpages are installed by default by the GNUmakefiles.
-
-- 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
-
-- /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 (i.e. via
-LaunchServices) than when it (or tclsh) is invoked from the Terminal, in
-particular PATH may not be what you expect. (Wish started by LaunchServices
-inherits loginwindow's environment variables, which are essentially those set in
-$HOME/.MacOSX/environment.plist, and are unrelated to those set in your shell).
-
-- 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. The old QD code is retained for now, just in case there are any
-compatibility problems. To switch back to the QD drawing, put
- set tk::mac::useCGDrawing 0
-in your script before you do drawing.
-All CG drawing is antialiased by default, but (outline) linewidth can be used to
-control whether a line/shape is drawn antialiased. The antialiasing threshold is
-0 by default (i.e. antialias everything), it can be changed by setting
- set tk::mac::CGAntialiasLimit <limit>
-in your script before drawing, in which case lines (or shapes with outlines)
-thinner than <limit> pixels will not be antialiased.
-
-- ATSUI text antialiasing by default uses the standard OS antialising settings.
-Setting the global variable '::tk::mac::antialiasedtext' allows to control text
-antialiasing from Tcl: a value of 1 enables AA, 0 disables AA and -1 restores
-the default behaviour of respecting the OS settings.
-
-- Scrollbars: There are two scrollbar variants in Aqua, normal & small. The
-normal scrollbar has a small dimension of 15, the small variant 11. 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
-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:
- proc spinCursor {widget count} {
- $widget configure -cursor spinning$count
- after 100 spinCursor [incr count]
- }
-This was added in Tk 8.4.2
-
-- If you want to use Remote Debugging with Xcode 1.5 or 2.2, you need to set the
-environment variable XCNOSTDIN to 1 in the Executable editor for Wish. That will
-cause us to force closing stdin & stdout. Otherwise, given how Xcode launches
-Wish remotely, they will be left open and then Wish & gdb will fight for stdin.
-
-
-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/carbon (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 specific configure flags are --enable-aqua, --enable-framework and
---disable-corefoundation (which disables CF and notably reverts to the standard
-select based notifier). 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 projects in tk/carbon,
-take care to only use the project matching your DevTools and OS version:
- * Wish.xcode for Xcode 2.4 on 10.4 and Xcode 2.5 on 10.4 and later, this has
- a 'Tk' target that simply calls through to the tcl/macosx/GNUMakefile.
- It requires a build of the 'Tcl' target of tcl/macosx/Tcl.xcode.
- Additionally this has native 'tktest' and 'tktest-X11' targets for
- debugging, these targets' 'Debug' build configuration has ZeroLink and
- Fix&Continue enabled, use the 'DebugNoFixZL' build configuration if you
- need a debug build without these features. The following build
- configurations are available:
- 'DebugUnthreaded': debug build with threading turned off.
- 'DebugNoCF': debug build with corefoundation turned off
- (for 'tktest-X11' only).
- 'DebugNoCFUnthreaded': debug build with corefoundation turned off
- (for 'tktest-X11' only) and with threading turned off.
- 'DebugMemCompile': debug build with memory and bytecode debugging on.
- 'DebugLeaks': debug build with PURIFY defined.
- 'DebugGCov': debug build with generation of gcov data files enabled.
- 'ReleaseUniversal': builds the targets as universal binaries for the
- ppc and i386 architectures.
- 'ReleaseUniversal10.4uSDK': same as 'ReleaseUniversal' but builds
- against the 10.4u SDK, required to build universal binaries on
- PowerPC Tiger (where the system libraries are not universal).
- 'ReleasePPC10.3.9SDK': builds for PowerPC against the 10.3.9 SDK, useful
- for verifying on Tiger that building on Panther would succeed.
- 'ReleasePPC10.2.8SDK': builds for PowerPC with gcc-3.3 against the
- 10.2.8 SDK, useful to verify on Tiger that building on Jaguar
- would succeed.
- * Wish.xcodeproj for Xcode 3.1 on 10.5 and later, which has the following
- additional build configurations:
- 'ReleaseUniversal10.5SDK': same as 'ReleaseUniversal' but builds
- against the 10.5 SDK on Leopard (with 10.5 deployment target).
- 'Debug gcc42': same as 'Debug' but builds with gcc 4.2.
- 'Debug llvmgcc42': same as 'Debug' but builds with llvm-gcc 4.2.
- 'ReleaseUniversal gcc42': same as 'ReleaseUniversal' but builds with
- gcc 4.2.
- 'ReleaseUniversal llvmgcc42': same as 'ReleaseUniversal' but builds
- with llvm-gcc 4.2.
- 'Debug64bit': builds the 'tktest-X11' target as 64bit with debugging
- enabled (requires a 64bit capable processor).
- Note that all non-SDK configurations have 10.5 deployment target and
- that all Universal configurations build the 'tktest-X11' target
- also for the ppc64 and x86_64 architectures.
-
-Notes about the native targets of the Xcode projects:
- * the Xcode projects refer to the toplevel tcl and tk source dirs through
- the TCL_SRCROOT and TK_SRCROOT user build settings, by default these are
- set to the project-relative paths '../../tcl' and '../../tk', if your
- source directories are named differently, e.g. '../../tcl8.5', you'll
- need to manually change the TCL_SRCROOT and TK_SRCROOT settings by
- editing your ${USER}.pbxuser file (located inside the Wish.xcodeproj
- bundle directory) with a text editor.
- * the native targets need a version of the unix configure scripts with config
- headers enabled, this is automatically generated as tcl/macosx/configure
- and tk/carbon/configure by the project but that requires 2.59 versions
- of autoconf & autoheader. These are not available on Mac OS X 10.5 by
- default and need to be installed manually. By default they are assumed
- to be installed as /usr/local/bin/autoconf-2.59 and
- /usr/local/bin/autoheader-2.59, set the AUTOCONF and AUTOHEADER build
- settings in ${USER}.pbxuser to their true locations if necessary.
-
-- To build universal binaries outside of Wish.xcodeproj, 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 (the -isysroot flag is only required on PowerPC Tiger).
-Note that configure requires CFLAGS to contain a least one architecture that can
-be run on the build machine (i.e. ppc on PowerPC, ppc or i386 on Intel).
-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 64-bit architectures, neither TkAqua nor
-TkX11 can be built for 64-bit 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 x86_64' Tcl binary works just fine.
-The Tk configure script automatically removes the 64-bit -arch flags from CFLAGS
-to facilitate universal building of both Tcl and Tk with the same CFLAGS; the
-same happens with configure in Tk extensions based on TEA 3.5 or later.
-
-- To enable weak-linking, set the MACOSX_DEPLOYMENT_TARGET environment variable
-to the minimal OS version (>= 10.2) the binaries should be able to run on, e.g:
- export MACOSX_DEPLOYMENT_TARGET=10.2
-This requires Mac OS X 10.2 and gcc 3.1; if you have gcc 4 or later you can set
-CFLAGS instead:
- export CFLAGS="-mmacosx-version-min=10.2"
-The Wish.xcode project is setup to produce binaries that can run on 10.2 or
-later (except for the Universal and SDK configurations).
-Support for weak-linking was added to the code for 8.4.14/8.5a5.
-
-Detailed Instructions for building with carbon/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 ]
-[ ln -fs /path_to_tcl/build /path_to_tk/build ]
-[ (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
-"tcl${ver}" and "tk${ver}", respectively, where ${ver} is a shell variable
-containing the Tcl and Tk version number (for example '8.4.12').
-Setup the shell variable as follows:
- 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
-
-- 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:
- make -C tcl${ver}/macosx
- make -C tk${ver}/carbon
-and the following will then install Tcl and Tk onto the root volume (admin
-password required):
- sudo make -C tcl${ver}/macosx install
- sudo make -C tk${ver}/carbon install
-if you don't have the admin password, you can install into your home directory,
-instead by passing an INSTALL_ROOT argument to make:
- make -C tcl${ver}/macosx install INSTALL_ROOT="${HOME}/"
- make -C tk${ver}/carbon install INSTALL_ROOT="${HOME}/"
-
-- The default GNUmakefile targets will build _both_ debug and optimized versions
-of the Tcl and Tk frameworks with the standard convention of naming the debug
-library Tcl.framework/Tcl_debug resp. Tk.framework/Tk_debug.
-This allows switching to the debug libraries at runtime by setting
- export DYLD_IMAGE_SUFFIX=_debug
-(c.f. man dyld for more details)
-
-If you only want to build and install the debug or optimized build, use the
-'develop' or 'deploy' target variants of the GNUmakefiles, respectively.
-For example, to build and install only the optimized versions:
- make -C tcl${ver}/macosx deploy
- make -C tk${ver}/carbon deploy
- sudo make -C tcl${ver}/macosx install-deploy
- sudo make -C tk${ver}/carbon install-deploy
-
-- The GNUmakefiles can also build a version of 'Wish' that has the Tcl and Tk
-frameworks embedded in its application package. This allows for standalone
-deployment of the application with no installation required, e.g. from read-only
-media. To build & install in this manner, use the 'embedded' target variants of
-the GNUmakefiles. For example, to build a standalone 'Wish.app'
-in ./embedded/Applications/Utilities:
- make -C tcl${ver}/macosx embedded
- make -C tk${ver}/carbon embedded
- sudo make -C tcl${ver}/macosx install-embedded INSTALL_ROOT=`pwd`/embedded/
- sudo make -C tk${ver}/carbon install-embedded INSTALL_ROOT=`pwd`/embedded/
-Notes:
- * if you've already built standard TclTkAqua, building embedded does not
- require any new compiling or linking, so you can skip the first two makes.
- (making relinking unnecessary was added in 8.4.2)
- * the embedded frameworks include only optimized builds and no documentation.
- * the standalone Wish has the directory Wish.app/Contents/lib in its
- auto_path. Thus you can place tcl extensions in this directory (i.e. embed
- them in the app package) and load them with [package require].
-
-- 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.
-If you used non-default install locations for Tcl.framework, specify them as
-make overrides to the tk/carbon GNUmakefile, e.g.
- make -C tk${ver}/carbon \
- TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin
- sudo make -C tk${ver}/carbon 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/carbon/Tk-Info.plist.in b/carbon/Tk-Info.plist.in
deleted file mode 100644
index 1705a98..0000000
--- a/carbon/Tk-Info.plist.in
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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">
-<!--
- Copyright (c) 2005-2007 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.
--->
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>@TK_LIB_FILE@</string>
- <key>CFBundleGetInfoString</key>
- <string>Tk @TK_WINDOWINGSYSTEM@ @TK_VERSION@@TK_PATCH_LEVEL@,
-Copyright © 1989-@TK_YEAR@ Tcl Core Team,
-Copyright © 2002-@TK_YEAR@ Daniel A. Steffen,
-Copyright © 2001-2002 Apple Inc.,
-Copyright © 2001-2002 Jim Ingham &amp; Ian Reid</string>
- <key>CFBundleIdentifier</key>
- <string>com.tcltk.tklibrary</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>Tk @TK_WINDOWINGSYSTEM@ @TK_VERSION@</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
- <key>CFBundleSignature</key>
- <string>Tk </string>
- <key>CFBundleVersion</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
-</dict>
-</plist>
diff --git a/carbon/Wish-Common.xcconfig b/carbon/Wish-Common.xcconfig
deleted file mode 100644
index 0c0ddc0..0000000
--- a/carbon/Wish-Common.xcconfig
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Wish-Common.xcconfig --
-//
-// This file contains the Xcode build settings comon to all
-// project configurations in Wish.xcodeproj.
-//
-// Copyright (c) 2007-2008 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.
-
-HEADER_SEARCH_PATHS = $(TK_SRCROOT)/generic $(TK_SRCROOT)/xlib "$(DERIVED_FILE_DIR)/tcl" "$(DERIVED_FILE_DIR)/tk" $(HEADER_SEARCH_PATHS)
-REZ_SEARCH_PATHS = $(TK_SRCROOT)/generic $(TCL_SRCROOT)/generic $(REZ_SEARCH_PATHS)
-OTHER_LDFLAGS = -headerpad_max_install_names -sectcreate __TEXT __info_plist "$(DERIVED_FILE_DIR)/tk/Wish-Info.plist" $(OTHER_LDFLAGS)
-OTHER_LDFLAGS_AQUA = -sectcreate __TEXT __tk_rsrc "$(REZ_COLLECTOR_DIR)/$(PRODUCT_NAME).rsrc"
-INSTALL_PATH = $(APPLICATION_INSTALL_PATH)
-INSTALL_MODE_FLAG = go-w,a+rX
-GCC_PREFIX_HEADER = $(DERIVED_FILE_DIR)/tk/tkConfig.h
-OTHER_CFLAGS = -imacros "$(DERIVED_FILE_DIR)/tcl/tclConfig.h" $(OTHER_CFLAGS)
-GCC_GENERATE_DEBUGGING_SYMBOLS = YES
-GCC_NO_COMMON_BLOCKS = YES
-GCC_DYNAMIC_NO_PIC = YES
-GCC = $(DEVELOPER_DIR)/usr/bin/gcc
-GCC_VERSION = 4.0
-CC = $(GCC)-$(GCC_VERSION)
-LD = $(CC)
-WARNING_CFLAGS_GCC3 = -Wall -Wno-unused-parameter -Wno-deprecated-declarations
-WARNING_CFLAGS = -Wextra -Wno-missing-field-initializers -Winit-self -Wpointer-arith -Wcast-align -Wdisabled-optimization -Winline $(WARNING_CFLAGS_GCC3) $(WARNING_CFLAGS)
-REZ_RESOURCE_MAP_READ_ONLY = YES
-APPLICATION_INSTALL_PATH = /Applications/Utilities
-BINDIR = $(PREFIX)/bin
-CFLAGS = $(CFLAGS)
-CPPFLAGS = -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) $(CPPFLAGS)
-FRAMEWORK_INSTALL_PATH = /Library/Frameworks
-INCLUDEDIR = $(PREFIX)/include
-LIBDIR = $(PREFIX)/lib
-MANDIR = $(PREFIX)/man
-PER_ARCH_CFLAGS_ppc = -mcpu=G3 -mtune=G4 $(PER_ARCH_CFLAGS_ppc)
-PREFIX = /usr/local
-TCL_BUILD_DIR = $(OBJROOT)/../tcl/Tcl.build/$(CONFIGURATION)/Tcl.build/Objects
-TCL_CONFIGURE_ARGS = --enable-threads --enable-dtrace
-TCL_FRAMEWORK_DIR = $(SYMROOT)/../tcl/$(CONFIGURATION)
-TCL_LIBRARY = $(LIBDIR)/tcl$(VERSION)
-TCL_PACKAGE_PATH = "$(LIBDIR)"
-TCL_DEFS = HAVE_TCL_CONFIG_H
-TK_LIBRARY = $(LIBDIR)/tk$(VERSION)
-TK_DEFS = HAVE_TK_CONFIG_H TCL_NO_DEPRECATED
-VERSION = 8.6
diff --git a/carbon/Wish-Debug.xcconfig b/carbon/Wish-Debug.xcconfig
deleted file mode 100644
index 09def97..0000000
--- a/carbon/Wish-Debug.xcconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Wish-Debug.xcconfig --
-//
-// This file contains the Xcode build settings for all Debug
-// project configurations in Wish.xcodeproj.
-//
-// Copyright (c) 2007 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.
-
-#include "Wish-Common.xcconfig"
-
-DEBUG_INFORMATION_FORMAT = dwarf
-DEPLOYMENT_POSTPROCESSING = NO
-GCC_OPTIMIZATION_LEVEL = 0
-GCC_PREPROCESSOR_DEFINITIONS = DEBUGLEVEL=4 $(TCL_DEFS) $(TK_DEFS) $(GCC_PREPROCESSOR_DEFINITIONS)
-CONFIGURE_ARGS = --enable-symbols $(TCL_CONFIGURE_ARGS) $(CONFIGURE_ARGS)
-MAKE_TARGET = develop
diff --git a/carbon/Wish-Info.plist.in b/carbon/Wish-Info.plist.in
deleted file mode 100644
index 85b0b08..0000000
--- a/carbon/Wish-Info.plist.in
+++ /dev/null
@@ -1,73 +0,0 @@
-<?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">
-<!--
- Copyright (c) 2005-2007 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.
--->
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>tcl</string>
- <string>TCL</string>
- <string>*</string>
- </array>
- <key>CFBundleTypeMIMETypes</key>
- <array>
- <string>application/x-tcl</string>
- <string>text/plain</string>
- </array>
- <key>CFBundleTypeName</key>
- <string>NSStringPboardType</string>
- <key>CFBundleTypeOSTypes</key>
- <array>
- <string>TEXT</string>
- <string>****</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Viewer</string>
- </dict>
- </array>
- <key>CFBundleExecutable</key>
- <string>Wish</string>
- <key>CFBundleGetInfoString</key>
- <string>Wish Shell @TK_VERSION@@TK_PATCH_LEVEL@,
-Copyright © 1989-@TK_YEAR@ Tcl Core Team,
-Copyright © 2002-@TK_YEAR@ Daniel A. Steffen,
-Copyright © 2001-2002 Apple Inc.,
-Copyright © 2001-2002 Jim Ingham &amp; Ian Reid</string>
- <key>CFBundleIconFile</key>
- <string>Wish.icns</string>
- <key>CFBundleIdentifier</key>
- <string>com.tcltk.wish</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleLocalizations</key>
- <array>
- @CFBUNDLELOCALIZATIONS@
- </array>
- <key>CFBundleName</key>
- <string>Wish</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
- <key>CFBundleSignature</key>
- <string>WiSH</string>
- <key>CFBundleVersion</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
- <key>LSMinimumSystemVersion</key>
- <string>10.2.0</string>
- <key>LSRequiresCarbon</key>
- <true/>
- <key>NSAppleScriptEnabled</key>
- <true/>
-</dict>
-</plist>
diff --git a/carbon/Wish-Release.xcconfig b/carbon/Wish-Release.xcconfig
deleted file mode 100644
index d843341..0000000
--- a/carbon/Wish-Release.xcconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Wish-Release.xcconfig --
-//
-// This file contains the Xcode build settings for all Release
-// project configurations in Wish.xcodeproj.
-//
-// Copyright (c) 2007 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.
-
-#include "Wish-Common.xcconfig"
-
-DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
-// DEPLOYMENT_POSTPROCESSING = YES
-GCC_OPTIMIZATION_LEVEL = s
-GCC_PREPROCESSOR_DEFINITIONS = NDEBUG $(TCL_DEFS) $(TK_DEFS) $(GCC_PREPROCESSOR_DEFINITIONS)
-CONFIGURE_ARGS = --disable-symbols $(TCL_CONFIGURE_ARGS) $(CONFIGURE_ARGS)
-MAKE_TARGET = deploy
diff --git a/carbon/Wish.icns b/carbon/Wish.icns
deleted file mode 100644
index 060bfbd..0000000
--- a/carbon/Wish.icns
+++ /dev/null
Binary files differ
diff --git a/carbon/Wish.xcode/default.pbxuser b/carbon/Wish.xcode/default.pbxuser
deleted file mode 100644
index c832f6b..0000000
--- a/carbon/Wish.xcode/default.pbxuser
+++ /dev/null
@@ -1,337 +0,0 @@
-// !$*UTF8*$!
-{
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- activeBuildConfigurationName = Debug;
- activeExecutable = F9E61D1C090A4282002B3151 /* Wish */;
- activeTarget = F9E61D16090A3E94002B3151 /* Tk */;
- codeSenseManager = F944EB9D08F798180049FDD4 /* Code sense */;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- F944EB8F08F798100049FDD4 /* tktest */,
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- perUserDictionary = {
- com.apple.ide.smrt.PBXUserSmartGroupsKey.Rev10 = <040b747970656473747265616d8103e88401408484840e4e534d757461626c654172726179008484074e534172726179008484084e534f626a65637400858401690192848484134e534d757461626c6544696374696f6e6172790084840c4e5344696374696f6e6172790095960792848484084e53537472696e67019584012b146162736f6c75746550617468546f42756e646c658692849a9a008692849a9a046e616d658692849a9a14496d706c656d656e746174696f6e2046696c65738692849a9a03636c7a8692849a9a1550425846696c656e616d65536d61727447726f75708692849a9a0b6465736372697074696f6e8692849a9a103c6e6f206465736372697074696f6e3e8692849a9a08676c6f62616c49448692849a9a183143433045413430303433353045463930303434343130428692849a9a195042585472616e7369656e744c6f636174696f6e4174546f708692849a9a06626f74746f6d8692849a9a0b707265666572656e63657386928497960892849a9a1250425850726f6a65637453636f70654b65798692849a9a035945538692849a9a05696d6167658692849a9a0b536d617274466f6c6465728692849a9a0763616e536176658692848484084e534e756d626572008484074e5356616c7565009584012a849696018692849a9a0572656765788692849a9a065c2e286329248692849a9a04726f6f748692849a9a093c50524f4a4543543e8692849a9a097265637572736976658692ad92849a9a0669734c656166869284ae9db096008692849a9a07666e6d617463688692849a9a0086868686>;
- };
- sourceControlManager = F944EB9C08F798180049FDD4 /* Source Control */;
- userBuildSettings = {
- GCC = "${DEVELOPER_DIR}/usr/bin/gcc";
- SYMROOT = "${SRCROOT}/../../build/tk";
- TCL_SRCROOT = "${SRCROOT}/../../tcl";
- TK_SRCROOT = "${SRCROOT}/../../tk";
- };
- };
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- activeExec = 0;
- executables = (
- F944EB8F08F798100049FDD4 /* tktest */,
- );
- };
- F944EB8F08F798100049FDD4 /* tktest */ = {
- isa = PBXExecutable;
- activeArgIndex = 0;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- 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 = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = EventDebug;
- value = 1;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = tktest;
- sourceDirectories = (
- );
- };
- F944EB9C08F798180049FDD4 /* Source Control */ = {
- isa = PBXSourceControlManager;
- fallbackIsa = XCSourceControlManager;
- isSCMEnabled = 0;
- scmConfiguration = {
- CVSToolPath = /usr/bin/cvs;
- CVSUseSSH = NO;
- SubversionToolPath = /usr/local/bin/svn;
- };
- scmType = scm.cvs;
- };
- F944EB9D08F798180049FDD4 /* Code sense */ = {
- isa = PBXCodeSenseManager;
- indexTemplatePath = "";
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- activeExec = 0;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- );
- };
- F9E61D1C090A4282002B3151 /* Wish */ = {
- isa = PBXExecutable;
- activeArgIndex = 0;
- activeArgIndices = (
- YES,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- );
- autoAttachOnCrash = 1;
- 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 = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = Wish;
- sourceDirectories = (
- );
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- activeExec = 0;
- executables = (
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- };
- F9FD31F50CC1AD070073837D /* tktest-X11 */ = {
- isa = PBXExecutable;
- activeArgIndex = 0;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- 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 = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = YES;
- name = DISPLAY;
- value = ":0";
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = "tktest-X11";
- sourceDirectories = (
- );
- };
-}
diff --git a/carbon/Wish.xcode/project.pbxproj b/carbon/Wish.xcode/project.pbxproj
deleted file mode 100644
index 8fe9214..0000000
--- a/carbon/Wish.xcode/project.pbxproj
+++ /dev/null
@@ -1,5514 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF408F27A39005CB29B /* tkPointer.c */; };
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F966BE2608F27A40005CB29B /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */; };
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */; };
- F966BEDD08F27A40005CB29B /* tkMacOSXCarbonEvents.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC708F27A3B005CB29B /* tkMacOSXCarbonEvents.c */; };
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */; };
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */; };
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */; };
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */; };
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */; };
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */; };
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */; };
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */; };
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */; };
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */; };
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */; };
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */; };
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */; settings = {COMPILER_FLAGS = "-DTK_LIBRARY=\\\"$(TK_LIBRARY)\\\""; }; };
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */; };
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */; };
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */; };
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */; };
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */; };
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */; };
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */; };
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */; };
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */; };
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */; };
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */; };
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */; };
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */; };
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */; };
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */; };
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2408F27A3F005CB29B /* xcolors.c */; };
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2508F27A3F005CB29B /* xdraw.c */; };
- F966C02C08F27A42005CB29B /* xgc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2608F27A3F005CB29B /* xgc.c */; };
- F966C02D08F27A42005CB29B /* ximage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2708F27A3F005CB29B /* ximage.c */; };
- F966C02E08F27A42005CB29B /* xutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2808F27A3F005CB29B /* xutil.c */; };
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07608F2821B005CB29B /* Carbon.framework */; };
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07808F28233005CB29B /* IOKit.framework */; };
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888840AF78938000797B5 /* ttkMacOSXTheme.c */; };
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F96D457208F272BB004A47F5 /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F96D457508F272BB004A47F5 /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F96D457608F272BB004A47F5 /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F96D495508F272C3004A47F5 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; };
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9EA4AF008FA3BD500B1F5F0 /* tkMacOSXXCursors.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.r */; };
- F9EA4AF208FA3BD800B1F5F0 /* tkMacOSXCursors.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.r */; };
- F9EA4AF308FA3BDA00B1F5F0 /* tkMacOSXAETE.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBC408F27A3B005CB29B /* tkMacOSXAETE.r */; };
- F9EA4AF408FA3BDB00B1F5F0 /* tkAboutDlg.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBC108F27A3B005CB29B /* tkAboutDlg.r */; };
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; };
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F9FD31660CC1AD070073837D /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */; };
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8708F27A3D005CB29B /* tkUnixKey.c */; };
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9108F27A3D005CB29B /* tkUnixXId.c */; };
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8508F27A3D005CB29B /* tkUnixInit.c */; };
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */; };
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8F08F27A3D005CB29B /* tkUnixSend.c */; };
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8308F27A3D005CB29B /* tkUnixFocus.c */; };
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9008F27A3D005CB29B /* tkUnixWm.c */; };
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */; };
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7808F27A3D005CB29B /* tkUnix.c */; };
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8808F27A3D005CB29B /* tkUnixMenu.c */; };
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */; };
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8008F27A3D005CB29B /* tkUnixDraw.c */; };
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */; };
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */; };
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8208F27A3D005CB29B /* tkUnixEvent.c */; };
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7B08F27A3D005CB29B /* tkUnixColor.c */; };
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7A08F27A3D005CB29B /* tkUnixButton.c */; };
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */; };
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */; };
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32140CC1AF170073837D /* libX11.dylib */; };
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32150CC1AF170073837D /* libXext.dylib */; };
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32160CC1AF170073837D /* libXss.dylib */; };
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34990CC1BB0D0073837D /* libfreetype.dylib */; };
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD349A0CC1BB0D0073837D /* libXft.dylib */; };
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */; };
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 8DD76FB20486AB0100D96B5E /* tktest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tktest; sourceTree = BUILT_PRODUCTS_DIR; };
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textpeer.tcl; sourceTree = "<group>"; };
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkbut.tcl; sourceTree = "<group>"; };
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBusy.c; sourceTree = "<group>"; };
- F91543270EF201A90032D1E8 /* fontchoose.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchoose.tcl; sourceTree = "<group>"; };
- F915432A0EF201CF0032D1E8 /* zlib.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = zlib.test; sourceTree = "<group>"; };
- F915432D0EF201EE0032D1E8 /* zlib.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = zlib.n; sourceTree = "<group>"; };
- F9183E640EFC80CD0030B814 /* throw.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = throw.n; sourceTree = "<group>"; };
- F9183E650EFC80D70030B814 /* try.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = try.n; sourceTree = "<group>"; };
- F9183E6A0EFC81560030B814 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F9183E8F0EFC817B0030B814 /* tdbc */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tdbc; sourceTree = "<group>"; };
- F91DC23C0E44C51B002CB8D1 /* nre.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = nre.test; sourceTree = "<group>"; };
- F91DC23D0E44C530002CB8D1 /* unsupported.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = unsupported.test; sourceTree = "<group>"; };
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Tclsh-Info.plist.in"; sourceTree = "<group>"; };
- F92240290D7C620F005EC715 /* knightstour.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = knightstour.tcl; sourceTree = "<group>"; };
- F92D7F100DE777240033A13A /* tsdPerf.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tsdPerf.tcl; sourceTree = "<group>"; };
- F92D7F140DE777670033A13A /* tsdPerf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tsdPerf.c; sourceTree = "<group>"; };
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhInstance.c; sourceTree = "<group>"; };
- F93599B20DF1F75400E04F67 /* tclOO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOO.c; sourceTree = "<group>"; };
- F93599B40DF1F75900E04F67 /* tclOO.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclOO.decls; sourceTree = "<group>"; };
- F93599B50DF1F75D00E04F67 /* tclOO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOO.h; sourceTree = "<group>"; };
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOBasic.c; sourceTree = "<group>"; };
- F93599B80DF1F76600E04F67 /* tclOOCall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOCall.c; sourceTree = "<group>"; };
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOODecls.h; sourceTree = "<group>"; };
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOODefineCmds.c; sourceTree = "<group>"; };
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOInfo.c; sourceTree = "<group>"; };
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOInt.h; sourceTree = "<group>"; };
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOIntDecls.h; sourceTree = "<group>"; };
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOMethod.c; sourceTree = "<group>"; };
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubInit.c; sourceTree = "<group>"; };
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubLib.c; sourceTree = "<group>"; };
- F93599C80DF1F81900E04F67 /* oo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oo.test; sourceTree = "<group>"; };
- F93599CF0DF1F87F00E04F67 /* Class.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Class.3; sourceTree = "<group>"; };
- F93599D00DF1F89E00E04F67 /* class.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = class.n; sourceTree = "<group>"; };
- F93599D20DF1F8DF00E04F67 /* copy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = copy.n; sourceTree = "<group>"; };
- F93599D30DF1F8F500E04F67 /* define.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = define.n; sourceTree = "<group>"; };
- F93599D40DF1F91900E04F67 /* Method.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Method.3; sourceTree = "<group>"; };
- F93599D50DF1F93700E04F67 /* my.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = my.n; sourceTree = "<group>"; };
- F93599D60DF1F95000E04F67 /* next.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = next.n; sourceTree = "<group>"; };
- F93599D70DF1F96800E04F67 /* object.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = object.n; sourceTree = "<group>"; };
- F93599D80DF1F98300E04F67 /* self.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = self.n; sourceTree = "<group>"; };
- F936FCD70CCD984500716967 /* ttkprogress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkprogress.tcl; sourceTree = "<group>"; };
- F936FCD80CCD984600716967 /* tree.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tree.tcl; sourceTree = "<group>"; };
- F936FCD90CCD984600716967 /* toolbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = toolbar.tcl; sourceTree = "<group>"; };
- F936FCDA0CCD984600716967 /* ttknote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttknote.tcl; sourceTree = "<group>"; };
- F936FCDB0CCD984600716967 /* combo.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combo.tcl; sourceTree = "<group>"; };
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXFont.h; sourceTree = "<group>"; };
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORTrans.c; sourceTree = "<group>"; };
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXLoad.test; sourceTree = "<group>"; };
- F962F7C60DADC26200648DB8 /* vsapi.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vsapi.test; sourceTree = "<group>"; };
- F96437C90EF0D4B2003F468E /* tclZlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclZlib.c; sourceTree = "<group>"; };
- F96437E60EF0D652003F468E /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
- F966BA0408F27A37005CB29B /* error.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = error.xbm; sourceTree = "<group>"; };
- F966BA0508F27A37005CB29B /* gray12.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray12.xbm; sourceTree = "<group>"; };
- F966BA0608F27A37005CB29B /* gray25.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray25.xbm; sourceTree = "<group>"; };
- F966BA0708F27A37005CB29B /* gray50.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray50.xbm; sourceTree = "<group>"; };
- F966BA0808F27A37005CB29B /* gray75.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray75.xbm; sourceTree = "<group>"; };
- F966BA0908F27A37005CB29B /* hourglass.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = hourglass.xbm; sourceTree = "<group>"; };
- F966BA0A08F27A37005CB29B /* info.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = info.xbm; sourceTree = "<group>"; };
- F966BA0B08F27A37005CB29B /* questhead.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = questhead.xbm; sourceTree = "<group>"; };
- F966BA0C08F27A37005CB29B /* question.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = question.xbm; sourceTree = "<group>"; };
- F966BA0D08F27A37005CB29B /* warning.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = warning.xbm; sourceTree = "<group>"; };
- F966BA0E08F27A37005CB29B /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F966BA0F08F27A37005CB29B /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F966BA1108F27A37005CB29B /* 3DBorder.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = 3DBorder.3; sourceTree = "<group>"; };
- F966BA1208F27A37005CB29B /* AddOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddOption.3; sourceTree = "<group>"; };
- F966BA1308F27A37005CB29B /* bell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bell.n; sourceTree = "<group>"; };
- F966BA1408F27A37005CB29B /* bind.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bind.n; sourceTree = "<group>"; };
- F966BA1508F27A37005CB29B /* BindTable.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BindTable.3; sourceTree = "<group>"; };
- F966BA1608F27A37005CB29B /* bindtags.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bindtags.n; sourceTree = "<group>"; };
- F966BA1708F27A37005CB29B /* bitmap.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bitmap.n; sourceTree = "<group>"; };
- F966BA1808F27A37005CB29B /* button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = button.n; sourceTree = "<group>"; };
- F966BA1908F27A37005CB29B /* canvas.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = canvas.n; sourceTree = "<group>"; };
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvPsY.3; sourceTree = "<group>"; };
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTkwin.3; sourceTree = "<group>"; };
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTxtInfo.3; sourceTree = "<group>"; };
- F966BA1D08F27A37005CB29B /* checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = checkbutton.n; sourceTree = "<group>"; };
- F966BA1E08F27A37005CB29B /* chooseColor.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseColor.n; sourceTree = "<group>"; };
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseDirectory.n; sourceTree = "<group>"; };
- F966BA2008F27A37005CB29B /* Clipboard.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Clipboard.3; sourceTree = "<group>"; };
- F966BA2108F27A37005CB29B /* clipboard.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clipboard.n; sourceTree = "<group>"; };
- F966BA2208F27A37005CB29B /* ClrSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ClrSelect.3; sourceTree = "<group>"; };
- F966BA2308F27A37005CB29B /* colors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = colors.n; sourceTree = "<group>"; };
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWidg.3; sourceTree = "<group>"; };
- F966BA2508F27A37005CB29B /* ConfigWind.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWind.3; sourceTree = "<group>"; };
- F966BA2608F27A37005CB29B /* console.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = console.n; sourceTree = "<group>"; };
- F966BA2708F27A37005CB29B /* CoordToWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CoordToWin.3; sourceTree = "<group>"; };
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCmHdlr.3; sourceTree = "<group>"; };
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtErrHdlr.3; sourceTree = "<group>"; };
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtGenHdlr.3; sourceTree = "<group>"; };
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtImgType.3; sourceTree = "<group>"; };
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtItemType.3; sourceTree = "<group>"; };
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtPhImgFmt.3; sourceTree = "<group>"; };
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSelHdlr.3; sourceTree = "<group>"; };
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtWindow.3; sourceTree = "<group>"; };
- F966BA3008F27A37005CB29B /* cursors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cursors.n; sourceTree = "<group>"; };
- F966BA3108F27A37005CB29B /* DeleteImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DeleteImg.3; sourceTree = "<group>"; };
- F966BA3208F27A37005CB29B /* destroy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = destroy.n; sourceTree = "<group>"; };
- F966BA3308F27A37005CB29B /* dialog.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dialog.n; sourceTree = "<group>"; };
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DrawFocHlt.3; sourceTree = "<group>"; };
- F966BA3508F27A37005CB29B /* entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = entry.n; sourceTree = "<group>"; };
- F966BA3608F27A37005CB29B /* event.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = event.n; sourceTree = "<group>"; };
- F966BA3708F27A37005CB29B /* EventHndlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = EventHndlr.3; sourceTree = "<group>"; };
- F966BA3808F27A37005CB29B /* FindPhoto.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindPhoto.3; sourceTree = "<group>"; };
- F966BA3908F27A37005CB29B /* focus.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focus.n; sourceTree = "<group>"; };
- F966BA3A08F27A37005CB29B /* focusNext.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focusNext.n; sourceTree = "<group>"; };
- F966BA3B08F27A37005CB29B /* font.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = font.n; sourceTree = "<group>"; };
- F966BA3C08F27A37005CB29B /* FontId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FontId.3; sourceTree = "<group>"; };
- F966BA3D08F27A37005CB29B /* frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = frame.n; sourceTree = "<group>"; };
- F966BA3E08F27A37005CB29B /* FreeXId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FreeXId.3; sourceTree = "<group>"; };
- F966BA3F08F27A37005CB29B /* GeomReq.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GeomReq.3; sourceTree = "<group>"; };
- F966BA4008F27A37005CB29B /* GetAnchor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetAnchor.3; sourceTree = "<group>"; };
- F966BA4108F27A37005CB29B /* GetBitmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetBitmap.3; sourceTree = "<group>"; };
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCapStyl.3; sourceTree = "<group>"; };
- F966BA4308F27A37005CB29B /* GetClrmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetClrmap.3; sourceTree = "<group>"; };
- F966BA4408F27A37005CB29B /* GetColor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetColor.3; sourceTree = "<group>"; };
- F966BA4508F27A37005CB29B /* GetCursor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCursor.3; sourceTree = "<group>"; };
- F966BA4608F27A37005CB29B /* GetDash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetDash.3; sourceTree = "<group>"; };
- F966BA4708F27A37005CB29B /* GetFont.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetFont.3; sourceTree = "<group>"; };
- F966BA4808F27A37005CB29B /* GetGC.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetGC.3; sourceTree = "<group>"; };
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHINSTANCE.3; sourceTree = "<group>"; };
- F966BA4A08F27A37005CB29B /* GetHWND.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHWND.3; sourceTree = "<group>"; };
- F966BA4B08F27A37005CB29B /* GetImage.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetImage.3; sourceTree = "<group>"; };
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJoinStl.3; sourceTree = "<group>"; };
- F966BA4D08F27A37005CB29B /* GetJustify.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJustify.3; sourceTree = "<group>"; };
- F966BA4E08F27A37005CB29B /* getOpenFile.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = getOpenFile.n; sourceTree = "<group>"; };
- F966BA4F08F27A37005CB29B /* GetOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOption.3; sourceTree = "<group>"; };
- F966BA5008F27A38005CB29B /* GetPixels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixels.3; sourceTree = "<group>"; };
- F966BA5108F27A38005CB29B /* GetPixmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixmap.3; sourceTree = "<group>"; };
- F966BA5208F27A38005CB29B /* GetRelief.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRelief.3; sourceTree = "<group>"; };
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRootCrd.3; sourceTree = "<group>"; };
- F966BA5408F27A38005CB29B /* GetScroll.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetScroll.3; sourceTree = "<group>"; };
- F966BA5508F27A38005CB29B /* GetSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetSelect.3; sourceTree = "<group>"; };
- F966BA5608F27A38005CB29B /* GetUid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetUid.3; sourceTree = "<group>"; };
- F966BA5708F27A38005CB29B /* GetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVisual.3; sourceTree = "<group>"; };
- F966BA5808F27A38005CB29B /* GetVRoot.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVRoot.3; sourceTree = "<group>"; };
- F966BA5908F27A38005CB29B /* Grab.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Grab.3; sourceTree = "<group>"; };
- F966BA5A08F27A38005CB29B /* grab.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grab.n; sourceTree = "<group>"; };
- F966BA5B08F27A38005CB29B /* grid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grid.n; sourceTree = "<group>"; };
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HandleEvent.3; sourceTree = "<group>"; };
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HWNDToWindow.3; sourceTree = "<group>"; };
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IdToWindow.3; sourceTree = "<group>"; };
- F966BA5F08F27A38005CB29B /* image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = image.n; sourceTree = "<group>"; };
- F966BA6008F27A38005CB29B /* ImgChanged.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ImgChanged.3; sourceTree = "<group>"; };
- F966BA6108F27A38005CB29B /* Inactive.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Inactive.3; sourceTree = "<group>"; };
- F966BA6208F27A38005CB29B /* InternAtom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InternAtom.3; sourceTree = "<group>"; };
- F966BA6308F27A38005CB29B /* keysyms.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = keysyms.n; sourceTree = "<group>"; };
- F966BA6408F27A38005CB29B /* label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = label.n; sourceTree = "<group>"; };
- F966BA6508F27A38005CB29B /* labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = labelframe.n; sourceTree = "<group>"; };
- F966BA6608F27A38005CB29B /* listbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = listbox.n; sourceTree = "<group>"; };
- F966BA6708F27A38005CB29B /* loadTk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = loadTk.n; sourceTree = "<group>"; };
- F966BA6808F27A38005CB29B /* lower.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lower.n; sourceTree = "<group>"; };
- F966BA6908F27A38005CB29B /* MainLoop.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainLoop.3; sourceTree = "<group>"; };
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MaintGeom.3; sourceTree = "<group>"; };
- F966BA6B08F27A38005CB29B /* MainWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainWin.3; sourceTree = "<group>"; };
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ManageGeom.3; sourceTree = "<group>"; };
- F966BA6E08F27A38005CB29B /* MapWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MapWindow.3; sourceTree = "<group>"; };
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MeasureChar.3; sourceTree = "<group>"; };
- F966BA7008F27A38005CB29B /* menu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menu.n; sourceTree = "<group>"; };
- F966BA7108F27A38005CB29B /* menubar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubar.n; sourceTree = "<group>"; };
- F966BA7208F27A38005CB29B /* menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubutton.n; sourceTree = "<group>"; };
- F966BA7308F27A38005CB29B /* message.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = message.n; sourceTree = "<group>"; };
- F966BA7408F27A38005CB29B /* messageBox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = messageBox.n; sourceTree = "<group>"; };
- F966BA7508F27A38005CB29B /* MoveToplev.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MoveToplev.3; sourceTree = "<group>"; };
- F966BA7608F27A38005CB29B /* Name.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Name.3; sourceTree = "<group>"; };
- F966BA7708F27A38005CB29B /* NameOfImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = NameOfImg.3; sourceTree = "<group>"; };
- F966BA7808F27A38005CB29B /* option.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = option.n; sourceTree = "<group>"; };
- F966BA7908F27A38005CB29B /* optionMenu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = optionMenu.n; sourceTree = "<group>"; };
- F966BA7A08F27A38005CB29B /* options.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = options.n; sourceTree = "<group>"; };
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OwnSelect.3; sourceTree = "<group>"; };
- F966BA7C08F27A38005CB29B /* pack-old.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = "pack-old.n"; sourceTree = "<group>"; };
- F966BA7D08F27A38005CB29B /* pack.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pack.n; sourceTree = "<group>"; };
- F966BA7E08F27A38005CB29B /* palette.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = palette.n; sourceTree = "<group>"; };
- F966BA7F08F27A38005CB29B /* panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = panedwindow.n; sourceTree = "<group>"; };
- F966BA8008F27A38005CB29B /* ParseArgv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseArgv.3; sourceTree = "<group>"; };
- F966BA8108F27A38005CB29B /* photo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = photo.n; sourceTree = "<group>"; };
- F966BA8208F27A38005CB29B /* place.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = place.n; sourceTree = "<group>"; };
- F966BA8308F27A38005CB29B /* popup.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = popup.n; sourceTree = "<group>"; };
- F966BA8408F27A38005CB29B /* QWinEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = QWinEvent.3; sourceTree = "<group>"; };
- F966BA8508F27A38005CB29B /* radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = radiobutton.n; sourceTree = "<group>"; };
- F966BA8608F27A38005CB29B /* raise.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = raise.n; sourceTree = "<group>"; };
- F966BA8708F27A38005CB29B /* Restack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Restack.3; sourceTree = "<group>"; };
- F966BA8808F27A38005CB29B /* RestrictEv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RestrictEv.3; sourceTree = "<group>"; };
- F966BA8908F27A38005CB29B /* scale.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scale.n; sourceTree = "<group>"; };
- F966BA8A08F27A38005CB29B /* scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scrollbar.n; sourceTree = "<group>"; };
- F966BA8B08F27A38005CB29B /* selection.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = selection.n; sourceTree = "<group>"; };
- F966BA8C08F27A38005CB29B /* send.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = send.n; sourceTree = "<group>"; };
- F966BA8D08F27A38005CB29B /* SetAppName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetAppName.3; sourceTree = "<group>"; };
- F966BA8E08F27A38005CB29B /* SetCaret.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetCaret.3; sourceTree = "<group>"; };
- F966BA8F08F27A38005CB29B /* SetClass.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClass.3; sourceTree = "<group>"; };
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClassProcs.3; sourceTree = "<group>"; };
- F966BA9108F27A38005CB29B /* SetGrid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetGrid.3; sourceTree = "<group>"; };
- F966BA9208F27A38005CB29B /* SetOptions.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetOptions.3; sourceTree = "<group>"; };
- F966BA9308F27A38005CB29B /* SetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVisual.3; sourceTree = "<group>"; };
- F966BA9408F27A38005CB29B /* spinbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = spinbox.n; sourceTree = "<group>"; };
- F966BA9508F27A38005CB29B /* StrictMotif.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrictMotif.3; sourceTree = "<group>"; };
- F966BA9608F27A38005CB29B /* text.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = text.n; sourceTree = "<group>"; };
- F966BA9708F27A38005CB29B /* TextLayout.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TextLayout.3; sourceTree = "<group>"; };
- F966BA9808F27A38005CB29B /* tk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tk.n; sourceTree = "<group>"; };
- F966BA9908F27A38005CB29B /* tk4.0.ps */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = tk4.0.ps; sourceTree = "<group>"; };
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Init.3; sourceTree = "<group>"; };
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Main.3; sourceTree = "<group>"; };
- F966BA9C08F27A38005CB29B /* tkerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkerror.n; sourceTree = "<group>"; };
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TkInitStubs.3; sourceTree = "<group>"; };
- F966BA9E08F27A38005CB29B /* tkvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkvars.n; sourceTree = "<group>"; };
- F966BA9F08F27A38005CB29B /* tkwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkwait.n; sourceTree = "<group>"; };
- F966BAA008F27A38005CB29B /* toplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = toplevel.n; sourceTree = "<group>"; };
- F966BAA108F27A38005CB29B /* WindowId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WindowId.3; sourceTree = "<group>"; };
- F966BAA208F27A38005CB29B /* winfo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = winfo.n; sourceTree = "<group>"; };
- F966BAA308F27A38005CB29B /* wish.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wish.1; sourceTree = "<group>"; };
- F966BAA408F27A38005CB29B /* wm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wm.n; sourceTree = "<group>"; };
- F966BAA608F27A38005CB29B /* default.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = default.h; sourceTree = "<group>"; };
- F966BAA708F27A38005CB29B /* ks_names.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ks_names.h; sourceTree = "<group>"; };
- F966BAA908F27A39005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BAAA08F27A39005CB29B /* tk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.decls; sourceTree = "<group>"; };
- F966BAAB08F27A39005CB29B /* tk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk.h; sourceTree = "<group>"; };
- F966BAAC08F27A39005CB29B /* tk3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tk3d.c; sourceTree = "<group>"; };
- F966BAAD08F27A39005CB29B /* tk3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk3d.h; sourceTree = "<group>"; };
- F966BAAE08F27A39005CB29B /* tkArgv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkArgv.c; sourceTree = "<group>"; };
- F966BAAF08F27A39005CB29B /* tkAtom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAtom.c; sourceTree = "<group>"; };
- F966BAB008F27A39005CB29B /* tkBind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBind.c; sourceTree = "<group>"; };
- F966BAB108F27A39005CB29B /* tkBitmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBitmap.c; sourceTree = "<group>"; };
- F966BAB208F27A39005CB29B /* tkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkButton.c; sourceTree = "<group>"; };
- F966BAB308F27A39005CB29B /* tkButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkButton.h; sourceTree = "<group>"; };
- F966BAB408F27A39005CB29B /* tkCanvArc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvArc.c; sourceTree = "<group>"; };
- F966BAB508F27A39005CB29B /* tkCanvas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvas.c; sourceTree = "<group>"; };
- F966BAB608F27A39005CB29B /* tkCanvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkCanvas.h; sourceTree = "<group>"; };
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvBmap.c; sourceTree = "<group>"; };
- F966BAB808F27A39005CB29B /* tkCanvImg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvImg.c; sourceTree = "<group>"; };
- F966BAB908F27A39005CB29B /* tkCanvLine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvLine.c; sourceTree = "<group>"; };
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPoly.c; sourceTree = "<group>"; };
- F966BABB08F27A39005CB29B /* tkCanvPs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPs.c; sourceTree = "<group>"; };
- F966BABD08F27A39005CB29B /* tkCanvText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvText.c; sourceTree = "<group>"; };
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvUtil.c; sourceTree = "<group>"; };
- F966BABF08F27A39005CB29B /* tkCanvWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvWind.c; sourceTree = "<group>"; };
- F966BAC008F27A39005CB29B /* tkClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkClipboard.c; sourceTree = "<group>"; };
- F966BAC108F27A39005CB29B /* tkCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCmds.c; sourceTree = "<group>"; };
- F966BAC208F27A39005CB29B /* tkColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkColor.c; sourceTree = "<group>"; };
- F966BAC308F27A39005CB29B /* tkColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkColor.h; sourceTree = "<group>"; };
- F966BAC408F27A39005CB29B /* tkConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConfig.c; sourceTree = "<group>"; };
- F966BAC508F27A39005CB29B /* tkConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConsole.c; sourceTree = "<group>"; };
- F966BAC608F27A39005CB29B /* tkCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCursor.c; sourceTree = "<group>"; };
- F966BAC708F27A39005CB29B /* tkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkDecls.h; sourceTree = "<group>"; };
- F966BAC808F27A39005CB29B /* tkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEntry.c; sourceTree = "<group>"; };
- F966BAC908F27A39005CB29B /* tkEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkEntry.h; sourceTree = "<group>"; };
- F966BACA08F27A39005CB29B /* tkError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkError.c; sourceTree = "<group>"; };
- F966BACB08F27A39005CB29B /* tkEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEvent.c; sourceTree = "<group>"; };
- F966BACC08F27A39005CB29B /* tkFileFilter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFileFilter.c; sourceTree = "<group>"; };
- F966BACD08F27A39005CB29B /* tkFileFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFileFilter.h; sourceTree = "<group>"; };
- F966BACE08F27A39005CB29B /* tkFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFocus.c; sourceTree = "<group>"; };
- F966BACF08F27A39005CB29B /* tkFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFont.c; sourceTree = "<group>"; };
- F966BAD008F27A39005CB29B /* tkFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFont.h; sourceTree = "<group>"; };
- F966BAD108F27A39005CB29B /* tkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFrame.c; sourceTree = "<group>"; };
- F966BAD208F27A39005CB29B /* tkGC.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGC.c; sourceTree = "<group>"; };
- F966BAD308F27A39005CB29B /* tkGeometry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGeometry.c; sourceTree = "<group>"; };
- F966BAD408F27A39005CB29B /* tkGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGet.c; sourceTree = "<group>"; };
- F966BAD508F27A39005CB29B /* tkGrab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrab.c; sourceTree = "<group>"; };
- F966BAD608F27A39005CB29B /* tkGrid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrid.c; sourceTree = "<group>"; };
- F966BAD708F27A39005CB29B /* tkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImage.c; sourceTree = "<group>"; };
- F966BAD808F27A39005CB29B /* tkImgBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgBmap.c; sourceTree = "<group>"; };
- F966BAD908F27A39005CB29B /* tkImgGIF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgGIF.c; sourceTree = "<group>"; };
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhoto.c; sourceTree = "<group>"; };
- F966BADB08F27A39005CB29B /* tkImgPPM.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPPM.c; sourceTree = "<group>"; };
- F966BADC08F27A39005CB29B /* tkImgUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgUtil.c; sourceTree = "<group>"; };
- F966BADE08F27A39005CB29B /* tkInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkInt.decls; sourceTree = "<group>"; };
- F966BADF08F27A39005CB29B /* tkInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkInt.h; sourceTree = "<group>"; };
- F966BAE108F27A39005CB29B /* tkIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntDecls.h; sourceTree = "<group>"; };
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntPlatDecls.h; sourceTree = "<group>"; };
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntXlibDecls.h; sourceTree = "<group>"; };
- F966BAE408F27A39005CB29B /* tkListbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkListbox.c; sourceTree = "<group>"; };
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacWinMenu.c; sourceTree = "<group>"; };
- F966BAE608F27A39005CB29B /* tkMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMain.c; sourceTree = "<group>"; };
- F966BAE708F27A39005CB29B /* tkMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenu.c; sourceTree = "<group>"; };
- F966BAE808F27A39005CB29B /* tkMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenu.h; sourceTree = "<group>"; };
- F966BAE908F27A39005CB29B /* tkMenubutton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenubutton.c; sourceTree = "<group>"; };
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenubutton.h; sourceTree = "<group>"; };
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenuDraw.c; sourceTree = "<group>"; };
- F966BAEC08F27A39005CB29B /* tkMessage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMessage.c; sourceTree = "<group>"; };
- F966BAED08F27A39005CB29B /* tkObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkObj.c; sourceTree = "<group>"; };
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldConfig.c; sourceTree = "<group>"; };
- F966BAEF08F27A39005CB29B /* tkOption.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOption.c; sourceTree = "<group>"; };
- F966BAF008F27A39005CB29B /* tkPack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPack.c; sourceTree = "<group>"; };
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPanedWindow.c; sourceTree = "<group>"; };
- F966BAF208F27A39005CB29B /* tkPlace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPlace.c; sourceTree = "<group>"; };
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPlatDecls.h; sourceTree = "<group>"; };
- F966BAF408F27A39005CB29B /* tkPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPointer.c; sourceTree = "<group>"; };
- F966BAF508F27A39005CB29B /* tkPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPort.h; sourceTree = "<group>"; };
- F966BAF608F27A39005CB29B /* tkRectOval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkRectOval.c; sourceTree = "<group>"; };
- F966BAF708F27A39005CB29B /* tkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScale.c; sourceTree = "<group>"; };
- F966BAF808F27A39005CB29B /* tkScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScale.h; sourceTree = "<group>"; };
- F966BAF908F27A39005CB29B /* tkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScrollbar.c; sourceTree = "<group>"; };
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScrollbar.h; sourceTree = "<group>"; };
- F966BAFB08F27A39005CB29B /* tkSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSelect.c; sourceTree = "<group>"; };
- F966BAFC08F27A39005CB29B /* tkSelect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkSelect.h; sourceTree = "<group>"; };
- F966BAFD08F27A39005CB29B /* tkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSquare.c; sourceTree = "<group>"; };
- F966BAFE08F27A39005CB29B /* tkOldTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldTest.c; sourceTree = "<group>"; };
- F966BAFF08F27A39005CB29B /* tkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubInit.c; sourceTree = "<group>"; };
- F966BB0008F27A39005CB29B /* tkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubLib.c; sourceTree = "<group>"; };
- F966BB0108F27A39005CB29B /* tkStyle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStyle.c; sourceTree = "<group>"; };
- F966BB0208F27A39005CB29B /* tkTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTest.c; sourceTree = "<group>"; };
- F966BB0308F27A39005CB29B /* tkText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkText.c; sourceTree = "<group>"; };
- F966BB0408F27A39005CB29B /* tkText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkText.h; sourceTree = "<group>"; };
- F966BB0508F27A39005CB29B /* tkTextBTree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextBTree.c; sourceTree = "<group>"; };
- F966BB0608F27A39005CB29B /* tkTextDisp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextDisp.c; sourceTree = "<group>"; };
- F966BB0808F27A39005CB29B /* tkTextImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextImage.c; sourceTree = "<group>"; };
- F966BB0908F27A39005CB29B /* tkTextIndex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextIndex.c; sourceTree = "<group>"; };
- F966BB0A08F27A39005CB29B /* tkTextMark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextMark.c; sourceTree = "<group>"; };
- F966BB0B08F27A39005CB29B /* tkTextTag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextTag.c; sourceTree = "<group>"; };
- F966BB0C08F27A39005CB29B /* tkTextWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextWind.c; sourceTree = "<group>"; };
- F966BB0D08F27A39005CB29B /* tkTrig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTrig.c; sourceTree = "<group>"; };
- F966BB0E08F27A39005CB29B /* tkUndo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUndo.c; sourceTree = "<group>"; };
- F966BB0F08F27A39005CB29B /* tkUndo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUndo.h; sourceTree = "<group>"; };
- F966BB1008F27A39005CB29B /* tkUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUtil.c; sourceTree = "<group>"; };
- F966BB1108F27A39005CB29B /* tkVisual.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkVisual.c; sourceTree = "<group>"; };
- F966BB1208F27A39005CB29B /* tkWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWindow.c; sourceTree = "<group>"; };
- F966BB1408F27A39005CB29B /* bgerror.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.tcl; sourceTree = "<group>"; };
- F966BB1508F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB1608F27A39005CB29B /* choosedir.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.tcl; sourceTree = "<group>"; };
- F966BB1708F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB1808F27A39005CB29B /* comdlg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = comdlg.tcl; sourceTree = "<group>"; };
- F966BB1908F27A39005CB29B /* console.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = console.tcl; sourceTree = "<group>"; };
- F966BB1B08F27A39005CB29B /* anilabel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = anilabel.tcl; sourceTree = "<group>"; };
- F966BB1C08F27A39005CB29B /* aniwave.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aniwave.tcl; sourceTree = "<group>"; };
- F966BB1D08F27A39005CB29B /* arrow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arrow.tcl; sourceTree = "<group>"; };
- F966BB1E08F27A39005CB29B /* bind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.tcl; sourceTree = "<group>"; };
- F966BB1F08F27A39005CB29B /* bitmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.tcl; sourceTree = "<group>"; };
- F966BB2008F27A39005CB29B /* browse */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = browse; sourceTree = "<group>"; };
- F966BB2108F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB2208F27A39005CB29B /* check.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = check.tcl; sourceTree = "<group>"; };
- F966BB2308F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB2408F27A39005CB29B /* colors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = colors.tcl; sourceTree = "<group>"; };
- F966BB2508F27A39005CB29B /* cscroll.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cscroll.tcl; sourceTree = "<group>"; };
- F966BB2608F27A39005CB29B /* ctext.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ctext.tcl; sourceTree = "<group>"; };
- F966BB2708F27A39005CB29B /* dialog1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog1.tcl; sourceTree = "<group>"; };
- F966BB2808F27A39005CB29B /* dialog2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog2.tcl; sourceTree = "<group>"; };
- F966BB2A08F27A39005CB29B /* entry1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry1.tcl; sourceTree = "<group>"; };
- F966BB2B08F27A39005CB29B /* entry2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry2.tcl; sourceTree = "<group>"; };
- F966BB2C08F27A39005CB29B /* entry3.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry3.tcl; sourceTree = "<group>"; };
- F966BB2D08F27A39005CB29B /* filebox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.tcl; sourceTree = "<group>"; };
- F966BB2E08F27A39005CB29B /* floor.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = floor.tcl; sourceTree = "<group>"; };
- F966BB2F08F27A39005CB29B /* form.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = form.tcl; sourceTree = "<group>"; };
- F966BB3008F27A39005CB29B /* goldberg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = goldberg.tcl; sourceTree = "<group>"; };
- F966BB3108F27A39005CB29B /* hello */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = hello; sourceTree = "<group>"; };
- F966BB3208F27A39005CB29B /* hscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = hscale.tcl; sourceTree = "<group>"; };
- F966BB3308F27A39005CB29B /* icon.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = icon.tcl; sourceTree = "<group>"; };
- F966BB3408F27A39005CB29B /* image1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image1.tcl; sourceTree = "<group>"; };
- F966BB3508F27A39005CB29B /* image2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image2.tcl; sourceTree = "<group>"; };
- F966BB4208F27A3A005CB29B /* items.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = items.tcl; sourceTree = "<group>"; };
- F966BB4308F27A3A005CB29B /* ixset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ixset; sourceTree = "<group>"; };
- F966BB4408F27A3A005CB29B /* label.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = label.tcl; sourceTree = "<group>"; };
- F966BB4508F27A3A005CB29B /* labelframe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.tcl; sourceTree = "<group>"; };
- F966BB4608F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB4708F27A3A005CB29B /* menubu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubu.tcl; sourceTree = "<group>"; };
- F966BB4808F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB4A08F27A3A005CB29B /* paned1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned1.tcl; sourceTree = "<group>"; };
- F966BB4B08F27A3A005CB29B /* paned2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned2.tcl; sourceTree = "<group>"; };
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pendulum.tcl; sourceTree = "<group>"; };
- F966BB4D08F27A3A005CB29B /* plot.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = plot.tcl; sourceTree = "<group>"; };
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = puzzle.tcl; sourceTree = "<group>"; };
- F966BB4F08F27A3A005CB29B /* radio.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radio.tcl; sourceTree = "<group>"; };
- F966BB5008F27A3A005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BB5108F27A3A005CB29B /* rmt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rmt; sourceTree = "<group>"; };
- F966BB5208F27A3A005CB29B /* rolodex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rolodex; sourceTree = "<group>"; };
- F966BB5308F27A3A005CB29B /* ruler.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ruler.tcl; sourceTree = "<group>"; };
- F966BB5408F27A3A005CB29B /* sayings.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sayings.tcl; sourceTree = "<group>"; };
- F966BB5508F27A3A005CB29B /* search.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = search.tcl; sourceTree = "<group>"; };
- F966BB5608F27A3A005CB29B /* spin.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spin.tcl; sourceTree = "<group>"; };
- F966BB5708F27A3A005CB29B /* square */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = square; sourceTree = "<group>"; };
- F966BB5808F27A3A005CB29B /* states.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = states.tcl; sourceTree = "<group>"; };
- F966BB5908F27A3A005CB29B /* style.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = style.tcl; sourceTree = "<group>"; };
- F966BB5A08F27A3A005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB5B08F27A3A005CB29B /* tcolor */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = tcolor; sourceTree = "<group>"; };
- F966BB5C08F27A3A005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB5D08F27A3A005CB29B /* timer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = timer; sourceTree = "<group>"; };
- F966BB5E08F27A3A005CB29B /* twind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = twind.tcl; sourceTree = "<group>"; };
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unicodeout.tcl; sourceTree = "<group>"; };
- F966BB6008F27A3A005CB29B /* vscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vscale.tcl; sourceTree = "<group>"; };
- F966BB6108F27A3A005CB29B /* widget */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = widget; sourceTree = "<group>"; };
- F966BB6208F27A3A005CB29B /* dialog.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.tcl; sourceTree = "<group>"; };
- F966BB6308F27A3A005CB29B /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F966BB6408F27A3A005CB29B /* focus.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.tcl; sourceTree = "<group>"; };
- F966BB7308F27A3A005CB29B /* listbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.tcl; sourceTree = "<group>"; };
- F966BB7408F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mkpsenc.tcl; sourceTree = "<group>"; };
- F966BB7608F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB8608F27A3A005CB29B /* obsolete.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obsolete.tcl; sourceTree = "<group>"; };
- F966BB8708F27A3A005CB29B /* optMenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optMenu.tcl; sourceTree = "<group>"; };
- F966BB8808F27A3A005CB29B /* palette.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = palette.tcl; sourceTree = "<group>"; };
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F966BB8B08F27A3B005CB29B /* safetk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safetk.tcl; sourceTree = "<group>"; };
- F966BB8C08F27A3B005CB29B /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrlbar.tcl; sourceTree = "<group>"; };
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.tcl; sourceTree = "<group>"; };
- F966BB8F08F27A3B005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB9008F27A3B005CB29B /* tearoff.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tearoff.tcl; sourceTree = "<group>"; };
- F966BB9108F27A3B005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB9208F27A3B005CB29B /* tk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.tcl; sourceTree = "<group>"; };
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkfbox.tcl; sourceTree = "<group>"; };
- F966BB9408F27A3B005CB29B /* unsupported.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unsupported.tcl; sourceTree = "<group>"; };
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.tcl; sourceTree = "<group>"; };
- F966BB9608F27A3B005CB29B /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F966BBBA08F27A3B005CB29B /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F966BBBB08F27A3B005CB29B /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F966BBBE08F27A3B005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tk-Info.plist.in"; sourceTree = "<group>"; };
- F966BBC108F27A3B005CB29B /* tkAboutDlg.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = tkAboutDlg.r; sourceTree = "<group>"; };
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSX.h; sourceTree = "<group>"; };
- F966BBC408F27A3B005CB29B /* tkMacOSXAETE.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = tkMacOSXAETE.r; sourceTree = "<group>"; };
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXBitmap.c; sourceTree = "<group>"; };
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXButton.c; sourceTree = "<group>"; };
- F966BBC708F27A3B005CB29B /* tkMacOSXCarbonEvents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXCarbonEvents.c; sourceTree = "<group>"; };
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXClipboard.c; sourceTree = "<group>"; };
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXColor.c; sourceTree = "<group>"; };
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXConfig.c; sourceTree = "<group>"; };
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXCursor.c; sourceTree = "<group>"; };
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = tkMacOSXCursors.r; sourceTree = "<group>"; };
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXDebug.c; sourceTree = "<group>"; };
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDebug.h; sourceTree = "<group>"; };
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDefault.h; sourceTree = "<group>"; };
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXDialog.c; sourceTree = "<group>"; };
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXDraw.c; sourceTree = "<group>"; };
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXEmbed.c; sourceTree = "<group>"; };
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXEntry.c; sourceTree = "<group>"; };
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXEvent.c; sourceTree = "<group>"; };
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXEvent.h; sourceTree = "<group>"; };
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXFont.c; sourceTree = "<group>"; };
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXHLEvents.c; sourceTree = "<group>"; };
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXInit.c; sourceTree = "<group>"; };
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXInt.h; sourceTree = "<group>"; };
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXKeyboard.c; sourceTree = "<group>"; };
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXKeyEvent.c; sourceTree = "<group>"; };
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMenu.c; sourceTree = "<group>"; };
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMenubutton.c; sourceTree = "<group>"; };
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMenus.c; sourceTree = "<group>"; };
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMouseEvent.c; sourceTree = "<group>"; };
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXNotify.c; sourceTree = "<group>"; };
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPort.h; sourceTree = "<group>"; };
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXRegion.c; sourceTree = "<group>"; };
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXScale.c; sourceTree = "<group>"; };
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXScrlbr.c; sourceTree = "<group>"; };
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXSend.c; sourceTree = "<group>"; };
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXSubwindows.c; sourceTree = "<group>"; };
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXTest.c; sourceTree = "<group>"; };
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXWindowEvent.c; sourceTree = "<group>"; };
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXWm.c; sourceTree = "<group>"; };
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXWm.h; sourceTree = "<group>"; };
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = tkMacOSXXCursors.r; sourceTree = "<group>"; };
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXXStubs.c; sourceTree = "<group>"; };
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Wish-Info.plist.in"; sourceTree = "<group>"; };
- F966BBF808F27A3C005CB29B /* Wish.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Wish.icns; sourceTree = "<group>"; };
- F966BC0308F27A3C005CB29B /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F966BC0508F27A3C005CB29B /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F966BC0608F27A3C005CB29B /* arc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arc.tcl; sourceTree = "<group>"; };
- F966BC0708F27A3C005CB29B /* bell.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bell.test; sourceTree = "<group>"; };
- F966BC0808F27A3C005CB29B /* bevel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bevel.tcl; sourceTree = "<group>"; };
- F966BC0908F27A3C005CB29B /* bgerror.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.test; sourceTree = "<group>"; };
- F966BC0A08F27A3C005CB29B /* bind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.test; sourceTree = "<group>"; };
- F966BC0B08F27A3C005CB29B /* bitmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.test; sourceTree = "<group>"; };
- F966BC0C08F27A3C005CB29B /* border.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = border.test; sourceTree = "<group>"; };
- F966BC0D08F27A3C005CB29B /* bugs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bugs.tcl; sourceTree = "<group>"; };
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom.tcl; sourceTree = "<group>"; };
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom2.tcl; sourceTree = "<group>"; };
- F966BC1008F27A3C005CB29B /* button.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.test; sourceTree = "<group>"; };
- F966BC1108F27A3C005CB29B /* canvas.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvas.test; sourceTree = "<group>"; };
- F966BC1208F27A3C005CB29B /* canvImg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvImg.test; sourceTree = "<group>"; };
- F966BC1308F27A3C005CB29B /* canvPs.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPs.test; sourceTree = "<group>"; };
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsArc.tcl; sourceTree = "<group>"; };
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsBmap.tcl; sourceTree = "<group>"; };
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsGrph.tcl; sourceTree = "<group>"; };
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsImg.tcl; sourceTree = "<group>"; };
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsText.tcl; sourceTree = "<group>"; };
- F966BC1908F27A3C005CB29B /* canvRect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvRect.test; sourceTree = "<group>"; };
- F966BC1A08F27A3C005CB29B /* canvText.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvText.test; sourceTree = "<group>"; };
- F966BC1B08F27A3C005CB29B /* canvWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvWind.test; sourceTree = "<group>"; };
- F966BC1C08F27A3C005CB29B /* choosedir.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.test; sourceTree = "<group>"; };
- F966BC1D08F27A3C005CB29B /* clipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clipboard.test; sourceTree = "<group>"; };
- F966BC1E08F27A3C005CB29B /* clrpick.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.test; sourceTree = "<group>"; };
- F966BC1F08F27A3C005CB29B /* cmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmap.tcl; sourceTree = "<group>"; };
- F966BC2008F27A3C005CB29B /* cmds.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmds.test; sourceTree = "<group>"; };
- F966BC2108F27A3C005CB29B /* color.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = color.test; sourceTree = "<group>"; };
- F966BC2208F27A3C005CB29B /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F966BC2308F27A3C005CB29B /* constraints.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = constraints.tcl; sourceTree = "<group>"; };
- F966BC2408F27A3C005CB29B /* cursor.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursor.test; sourceTree = "<group>"; };
- F966BC2508F27A3C005CB29B /* dialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.test; sourceTree = "<group>"; };
- F966BC2608F27A3C005CB29B /* embed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = embed.test; sourceTree = "<group>"; };
- F966BC2708F27A3C005CB29B /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F966BC2808F27A3C005CB29B /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F966BC2908F27A3C005CB29B /* filebox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.test; sourceTree = "<group>"; };
- F966BC2A08F27A3C005CB29B /* focus.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.test; sourceTree = "<group>"; };
- F966BC2B08F27A3C005CB29B /* focusTcl.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focusTcl.test; sourceTree = "<group>"; };
- F966BC2C08F27A3C005CB29B /* font.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = font.test; sourceTree = "<group>"; };
- F966BC2D08F27A3C005CB29B /* frame.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = frame.test; sourceTree = "<group>"; };
- F966BC2E08F27A3C005CB29B /* geometry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = geometry.test; sourceTree = "<group>"; };
- F966BC2F08F27A3C005CB29B /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F966BC3008F27A3C005CB29B /* grab.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grab.test; sourceTree = "<group>"; };
- F966BC3108F27A3C005CB29B /* grid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grid.test; sourceTree = "<group>"; };
- F966BC3308F27A3C005CB29B /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F966BC3408F27A3C005CB29B /* imgBmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgBmap.test; sourceTree = "<group>"; };
- F966BC3508F27A3C005CB29B /* imgPhoto.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPhoto.test; sourceTree = "<group>"; };
- F966BC3608F27A3C005CB29B /* imgPPM.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPPM.test; sourceTree = "<group>"; };
- F966BC3708F27A3C005CB29B /* listbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.test; sourceTree = "<group>"; };
- F966BC3808F27A3C005CB29B /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F966BC3908F27A3C005CB29B /* menu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.test; sourceTree = "<group>"; };
- F966BC3A08F27A3C005CB29B /* menubut.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubut.test; sourceTree = "<group>"; };
- F966BC3B08F27A3C005CB29B /* menuDraw.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menuDraw.test; sourceTree = "<group>"; };
- F966BC3C08F27A3C005CB29B /* message.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = message.test; sourceTree = "<group>"; };
- F966BC3D08F27A3C005CB29B /* msgbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.test; sourceTree = "<group>"; };
- F966BC3E08F27A3C005CB29B /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F966BC3F08F27A3C005CB29B /* oldpack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oldpack.test; sourceTree = "<group>"; };
- F966BC4008F27A3C005CB29B /* option.file1 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file1; sourceTree = "<group>"; };
- F966BC4108F27A3C005CB29B /* option.file2 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file2; sourceTree = "<group>"; };
- F966BC4208F27A3C005CB29B /* option.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = option.test; sourceTree = "<group>"; };
- F966BC4308F27A3C005CB29B /* pack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pack.test; sourceTree = "<group>"; };
- F966BC4408F27A3C005CB29B /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F966BC4508F27A3D005CB29B /* place.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = place.test; sourceTree = "<group>"; };
- F966BC4608F27A3D005CB29B /* raise.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = raise.test; sourceTree = "<group>"; };
- F966BC4708F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC4808F27A3D005CB29B /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F966BC4908F27A3D005CB29B /* scale.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.test; sourceTree = "<group>"; };
- F966BC4A08F27A3D005CB29B /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F966BC4B08F27A3D005CB29B /* select.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = select.test; sourceTree = "<group>"; };
- F966BC4C08F27A3D005CB29B /* send.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = send.test; sourceTree = "<group>"; };
- F966BC4D08F27A3D005CB29B /* spinbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.test; sourceTree = "<group>"; };
- F966BC4E08F27A3D005CB29B /* text.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.test; sourceTree = "<group>"; };
- F966BC4F08F27A3D005CB29B /* textBTree.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textBTree.test; sourceTree = "<group>"; };
- F966BC5008F27A3D005CB29B /* textDisp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textDisp.test; sourceTree = "<group>"; };
- F966BC5108F27A3D005CB29B /* textImage.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textImage.test; sourceTree = "<group>"; };
- F966BC5208F27A3D005CB29B /* textIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textIndex.test; sourceTree = "<group>"; };
- F966BC5308F27A3D005CB29B /* textMark.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textMark.test; sourceTree = "<group>"; };
- F966BC5408F27A3D005CB29B /* textTag.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textTag.test; sourceTree = "<group>"; };
- F966BC5508F27A3D005CB29B /* textWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textWind.test; sourceTree = "<group>"; };
- F966BC5608F27A3D005CB29B /* tk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.test; sourceTree = "<group>"; };
- F966BC5708F27A3D005CB29B /* unixButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixButton.test; sourceTree = "<group>"; };
- F966BC5808F27A3D005CB29B /* unixEmbed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixEmbed.test; sourceTree = "<group>"; };
- F966BC5908F27A3D005CB29B /* unixFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFont.test; sourceTree = "<group>"; };
- F966BC5A08F27A3D005CB29B /* unixMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixMenu.test; sourceTree = "<group>"; };
- F966BC5B08F27A3D005CB29B /* unixSelect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixSelect.test; sourceTree = "<group>"; };
- F966BC5C08F27A3D005CB29B /* unixWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixWm.test; sourceTree = "<group>"; };
- F966BC5D08F27A3D005CB29B /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F966BC5E08F27A3D005CB29B /* visual.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual.test; sourceTree = "<group>"; };
- F966BC5F08F27A3D005CB29B /* visual_bb.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual_bb.test; sourceTree = "<group>"; };
- F966BC6008F27A3D005CB29B /* winButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winButton.test; sourceTree = "<group>"; };
- F966BC6108F27A3D005CB29B /* winClipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winClipboard.test; sourceTree = "<group>"; };
- F966BC6208F27A3D005CB29B /* winDialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDialog.test; sourceTree = "<group>"; };
- F966BC6308F27A3D005CB29B /* window.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = window.test; sourceTree = "<group>"; };
- F966BC6408F27A3D005CB29B /* winfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winfo.test; sourceTree = "<group>"; };
- F966BC6508F27A3D005CB29B /* winFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFont.test; sourceTree = "<group>"; };
- F966BC6608F27A3D005CB29B /* winMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winMenu.test; sourceTree = "<group>"; };
- F966BC6708F27A3D005CB29B /* winSend.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winSend.test; sourceTree = "<group>"; };
- F966BC6808F27A3D005CB29B /* winWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winWm.test; sourceTree = "<group>"; };
- F966BC6908F27A3D005CB29B /* wm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = wm.test; sourceTree = "<group>"; };
- F966BC6A08F27A3D005CB29B /* xmfbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.test; sourceTree = "<group>"; };
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC6D08F27A3D005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC6E08F27A3D005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC6F08F27A3D005CB29B /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F966BC7008F27A3D005CB29B /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F966BC7108F27A3D005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC7208F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC7308F27A3D005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BC7408F27A3D005CB29B /* tk.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.spec; sourceTree = "<group>"; };
- F966BC7508F27A3D005CB29B /* tkAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAppInit.c; sourceTree = "<group>"; };
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tkConfig.h.in; sourceTree = "<group>"; };
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BC7808F27A3D005CB29B /* tkUnix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix.c; sourceTree = "<group>"; };
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix3d.c; sourceTree = "<group>"; };
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixButton.c; sourceTree = "<group>"; };
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixColor.c; sourceTree = "<group>"; };
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixConfig.c; sourceTree = "<group>"; };
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixCursor.c; sourceTree = "<group>"; };
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixDefault.h; sourceTree = "<group>"; };
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDialog.c; sourceTree = "<group>"; };
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDraw.c; sourceTree = "<group>"; };
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEmbed.c; sourceTree = "<group>"; };
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEvent.c; sourceTree = "<group>"; };
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFocus.c; sourceTree = "<group>"; };
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFont.c; sourceTree = "<group>"; };
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixInit.c; sourceTree = "<group>"; };
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixInt.h; sourceTree = "<group>"; };
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixKey.c; sourceTree = "<group>"; };
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenu.c; sourceTree = "<group>"; };
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenubu.c; sourceTree = "<group>"; };
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixPort.h; sourceTree = "<group>"; };
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixRFont.c; sourceTree = "<group>"; };
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScale.c; sourceTree = "<group>"; };
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScrlbr.c; sourceTree = "<group>"; };
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSelect.c; sourceTree = "<group>"; };
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSend.c; sourceTree = "<group>"; };
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixWm.c; sourceTree = "<group>"; };
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixXId.c; sourceTree = "<group>"; };
- F966BC9408F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F966BC9608F27A3E005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC9708F27A3E005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC9808F27A3E005CB29B /* makefile.bc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.bc; sourceTree = "<group>"; };
- F966BC9908F27A3E005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC9A08F27A3E005CB29B /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F966BC9B08F27A3E005CB29B /* mkd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mkd.bat; sourceTree = "<group>"; };
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F966BCEE08F27A3E005CB29B /* tk.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.rc; sourceTree = "<group>"; };
- F966BCEF08F27A3E005CB29B /* tk_base.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk_base.rc; sourceTree = "<group>"; };
- F966BCF208F27A3E005CB29B /* wish.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wish.rc; sourceTree = "<group>"; };
- F966BCF308F27A3E005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BCF408F27A3E005CB29B /* rmd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rmd.bat; sourceTree = "<group>"; };
- F966BCF508F27A3F005CB29B /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F966BCF608F27A3F005CB29B /* stubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stubs.c; sourceTree = "<group>"; };
- F966BCF708F27A3F005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BCF908F27A3F005CB29B /* tkWin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWin.h; sourceTree = "<group>"; };
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin32Dll.c; sourceTree = "<group>"; };
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin3d.c; sourceTree = "<group>"; };
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinButton.c; sourceTree = "<group>"; };
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinClipboard.c; sourceTree = "<group>"; };
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinColor.c; sourceTree = "<group>"; };
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinConfig.c; sourceTree = "<group>"; };
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinCursor.c; sourceTree = "<group>"; };
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinDefault.h; sourceTree = "<group>"; };
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDialog.c; sourceTree = "<group>"; };
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDraw.c; sourceTree = "<group>"; };
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinEmbed.c; sourceTree = "<group>"; };
- F966BD0508F27A3F005CB29B /* tkWinFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinFont.c; sourceTree = "<group>"; };
- F966BD0708F27A3F005CB29B /* tkWinImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinImage.c; sourceTree = "<group>"; };
- F966BD0808F27A3F005CB29B /* tkWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinInit.c; sourceTree = "<group>"; };
- F966BD0908F27A3F005CB29B /* tkWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinInt.h; sourceTree = "<group>"; };
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinKey.c; sourceTree = "<group>"; };
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinMenu.c; sourceTree = "<group>"; };
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPixmap.c; sourceTree = "<group>"; };
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPointer.c; sourceTree = "<group>"; };
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinPort.h; sourceTree = "<group>"; };
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinRegion.c; sourceTree = "<group>"; };
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinScrlbr.c; sourceTree = "<group>"; };
- F966BD1108F27A3F005CB29B /* tkWinSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSend.c; sourceTree = "<group>"; };
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSendCom.c; sourceTree = "<group>"; };
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinSendCom.h; sourceTree = "<group>"; };
- F966BD1408F27A3F005CB29B /* tkWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinTest.c; sourceTree = "<group>"; };
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWindow.c; sourceTree = "<group>"; };
- F966BD1608F27A3F005CB29B /* tkWinWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWm.c; sourceTree = "<group>"; };
- F966BD1708F27A3F005CB29B /* tkWinX.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinX.c; sourceTree = "<group>"; };
- F966BD1808F27A3F005CB29B /* winMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = winMain.c; sourceTree = "<group>"; };
- F966BD1B08F27A3F005CB29B /* cursorfont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cursorfont.h; sourceTree = "<group>"; };
- F966BD1C08F27A3F005CB29B /* keysym.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysym.h; sourceTree = "<group>"; };
- F966BD1D08F27A3F005CB29B /* keysymdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysymdef.h; sourceTree = "<group>"; };
- F966BD1E08F27A3F005CB29B /* X.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = X.h; sourceTree = "<group>"; };
- F966BD1F08F27A3F005CB29B /* Xatom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xatom.h; sourceTree = "<group>"; };
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xfuncproto.h; sourceTree = "<group>"; };
- F966BD2108F27A3F005CB29B /* Xlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xlib.h; sourceTree = "<group>"; };
- F966BD2208F27A3F005CB29B /* Xutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xutil.h; sourceTree = "<group>"; };
- F966BD2308F27A3F005CB29B /* xbytes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xbytes.h; sourceTree = "<group>"; };
- F966BD2408F27A3F005CB29B /* xcolors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xcolors.c; sourceTree = "<group>"; };
- F966BD2508F27A3F005CB29B /* xdraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xdraw.c; sourceTree = "<group>"; };
- F966BD2608F27A3F005CB29B /* xgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xgc.c; sourceTree = "<group>"; };
- F966BD2708F27A3F005CB29B /* ximage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ximage.c; sourceTree = "<group>"; };
- F966BD2808F27A3F005CB29B /* xutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xutil.c; sourceTree = "<group>"; };
- F966C07408F2820D005CB29B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
- F966C07608F2821B005CB29B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
- F966C07808F28233005CB29B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
- F96887E00AF786D5000797B5 /* ttk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.decls; sourceTree = "<group>"; };
- F96887E10AF786D5000797B5 /* ttkBlink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkBlink.c; sourceTree = "<group>"; };
- F96887E20AF786D5000797B5 /* ttkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkButton.c; sourceTree = "<group>"; };
- F96887E30AF786D5000797B5 /* ttkCache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkCache.c; sourceTree = "<group>"; };
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClamTheme.c; sourceTree = "<group>"; };
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClassicTheme.c; sourceTree = "<group>"; };
- F96887E60AF786D5000797B5 /* ttkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkDecls.h; sourceTree = "<group>"; };
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkDefaultTheme.c; sourceTree = "<group>"; };
- F96887E80AF786D5000797B5 /* ttkElements.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkElements.c; sourceTree = "<group>"; };
- F96887E90AF786D5000797B5 /* ttkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkEntry.c; sourceTree = "<group>"; };
- F96887EA0AF786D5000797B5 /* ttkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkFrame.c; sourceTree = "<group>"; };
- F96887EB0AF786D5000797B5 /* ttkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkImage.c; sourceTree = "<group>"; };
- F96887EC0AF786D5000797B5 /* ttkInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkInit.c; sourceTree = "<group>"; };
- F96887ED0AF786D5000797B5 /* ttkLabel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLabel.c; sourceTree = "<group>"; };
- F96887EE0AF786D5000797B5 /* ttkLayout.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLayout.c; sourceTree = "<group>"; };
- F96887EF0AF786D5000797B5 /* ttkManager.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkManager.c; sourceTree = "<group>"; };
- F96887F00AF786D5000797B5 /* ttkManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkManager.h; sourceTree = "<group>"; };
- F96887F10AF786D5000797B5 /* ttkNotebook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkNotebook.c; sourceTree = "<group>"; };
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkPanedwindow.c; sourceTree = "<group>"; };
- F96887F30AF786D5000797B5 /* ttkProgress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkProgress.c; sourceTree = "<group>"; };
- F96887F40AF786D5000797B5 /* ttkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScale.c; sourceTree = "<group>"; };
- F96887F50AF786D5000797B5 /* ttkScroll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScroll.c; sourceTree = "<group>"; };
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScrollbar.c; sourceTree = "<group>"; };
- F96887F70AF786D5000797B5 /* ttkSeparator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSeparator.c; sourceTree = "<group>"; };
- F96887F80AF786D5000797B5 /* ttkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSquare.c; sourceTree = "<group>"; };
- F96887F90AF786D5000797B5 /* ttkState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkState.c; sourceTree = "<group>"; };
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubInit.c; sourceTree = "<group>"; };
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubLib.c; sourceTree = "<group>"; };
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTagSet.c; sourceTree = "<group>"; };
- F96887FD0AF786D5000797B5 /* ttkTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTheme.c; sourceTree = "<group>"; };
- F96887FE0AF786D5000797B5 /* ttkTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkTheme.h; sourceTree = "<group>"; };
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkThemeInt.h; sourceTree = "<group>"; };
- F96888000AF786D5000797B5 /* ttkTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrace.c; sourceTree = "<group>"; };
- F96888010AF786D5000797B5 /* ttkTrack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrack.c; sourceTree = "<group>"; };
- F96888020AF786D5000797B5 /* ttkTreeview.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTreeview.c; sourceTree = "<group>"; };
- F96888030AF786D5000797B5 /* ttkWidget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWidget.c; sourceTree = "<group>"; };
- F96888040AF786D5000797B5 /* ttkWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkWidget.h; sourceTree = "<group>"; };
- F96888370AF787B3000797B5 /* altTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = altTheme.tcl; sourceTree = "<group>"; };
- F96888380AF787B3000797B5 /* aquaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aquaTheme.tcl; sourceTree = "<group>"; };
- F96888390AF787B3000797B5 /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F968883A0AF787B3000797B5 /* clamTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clamTheme.tcl; sourceTree = "<group>"; };
- F968883B0AF787B3000797B5 /* classicTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = classicTheme.tcl; sourceTree = "<group>"; };
- F968883C0AF787B3000797B5 /* combobox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.tcl; sourceTree = "<group>"; };
- F968883D0AF787B3000797B5 /* cursors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursors.tcl; sourceTree = "<group>"; };
- F968883E0AF787B3000797B5 /* defaults.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = defaults.tcl; sourceTree = "<group>"; };
- F96888400AF787B3000797B5 /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F96888410AF787B3000797B5 /* fonts.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fonts.tcl; sourceTree = "<group>"; };
- F96888440AF787B3000797B5 /* menubutton.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubutton.tcl; sourceTree = "<group>"; };
- F96888450AF787B3000797B5 /* notebook.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.tcl; sourceTree = "<group>"; };
- F96888460AF787B3000797B5 /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F96888470AF787B3000797B5 /* progress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progress.tcl; sourceTree = "<group>"; };
- F96888480AF787B3000797B5 /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F96888490AF787B3000797B5 /* scrollbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.tcl; sourceTree = "<group>"; };
- F968884A0AF787B3000797B5 /* sizegrip.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sizegrip.tcl; sourceTree = "<group>"; };
- F968884B0AF787B3000797B5 /* treeview.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.tcl; sourceTree = "<group>"; };
- F968884C0AF787B3000797B5 /* ttk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.tcl; sourceTree = "<group>"; };
- F968884D0AF787B3000797B5 /* utils.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utils.tcl; sourceTree = "<group>"; };
- F968884E0AF787B3000797B5 /* winTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTheme.tcl; sourceTree = "<group>"; };
- F968884F0AF787B3000797B5 /* xpTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xpTheme.tcl; sourceTree = "<group>"; };
- F96888540AF7880C000797B5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96888560AF7880C000797B5 /* combobox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.test; sourceTree = "<group>"; };
- F96888570AF7880C000797B5 /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F96888580AF7880C000797B5 /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F96888590AF7880C000797B5 /* labelframe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.test; sourceTree = "<group>"; };
- F968885A0AF7880C000797B5 /* layout.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = layout.test; sourceTree = "<group>"; };
- F968885C0AF7880C000797B5 /* notebook.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.test; sourceTree = "<group>"; };
- F968885D0AF7880C000797B5 /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F968885E0AF7880C000797B5 /* progressbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progressbar.test; sourceTree = "<group>"; };
- F968885F0AF7880C000797B5 /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F96888600AF7880C000797B5 /* treetags.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treetags.test; sourceTree = "<group>"; };
- F96888610AF7880C000797B5 /* treeview.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.test; sourceTree = "<group>"; };
- F96888620AF7880C000797B5 /* ttk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.test; sourceTree = "<group>"; };
- F96888630AF7880C000797B5 /* validate.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = validate.test; sourceTree = "<group>"; };
- F968886B0AF788F6000797B5 /* ttk_button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_button.n; sourceTree = "<group>"; };
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_checkbutton.n; sourceTree = "<group>"; };
- F968886D0AF788F6000797B5 /* ttk_combobox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_combobox.n; sourceTree = "<group>"; };
- F968886F0AF788F6000797B5 /* ttk_entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_entry.n; sourceTree = "<group>"; };
- F96888700AF788F6000797B5 /* ttk_frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_frame.n; sourceTree = "<group>"; };
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Geometry.3; sourceTree = "<group>"; };
- F96888720AF788F6000797B5 /* ttk_image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_image.n; sourceTree = "<group>"; };
- F96888730AF788F6000797B5 /* ttk_intro.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_intro.n; sourceTree = "<group>"; };
- F96888740AF788F6000797B5 /* ttk_label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_label.n; sourceTree = "<group>"; };
- F96888750AF788F6000797B5 /* ttk_labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_labelframe.n; sourceTree = "<group>"; };
- F96888760AF788F6000797B5 /* ttk_menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_menubutton.n; sourceTree = "<group>"; };
- F96888770AF788F6000797B5 /* ttk_notebook.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_notebook.n; sourceTree = "<group>"; };
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_panedwindow.n; sourceTree = "<group>"; };
- F96888790AF788F6000797B5 /* ttk_progressbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_progressbar.n; sourceTree = "<group>"; };
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_radiobutton.n; sourceTree = "<group>"; };
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_scrollbar.n; sourceTree = "<group>"; };
- F968887C0AF788F6000797B5 /* ttk_separator.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_separator.n; sourceTree = "<group>"; };
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_sizegrip.n; sourceTree = "<group>"; };
- F968887E0AF788F6000797B5 /* ttk_style.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_style.n; sourceTree = "<group>"; };
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Theme.3; sourceTree = "<group>"; };
- F96888800AF788F6000797B5 /* ttk_treeview.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_treeview.n; sourceTree = "<group>"; };
- F96888810AF788F6000797B5 /* ttk_widget.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_widget.n; sourceTree = "<group>"; };
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkMacOSXTheme.c; sourceTree = "<group>"; };
- F96888860AF78953000797B5 /* ttkWinMonitor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinMonitor.c; sourceTree = "<group>"; };
- F96888870AF78953000797B5 /* ttkWinTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinTheme.c; sourceTree = "<group>"; };
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinXPTheme.c; sourceTree = "<group>"; };
- F96D3DFA08F272A4004A47F5 /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F96D3DFB08F272A4004A47F5 /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F96D3DFD08F272A4004A47F5 /* Access.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Access.3; sourceTree = "<group>"; };
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddErrInfo.3; sourceTree = "<group>"; };
- F96D3DFF08F272A4004A47F5 /* after.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = after.n; sourceTree = "<group>"; };
- F96D3E0008F272A4004A47F5 /* Alloc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Alloc.3; sourceTree = "<group>"; };
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AllowExc.3; sourceTree = "<group>"; };
- F96D3E0208F272A4004A47F5 /* append.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = append.n; sourceTree = "<group>"; };
- F96D3E0308F272A4004A47F5 /* AppInit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AppInit.3; sourceTree = "<group>"; };
- F96D3E0408F272A5004A47F5 /* array.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = array.n; sourceTree = "<group>"; };
- F96D3E0508F272A5004A47F5 /* AssocData.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AssocData.3; sourceTree = "<group>"; };
- F96D3E0608F272A5004A47F5 /* Async.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Async.3; sourceTree = "<group>"; };
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BackgdErr.3; sourceTree = "<group>"; };
- F96D3E0808F272A5004A47F5 /* Backslash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Backslash.3; sourceTree = "<group>"; };
- F96D3E0908F272A5004A47F5 /* bgerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bgerror.n; sourceTree = "<group>"; };
- F96D3E0A08F272A5004A47F5 /* binary.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = binary.n; sourceTree = "<group>"; };
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BoolObj.3; sourceTree = "<group>"; };
- F96D3E0C08F272A5004A47F5 /* break.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = break.n; sourceTree = "<group>"; };
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ByteArrObj.3; sourceTree = "<group>"; };
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CallDel.3; sourceTree = "<group>"; };
- F96D3E0F08F272A5004A47F5 /* case.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = case.n; sourceTree = "<group>"; };
- F96D3E1008F272A5004A47F5 /* catch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = catch.n; sourceTree = "<group>"; };
- F96D3E1108F272A5004A47F5 /* cd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cd.n; sourceTree = "<group>"; };
- F96D3E1208F272A5004A47F5 /* chan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chan.n; sourceTree = "<group>"; };
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ChnlStack.3; sourceTree = "<group>"; };
- F96D3E1408F272A5004A47F5 /* clock.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clock.n; sourceTree = "<group>"; };
- F96D3E1508F272A5004A47F5 /* close.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = close.n; sourceTree = "<group>"; };
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CmdCmplt.3; sourceTree = "<group>"; };
- F96D3E1708F272A5004A47F5 /* Concat.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Concat.3; sourceTree = "<group>"; };
- F96D3E1808F272A5004A47F5 /* concat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = concat.n; sourceTree = "<group>"; };
- F96D3E1908F272A5004A47F5 /* continue.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = continue.n; sourceTree = "<group>"; };
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChannel.3; sourceTree = "<group>"; };
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChnlHdlr.3; sourceTree = "<group>"; };
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCloseHdlr.3; sourceTree = "<group>"; };
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCommand.3; sourceTree = "<group>"; };
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtFileHdlr.3; sourceTree = "<group>"; };
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtInterp.3; sourceTree = "<group>"; };
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtMathFnc.3; sourceTree = "<group>"; };
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtObjCmd.3; sourceTree = "<group>"; };
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSlave.3; sourceTree = "<group>"; };
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTimerHdlr.3; sourceTree = "<group>"; };
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTrace.3; sourceTree = "<group>"; };
- F96D3E2508F272A5004A47F5 /* dde.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dde.n; sourceTree = "<group>"; };
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DetachPids.3; sourceTree = "<group>"; };
- F96D3E2708F272A5004A47F5 /* dict.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dict.n; sourceTree = "<group>"; };
- F96D3E2808F272A5004A47F5 /* DictObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DictObj.3; sourceTree = "<group>"; };
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoOneEvent.3; sourceTree = "<group>"; };
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoubleObj.3; sourceTree = "<group>"; };
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoWhenIdle.3; sourceTree = "<group>"; };
- F96D3E2C08F272A5004A47F5 /* DString.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DString.3; sourceTree = "<group>"; };
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DumpActiveMemory.3; sourceTree = "<group>"; };
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Encoding.3; sourceTree = "<group>"; };
- F96D3E2F08F272A5004A47F5 /* encoding.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = encoding.n; sourceTree = "<group>"; };
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Ensemble.3; sourceTree = "<group>"; };
- F96D3E3108F272A5004A47F5 /* Environment.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Environment.3; sourceTree = "<group>"; };
- F96D3E3208F272A5004A47F5 /* eof.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eof.n; sourceTree = "<group>"; };
- F96D3E3308F272A5004A47F5 /* error.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = error.n; sourceTree = "<group>"; };
- F96D3E3408F272A5004A47F5 /* Eval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Eval.3; sourceTree = "<group>"; };
- F96D3E3508F272A5004A47F5 /* eval.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eval.n; sourceTree = "<group>"; };
- F96D3E3608F272A5004A47F5 /* exec.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exec.n; sourceTree = "<group>"; };
- F96D3E3708F272A5004A47F5 /* Exit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Exit.3; sourceTree = "<group>"; };
- F96D3E3808F272A5004A47F5 /* exit.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exit.n; sourceTree = "<group>"; };
- F96D3E3908F272A5004A47F5 /* expr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = expr.n; sourceTree = "<group>"; };
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLong.3; sourceTree = "<group>"; };
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLongObj.3; sourceTree = "<group>"; };
- F96D3E3C08F272A5004A47F5 /* fblocked.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fblocked.n; sourceTree = "<group>"; };
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fconfigure.n; sourceTree = "<group>"; };
- F96D3E3E08F272A5004A47F5 /* fcopy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fcopy.n; sourceTree = "<group>"; };
- F96D3E3F08F272A5004A47F5 /* file.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = file.n; sourceTree = "<group>"; };
- F96D3E4008F272A5004A47F5 /* fileevent.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fileevent.n; sourceTree = "<group>"; };
- F96D3E4108F272A5004A47F5 /* filename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = filename.n; sourceTree = "<group>"; };
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FileSystem.3; sourceTree = "<group>"; };
- F96D3E4308F272A5004A47F5 /* FindExec.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindExec.3; sourceTree = "<group>"; };
- F96D3E4408F272A5004A47F5 /* flush.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = flush.n; sourceTree = "<group>"; };
- F96D3E4508F272A5004A47F5 /* for.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = for.n; sourceTree = "<group>"; };
- F96D3E4608F272A5004A47F5 /* foreach.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = foreach.n; sourceTree = "<group>"; };
- F96D3E4708F272A5004A47F5 /* format.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = format.n; sourceTree = "<group>"; };
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCwd.3; sourceTree = "<group>"; };
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHostName.3; sourceTree = "<group>"; };
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetIndex.3; sourceTree = "<group>"; };
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetInt.3; sourceTree = "<group>"; };
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOpnFl.3; sourceTree = "<group>"; };
- F96D3E4D08F272A5004A47F5 /* gets.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = gets.n; sourceTree = "<group>"; };
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetStdChan.3; sourceTree = "<group>"; };
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetTime.3; sourceTree = "<group>"; };
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVersion.3; sourceTree = "<group>"; };
- F96D3E5108F272A5004A47F5 /* glob.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = glob.n; sourceTree = "<group>"; };
- F96D3E5208F272A6004A47F5 /* global.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = global.n; sourceTree = "<group>"; };
- F96D3E5308F272A6004A47F5 /* Hash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Hash.3; sourceTree = "<group>"; };
- F96D3E5408F272A6004A47F5 /* history.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = history.n; sourceTree = "<group>"; };
- F96D3E5508F272A6004A47F5 /* http.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = http.n; sourceTree = "<group>"; };
- F96D3E5608F272A6004A47F5 /* if.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = if.n; sourceTree = "<group>"; };
- F96D3E5708F272A6004A47F5 /* incr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = incr.n; sourceTree = "<group>"; };
- F96D3E5808F272A6004A47F5 /* info.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = info.n; sourceTree = "<group>"; };
- F96D3E5908F272A6004A47F5 /* Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Init.3; sourceTree = "<group>"; };
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InitStubs.3; sourceTree = "<group>"; };
- F96D3E5B08F272A6004A47F5 /* Interp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Interp.3; sourceTree = "<group>"; };
- F96D3E5C08F272A6004A47F5 /* interp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = interp.n; sourceTree = "<group>"; };
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IntObj.3; sourceTree = "<group>"; };
- F96D3E5E08F272A6004A47F5 /* join.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = join.n; sourceTree = "<group>"; };
- F96D3E5F08F272A6004A47F5 /* lappend.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lappend.n; sourceTree = "<group>"; };
- F96D3E6008F272A6004A47F5 /* lassign.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lassign.n; sourceTree = "<group>"; };
- F96D3E6108F272A6004A47F5 /* library.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = library.n; sourceTree = "<group>"; };
- F96D3E6208F272A6004A47F5 /* Limit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Limit.3; sourceTree = "<group>"; };
- F96D3E6308F272A6004A47F5 /* lindex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lindex.n; sourceTree = "<group>"; };
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = LinkVar.3; sourceTree = "<group>"; };
- F96D3E6508F272A6004A47F5 /* linsert.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = linsert.n; sourceTree = "<group>"; };
- F96D3E6608F272A6004A47F5 /* list.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = list.n; sourceTree = "<group>"; };
- F96D3E6708F272A6004A47F5 /* ListObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ListObj.3; sourceTree = "<group>"; };
- F96D3E6808F272A6004A47F5 /* llength.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = llength.n; sourceTree = "<group>"; };
- F96D3E6908F272A6004A47F5 /* load.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = load.n; sourceTree = "<group>"; };
- F96D3E6A08F272A6004A47F5 /* lrange.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrange.n; sourceTree = "<group>"; };
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrepeat.n; sourceTree = "<group>"; };
- F96D3E6C08F272A6004A47F5 /* lreplace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lreplace.n; sourceTree = "<group>"; };
- F96D3E6D08F272A6004A47F5 /* lsearch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsearch.n; sourceTree = "<group>"; };
- F96D3E6E08F272A6004A47F5 /* lset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lset.n; sourceTree = "<group>"; };
- F96D3E6F08F272A6004A47F5 /* lsort.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsort.n; sourceTree = "<group>"; };
- F96D3E7008F272A6004A47F5 /* man.macros */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = man.macros; sourceTree = "<group>"; };
- F96D3E7108F272A6004A47F5 /* mathfunc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = mathfunc.n; sourceTree = "<group>"; };
- F96D3E7208F272A6004A47F5 /* memory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = memory.n; sourceTree = "<group>"; };
- F96D3E7308F272A6004A47F5 /* msgcat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = msgcat.n; sourceTree = "<group>"; };
- F96D3E7408F272A6004A47F5 /* Namespace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Namespace.3; sourceTree = "<group>"; };
- F96D3E7508F272A6004A47F5 /* namespace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = namespace.n; sourceTree = "<group>"; };
- F96D3E7608F272A6004A47F5 /* Notifier.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Notifier.3; sourceTree = "<group>"; };
- F96D3E7708F272A6004A47F5 /* Object.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Object.3; sourceTree = "<group>"; };
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ObjectType.3; sourceTree = "<group>"; };
- F96D3E7908F272A6004A47F5 /* open.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = open.n; sourceTree = "<group>"; };
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenFileChnl.3; sourceTree = "<group>"; };
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenTcp.3; sourceTree = "<group>"; };
- F96D3E7C08F272A6004A47F5 /* package.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = package.n; sourceTree = "<group>"; };
- F96D3E7D08F272A6004A47F5 /* packagens.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = packagens.n; sourceTree = "<group>"; };
- F96D3E7E08F272A6004A47F5 /* Panic.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Panic.3; sourceTree = "<group>"; };
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseCmd.3; sourceTree = "<group>"; };
- F96D3E8008F272A6004A47F5 /* pid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pid.n; sourceTree = "<group>"; };
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pkgMkIndex.n; sourceTree = "<group>"; };
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PkgRequire.3; sourceTree = "<group>"; };
- F96D3E8308F272A6004A47F5 /* Preserve.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Preserve.3; sourceTree = "<group>"; };
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PrintDbl.3; sourceTree = "<group>"; };
- F96D3E8508F272A6004A47F5 /* proc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = proc.n; sourceTree = "<group>"; };
- F96D3E8608F272A6004A47F5 /* puts.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = puts.n; sourceTree = "<group>"; };
- F96D3E8708F272A6004A47F5 /* pwd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pwd.n; sourceTree = "<group>"; };
- F96D3E8808F272A6004A47F5 /* re_syntax.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = re_syntax.n; sourceTree = "<group>"; };
- F96D3E8908F272A6004A47F5 /* read.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = read.n; sourceTree = "<group>"; };
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecEvalObj.3; sourceTree = "<group>"; };
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecordEval.3; sourceTree = "<group>"; };
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegConfig.3; sourceTree = "<group>"; };
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegExp.3; sourceTree = "<group>"; };
- F96D3E8E08F272A6004A47F5 /* regexp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regexp.n; sourceTree = "<group>"; };
- F96D3E8F08F272A6004A47F5 /* registry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = registry.n; sourceTree = "<group>"; };
- F96D3E9008F272A6004A47F5 /* regsub.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regsub.n; sourceTree = "<group>"; };
- F96D3E9108F272A6004A47F5 /* rename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = rename.n; sourceTree = "<group>"; };
- F96D3E9208F272A6004A47F5 /* return.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = return.n; sourceTree = "<group>"; };
- F96D3E9308F272A6004A47F5 /* safe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = safe.n; sourceTree = "<group>"; };
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SaveResult.3; sourceTree = "<group>"; };
- F96D3E9508F272A6004A47F5 /* scan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scan.n; sourceTree = "<group>"; };
- F96D3E9608F272A6004A47F5 /* seek.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = seek.n; sourceTree = "<group>"; };
- F96D3E9708F272A6004A47F5 /* set.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = set.n; sourceTree = "<group>"; };
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetChanErr.3; sourceTree = "<group>"; };
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetErrno.3; sourceTree = "<group>"; };
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetRecLmt.3; sourceTree = "<group>"; };
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetResult.3; sourceTree = "<group>"; };
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVar.3; sourceTree = "<group>"; };
- F96D3E9D08F272A7004A47F5 /* Signal.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Signal.3; sourceTree = "<group>"; };
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Sleep.3; sourceTree = "<group>"; };
- F96D3E9F08F272A7004A47F5 /* socket.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = socket.n; sourceTree = "<group>"; };
- F96D3EA008F272A7004A47F5 /* source.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = source.n; sourceTree = "<group>"; };
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SourceRCFile.3; sourceTree = "<group>"; };
- F96D3EA208F272A7004A47F5 /* split.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = split.n; sourceTree = "<group>"; };
- F96D3EA308F272A7004A47F5 /* SplitList.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitList.3; sourceTree = "<group>"; };
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitPath.3; sourceTree = "<group>"; };
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StaticPkg.3; sourceTree = "<group>"; };
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StdChannels.3; sourceTree = "<group>"; };
- F96D3EA708F272A7004A47F5 /* string.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = string.n; sourceTree = "<group>"; };
- F96D3EA808F272A7004A47F5 /* StringObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StringObj.3; sourceTree = "<group>"; };
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrMatch.3; sourceTree = "<group>"; };
- F96D3EAA08F272A7004A47F5 /* subst.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = subst.n; sourceTree = "<group>"; };
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SubstObj.3; sourceTree = "<group>"; };
- F96D3EAC08F272A7004A47F5 /* switch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = switch.n; sourceTree = "<group>"; };
- F96D3EAD08F272A7004A47F5 /* Tcl.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl.n; sourceTree = "<group>"; };
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl_Main.3; sourceTree = "<group>"; };
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TCL_MEM_DEBUG.3; sourceTree = "<group>"; };
- F96D3EB008F272A7004A47F5 /* tclsh.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclsh.1; sourceTree = "<group>"; };
- F96D3EB108F272A7004A47F5 /* tcltest.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tcltest.n; sourceTree = "<group>"; };
- F96D3EB208F272A7004A47F5 /* tclvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclvars.n; sourceTree = "<group>"; };
- F96D3EB308F272A7004A47F5 /* tell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tell.n; sourceTree = "<group>"; };
- F96D3EB408F272A7004A47F5 /* Thread.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Thread.3; sourceTree = "<group>"; };
- F96D3EB508F272A7004A47F5 /* time.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = time.n; sourceTree = "<group>"; };
- F96D3EB608F272A7004A47F5 /* tm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tm.n; sourceTree = "<group>"; };
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ToUpper.3; sourceTree = "<group>"; };
- F96D3EB808F272A7004A47F5 /* trace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = trace.n; sourceTree = "<group>"; };
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceCmd.3; sourceTree = "<group>"; };
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceVar.3; sourceTree = "<group>"; };
- F96D3EBB08F272A7004A47F5 /* Translate.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Translate.3; sourceTree = "<group>"; };
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UniCharIsAlpha.3; sourceTree = "<group>"; };
- F96D3EBD08F272A7004A47F5 /* unknown.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unknown.n; sourceTree = "<group>"; };
- F96D3EBE08F272A7004A47F5 /* unload.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unload.n; sourceTree = "<group>"; };
- F96D3EBF08F272A7004A47F5 /* unset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unset.n; sourceTree = "<group>"; };
- F96D3EC008F272A7004A47F5 /* update.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = update.n; sourceTree = "<group>"; };
- F96D3EC108F272A7004A47F5 /* uplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = uplevel.n; sourceTree = "<group>"; };
- F96D3EC208F272A7004A47F5 /* UpVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UpVar.3; sourceTree = "<group>"; };
- F96D3EC308F272A7004A47F5 /* upvar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = upvar.n; sourceTree = "<group>"; };
- F96D3EC408F272A7004A47F5 /* Utf.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Utf.3; sourceTree = "<group>"; };
- F96D3EC508F272A7004A47F5 /* variable.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = variable.n; sourceTree = "<group>"; };
- F96D3EC608F272A7004A47F5 /* vwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = vwait.n; sourceTree = "<group>"; };
- F96D3EC708F272A7004A47F5 /* while.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = while.n; sourceTree = "<group>"; };
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WrongNumArgs.3; sourceTree = "<group>"; };
- F96D3ECA08F272A7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D3ECB08F272A7004A47F5 /* regc_color.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_color.c; sourceTree = "<group>"; };
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_cvec.c; sourceTree = "<group>"; };
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_lex.c; sourceTree = "<group>"; };
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_locale.c; sourceTree = "<group>"; };
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_nfa.c; sourceTree = "<group>"; };
- F96D3ED008F272A7004A47F5 /* regcomp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regcomp.c; sourceTree = "<group>"; };
- F96D3ED108F272A7004A47F5 /* regcustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regcustom.h; sourceTree = "<group>"; };
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rege_dfa.c; sourceTree = "<group>"; };
- F96D3ED308F272A7004A47F5 /* regerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regerror.c; sourceTree = "<group>"; };
- F96D3ED408F272A7004A47F5 /* regerrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regerrs.h; sourceTree = "<group>"; };
- F96D3ED508F272A7004A47F5 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; };
- F96D3ED608F272A7004A47F5 /* regexec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regexec.c; sourceTree = "<group>"; };
- F96D3ED708F272A7004A47F5 /* regfree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfree.c; sourceTree = "<group>"; };
- F96D3ED808F272A7004A47F5 /* regfronts.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfronts.c; sourceTree = "<group>"; };
- F96D3ED908F272A7004A47F5 /* regguts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regguts.h; sourceTree = "<group>"; };
- F96D3EDA08F272A7004A47F5 /* tcl.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcl.decls; sourceTree = "<group>"; };
- F96D3EDB08F272A7004A47F5 /* tcl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcl.h; sourceTree = "<group>"; };
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAlloc.c; sourceTree = "<group>"; };
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAsync.c; sourceTree = "<group>"; };
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBasic.c; sourceTree = "<group>"; };
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBinary.c; sourceTree = "<group>"; };
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCkalloc.c; sourceTree = "<group>"; };
- F96D3EE108F272A7004A47F5 /* tclClock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclClock.c; sourceTree = "<group>"; };
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdAH.c; sourceTree = "<group>"; };
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdIL.c; sourceTree = "<group>"; };
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdMZ.c; sourceTree = "<group>"; };
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompCmds.c; sourceTree = "<group>"; };
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompExpr.c; sourceTree = "<group>"; };
- F96D3EE708F272A7004A47F5 /* tclCompile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompile.c; sourceTree = "<group>"; };
- F96D3EE808F272A7004A47F5 /* tclCompile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclCompile.h; sourceTree = "<group>"; };
- F96D3EE908F272A7004A47F5 /* tclConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclConfig.c; sourceTree = "<group>"; };
- F96D3EEA08F272A7004A47F5 /* tclDate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDate.c; sourceTree = "<group>"; };
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclDecls.h; sourceTree = "<group>"; };
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDictObj.c; sourceTree = "<group>"; };
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEncoding.c; sourceTree = "<group>"; };
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEnv.c; sourceTree = "<group>"; };
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEvent.c; sourceTree = "<group>"; };
- F96D3EF008F272A7004A47F5 /* tclExecute.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclExecute.c; sourceTree = "<group>"; };
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFCmd.c; sourceTree = "<group>"; };
- F96D3EF208F272A7004A47F5 /* tclFileName.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFileName.c; sourceTree = "<group>"; };
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclFileSystem.h; sourceTree = "<group>"; };
- F96D3EF408F272A7004A47F5 /* tclGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclGet.c; sourceTree = "<group>"; };
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.yacc; path = tclGetDate.y; sourceTree = "<group>"; };
- F96D3EF608F272A7004A47F5 /* tclHash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHash.c; sourceTree = "<group>"; };
- F96D3EF708F272A7004A47F5 /* tclHistory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHistory.c; sourceTree = "<group>"; };
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIndexObj.c; sourceTree = "<group>"; };
- F96D3EF908F272A7004A47F5 /* tclInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclInt.decls; sourceTree = "<group>"; };
- F96D3EFA08F272A7004A47F5 /* tclInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclInt.h; sourceTree = "<group>"; };
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntDecls.h; sourceTree = "<group>"; };
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclInterp.c; sourceTree = "<group>"; };
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntPlatDecls.h; sourceTree = "<group>"; };
- F96D3EFE08F272A7004A47F5 /* tclIO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIO.c; sourceTree = "<group>"; };
- F96D3EFF08F272A7004A47F5 /* tclIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIO.h; sourceTree = "<group>"; };
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOCmd.c; sourceTree = "<group>"; };
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOGT.c; sourceTree = "<group>"; };
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORChan.c; sourceTree = "<group>"; };
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOSock.c; sourceTree = "<group>"; };
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOUtil.c; sourceTree = "<group>"; };
- F96D3F0508F272A7004A47F5 /* tclLink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLink.c; sourceTree = "<group>"; };
- F96D3F0608F272A7004A47F5 /* tclListObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclListObj.c; sourceTree = "<group>"; };
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLiteral.c; sourceTree = "<group>"; };
- F96D3F0808F272A7004A47F5 /* tclLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoad.c; sourceTree = "<group>"; };
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNone.c; sourceTree = "<group>"; };
- F96D3F0A08F272A7004A47F5 /* tclMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMain.c; sourceTree = "<group>"; };
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNamesp.c; sourceTree = "<group>"; };
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNotify.c; sourceTree = "<group>"; };
- F96D3F0D08F272A7004A47F5 /* tclObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclObj.c; sourceTree = "<group>"; };
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPanic.c; sourceTree = "<group>"; };
- F96D3F0F08F272A7004A47F5 /* tclParse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclParse.c; sourceTree = "<group>"; };
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPathObj.c; sourceTree = "<group>"; };
- F96D3F1208F272A7004A47F5 /* tclPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPipe.c; sourceTree = "<group>"; };
- F96D3F1308F272A7004A47F5 /* tclPkg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkg.c; sourceTree = "<group>"; };
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkgConfig.c; sourceTree = "<group>"; };
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPlatDecls.h; sourceTree = "<group>"; };
- F96D3F1608F272A7004A47F5 /* tclPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPort.h; sourceTree = "<group>"; };
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPosixStr.c; sourceTree = "<group>"; };
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPreserve.c; sourceTree = "<group>"; };
- F96D3F1908F272A7004A47F5 /* tclProc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclProc.c; sourceTree = "<group>"; };
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclRegexp.c; sourceTree = "<group>"; };
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclRegexp.h; sourceTree = "<group>"; };
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResolve.c; sourceTree = "<group>"; };
- F96D3F1D08F272A7004A47F5 /* tclResult.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResult.c; sourceTree = "<group>"; };
- F96D3F1E08F272A7004A47F5 /* tclScan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclScan.c; sourceTree = "<group>"; };
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStringObj.c; sourceTree = "<group>"; };
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStrToD.c; sourceTree = "<group>"; };
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubInit.c; sourceTree = "<group>"; };
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubLib.c; sourceTree = "<group>"; };
- F96D3F2708F272A7004A47F5 /* tclTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTest.c; sourceTree = "<group>"; };
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestObj.c; sourceTree = "<group>"; };
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestProcBodyObj.c; sourceTree = "<group>"; };
- F96D3F2A08F272A7004A47F5 /* tclThread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThread.c; sourceTree = "<group>"; };
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadAlloc.c; sourceTree = "<group>"; };
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadJoin.c; sourceTree = "<group>"; };
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadStorage.c; sourceTree = "<group>"; };
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadTest.c; sourceTree = "<group>"; };
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTimer.c; sourceTree = "<group>"; };
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMath.h; sourceTree = "<group>"; };
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTomMathInterface.c; sourceTree = "<group>"; };
- F96D3F3208F272A7004A47F5 /* tclTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTrace.c; sourceTree = "<group>"; };
- F96D3F3308F272A7004A47F5 /* tclUniData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUniData.c; sourceTree = "<group>"; };
- F96D3F3408F272A7004A47F5 /* tclUtf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtf.c; sourceTree = "<group>"; };
- F96D3F3508F272A7004A47F5 /* tclUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtil.c; sourceTree = "<group>"; };
- F96D3F3608F272A7004A47F5 /* tclVar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclVar.c; sourceTree = "<group>"; };
- F96D3F3708F272A7004A47F5 /* tommath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath.h; sourceTree = "<group>"; };
- F96D3F3908F272A8004A47F5 /* auto.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = auto.tcl; sourceTree = "<group>"; };
- F96D3F3A08F272A8004A47F5 /* clock.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.tcl; sourceTree = "<group>"; };
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F8C08F272A8004A47F5 /* history.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.tcl; sourceTree = "<group>"; };
- F96D3F8E08F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9108F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9308F272A8004A47F5 /* init.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.tcl; sourceTree = "<group>"; };
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.tcl; sourceTree = "<group>"; };
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401808F272AA004A47F5 /* optparse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optparse.tcl; sourceTree = "<group>"; };
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401A08F272AA004A47F5 /* package.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.tcl; sourceTree = "<group>"; };
- F96D401B08F272AA004A47F5 /* parray.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parray.tcl; sourceTree = "<group>"; };
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401E08F272AA004A47F5 /* safe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.tcl; sourceTree = "<group>"; };
- F96D401F08F272AA004A47F5 /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D402208F272AA004A47F5 /* tcltest.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.tcl; sourceTree = "<group>"; };
- F96D402308F272AA004A47F5 /* tm.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.tcl; sourceTree = "<group>"; };
- F96D425B08F272B2004A47F5 /* word.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = word.tcl; sourceTree = "<group>"; };
- F96D425F08F272B3004A47F5 /* bn.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = bn.pdf; sourceTree = "<group>"; };
- F96D426108F272B3004A47F5 /* bn_error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_error.c; sourceTree = "<group>"; };
- F96D426208F272B3004A47F5 /* bn_fast_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_invmod.c; sourceTree = "<group>"; };
- F96D426308F272B3004A47F5 /* bn_fast_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_montgomery_reduce.c; sourceTree = "<group>"; };
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D426508F272B3004A47F5 /* bn_fast_s_mp_mul_high_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_high_digs.c; sourceTree = "<group>"; };
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D426708F272B3004A47F5 /* bn_mp_2expt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_2expt.c; sourceTree = "<group>"; };
- F96D426808F272B3004A47F5 /* bn_mp_abs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_abs.c; sourceTree = "<group>"; };
- F96D426908F272B3004A47F5 /* bn_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add.c; sourceTree = "<group>"; };
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add_d.c; sourceTree = "<group>"; };
- F96D426B08F272B3004A47F5 /* bn_mp_addmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_addmod.c; sourceTree = "<group>"; };
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_and.c; sourceTree = "<group>"; };
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clamp.c; sourceTree = "<group>"; };
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear.c; sourceTree = "<group>"; };
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear_multi.c; sourceTree = "<group>"; };
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp.c; sourceTree = "<group>"; };
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_d.c; sourceTree = "<group>"; };
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_mag.c; sourceTree = "<group>"; };
- F96D427308F272B3004A47F5 /* bn_mp_cnt_lsb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cnt_lsb.c; sourceTree = "<group>"; };
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_copy.c; sourceTree = "<group>"; };
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_count_bits.c; sourceTree = "<group>"; };
- F96D427608F272B3004A47F5 /* bn_mp_div.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div.c; sourceTree = "<group>"; };
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2.c; sourceTree = "<group>"; };
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2d.c; sourceTree = "<group>"; };
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_3.c; sourceTree = "<group>"; };
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_d.c; sourceTree = "<group>"; };
- F96D427B08F272B3004A47F5 /* bn_mp_dr_is_modulus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_is_modulus.c; sourceTree = "<group>"; };
- F96D427C08F272B3004A47F5 /* bn_mp_dr_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_reduce.c; sourceTree = "<group>"; };
- F96D427D08F272B3004A47F5 /* bn_mp_dr_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_setup.c; sourceTree = "<group>"; };
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exch.c; sourceTree = "<group>"; };
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_expt_d.c; sourceTree = "<group>"; };
- F96D428008F272B3004A47F5 /* bn_mp_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exptmod.c; sourceTree = "<group>"; };
- F96D428108F272B3004A47F5 /* bn_mp_exptmod_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exptmod_fast.c; sourceTree = "<group>"; };
- F96D428208F272B3004A47F5 /* bn_mp_exteuclid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exteuclid.c; sourceTree = "<group>"; };
- F96D428308F272B3004A47F5 /* bn_mp_fread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_fread.c; sourceTree = "<group>"; };
- F96D428408F272B3004A47F5 /* bn_mp_fwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_fwrite.c; sourceTree = "<group>"; };
- F96D428508F272B3004A47F5 /* bn_mp_gcd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_gcd.c; sourceTree = "<group>"; };
- F96D428608F272B3004A47F5 /* bn_mp_get_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_get_int.c; sourceTree = "<group>"; };
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_grow.c; sourceTree = "<group>"; };
- F96D428808F272B3004A47F5 /* bn_mp_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init.c; sourceTree = "<group>"; };
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_copy.c; sourceTree = "<group>"; };
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_multi.c; sourceTree = "<group>"; };
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set.c; sourceTree = "<group>"; };
- F96D428C08F272B3004A47F5 /* bn_mp_init_set_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set_int.c; sourceTree = "<group>"; };
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_size.c; sourceTree = "<group>"; };
- F96D428E08F272B3004A47F5 /* bn_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_invmod.c; sourceTree = "<group>"; };
- F96D428F08F272B3004A47F5 /* bn_mp_invmod_slow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_invmod_slow.c; sourceTree = "<group>"; };
- F96D429008F272B3004A47F5 /* bn_mp_is_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_is_square.c; sourceTree = "<group>"; };
- F96D429108F272B3004A47F5 /* bn_mp_jacobi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_jacobi.c; sourceTree = "<group>"; };
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_mul.c; sourceTree = "<group>"; };
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_sqr.c; sourceTree = "<group>"; };
- F96D429408F272B3004A47F5 /* bn_mp_lcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lcm.c; sourceTree = "<group>"; };
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lshd.c; sourceTree = "<group>"; };
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod.c; sourceTree = "<group>"; };
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_2d.c; sourceTree = "<group>"; };
- F96D429808F272B3004A47F5 /* bn_mp_mod_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_d.c; sourceTree = "<group>"; };
- F96D429908F272B3004A47F5 /* bn_mp_montgomery_calc_normalization.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_calc_normalization.c; sourceTree = "<group>"; };
- F96D429A08F272B3004A47F5 /* bn_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_reduce.c; sourceTree = "<group>"; };
- F96D429B08F272B3004A47F5 /* bn_mp_montgomery_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_setup.c; sourceTree = "<group>"; };
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul.c; sourceTree = "<group>"; };
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2.c; sourceTree = "<group>"; };
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2d.c; sourceTree = "<group>"; };
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_d.c; sourceTree = "<group>"; };
- F96D42A008F272B3004A47F5 /* bn_mp_mulmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mulmod.c; sourceTree = "<group>"; };
- F96D42A108F272B3004A47F5 /* bn_mp_n_root.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_n_root.c; sourceTree = "<group>"; };
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_neg.c; sourceTree = "<group>"; };
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_or.c; sourceTree = "<group>"; };
- F96D42A408F272B3004A47F5 /* bn_mp_prime_fermat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_fermat.c; sourceTree = "<group>"; };
- F96D42A508F272B3004A47F5 /* bn_mp_prime_is_divisible.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_is_divisible.c; sourceTree = "<group>"; };
- F96D42A608F272B3004A47F5 /* bn_mp_prime_is_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_is_prime.c; sourceTree = "<group>"; };
- F96D42A708F272B3004A47F5 /* bn_mp_prime_miller_rabin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_miller_rabin.c; sourceTree = "<group>"; };
- F96D42A808F272B3004A47F5 /* bn_mp_prime_next_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_next_prime.c; sourceTree = "<group>"; };
- F96D42A908F272B3004A47F5 /* bn_mp_prime_rabin_miller_trials.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_rabin_miller_trials.c; sourceTree = "<group>"; };
- F96D42AA08F272B3004A47F5 /* bn_mp_prime_random_ex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_random_ex.c; sourceTree = "<group>"; };
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_size.c; sourceTree = "<group>"; };
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_smap.c; sourceTree = "<group>"; };
- F96D42AD08F272B3004A47F5 /* bn_mp_rand.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rand.c; sourceTree = "<group>"; };
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_radix.c; sourceTree = "<group>"; };
- F96D42AF08F272B3004A47F5 /* bn_mp_read_signed_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_signed_bin.c; sourceTree = "<group>"; };
- F96D42B008F272B3004A47F5 /* bn_mp_read_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_unsigned_bin.c; sourceTree = "<group>"; };
- F96D42B108F272B3004A47F5 /* bn_mp_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce.c; sourceTree = "<group>"; };
- F96D42B208F272B3004A47F5 /* bn_mp_reduce_2k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k.c; sourceTree = "<group>"; };
- F96D42B308F272B3004A47F5 /* bn_mp_reduce_2k_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_l.c; sourceTree = "<group>"; };
- F96D42B408F272B3004A47F5 /* bn_mp_reduce_2k_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_setup.c; sourceTree = "<group>"; };
- F96D42B508F272B3004A47F5 /* bn_mp_reduce_2k_setup_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_setup_l.c; sourceTree = "<group>"; };
- F96D42B608F272B3004A47F5 /* bn_mp_reduce_is_2k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_is_2k.c; sourceTree = "<group>"; };
- F96D42B708F272B3004A47F5 /* bn_mp_reduce_is_2k_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_is_2k_l.c; sourceTree = "<group>"; };
- F96D42B808F272B3004A47F5 /* bn_mp_reduce_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_setup.c; sourceTree = "<group>"; };
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rshd.c; sourceTree = "<group>"; };
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set.c; sourceTree = "<group>"; };
- F96D42BB08F272B3004A47F5 /* bn_mp_set_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set_int.c; sourceTree = "<group>"; };
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_shrink.c; sourceTree = "<group>"; };
- F96D42BD08F272B3004A47F5 /* bn_mp_signed_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_signed_bin_size.c; sourceTree = "<group>"; };
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqr.c; sourceTree = "<group>"; };
- F96D42BF08F272B3004A47F5 /* bn_mp_sqrmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrmod.c; sourceTree = "<group>"; };
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrt.c; sourceTree = "<group>"; };
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub.c; sourceTree = "<group>"; };
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub_d.c; sourceTree = "<group>"; };
- F96D42C308F272B3004A47F5 /* bn_mp_submod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_submod.c; sourceTree = "<group>"; };
- F96D42C408F272B3004A47F5 /* bn_mp_to_signed_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_signed_bin.c; sourceTree = "<group>"; };
- F96D42C508F272B3004A47F5 /* bn_mp_to_signed_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_signed_bin_n.c; sourceTree = "<group>"; };
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin.c; sourceTree = "<group>"; };
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin_n.c; sourceTree = "<group>"; };
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_mul.c; sourceTree = "<group>"; };
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_sqr.c; sourceTree = "<group>"; };
- F96D42CA08F272B3004A47F5 /* bn_mp_toradix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix.c; sourceTree = "<group>"; };
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix_n.c; sourceTree = "<group>"; };
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_unsigned_bin_size.c; sourceTree = "<group>"; };
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_xor.c; sourceTree = "<group>"; };
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_zero.c; sourceTree = "<group>"; };
- F96D42CF08F272B3004A47F5 /* bn_prime_tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_prime_tab.c; sourceTree = "<group>"; };
- F96D42D008F272B3004A47F5 /* bn_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_reverse.c; sourceTree = "<group>"; };
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_add.c; sourceTree = "<group>"; };
- F96D42D208F272B3004A47F5 /* bn_s_mp_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_exptmod.c; sourceTree = "<group>"; };
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D42D408F272B3004A47F5 /* bn_s_mp_mul_high_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_high_digs.c; sourceTree = "<group>"; };
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = "<group>"; };
- F96D42D708F272B3004A47F5 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = "<group>"; };
- F96D42D908F272B3004A47F5 /* callgraph.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = callgraph.txt; sourceTree = "<group>"; };
- F96D42DA08F272B3004A47F5 /* changes.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = changes.txt; sourceTree = "<group>"; };
- F96D42F008F272B3004A47F5 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
- F96D431D08F272B4004A47F5 /* poster.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = poster.pdf; sourceTree = "<group>"; };
- F96D432608F272B4004A47F5 /* tommath.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = tommath.pdf; sourceTree = "<group>"; };
- F96D432908F272B4004A47F5 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = "<group>"; };
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = "<group>"; };
- F96D432B08F272B4004A47F5 /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F96D432E08F272B5004A47F5 /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F96D432F08F272B5004A47F5 /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F96D433108F272B5004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tcl-Info.plist.in"; sourceTree = "<group>"; };
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXBundle.c; sourceTree = "<group>"; };
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXFCmd.c; sourceTree = "<group>"; };
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXNotify.c; sourceTree = "<group>"; };
- F96D434308F272B5004A47F5 /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F96D434508F272B5004A47F5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96D434608F272B5004A47F5 /* append.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = append.test; sourceTree = "<group>"; };
- F96D434708F272B5004A47F5 /* appendComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = appendComp.test; sourceTree = "<group>"; };
- F96D434808F272B5004A47F5 /* assocd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = assocd.test; sourceTree = "<group>"; };
- F96D434908F272B5004A47F5 /* async.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = async.test; sourceTree = "<group>"; };
- F96D434A08F272B5004A47F5 /* autoMkindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = autoMkindex.test; sourceTree = "<group>"; };
- F96D434B08F272B5004A47F5 /* basic.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = basic.test; sourceTree = "<group>"; };
- F96D434C08F272B5004A47F5 /* binary.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = binary.test; sourceTree = "<group>"; };
- F96D434D08F272B5004A47F5 /* case.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = case.test; sourceTree = "<group>"; };
- F96D434E08F272B5004A47F5 /* chan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chan.test; sourceTree = "<group>"; };
- F96D434F08F272B5004A47F5 /* clock.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.test; sourceTree = "<group>"; };
- F96D435008F272B5004A47F5 /* cmdAH.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdAH.test; sourceTree = "<group>"; };
- F96D435108F272B5004A47F5 /* cmdIL.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdIL.test; sourceTree = "<group>"; };
- F96D435208F272B5004A47F5 /* cmdInfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdInfo.test; sourceTree = "<group>"; };
- F96D435308F272B5004A47F5 /* cmdMZ.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdMZ.test; sourceTree = "<group>"; };
- F96D435408F272B5004A47F5 /* compExpr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "compExpr-old.test"; sourceTree = "<group>"; };
- F96D435508F272B5004A47F5 /* compExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compExpr.test; sourceTree = "<group>"; };
- F96D435608F272B5004A47F5 /* compile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compile.test; sourceTree = "<group>"; };
- F96D435708F272B5004A47F5 /* concat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = concat.test; sourceTree = "<group>"; };
- F96D435808F272B5004A47F5 /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F96D435908F272B5004A47F5 /* dcall.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dcall.test; sourceTree = "<group>"; };
- F96D435A08F272B5004A47F5 /* dict.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dict.test; sourceTree = "<group>"; };
- F96D435C08F272B5004A47F5 /* dstring.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dstring.test; sourceTree = "<group>"; };
- F96D435E08F272B5004A47F5 /* encoding.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = encoding.test; sourceTree = "<group>"; };
- F96D435F08F272B5004A47F5 /* env.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = env.test; sourceTree = "<group>"; };
- F96D436008F272B5004A47F5 /* error.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = error.test; sourceTree = "<group>"; };
- F96D436108F272B5004A47F5 /* eval.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eval.test; sourceTree = "<group>"; };
- F96D436208F272B5004A47F5 /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F96D436308F272B5004A47F5 /* exec.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = exec.test; sourceTree = "<group>"; };
- F96D436408F272B5004A47F5 /* execute.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = execute.test; sourceTree = "<group>"; };
- F96D436508F272B5004A47F5 /* expr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "expr-old.test"; sourceTree = "<group>"; };
- F96D436608F272B5004A47F5 /* expr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = expr.test; sourceTree = "<group>"; };
- F96D436708F272B6004A47F5 /* fCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fCmd.test; sourceTree = "<group>"; };
- F96D436808F272B6004A47F5 /* fileName.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileName.test; sourceTree = "<group>"; };
- F96D436908F272B6004A47F5 /* fileSystem.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileSystem.test; sourceTree = "<group>"; };
- F96D436A08F272B6004A47F5 /* for-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "for-old.test"; sourceTree = "<group>"; };
- F96D436B08F272B6004A47F5 /* for.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = for.test; sourceTree = "<group>"; };
- F96D436C08F272B6004A47F5 /* foreach.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = foreach.test; sourceTree = "<group>"; };
- F96D436D08F272B6004A47F5 /* format.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = format.test; sourceTree = "<group>"; };
- F96D436E08F272B6004A47F5 /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F96D436F08F272B6004A47F5 /* history.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.test; sourceTree = "<group>"; };
- F96D437008F272B6004A47F5 /* http.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.test; sourceTree = "<group>"; };
- F96D437108F272B6004A47F5 /* httpd */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = httpd; sourceTree = "<group>"; };
- F96D437208F272B6004A47F5 /* httpold.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpold.test; sourceTree = "<group>"; };
- F96D437308F272B6004A47F5 /* if-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "if-old.test"; sourceTree = "<group>"; };
- F96D437408F272B6004A47F5 /* if.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = if.test; sourceTree = "<group>"; };
- F96D437508F272B6004A47F5 /* incr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "incr-old.test"; sourceTree = "<group>"; };
- F96D437608F272B6004A47F5 /* incr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = incr.test; sourceTree = "<group>"; };
- F96D437708F272B6004A47F5 /* indexObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = indexObj.test; sourceTree = "<group>"; };
- F96D437808F272B6004A47F5 /* info.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = info.test; sourceTree = "<group>"; };
- F96D437908F272B6004A47F5 /* init.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.test; sourceTree = "<group>"; };
- F96D437A08F272B6004A47F5 /* interp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = interp.test; sourceTree = "<group>"; };
- F96D437B08F272B6004A47F5 /* io.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = io.test; sourceTree = "<group>"; };
- F96D437C08F272B6004A47F5 /* ioCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ioCmd.test; sourceTree = "<group>"; };
- F96D437D08F272B6004A47F5 /* iogt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = iogt.test; sourceTree = "<group>"; };
- F96D437F08F272B6004A47F5 /* join.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = join.test; sourceTree = "<group>"; };
- F96D438008F272B6004A47F5 /* lindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lindex.test; sourceTree = "<group>"; };
- F96D438108F272B6004A47F5 /* link.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = link.test; sourceTree = "<group>"; };
- F96D438208F272B6004A47F5 /* linsert.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = linsert.test; sourceTree = "<group>"; };
- F96D438308F272B6004A47F5 /* list.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = list.test; sourceTree = "<group>"; };
- F96D438408F272B6004A47F5 /* listObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listObj.test; sourceTree = "<group>"; };
- F96D438508F272B6004A47F5 /* llength.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = llength.test; sourceTree = "<group>"; };
- F96D438608F272B6004A47F5 /* load.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = load.test; sourceTree = "<group>"; };
- F96D438708F272B6004A47F5 /* lrange.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrange.test; sourceTree = "<group>"; };
- F96D438808F272B6004A47F5 /* lrepeat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrepeat.test; sourceTree = "<group>"; };
- F96D438908F272B6004A47F5 /* lreplace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lreplace.test; sourceTree = "<group>"; };
- F96D438A08F272B6004A47F5 /* lsearch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsearch.test; sourceTree = "<group>"; };
- F96D438B08F272B6004A47F5 /* lset.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lset.test; sourceTree = "<group>"; };
- F96D438C08F272B6004A47F5 /* lsetComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsetComp.test; sourceTree = "<group>"; };
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXFCmd.test; sourceTree = "<group>"; };
- F96D438E08F272B6004A47F5 /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F96D438F08F272B6004A47F5 /* misc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = misc.test; sourceTree = "<group>"; };
- F96D439008F272B6004A47F5 /* msgcat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.test; sourceTree = "<group>"; };
- F96D439108F272B6004A47F5 /* namespace-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "namespace-old.test"; sourceTree = "<group>"; };
- F96D439208F272B7004A47F5 /* namespace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = namespace.test; sourceTree = "<group>"; };
- F96D439308F272B7004A47F5 /* notify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notify.test; sourceTree = "<group>"; };
- F96D439408F272B7004A47F5 /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F96D439508F272B7004A47F5 /* opt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = opt.test; sourceTree = "<group>"; };
- F96D439608F272B7004A47F5 /* package.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.test; sourceTree = "<group>"; };
- F96D439708F272B7004A47F5 /* parse.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parse.test; sourceTree = "<group>"; };
- F96D439808F272B7004A47F5 /* parseExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseExpr.test; sourceTree = "<group>"; };
- F96D439908F272B7004A47F5 /* parseOld.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseOld.test; sourceTree = "<group>"; };
- F96D439A08F272B7004A47F5 /* pid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pid.test; sourceTree = "<group>"; };
- F96D439B08F272B7004A47F5 /* pkg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkg.test; sourceTree = "<group>"; };
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgMkIndex.test; sourceTree = "<group>"; };
- F96D439D08F272B7004A47F5 /* platform.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.test; sourceTree = "<group>"; };
- F96D439E08F272B7004A47F5 /* proc-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "proc-old.test"; sourceTree = "<group>"; };
- F96D439F08F272B7004A47F5 /* proc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = proc.test; sourceTree = "<group>"; };
- F96D43A008F272B7004A47F5 /* pwd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pwd.test; sourceTree = "<group>"; };
- F96D43A108F272B7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D43A208F272B7004A47F5 /* reg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = reg.test; sourceTree = "<group>"; };
- F96D43A308F272B7004A47F5 /* regexp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexp.test; sourceTree = "<group>"; };
- F96D43A408F272B7004A47F5 /* regexpComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpComp.test; sourceTree = "<group>"; };
- F96D43A508F272B7004A47F5 /* registry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = registry.test; sourceTree = "<group>"; };
- F96D43A608F272B7004A47F5 /* remote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = remote.tcl; sourceTree = "<group>"; };
- F96D43A708F272B7004A47F5 /* rename.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = rename.test; sourceTree = "<group>"; };
- F96D43A808F272B7004A47F5 /* result.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = result.test; sourceTree = "<group>"; };
- F96D43A908F272B7004A47F5 /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F96D43AA08F272B7004A47F5 /* scan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scan.test; sourceTree = "<group>"; };
- F96D43AB08F272B7004A47F5 /* security.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = security.test; sourceTree = "<group>"; };
- F96D43AC08F272B7004A47F5 /* set-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "set-old.test"; sourceTree = "<group>"; };
- F96D43AD08F272B7004A47F5 /* set.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = set.test; sourceTree = "<group>"; };
- F96D43AE08F272B7004A47F5 /* socket.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = socket.test; sourceTree = "<group>"; };
- F96D43AF08F272B7004A47F5 /* source.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = source.test; sourceTree = "<group>"; };
- F96D43B008F272B7004A47F5 /* split.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = split.test; sourceTree = "<group>"; };
- F96D43B108F272B7004A47F5 /* stack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stack.test; sourceTree = "<group>"; };
- F96D43B208F272B7004A47F5 /* string.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = string.test; sourceTree = "<group>"; };
- F96D43B308F272B7004A47F5 /* stringComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringComp.test; sourceTree = "<group>"; };
- F96D43B408F272B7004A47F5 /* stringObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringObj.test; sourceTree = "<group>"; };
- F96D43B508F272B7004A47F5 /* subst.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = subst.test; sourceTree = "<group>"; };
- F96D43B608F272B7004A47F5 /* switch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = switch.test; sourceTree = "<group>"; };
- F96D43B708F272B7004A47F5 /* tcltest.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.test; sourceTree = "<group>"; };
- F96D43B808F272B7004A47F5 /* thread.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = thread.test; sourceTree = "<group>"; };
- F96D43B908F272B7004A47F5 /* timer.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = timer.test; sourceTree = "<group>"; };
- F96D43BA08F272B7004A47F5 /* tm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.test; sourceTree = "<group>"; };
- F96D43BB08F272B7004A47F5 /* trace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = trace.test; sourceTree = "<group>"; };
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFCmd.test; sourceTree = "<group>"; };
- F96D43BD08F272B7004A47F5 /* unixFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFile.test; sourceTree = "<group>"; };
- F96D43BE08F272B7004A47F5 /* unixInit.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixInit.test; sourceTree = "<group>"; };
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixNotfy.test; sourceTree = "<group>"; };
- F96D43C008F272B7004A47F5 /* unknown.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unknown.test; sourceTree = "<group>"; };
- F96D43C108F272B7004A47F5 /* unload.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unload.test; sourceTree = "<group>"; };
- F96D43C208F272B7004A47F5 /* uplevel.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uplevel.test; sourceTree = "<group>"; };
- F96D43C308F272B7004A47F5 /* upvar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = upvar.test; sourceTree = "<group>"; };
- F96D43C408F272B7004A47F5 /* utf.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utf.test; sourceTree = "<group>"; };
- F96D43C508F272B7004A47F5 /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F96D43C608F272B7004A47F5 /* var.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = var.test; sourceTree = "<group>"; };
- F96D43C708F272B7004A47F5 /* while-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "while-old.test"; sourceTree = "<group>"; };
- F96D43C808F272B7004A47F5 /* while.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = while.test; sourceTree = "<group>"; };
- F96D43C908F272B7004A47F5 /* winConsole.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winConsole.test; sourceTree = "<group>"; };
- F96D43CA08F272B7004A47F5 /* winDde.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDde.test; sourceTree = "<group>"; };
- F96D43CB08F272B7004A47F5 /* winFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFCmd.test; sourceTree = "<group>"; };
- F96D43CC08F272B7004A47F5 /* winFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFile.test; sourceTree = "<group>"; };
- F96D43CD08F272B7004A47F5 /* winNotify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winNotify.test; sourceTree = "<group>"; };
- F96D43CE08F272B7004A47F5 /* winPipe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winPipe.test; sourceTree = "<group>"; };
- F96D43CF08F272B7004A47F5 /* winTime.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTime.test; sourceTree = "<group>"; };
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkLibraryDoc.tcl; sourceTree = "<group>"; };
- F96D43D208F272B8004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D43D308F272B8004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D442208F272B8004A47F5 /* eolFix.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eolFix.tcl; sourceTree = "<group>"; };
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fix_tommath_h.tcl; sourceTree = "<group>"; };
- F96D442508F272B8004A47F5 /* genStubs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = genStubs.tcl; sourceTree = "<group>"; };
- F96D442708F272B8004A47F5 /* index.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = index.tcl; sourceTree = "<group>"; };
- F96D442808F272B8004A47F5 /* installData.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = installData.tcl; sourceTree = "<group>"; };
- F96D442908F272B8004A47F5 /* loadICU.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = loadICU.tcl; sourceTree = "<group>"; };
- F96D442A08F272B8004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = makeTestCases.tcl; sourceTree = "<group>"; };
- F96D442C08F272B8004A47F5 /* man2help.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help.tcl; sourceTree = "<group>"; };
- F96D442D08F272B8004A47F5 /* man2help2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help2.tcl; sourceTree = "<group>"; };
- F96D442E08F272B8004A47F5 /* man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html.tcl; sourceTree = "<group>"; };
- F96D442F08F272B8004A47F5 /* man2html1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html1.tcl; sourceTree = "<group>"; };
- F96D443008F272B8004A47F5 /* man2html2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html2.tcl; sourceTree = "<group>"; };
- F96D443108F272B8004A47F5 /* man2tcl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = man2tcl.c; sourceTree = "<group>"; };
- F96D443208F272B8004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpTestLib.tcl; sourceTree = "<group>"; };
- F96D443408F272B8004A47F5 /* str2c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = str2c; sourceTree = "<group>"; };
- F96D443508F272B8004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D443608F272B8004A47F5 /* tcl.wse.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.wse.in; sourceTree = "<group>"; };
- F96D443708F272B9004A47F5 /* tclmin.wse */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tclmin.wse; sourceTree = "<group>"; };
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "tcltk-man2html.tcl"; sourceTree = "<group>"; };
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclZIC.tcl; sourceTree = "<group>"; };
- F96D443B08F272B9004A47F5 /* uniClass.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniClass.tcl; sourceTree = "<group>"; };
- F96D443C08F272B9004A47F5 /* uniParse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniParse.tcl; sourceTree = "<group>"; };
- F96D444008F272B9004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D444108F272B9004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D444208F272B9004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D444408F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D444508F272B9004A47F5 /* pkga.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkga.c; sourceTree = "<group>"; };
- F96D444608F272B9004A47F5 /* pkgb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgb.c; sourceTree = "<group>"; };
- F96D444708F272B9004A47F5 /* pkgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgc.c; sourceTree = "<group>"; };
- F96D444808F272B9004A47F5 /* pkgd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgd.c; sourceTree = "<group>"; };
- F96D444908F272B9004A47F5 /* pkge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkge.c; sourceTree = "<group>"; };
- F96D444B08F272B9004A47F5 /* pkgua.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgua.c; sourceTree = "<group>"; };
- F96D444C08F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D444D08F272B9004A47F5 /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F96D444E08F272B9004A47F5 /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F96D444F08F272B9004A47F5 /* ldAix */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ldAix; sourceTree = "<group>"; };
- F96D445008F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D445208F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D445308F272B9004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D445408F272B9004A47F5 /* tcl.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.spec; sourceTree = "<group>"; };
- F96D445508F272B9004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D445608F272B9004A47F5 /* tclConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tclConfig.h.in; sourceTree = "<group>"; };
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D445808F272B9004A47F5 /* tclLoadAix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadAix.c; sourceTree = "<group>"; };
- F96D445908F272B9004A47F5 /* tclLoadDl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDl.c; sourceTree = "<group>"; };
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDyld.c; sourceTree = "<group>"; };
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNext.c; sourceTree = "<group>"; };
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadOSF.c; sourceTree = "<group>"; };
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadShl.c; sourceTree = "<group>"; };
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixChan.c; sourceTree = "<group>"; };
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixEvent.c; sourceTree = "<group>"; };
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFCmd.c; sourceTree = "<group>"; };
- F96D446208F272B9004A47F5 /* tclUnixFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFile.c; sourceTree = "<group>"; };
- F96D446308F272B9004A47F5 /* tclUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixInit.c; sourceTree = "<group>"; };
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixNotfy.c; sourceTree = "<group>"; };
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixPipe.c; sourceTree = "<group>"; };
- F96D446608F272B9004A47F5 /* tclUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixPort.h; sourceTree = "<group>"; };
- F96D446708F272B9004A47F5 /* tclUnixSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixSock.c; sourceTree = "<group>"; };
- F96D446808F272B9004A47F5 /* tclUnixTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTest.c; sourceTree = "<group>"; };
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixThrd.c; sourceTree = "<group>"; };
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixThrd.h; sourceTree = "<group>"; };
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTime.c; sourceTree = "<group>"; };
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtNotify.c; sourceTree = "<group>"; };
- F96D446D08F272B9004A47F5 /* tclXtTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtTest.c; sourceTree = "<group>"; };
- F96D447008F272BA004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D447108F272BA004A47F5 /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F96D447208F272BA004A47F5 /* cat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cat.c; sourceTree = "<group>"; };
- F96D447308F272BA004A47F5 /* coffbase.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = coffbase.txt; sourceTree = "<group>"; };
- F96D447408F272BA004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D447508F272BA004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D447608F272BA004A47F5 /* makefile.bc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.bc; sourceTree = "<group>"; };
- F96D447708F272BA004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D447808F272BA004A47F5 /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F96D447908F272BA004A47F5 /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F96D447A08F272BA004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D447C08F272BA004A47F5 /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F96D447D08F272BA004A47F5 /* stub16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stub16.c; sourceTree = "<group>"; };
- F96D447E08F272BA004A47F5 /* tcl.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsp; sourceTree = "<group>"; };
- F96D447F08F272BA004A47F5 /* tcl.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsw; sourceTree = "<group>"; };
- F96D448008F272BA004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D448108F272BA004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D448208F272BA004A47F5 /* tcl.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.rc; sourceTree = "<group>"; };
- F96D448308F272BA004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D448608F272BA004A47F5 /* tclsh.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tclsh.rc; sourceTree = "<group>"; };
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWin32Dll.c; sourceTree = "<group>"; };
- F96D448808F272BA004A47F5 /* tclWinChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinChan.c; sourceTree = "<group>"; };
- F96D448908F272BA004A47F5 /* tclWinConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinConsole.c; sourceTree = "<group>"; };
- F96D448A08F272BA004A47F5 /* tclWinDde.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinDde.c; sourceTree = "<group>"; };
- F96D448B08F272BA004A47F5 /* tclWinError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinError.c; sourceTree = "<group>"; };
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFCmd.c; sourceTree = "<group>"; };
- F96D448D08F272BA004A47F5 /* tclWinFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFile.c; sourceTree = "<group>"; };
- F96D448E08F272BA004A47F5 /* tclWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinInit.c; sourceTree = "<group>"; };
- F96D448F08F272BA004A47F5 /* tclWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinInt.h; sourceTree = "<group>"; };
- F96D449008F272BA004A47F5 /* tclWinLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinLoad.c; sourceTree = "<group>"; };
- F96D449108F272BA004A47F5 /* tclWinNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinNotify.c; sourceTree = "<group>"; };
- F96D449208F272BA004A47F5 /* tclWinPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinPipe.c; sourceTree = "<group>"; };
- F96D449308F272BA004A47F5 /* tclWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinPort.h; sourceTree = "<group>"; };
- F96D449408F272BA004A47F5 /* tclWinReg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinReg.c; sourceTree = "<group>"; };
- F96D449508F272BA004A47F5 /* tclWinSerial.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSerial.c; sourceTree = "<group>"; };
- F96D449608F272BA004A47F5 /* tclWinSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSock.c; sourceTree = "<group>"; };
- F96D449708F272BA004A47F5 /* tclWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTest.c; sourceTree = "<group>"; };
- F96D449808F272BA004A47F5 /* tclWinThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinThrd.c; sourceTree = "<group>"; };
- F96D449908F272BA004A47F5 /* tclWinThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinThrd.h; sourceTree = "<group>"; };
- F96D449A08F272BA004A47F5 /* tclWinTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTime.c; sourceTree = "<group>"; };
- F973E5960EE99384001A648E /* vistaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vistaTheme.tcl; sourceTree = "<group>"; };
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPrivate.h; sourceTree = "<group>"; };
- F97AE7F10B65C1E900310EA2 /* Wish-Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Wish-Common.xcconfig"; sourceTree = "<group>"; };
- F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Wish-Release.xcconfig"; sourceTree = "<group>"; };
- F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Wish-Debug.xcconfig"; sourceTree = "<group>"; };
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclTomMath.decls; sourceTree = "<group>"; };
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMathDecls.h; sourceTree = "<group>"; };
- F99388380EE0114B0065FE6B /* fontchooser.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.tcl; sourceTree = "<group>"; };
- F99388950EE02D980065FE6B /* fontchooser.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.test; sourceTree = "<group>"; };
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TclZlib.3; sourceTree = "<group>"; };
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Wish.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tcl.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A493240CEBF38300B78AE2 /* chanio.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chanio.test; sourceTree = "<group>"; };
- F9C888C20EEF6571003F63AD /* fontchooser.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fontchooser.n; sourceTree = "<group>"; };
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mclist.tcl; sourceTree = "<group>"; };
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F9ECB1130B26521500A28025 /* platform.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.tcl; sourceTree = "<group>"; };
- F9ECB1140B26521500A28025 /* shell.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = shell.tcl; sourceTree = "<group>"; };
- F9ECB1CA0B2652D300A28025 /* apply.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = apply.test; sourceTree = "<group>"; };
- F9ECB1CB0B26534C00A28025 /* mathop.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mathop.test; sourceTree = "<group>"; };
- F9ECB1E10B26543C00A28025 /* platform_shell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform_shell.n; sourceTree = "<group>"; };
- F9ECB1E20B26543C00A28025 /* platform.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform.n; sourceTree = "<group>"; };
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkpane.tcl; sourceTree = "<group>"; };
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkmenu.tcl; sourceTree = "<group>"; };
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixCompat.c; sourceTree = "<group>"; };
- F9FD31F40CC1AD070073837D /* tktest-X11 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "tktest-X11"; sourceTree = BUILT_PRODUCTS_DIR; };
- F9FD32140CC1AF170073837D /* libX11.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libX11.dylib; path = /usr/X11R6/lib/libX11.dylib; sourceTree = "<absolute>"; };
- F9FD32150CC1AF170073837D /* libXext.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXext.dylib; path = /usr/X11R6/lib/libXext.dylib; sourceTree = "<absolute>"; };
- F9FD32160CC1AF170073837D /* libXss.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXss.dylib; path = /usr/X11R6/lib/libXss.dylib; sourceTree = "<absolute>"; };
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfreetype.dylib; path = /usr/X11R6/lib/libfreetype.dylib; sourceTree = "<absolute>"; };
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXft.dylib; path = /usr/X11R6/lib/libXft.dylib; sourceTree = "<absolute>"; };
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfontconfig.dylib; path = /usr/X11R6/lib/libfontconfig.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76FAD0486AB0100D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */,
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */,
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */,
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD31E30CC1AD070073837D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */,
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */,
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */,
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */,
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */,
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */,
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */,
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* Wish */ = {
- isa = PBXGroup;
- children = (
- F96D3DF708F271BE004A47F5 /* Tk Sources */,
- F96D3DF608F27169004A47F5 /* Tcl Sources */,
- F966C06F08F281DC005CB29B /* Frameworks */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- comments = "Copyright (c) 2004-2008 Daniel A. Steffen <das@users.sourceforge.net>\n\nSee the file \"license.terms\" for information on usage and redistribution of\nthis file, and for a DISCLAIMER OF ALL WARRANTIES.\n";
- name = Wish;
- path = .;
- sourceTree = SOURCE_ROOT;
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */,
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */,
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */,
- 8DD76FB20486AB0100D96B5E /* tktest */,
- F9FD31F40CC1AD070073837D /* tktest-X11 */,
- );
- includeInIndex = 0;
- name = Products;
- sourceTree = "<group>";
- };
- F9183E690EFC81560030B814 /* pkgs */ = {
- isa = PBXGroup;
- children = (
- F9183E6A0EFC81560030B814 /* README */,
- F9183E8F0EFC817B0030B814 /* tdbc */,
- );
- path = pkgs;
- sourceTree = "<group>";
- };
- F966BA0308F27A37005CB29B /* bitmaps */ = {
- isa = PBXGroup;
- children = (
- F966BA0408F27A37005CB29B /* error.xbm */,
- F966BA0508F27A37005CB29B /* gray12.xbm */,
- F966BA0608F27A37005CB29B /* gray25.xbm */,
- F966BA0708F27A37005CB29B /* gray50.xbm */,
- F966BA0808F27A37005CB29B /* gray75.xbm */,
- F966BA0908F27A37005CB29B /* hourglass.xbm */,
- F966BA0A08F27A37005CB29B /* info.xbm */,
- F966BA0B08F27A37005CB29B /* questhead.xbm */,
- F966BA0C08F27A37005CB29B /* question.xbm */,
- F966BA0D08F27A37005CB29B /* warning.xbm */,
- );
- path = bitmaps;
- sourceTree = "<group>";
- };
- F966BA1008F27A37005CB29B /* doc */ = {
- isa = PBXGroup;
- children = (
- F966BA1108F27A37005CB29B /* 3DBorder.3 */,
- F966BA1208F27A37005CB29B /* AddOption.3 */,
- F966BA1308F27A37005CB29B /* bell.n */,
- F966BA1408F27A37005CB29B /* bind.n */,
- F966BA1508F27A37005CB29B /* BindTable.3 */,
- F966BA1608F27A37005CB29B /* bindtags.n */,
- F966BA1708F27A37005CB29B /* bitmap.n */,
- F966BA1808F27A37005CB29B /* button.n */,
- F966BA1908F27A37005CB29B /* canvas.n */,
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */,
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */,
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */,
- F966BA1D08F27A37005CB29B /* checkbutton.n */,
- F966BA1E08F27A37005CB29B /* chooseColor.n */,
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */,
- F966BA2008F27A37005CB29B /* Clipboard.3 */,
- F966BA2108F27A37005CB29B /* clipboard.n */,
- F966BA2208F27A37005CB29B /* ClrSelect.3 */,
- F966BA2308F27A37005CB29B /* colors.n */,
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */,
- F966BA2508F27A37005CB29B /* ConfigWind.3 */,
- F966BA2608F27A37005CB29B /* console.n */,
- F966BA2708F27A37005CB29B /* CoordToWin.3 */,
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */,
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */,
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */,
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */,
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */,
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */,
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */,
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */,
- F966BA3008F27A37005CB29B /* cursors.n */,
- F966BA3108F27A37005CB29B /* DeleteImg.3 */,
- F966BA3208F27A37005CB29B /* destroy.n */,
- F966BA3308F27A37005CB29B /* dialog.n */,
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */,
- F966BA3508F27A37005CB29B /* entry.n */,
- F966BA3608F27A37005CB29B /* event.n */,
- F966BA3708F27A37005CB29B /* EventHndlr.3 */,
- F966BA3808F27A37005CB29B /* FindPhoto.3 */,
- F966BA3908F27A37005CB29B /* focus.n */,
- F966BA3A08F27A37005CB29B /* focusNext.n */,
- F966BA3B08F27A37005CB29B /* font.n */,
- F9C888C20EEF6571003F63AD /* fontchooser.n */,
- F966BA3C08F27A37005CB29B /* FontId.3 */,
- F966BA3D08F27A37005CB29B /* frame.n */,
- F966BA3E08F27A37005CB29B /* FreeXId.3 */,
- F966BA3F08F27A37005CB29B /* GeomReq.3 */,
- F966BA4008F27A37005CB29B /* GetAnchor.3 */,
- F966BA4108F27A37005CB29B /* GetBitmap.3 */,
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */,
- F966BA4308F27A37005CB29B /* GetClrmap.3 */,
- F966BA4408F27A37005CB29B /* GetColor.3 */,
- F966BA4508F27A37005CB29B /* GetCursor.3 */,
- F966BA4608F27A37005CB29B /* GetDash.3 */,
- F966BA4708F27A37005CB29B /* GetFont.3 */,
- F966BA4808F27A37005CB29B /* GetGC.3 */,
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */,
- F966BA4A08F27A37005CB29B /* GetHWND.3 */,
- F966BA4B08F27A37005CB29B /* GetImage.3 */,
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */,
- F966BA4D08F27A37005CB29B /* GetJustify.3 */,
- F966BA4E08F27A37005CB29B /* getOpenFile.n */,
- F966BA4F08F27A37005CB29B /* GetOption.3 */,
- F966BA5008F27A38005CB29B /* GetPixels.3 */,
- F966BA5108F27A38005CB29B /* GetPixmap.3 */,
- F966BA5208F27A38005CB29B /* GetRelief.3 */,
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */,
- F966BA5408F27A38005CB29B /* GetScroll.3 */,
- F966BA5508F27A38005CB29B /* GetSelect.3 */,
- F966BA5608F27A38005CB29B /* GetUid.3 */,
- F966BA5708F27A38005CB29B /* GetVisual.3 */,
- F966BA5808F27A38005CB29B /* GetVRoot.3 */,
- F966BA5908F27A38005CB29B /* Grab.3 */,
- F966BA5A08F27A38005CB29B /* grab.n */,
- F966BA5B08F27A38005CB29B /* grid.n */,
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */,
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */,
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */,
- F966BA5F08F27A38005CB29B /* image.n */,
- F966BA6008F27A38005CB29B /* ImgChanged.3 */,
- F966BA6108F27A38005CB29B /* Inactive.3 */,
- F966BA6208F27A38005CB29B /* InternAtom.3 */,
- F966BA6308F27A38005CB29B /* keysyms.n */,
- F966BA6408F27A38005CB29B /* label.n */,
- F966BA6508F27A38005CB29B /* labelframe.n */,
- F966BA6608F27A38005CB29B /* listbox.n */,
- F966BA6708F27A38005CB29B /* loadTk.n */,
- F966BA6808F27A38005CB29B /* lower.n */,
- F966BA6908F27A38005CB29B /* MainLoop.3 */,
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */,
- F966BA6B08F27A38005CB29B /* MainWin.3 */,
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */,
- F966BA6E08F27A38005CB29B /* MapWindow.3 */,
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */,
- F966BA7008F27A38005CB29B /* menu.n */,
- F966BA7108F27A38005CB29B /* menubar.n */,
- F966BA7208F27A38005CB29B /* menubutton.n */,
- F966BA7308F27A38005CB29B /* message.n */,
- F966BA7408F27A38005CB29B /* messageBox.n */,
- F966BA7508F27A38005CB29B /* MoveToplev.3 */,
- F966BA7608F27A38005CB29B /* Name.3 */,
- F966BA7708F27A38005CB29B /* NameOfImg.3 */,
- F966BA7808F27A38005CB29B /* option.n */,
- F966BA7908F27A38005CB29B /* optionMenu.n */,
- F966BA7A08F27A38005CB29B /* options.n */,
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */,
- F966BA7C08F27A38005CB29B /* pack-old.n */,
- F966BA7D08F27A38005CB29B /* pack.n */,
- F966BA7E08F27A38005CB29B /* palette.n */,
- F966BA7F08F27A38005CB29B /* panedwindow.n */,
- F966BA8008F27A38005CB29B /* ParseArgv.3 */,
- F966BA8108F27A38005CB29B /* photo.n */,
- F966BA8208F27A38005CB29B /* place.n */,
- F966BA8308F27A38005CB29B /* popup.n */,
- F966BA8408F27A38005CB29B /* QWinEvent.3 */,
- F966BA8508F27A38005CB29B /* radiobutton.n */,
- F966BA8608F27A38005CB29B /* raise.n */,
- F966BA8708F27A38005CB29B /* Restack.3 */,
- F966BA8808F27A38005CB29B /* RestrictEv.3 */,
- F966BA8908F27A38005CB29B /* scale.n */,
- F966BA8A08F27A38005CB29B /* scrollbar.n */,
- F966BA8B08F27A38005CB29B /* selection.n */,
- F966BA8C08F27A38005CB29B /* send.n */,
- F966BA8D08F27A38005CB29B /* SetAppName.3 */,
- F966BA8E08F27A38005CB29B /* SetCaret.3 */,
- F966BA8F08F27A38005CB29B /* SetClass.3 */,
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */,
- F966BA9108F27A38005CB29B /* SetGrid.3 */,
- F966BA9208F27A38005CB29B /* SetOptions.3 */,
- F966BA9308F27A38005CB29B /* SetVisual.3 */,
- F966BA9408F27A38005CB29B /* spinbox.n */,
- F966BA9508F27A38005CB29B /* StrictMotif.3 */,
- F966BA9608F27A38005CB29B /* text.n */,
- F966BA9708F27A38005CB29B /* TextLayout.3 */,
- F966BA9808F27A38005CB29B /* tk.n */,
- F966BA9908F27A38005CB29B /* tk4.0.ps */,
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */,
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */,
- F966BA9C08F27A38005CB29B /* tkerror.n */,
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */,
- F966BA9E08F27A38005CB29B /* tkvars.n */,
- F966BA9F08F27A38005CB29B /* tkwait.n */,
- F966BAA008F27A38005CB29B /* toplevel.n */,
- F968886B0AF788F6000797B5 /* ttk_button.n */,
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */,
- F968886D0AF788F6000797B5 /* ttk_combobox.n */,
- F968886F0AF788F6000797B5 /* ttk_entry.n */,
- F96888700AF788F6000797B5 /* ttk_frame.n */,
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */,
- F96888720AF788F6000797B5 /* ttk_image.n */,
- F96888730AF788F6000797B5 /* ttk_intro.n */,
- F96888740AF788F6000797B5 /* ttk_label.n */,
- F96888750AF788F6000797B5 /* ttk_labelframe.n */,
- F96888760AF788F6000797B5 /* ttk_menubutton.n */,
- F96888770AF788F6000797B5 /* ttk_notebook.n */,
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */,
- F96888790AF788F6000797B5 /* ttk_progressbar.n */,
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */,
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */,
- F968887C0AF788F6000797B5 /* ttk_separator.n */,
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */,
- F968887E0AF788F6000797B5 /* ttk_style.n */,
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */,
- F96888800AF788F6000797B5 /* ttk_treeview.n */,
- F96888810AF788F6000797B5 /* ttk_widget.n */,
- F966BAA108F27A38005CB29B /* WindowId.3 */,
- F966BAA208F27A38005CB29B /* winfo.n */,
- F966BAA308F27A38005CB29B /* wish.1 */,
- F966BAA408F27A38005CB29B /* wm.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F966BAA508F27A38005CB29B /* generic */ = {
- isa = PBXGroup;
- children = (
- F966BAA608F27A38005CB29B /* default.h */,
- F966BAA708F27A38005CB29B /* ks_names.h */,
- F966BAA908F27A39005CB29B /* README */,
- F966BAAA08F27A39005CB29B /* tk.decls */,
- F966BAAB08F27A39005CB29B /* tk.h */,
- F966BAAC08F27A39005CB29B /* tk3d.c */,
- F966BAAD08F27A39005CB29B /* tk3d.h */,
- F966BAAE08F27A39005CB29B /* tkArgv.c */,
- F966BAAF08F27A39005CB29B /* tkAtom.c */,
- F966BAB008F27A39005CB29B /* tkBind.c */,
- F966BAB108F27A39005CB29B /* tkBitmap.c */,
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */,
- F966BAB208F27A39005CB29B /* tkButton.c */,
- F966BAB308F27A39005CB29B /* tkButton.h */,
- F966BAB408F27A39005CB29B /* tkCanvArc.c */,
- F966BAB508F27A39005CB29B /* tkCanvas.c */,
- F966BAB608F27A39005CB29B /* tkCanvas.h */,
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */,
- F966BAB808F27A39005CB29B /* tkCanvImg.c */,
- F966BAB908F27A39005CB29B /* tkCanvLine.c */,
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */,
- F966BABB08F27A39005CB29B /* tkCanvPs.c */,
- F966BABD08F27A39005CB29B /* tkCanvText.c */,
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */,
- F966BABF08F27A39005CB29B /* tkCanvWind.c */,
- F966BAC008F27A39005CB29B /* tkClipboard.c */,
- F966BAC108F27A39005CB29B /* tkCmds.c */,
- F966BAC208F27A39005CB29B /* tkColor.c */,
- F966BAC308F27A39005CB29B /* tkColor.h */,
- F966BAC408F27A39005CB29B /* tkConfig.c */,
- F966BAC508F27A39005CB29B /* tkConsole.c */,
- F966BAC608F27A39005CB29B /* tkCursor.c */,
- F966BAC708F27A39005CB29B /* tkDecls.h */,
- F966BAC808F27A39005CB29B /* tkEntry.c */,
- F966BAC908F27A39005CB29B /* tkEntry.h */,
- F966BACA08F27A39005CB29B /* tkError.c */,
- F966BACB08F27A39005CB29B /* tkEvent.c */,
- F966BACC08F27A39005CB29B /* tkFileFilter.c */,
- F966BACD08F27A39005CB29B /* tkFileFilter.h */,
- F966BACE08F27A39005CB29B /* tkFocus.c */,
- F966BACF08F27A39005CB29B /* tkFont.c */,
- F966BAD008F27A39005CB29B /* tkFont.h */,
- F966BAD108F27A39005CB29B /* tkFrame.c */,
- F966BAD208F27A39005CB29B /* tkGC.c */,
- F966BAD308F27A39005CB29B /* tkGeometry.c */,
- F966BAD408F27A39005CB29B /* tkGet.c */,
- F966BAD508F27A39005CB29B /* tkGrab.c */,
- F966BAD608F27A39005CB29B /* tkGrid.c */,
- F966BAD708F27A39005CB29B /* tkImage.c */,
- F966BAD808F27A39005CB29B /* tkImgBmap.c */,
- F966BAD908F27A39005CB29B /* tkImgGIF.c */,
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */,
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */,
- F966BADB08F27A39005CB29B /* tkImgPPM.c */,
- F966BADC08F27A39005CB29B /* tkImgUtil.c */,
- F966BADE08F27A39005CB29B /* tkInt.decls */,
- F966BADF08F27A39005CB29B /* tkInt.h */,
- F966BAE108F27A39005CB29B /* tkIntDecls.h */,
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */,
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */,
- F966BAE408F27A39005CB29B /* tkListbox.c */,
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */,
- F966BAE608F27A39005CB29B /* tkMain.c */,
- F966BAE708F27A39005CB29B /* tkMenu.c */,
- F966BAE808F27A39005CB29B /* tkMenu.h */,
- F966BAE908F27A39005CB29B /* tkMenubutton.c */,
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */,
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */,
- F966BAEC08F27A39005CB29B /* tkMessage.c */,
- F966BAED08F27A39005CB29B /* tkObj.c */,
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */,
- F966BAEF08F27A39005CB29B /* tkOption.c */,
- F966BAF008F27A39005CB29B /* tkPack.c */,
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */,
- F966BAF208F27A39005CB29B /* tkPlace.c */,
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */,
- F966BAF408F27A39005CB29B /* tkPointer.c */,
- F966BAF508F27A39005CB29B /* tkPort.h */,
- F966BAF608F27A39005CB29B /* tkRectOval.c */,
- F966BAF708F27A39005CB29B /* tkScale.c */,
- F966BAF808F27A39005CB29B /* tkScale.h */,
- F966BAF908F27A39005CB29B /* tkScrollbar.c */,
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */,
- F966BAFB08F27A39005CB29B /* tkSelect.c */,
- F966BAFC08F27A39005CB29B /* tkSelect.h */,
- F966BAFD08F27A39005CB29B /* tkSquare.c */,
- F966BAFE08F27A39005CB29B /* tkOldTest.c */,
- F966BAFF08F27A39005CB29B /* tkStubInit.c */,
- F966BB0008F27A39005CB29B /* tkStubLib.c */,
- F966BB0108F27A39005CB29B /* tkStyle.c */,
- F966BB0208F27A39005CB29B /* tkTest.c */,
- F966BB0308F27A39005CB29B /* tkText.c */,
- F966BB0408F27A39005CB29B /* tkText.h */,
- F966BB0508F27A39005CB29B /* tkTextBTree.c */,
- F966BB0608F27A39005CB29B /* tkTextDisp.c */,
- F966BB0808F27A39005CB29B /* tkTextImage.c */,
- F966BB0908F27A39005CB29B /* tkTextIndex.c */,
- F966BB0A08F27A39005CB29B /* tkTextMark.c */,
- F966BB0B08F27A39005CB29B /* tkTextTag.c */,
- F966BB0C08F27A39005CB29B /* tkTextWind.c */,
- F966BB0D08F27A39005CB29B /* tkTrig.c */,
- F966BB0E08F27A39005CB29B /* tkUndo.c */,
- F966BB0F08F27A39005CB29B /* tkUndo.h */,
- F966BB1008F27A39005CB29B /* tkUtil.c */,
- F966BB1108F27A39005CB29B /* tkVisual.c */,
- F966BB1208F27A39005CB29B /* tkWindow.c */,
- F96887DF0AF786D5000797B5 /* ttk */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F966BB1308F27A39005CB29B /* library */ = {
- isa = PBXGroup;
- children = (
- F966BB1408F27A39005CB29B /* bgerror.tcl */,
- F966BB1508F27A39005CB29B /* button.tcl */,
- F966BB1608F27A39005CB29B /* choosedir.tcl */,
- F966BB1708F27A39005CB29B /* clrpick.tcl */,
- F966BB1808F27A39005CB29B /* comdlg.tcl */,
- F966BB1908F27A39005CB29B /* console.tcl */,
- F966BB1A08F27A39005CB29B /* demos */,
- F966BB6208F27A3A005CB29B /* dialog.tcl */,
- F966BB6308F27A3A005CB29B /* entry.tcl */,
- F966BB6408F27A3A005CB29B /* focus.tcl */,
- F99388380EE0114B0065FE6B /* fontchooser.tcl */,
- F966BB7308F27A3A005CB29B /* listbox.tcl */,
- F966BB7408F27A3A005CB29B /* menu.tcl */,
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */,
- F966BB7608F27A3A005CB29B /* msgbox.tcl */,
- F966BB8608F27A3A005CB29B /* obsolete.tcl */,
- F966BB8708F27A3A005CB29B /* optMenu.tcl */,
- F966BB8808F27A3A005CB29B /* palette.tcl */,
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */,
- F966BB8B08F27A3B005CB29B /* safetk.tcl */,
- F966BB8C08F27A3B005CB29B /* scale.tcl */,
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */,
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */,
- F966BB8F08F27A3B005CB29B /* tclIndex */,
- F966BB9008F27A3B005CB29B /* tearoff.tcl */,
- F966BB9108F27A3B005CB29B /* text.tcl */,
- F966BB9208F27A3B005CB29B /* tk.tcl */,
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */,
- F96888360AF787B3000797B5 /* ttk */,
- F966BB9408F27A3B005CB29B /* unsupported.tcl */,
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F966BB1A08F27A39005CB29B /* demos */ = {
- isa = PBXGroup;
- children = (
- F966BB1B08F27A39005CB29B /* anilabel.tcl */,
- F966BB1C08F27A39005CB29B /* aniwave.tcl */,
- F966BB1D08F27A39005CB29B /* arrow.tcl */,
- F966BB1E08F27A39005CB29B /* bind.tcl */,
- F966BB1F08F27A39005CB29B /* bitmap.tcl */,
- F966BB2008F27A39005CB29B /* browse */,
- F966BB2108F27A39005CB29B /* button.tcl */,
- F966BB2208F27A39005CB29B /* check.tcl */,
- F966BB2308F27A39005CB29B /* clrpick.tcl */,
- F966BB2408F27A39005CB29B /* colors.tcl */,
- F936FCDB0CCD984600716967 /* combo.tcl */,
- F966BB2508F27A39005CB29B /* cscroll.tcl */,
- F966BB2608F27A39005CB29B /* ctext.tcl */,
- F966BB2708F27A39005CB29B /* dialog1.tcl */,
- F966BB2808F27A39005CB29B /* dialog2.tcl */,
- F966BB2A08F27A39005CB29B /* entry1.tcl */,
- F966BB2B08F27A39005CB29B /* entry2.tcl */,
- F966BB2C08F27A39005CB29B /* entry3.tcl */,
- F966BB2D08F27A39005CB29B /* filebox.tcl */,
- F966BB2E08F27A39005CB29B /* floor.tcl */,
- F91543270EF201A90032D1E8 /* fontchoose.tcl */,
- F966BB2F08F27A39005CB29B /* form.tcl */,
- F966BB3008F27A39005CB29B /* goldberg.tcl */,
- F966BB3108F27A39005CB29B /* hello */,
- F966BB3208F27A39005CB29B /* hscale.tcl */,
- F966BB3308F27A39005CB29B /* icon.tcl */,
- F966BB3408F27A39005CB29B /* image1.tcl */,
- F966BB3508F27A39005CB29B /* image2.tcl */,
- F966BB4208F27A3A005CB29B /* items.tcl */,
- F966BB4308F27A3A005CB29B /* ixset */,
- F92240290D7C620F005EC715 /* knightstour.tcl */,
- F966BB4408F27A3A005CB29B /* label.tcl */,
- F966BB4508F27A3A005CB29B /* labelframe.tcl */,
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */,
- F966BB4608F27A3A005CB29B /* menu.tcl */,
- F966BB4708F27A3A005CB29B /* menubu.tcl */,
- F966BB4808F27A3A005CB29B /* msgbox.tcl */,
- F966BB4A08F27A3A005CB29B /* paned1.tcl */,
- F966BB4B08F27A3A005CB29B /* paned2.tcl */,
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */,
- F966BB4D08F27A3A005CB29B /* plot.tcl */,
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */,
- F966BB4F08F27A3A005CB29B /* radio.tcl */,
- F966BB5008F27A3A005CB29B /* README */,
- F966BB5108F27A3A005CB29B /* rmt */,
- F966BB5208F27A3A005CB29B /* rolodex */,
- F966BB5308F27A3A005CB29B /* ruler.tcl */,
- F966BB5408F27A3A005CB29B /* sayings.tcl */,
- F966BB5508F27A3A005CB29B /* search.tcl */,
- F966BB5608F27A3A005CB29B /* spin.tcl */,
- F966BB5708F27A3A005CB29B /* square */,
- F966BB5808F27A3A005CB29B /* states.tcl */,
- F966BB5908F27A3A005CB29B /* style.tcl */,
- F966BB5A08F27A3A005CB29B /* tclIndex */,
- F966BB5B08F27A3A005CB29B /* tcolor */,
- F966BB5C08F27A3A005CB29B /* text.tcl */,
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */,
- F966BB5D08F27A3A005CB29B /* timer */,
- F936FCD90CCD984600716967 /* toolbar.tcl */,
- F936FCD80CCD984600716967 /* tree.tcl */,
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */,
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */,
- F936FCDA0CCD984600716967 /* ttknote.tcl */,
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */,
- F936FCD70CCD984500716967 /* ttkprogress.tcl */,
- F966BB5E08F27A3A005CB29B /* twind.tcl */,
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */,
- F966BB6008F27A3A005CB29B /* vscale.tcl */,
- F966BB6108F27A3A005CB29B /* widget */,
- );
- path = demos;
- sourceTree = "<group>";
- };
- F966BB9708F27A3B005CB29B /* carbon */ = {
- isa = PBXGroup;
- children = (
- F966BBBA08F27A3B005CB29B /* configure.ac */,
- F966BBBB08F27A3B005CB29B /* GNUmakefile */,
- F966BBBE08F27A3B005CB29B /* README */,
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */,
- F966BBC108F27A3B005CB29B /* tkAboutDlg.r */,
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */,
- F966BBC408F27A3B005CB29B /* tkMacOSXAETE.r */,
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */,
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */,
- F966BBC708F27A3B005CB29B /* tkMacOSXCarbonEvents.c */,
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */,
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */,
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */,
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */,
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.r */,
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */,
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */,
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */,
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */,
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */,
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */,
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */,
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */,
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */,
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */,
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */,
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */,
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */,
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */,
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */,
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */,
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */,
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */,
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */,
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */,
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */,
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */,
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */,
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */,
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */,
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */,
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */,
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */,
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */,
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */,
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */,
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */,
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.r */,
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */,
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */,
- F966BBF808F27A3C005CB29B /* Wish.icns */,
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */,
- F97AE7F10B65C1E900310EA2 /* Wish-Common.xcconfig */,
- F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */,
- F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */,
- );
- path = carbon;
- sourceTree = "<group>";
- };
- F966BC0408F27A3C005CB29B /* tests */ = {
- isa = PBXGroup;
- children = (
- F966BC0508F27A3C005CB29B /* all.tcl */,
- F966BC0608F27A3C005CB29B /* arc.tcl */,
- F966BC0708F27A3C005CB29B /* bell.test */,
- F966BC0808F27A3C005CB29B /* bevel.tcl */,
- F966BC0908F27A3C005CB29B /* bgerror.test */,
- F966BC0A08F27A3C005CB29B /* bind.test */,
- F966BC0B08F27A3C005CB29B /* bitmap.test */,
- F966BC0C08F27A3C005CB29B /* border.test */,
- F966BC0D08F27A3C005CB29B /* bugs.tcl */,
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */,
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */,
- F966BC1008F27A3C005CB29B /* button.test */,
- F966BC1108F27A3C005CB29B /* canvas.test */,
- F966BC1208F27A3C005CB29B /* canvImg.test */,
- F966BC1308F27A3C005CB29B /* canvPs.test */,
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */,
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */,
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */,
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */,
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */,
- F966BC1908F27A3C005CB29B /* canvRect.test */,
- F966BC1A08F27A3C005CB29B /* canvText.test */,
- F966BC1B08F27A3C005CB29B /* canvWind.test */,
- F966BC1C08F27A3C005CB29B /* choosedir.test */,
- F966BC1D08F27A3C005CB29B /* clipboard.test */,
- F966BC1E08F27A3C005CB29B /* clrpick.test */,
- F966BC1F08F27A3C005CB29B /* cmap.tcl */,
- F966BC2008F27A3C005CB29B /* cmds.test */,
- F966BC2108F27A3C005CB29B /* color.test */,
- F966BC2208F27A3C005CB29B /* config.test */,
- F966BC2308F27A3C005CB29B /* constraints.tcl */,
- F966BC2408F27A3C005CB29B /* cursor.test */,
- F966BC2508F27A3C005CB29B /* dialog.test */,
- F966BC2608F27A3C005CB29B /* embed.test */,
- F966BC2708F27A3C005CB29B /* entry.test */,
- F966BC2808F27A3C005CB29B /* event.test */,
- F966BC2908F27A3C005CB29B /* filebox.test */,
- F966BC2A08F27A3C005CB29B /* focus.test */,
- F966BC2B08F27A3C005CB29B /* focusTcl.test */,
- F966BC2C08F27A3C005CB29B /* font.test */,
- F99388950EE02D980065FE6B /* fontchooser.test */,
- F966BC2D08F27A3C005CB29B /* frame.test */,
- F966BC2E08F27A3C005CB29B /* geometry.test */,
- F966BC2F08F27A3C005CB29B /* get.test */,
- F966BC3008F27A3C005CB29B /* grab.test */,
- F966BC3108F27A3C005CB29B /* grid.test */,
- F966BC3308F27A3C005CB29B /* image.test */,
- F966BC3408F27A3C005CB29B /* imgBmap.test */,
- F966BC3508F27A3C005CB29B /* imgPhoto.test */,
- F966BC3608F27A3C005CB29B /* imgPPM.test */,
- F966BC3708F27A3C005CB29B /* listbox.test */,
- F966BC3808F27A3C005CB29B /* main.test */,
- F966BC3908F27A3C005CB29B /* menu.test */,
- F966BC3A08F27A3C005CB29B /* menubut.test */,
- F966BC3B08F27A3C005CB29B /* menuDraw.test */,
- F966BC3C08F27A3C005CB29B /* message.test */,
- F966BC3D08F27A3C005CB29B /* msgbox.test */,
- F966BC3E08F27A3C005CB29B /* obj.test */,
- F966BC3F08F27A3C005CB29B /* oldpack.test */,
- F966BC4008F27A3C005CB29B /* option.file1 */,
- F966BC4108F27A3C005CB29B /* option.file2 */,
- F966BC4208F27A3C005CB29B /* option.test */,
- F966BC4308F27A3C005CB29B /* pack.test */,
- F966BC4408F27A3C005CB29B /* panedwindow.test */,
- F966BC4508F27A3D005CB29B /* place.test */,
- F966BC4608F27A3D005CB29B /* raise.test */,
- F966BC4708F27A3D005CB29B /* README */,
- F966BC4808F27A3D005CB29B /* safe.test */,
- F966BC4908F27A3D005CB29B /* scale.test */,
- F966BC4A08F27A3D005CB29B /* scrollbar.test */,
- F966BC4B08F27A3D005CB29B /* select.test */,
- F966BC4C08F27A3D005CB29B /* send.test */,
- F966BC4D08F27A3D005CB29B /* spinbox.test */,
- F966BC4E08F27A3D005CB29B /* text.test */,
- F966BC4F08F27A3D005CB29B /* textBTree.test */,
- F966BC5008F27A3D005CB29B /* textDisp.test */,
- F966BC5108F27A3D005CB29B /* textImage.test */,
- F966BC5208F27A3D005CB29B /* textIndex.test */,
- F966BC5308F27A3D005CB29B /* textMark.test */,
- F966BC5408F27A3D005CB29B /* textTag.test */,
- F966BC5508F27A3D005CB29B /* textWind.test */,
- F966BC5608F27A3D005CB29B /* tk.test */,
- F96888530AF7880C000797B5 /* ttk */,
- F966BC5708F27A3D005CB29B /* unixButton.test */,
- F966BC5808F27A3D005CB29B /* unixEmbed.test */,
- F966BC5908F27A3D005CB29B /* unixFont.test */,
- F966BC5A08F27A3D005CB29B /* unixMenu.test */,
- F966BC5B08F27A3D005CB29B /* unixSelect.test */,
- F966BC5C08F27A3D005CB29B /* unixWm.test */,
- F966BC5D08F27A3D005CB29B /* util.test */,
- F966BC5E08F27A3D005CB29B /* visual.test */,
- F966BC5F08F27A3D005CB29B /* visual_bb.test */,
- F966BC6008F27A3D005CB29B /* winButton.test */,
- F966BC6108F27A3D005CB29B /* winClipboard.test */,
- F966BC6208F27A3D005CB29B /* winDialog.test */,
- F966BC6308F27A3D005CB29B /* window.test */,
- F966BC6408F27A3D005CB29B /* winfo.test */,
- F966BC6508F27A3D005CB29B /* winFont.test */,
- F966BC6608F27A3D005CB29B /* winMenu.test */,
- F966BC6708F27A3D005CB29B /* winSend.test */,
- F966BC6808F27A3D005CB29B /* winWm.test */,
- F966BC6908F27A3D005CB29B /* wm.test */,
- F966BC6A08F27A3D005CB29B /* xmfbox.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F966BC6B08F27A3D005CB29B /* unix */ = {
- isa = PBXGroup;
- children = (
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */,
- F966BC6D08F27A3D005CB29B /* configure */,
- F966BC6E08F27A3D005CB29B /* configure.in */,
- F966BC6F08F27A3D005CB29B /* install-sh */,
- F966BC7008F27A3D005CB29B /* installManPage */,
- F966BC7108F27A3D005CB29B /* Makefile.in */,
- F966BC7208F27A3D005CB29B /* README */,
- F966BC7308F27A3D005CB29B /* tcl.m4 */,
- F966BC7408F27A3D005CB29B /* tk.spec */,
- F966BC7508F27A3D005CB29B /* tkAppInit.c */,
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */,
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */,
- F966BC7808F27A3D005CB29B /* tkUnix.c */,
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */,
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */,
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */,
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */,
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */,
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */,
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */,
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */,
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */,
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */,
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */,
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */,
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */,
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */,
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */,
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */,
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */,
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */,
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */,
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */,
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */,
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */,
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */,
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */,
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F966BC9208F27A3D005CB29B /* win */ = {
- isa = PBXGroup;
- children = (
- F966BC9408F27A3D005CB29B /* aclocal.m4 */,
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */,
- F966BC9608F27A3E005CB29B /* configure */,
- F966BC9708F27A3E005CB29B /* configure.in */,
- F966BC9808F27A3E005CB29B /* makefile.bc */,
- F966BC9908F27A3E005CB29B /* Makefile.in */,
- F966BC9A08F27A3E005CB29B /* makefile.vc */,
- F966BC9B08F27A3E005CB29B /* mkd.bat */,
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */,
- F966BC9D08F27A3E005CB29B /* rc */,
- F966BCF308F27A3E005CB29B /* README */,
- F966BCF408F27A3E005CB29B /* rmd.bat */,
- F966BCF508F27A3F005CB29B /* rules.vc */,
- F966BCF608F27A3F005CB29B /* stubs.c */,
- F966BCF708F27A3F005CB29B /* tcl.m4 */,
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */,
- F966BCF908F27A3F005CB29B /* tkWin.h */,
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */,
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */,
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */,
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */,
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */,
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */,
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */,
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */,
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */,
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */,
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */,
- F966BD0508F27A3F005CB29B /* tkWinFont.c */,
- F966BD0708F27A3F005CB29B /* tkWinImage.c */,
- F966BD0808F27A3F005CB29B /* tkWinInit.c */,
- F966BD0908F27A3F005CB29B /* tkWinInt.h */,
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */,
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */,
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */,
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */,
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */,
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */,
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */,
- F966BD1108F27A3F005CB29B /* tkWinSend.c */,
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */,
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */,
- F966BD1408F27A3F005CB29B /* tkWinTest.c */,
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */,
- F966BD1608F27A3F005CB29B /* tkWinWm.c */,
- F966BD1708F27A3F005CB29B /* tkWinX.c */,
- F96888860AF78953000797B5 /* ttkWinMonitor.c */,
- F96888870AF78953000797B5 /* ttkWinTheme.c */,
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */,
- F966BD1808F27A3F005CB29B /* winMain.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F966BC9D08F27A3E005CB29B /* rc */ = {
- isa = PBXGroup;
- children = (
- F966BCEE08F27A3E005CB29B /* tk.rc */,
- F966BCEF08F27A3E005CB29B /* tk_base.rc */,
- F966BCF208F27A3E005CB29B /* wish.rc */,
- );
- path = rc;
- sourceTree = "<group>";
- };
- F966BD1908F27A3F005CB29B /* xlib */ = {
- isa = PBXGroup;
- children = (
- F966BD1A08F27A3F005CB29B /* X11 */,
- F966BD2308F27A3F005CB29B /* xbytes.h */,
- F966BD2408F27A3F005CB29B /* xcolors.c */,
- F966BD2508F27A3F005CB29B /* xdraw.c */,
- F966BD2608F27A3F005CB29B /* xgc.c */,
- F966BD2708F27A3F005CB29B /* ximage.c */,
- F966BD2808F27A3F005CB29B /* xutil.c */,
- );
- path = xlib;
- sourceTree = "<group>";
- };
- F966BD1A08F27A3F005CB29B /* X11 */ = {
- isa = PBXGroup;
- children = (
- F966BD1B08F27A3F005CB29B /* cursorfont.h */,
- F966BD1C08F27A3F005CB29B /* keysym.h */,
- F966BD1D08F27A3F005CB29B /* keysymdef.h */,
- F966BD1E08F27A3F005CB29B /* X.h */,
- F966BD1F08F27A3F005CB29B /* Xatom.h */,
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */,
- F966BD2108F27A3F005CB29B /* Xlib.h */,
- F966BD2208F27A3F005CB29B /* Xutil.h */,
- );
- path = X11;
- sourceTree = "<group>";
- };
- F966C06F08F281DC005CB29B /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- F966C07408F2820D005CB29B /* CoreFoundation.framework */,
- F96437E60EF0D652003F468E /* libz.dylib */,
- F966C07608F2821B005CB29B /* Carbon.framework */,
- F966C07808F28233005CB29B /* IOKit.framework */,
- F9FD32140CC1AF170073837D /* libX11.dylib */,
- F9FD32150CC1AF170073837D /* libXext.dylib */,
- F9FD32160CC1AF170073837D /* libXss.dylib */,
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */,
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */,
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- F96887DF0AF786D5000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96887E00AF786D5000797B5 /* ttk.decls */,
- F96887E10AF786D5000797B5 /* ttkBlink.c */,
- F96887E20AF786D5000797B5 /* ttkButton.c */,
- F96887E30AF786D5000797B5 /* ttkCache.c */,
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */,
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */,
- F96887E60AF786D5000797B5 /* ttkDecls.h */,
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */,
- F96887E80AF786D5000797B5 /* ttkElements.c */,
- F96887E90AF786D5000797B5 /* ttkEntry.c */,
- F96887EA0AF786D5000797B5 /* ttkFrame.c */,
- F96887EB0AF786D5000797B5 /* ttkImage.c */,
- F96887EC0AF786D5000797B5 /* ttkInit.c */,
- F96887ED0AF786D5000797B5 /* ttkLabel.c */,
- F96887EE0AF786D5000797B5 /* ttkLayout.c */,
- F96887EF0AF786D5000797B5 /* ttkManager.c */,
- F96887F00AF786D5000797B5 /* ttkManager.h */,
- F96887F10AF786D5000797B5 /* ttkNotebook.c */,
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */,
- F96887F30AF786D5000797B5 /* ttkProgress.c */,
- F96887F40AF786D5000797B5 /* ttkScale.c */,
- F96887F50AF786D5000797B5 /* ttkScroll.c */,
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */,
- F96887F70AF786D5000797B5 /* ttkSeparator.c */,
- F96887F80AF786D5000797B5 /* ttkSquare.c */,
- F96887F90AF786D5000797B5 /* ttkState.c */,
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */,
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */,
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */,
- F96887FD0AF786D5000797B5 /* ttkTheme.c */,
- F96887FE0AF786D5000797B5 /* ttkTheme.h */,
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */,
- F96888000AF786D5000797B5 /* ttkTrace.c */,
- F96888010AF786D5000797B5 /* ttkTrack.c */,
- F96888020AF786D5000797B5 /* ttkTreeview.c */,
- F96888030AF786D5000797B5 /* ttkWidget.c */,
- F96888040AF786D5000797B5 /* ttkWidget.h */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888360AF787B3000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888370AF787B3000797B5 /* altTheme.tcl */,
- F96888380AF787B3000797B5 /* aquaTheme.tcl */,
- F96888390AF787B3000797B5 /* button.tcl */,
- F968883A0AF787B3000797B5 /* clamTheme.tcl */,
- F968883B0AF787B3000797B5 /* classicTheme.tcl */,
- F968883C0AF787B3000797B5 /* combobox.tcl */,
- F968883D0AF787B3000797B5 /* cursors.tcl */,
- F968883E0AF787B3000797B5 /* defaults.tcl */,
- F96888400AF787B3000797B5 /* entry.tcl */,
- F96888410AF787B3000797B5 /* fonts.tcl */,
- F96888440AF787B3000797B5 /* menubutton.tcl */,
- F96888450AF787B3000797B5 /* notebook.tcl */,
- F96888460AF787B3000797B5 /* panedwindow.tcl */,
- F96888470AF787B3000797B5 /* progress.tcl */,
- F96888480AF787B3000797B5 /* scale.tcl */,
- F96888490AF787B3000797B5 /* scrollbar.tcl */,
- F968884A0AF787B3000797B5 /* sizegrip.tcl */,
- F968884B0AF787B3000797B5 /* treeview.tcl */,
- F968884C0AF787B3000797B5 /* ttk.tcl */,
- F968884D0AF787B3000797B5 /* utils.tcl */,
- F968884E0AF787B3000797B5 /* winTheme.tcl */,
- F973E5960EE99384001A648E /* vistaTheme.tcl */,
- F968884F0AF787B3000797B5 /* xpTheme.tcl */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888530AF7880C000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888540AF7880C000797B5 /* all.tcl */,
- F96888560AF7880C000797B5 /* combobox.test */,
- F96888570AF7880C000797B5 /* entry.test */,
- F96888580AF7880C000797B5 /* image.test */,
- F96888590AF7880C000797B5 /* labelframe.test */,
- F968885A0AF7880C000797B5 /* layout.test */,
- F968885C0AF7880C000797B5 /* notebook.test */,
- F968885D0AF7880C000797B5 /* panedwindow.test */,
- F968885E0AF7880C000797B5 /* progressbar.test */,
- F968885F0AF7880C000797B5 /* scrollbar.test */,
- F96888600AF7880C000797B5 /* treetags.test */,
- F96888610AF7880C000797B5 /* treeview.test */,
- F96888620AF7880C000797B5 /* ttk.test */,
- F96888630AF7880C000797B5 /* validate.test */,
- F962F7C60DADC26200648DB8 /* vsapi.test */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96D3DF608F27169004A47F5 /* Tcl Sources */ = {
- isa = PBXGroup;
- children = (
- F96D3EC908F272A7004A47F5 /* generic */,
- F96D432C08F272B4004A47F5 /* macosx */,
- F96D443E08F272B9004A47F5 /* unix */,
- F96D425C08F272B2004A47F5 /* libtommath */,
- F96D446E08F272B9004A47F5 /* win */,
- F96D3F3808F272A7004A47F5 /* library */,
- F96D434408F272B5004A47F5 /* tests */,
- F96D3DFC08F272A4004A47F5 /* doc */,
- F96D43D008F272B8004A47F5 /* tools */,
- F9183E690EFC81560030B814 /* pkgs */,
- F96D3DFA08F272A4004A47F5 /* ChangeLog */,
- F96D3DFB08F272A4004A47F5 /* changes */,
- F96D434308F272B5004A47F5 /* README */,
- F96D432B08F272B4004A47F5 /* license.terms */,
- );
- name = "Tcl Sources";
- sourceTree = TCL_SRCROOT;
- };
- F96D3DF708F271BE004A47F5 /* Tk Sources */ = {
- isa = PBXGroup;
- children = (
- F966BAA508F27A38005CB29B /* generic */,
- F966BB9708F27A3B005CB29B /* carbon */,
- F966BC6B08F27A3D005CB29B /* unix */,
- F966BD1908F27A3F005CB29B /* xlib */,
- F966BA0308F27A37005CB29B /* bitmaps */,
- F966BC9208F27A3D005CB29B /* win */,
- F966BB1308F27A39005CB29B /* library */,
- F966BC0408F27A3C005CB29B /* tests */,
- F966BA1008F27A37005CB29B /* doc */,
- F966BA0E08F27A37005CB29B /* ChangeLog */,
- F966BA0F08F27A37005CB29B /* changes */,
- F966BC0308F27A3C005CB29B /* README */,
- F966BB9608F27A3B005CB29B /* license.terms */,
- );
- name = "Tk Sources";
- sourceTree = TK_SRCROOT;
- };
- F96D3DFC08F272A4004A47F5 /* doc */ = {
- isa = PBXGroup;
- children = (
- F96D3DFD08F272A4004A47F5 /* Access.3 */,
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */,
- F96D3DFF08F272A4004A47F5 /* after.n */,
- F96D3E0008F272A4004A47F5 /* Alloc.3 */,
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */,
- F96D3E0208F272A4004A47F5 /* append.n */,
- F96D3E0308F272A4004A47F5 /* AppInit.3 */,
- F96D3E0408F272A5004A47F5 /* array.n */,
- F96D3E0508F272A5004A47F5 /* AssocData.3 */,
- F96D3E0608F272A5004A47F5 /* Async.3 */,
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */,
- F96D3E0808F272A5004A47F5 /* Backslash.3 */,
- F96D3E0908F272A5004A47F5 /* bgerror.n */,
- F96D3E0A08F272A5004A47F5 /* binary.n */,
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */,
- F96D3E0C08F272A5004A47F5 /* break.n */,
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */,
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */,
- F96D3E0F08F272A5004A47F5 /* case.n */,
- F96D3E1008F272A5004A47F5 /* catch.n */,
- F96D3E1108F272A5004A47F5 /* cd.n */,
- F96D3E1208F272A5004A47F5 /* chan.n */,
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */,
- F93599CF0DF1F87F00E04F67 /* Class.3 */,
- F93599D00DF1F89E00E04F67 /* class.n */,
- F96D3E1408F272A5004A47F5 /* clock.n */,
- F96D3E1508F272A5004A47F5 /* close.n */,
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */,
- F96D3E1708F272A5004A47F5 /* Concat.3 */,
- F96D3E1808F272A5004A47F5 /* concat.n */,
- F96D3E1908F272A5004A47F5 /* continue.n */,
- F93599D20DF1F8DF00E04F67 /* copy.n */,
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */,
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */,
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */,
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */,
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */,
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */,
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */,
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */,
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */,
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */,
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */,
- F96D3E2508F272A5004A47F5 /* dde.n */,
- F93599D30DF1F8F500E04F67 /* define.n */,
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */,
- F96D3E2708F272A5004A47F5 /* dict.n */,
- F96D3E2808F272A5004A47F5 /* DictObj.3 */,
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */,
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */,
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */,
- F96D3E2C08F272A5004A47F5 /* DString.3 */,
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */,
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */,
- F96D3E2F08F272A5004A47F5 /* encoding.n */,
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */,
- F96D3E3108F272A5004A47F5 /* Environment.3 */,
- F96D3E3208F272A5004A47F5 /* eof.n */,
- F96D3E3308F272A5004A47F5 /* error.n */,
- F96D3E3408F272A5004A47F5 /* Eval.3 */,
- F96D3E3508F272A5004A47F5 /* eval.n */,
- F96D3E3608F272A5004A47F5 /* exec.n */,
- F96D3E3708F272A5004A47F5 /* Exit.3 */,
- F96D3E3808F272A5004A47F5 /* exit.n */,
- F96D3E3908F272A5004A47F5 /* expr.n */,
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */,
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */,
- F96D3E3C08F272A5004A47F5 /* fblocked.n */,
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */,
- F96D3E3E08F272A5004A47F5 /* fcopy.n */,
- F96D3E3F08F272A5004A47F5 /* file.n */,
- F96D3E4008F272A5004A47F5 /* fileevent.n */,
- F96D3E4108F272A5004A47F5 /* filename.n */,
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */,
- F96D3E4308F272A5004A47F5 /* FindExec.3 */,
- F96D3E4408F272A5004A47F5 /* flush.n */,
- F96D3E4508F272A5004A47F5 /* for.n */,
- F96D3E4608F272A5004A47F5 /* foreach.n */,
- F96D3E4708F272A5004A47F5 /* format.n */,
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */,
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */,
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */,
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */,
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */,
- F96D3E4D08F272A5004A47F5 /* gets.n */,
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */,
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */,
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */,
- F96D3E5108F272A5004A47F5 /* glob.n */,
- F96D3E5208F272A6004A47F5 /* global.n */,
- F96D3E5308F272A6004A47F5 /* Hash.3 */,
- F96D3E5408F272A6004A47F5 /* history.n */,
- F96D3E5508F272A6004A47F5 /* http.n */,
- F96D3E5608F272A6004A47F5 /* if.n */,
- F96D3E5708F272A6004A47F5 /* incr.n */,
- F96D3E5808F272A6004A47F5 /* info.n */,
- F96D3E5908F272A6004A47F5 /* Init.3 */,
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */,
- F96D3E5B08F272A6004A47F5 /* Interp.3 */,
- F96D3E5C08F272A6004A47F5 /* interp.n */,
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */,
- F96D3E5E08F272A6004A47F5 /* join.n */,
- F96D3E5F08F272A6004A47F5 /* lappend.n */,
- F96D3E6008F272A6004A47F5 /* lassign.n */,
- F96D3E6108F272A6004A47F5 /* library.n */,
- F96D3E6208F272A6004A47F5 /* Limit.3 */,
- F96D3E6308F272A6004A47F5 /* lindex.n */,
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */,
- F96D3E6508F272A6004A47F5 /* linsert.n */,
- F96D3E6608F272A6004A47F5 /* list.n */,
- F96D3E6708F272A6004A47F5 /* ListObj.3 */,
- F96D3E6808F272A6004A47F5 /* llength.n */,
- F96D3E6908F272A6004A47F5 /* load.n */,
- F96D3E6A08F272A6004A47F5 /* lrange.n */,
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */,
- F96D3E6C08F272A6004A47F5 /* lreplace.n */,
- F96D3E6D08F272A6004A47F5 /* lsearch.n */,
- F96D3E6E08F272A6004A47F5 /* lset.n */,
- F96D3E6F08F272A6004A47F5 /* lsort.n */,
- F96D3E7008F272A6004A47F5 /* man.macros */,
- F96D3E7108F272A6004A47F5 /* mathfunc.n */,
- F96D3E7208F272A6004A47F5 /* memory.n */,
- F93599D40DF1F91900E04F67 /* Method.3 */,
- F96D3E7308F272A6004A47F5 /* msgcat.n */,
- F93599D50DF1F93700E04F67 /* my.n */,
- F96D3E7408F272A6004A47F5 /* Namespace.3 */,
- F96D3E7508F272A6004A47F5 /* namespace.n */,
- F93599D60DF1F95000E04F67 /* next.n */,
- F96D3E7608F272A6004A47F5 /* Notifier.3 */,
- F96D3E7708F272A6004A47F5 /* Object.3 */,
- F93599D70DF1F96800E04F67 /* object.n */,
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */,
- F96D3E7908F272A6004A47F5 /* open.n */,
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */,
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */,
- F96D3E7C08F272A6004A47F5 /* package.n */,
- F96D3E7D08F272A6004A47F5 /* packagens.n */,
- F96D3E7E08F272A6004A47F5 /* Panic.3 */,
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */,
- F96D3E8008F272A6004A47F5 /* pid.n */,
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */,
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */,
- F9ECB1E10B26543C00A28025 /* platform_shell.n */,
- F9ECB1E20B26543C00A28025 /* platform.n */,
- F96D3E8308F272A6004A47F5 /* Preserve.3 */,
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */,
- F96D3E8508F272A6004A47F5 /* proc.n */,
- F96D3E8608F272A6004A47F5 /* puts.n */,
- F96D3E8708F272A6004A47F5 /* pwd.n */,
- F96D3E8808F272A6004A47F5 /* re_syntax.n */,
- F96D3E8908F272A6004A47F5 /* read.n */,
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */,
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */,
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */,
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */,
- F96D3E8E08F272A6004A47F5 /* regexp.n */,
- F96D3E8F08F272A6004A47F5 /* registry.n */,
- F96D3E9008F272A6004A47F5 /* regsub.n */,
- F96D3E9108F272A6004A47F5 /* rename.n */,
- F96D3E9208F272A6004A47F5 /* return.n */,
- F96D3E9308F272A6004A47F5 /* safe.n */,
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */,
- F96D3E9508F272A6004A47F5 /* scan.n */,
- F96D3E9608F272A6004A47F5 /* seek.n */,
- F93599D80DF1F98300E04F67 /* self.n */,
- F96D3E9708F272A6004A47F5 /* set.n */,
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */,
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */,
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */,
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */,
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */,
- F96D3E9D08F272A7004A47F5 /* Signal.3 */,
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */,
- F96D3E9F08F272A7004A47F5 /* socket.n */,
- F96D3EA008F272A7004A47F5 /* source.n */,
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */,
- F96D3EA208F272A7004A47F5 /* split.n */,
- F96D3EA308F272A7004A47F5 /* SplitList.3 */,
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */,
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */,
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */,
- F96D3EA708F272A7004A47F5 /* string.n */,
- F96D3EA808F272A7004A47F5 /* StringObj.3 */,
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */,
- F96D3EAA08F272A7004A47F5 /* subst.n */,
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */,
- F96D3EAC08F272A7004A47F5 /* switch.n */,
- F96D3EAD08F272A7004A47F5 /* Tcl.n */,
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */,
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */,
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */,
- F96D3EB008F272A7004A47F5 /* tclsh.1 */,
- F96D3EB108F272A7004A47F5 /* tcltest.n */,
- F96D3EB208F272A7004A47F5 /* tclvars.n */,
- F96D3EB308F272A7004A47F5 /* tell.n */,
- F96D3EB408F272A7004A47F5 /* Thread.3 */,
- F9183E640EFC80CD0030B814 /* throw.n */,
- F96D3EB508F272A7004A47F5 /* time.n */,
- F96D3EB608F272A7004A47F5 /* tm.n */,
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */,
- F96D3EB808F272A7004A47F5 /* trace.n */,
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */,
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */,
- F96D3EBB08F272A7004A47F5 /* Translate.3 */,
- F9183E650EFC80D70030B814 /* try.n */,
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */,
- F96D3EBD08F272A7004A47F5 /* unknown.n */,
- F96D3EBE08F272A7004A47F5 /* unload.n */,
- F96D3EBF08F272A7004A47F5 /* unset.n */,
- F96D3EC008F272A7004A47F5 /* update.n */,
- F96D3EC108F272A7004A47F5 /* uplevel.n */,
- F96D3EC208F272A7004A47F5 /* UpVar.3 */,
- F96D3EC308F272A7004A47F5 /* upvar.n */,
- F96D3EC408F272A7004A47F5 /* Utf.3 */,
- F96D3EC508F272A7004A47F5 /* variable.n */,
- F96D3EC608F272A7004A47F5 /* vwait.n */,
- F96D3EC708F272A7004A47F5 /* while.n */,
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */,
- F915432D0EF201EE0032D1E8 /* zlib.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F96D3EC908F272A7004A47F5 /* generic */ = {
- isa = PBXGroup;
- children = (
- F96D3ECA08F272A7004A47F5 /* README */,
- F96D3ECB08F272A7004A47F5 /* regc_color.c */,
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */,
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */,
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */,
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */,
- F96D3ED008F272A7004A47F5 /* regcomp.c */,
- F96D3ED108F272A7004A47F5 /* regcustom.h */,
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */,
- F96D3ED308F272A7004A47F5 /* regerror.c */,
- F96D3ED408F272A7004A47F5 /* regerrs.h */,
- F96D3ED508F272A7004A47F5 /* regex.h */,
- F96D3ED608F272A7004A47F5 /* regexec.c */,
- F96D3ED708F272A7004A47F5 /* regfree.c */,
- F96D3ED808F272A7004A47F5 /* regfronts.c */,
- F96D3ED908F272A7004A47F5 /* regguts.h */,
- F96D3EDA08F272A7004A47F5 /* tcl.decls */,
- F96D3EDB08F272A7004A47F5 /* tcl.h */,
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */,
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */,
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */,
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */,
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */,
- F96D3EE108F272A7004A47F5 /* tclClock.c */,
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */,
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */,
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */,
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */,
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */,
- F96D3EE708F272A7004A47F5 /* tclCompile.c */,
- F96D3EE808F272A7004A47F5 /* tclCompile.h */,
- F96D3EE908F272A7004A47F5 /* tclConfig.c */,
- F96D3EEA08F272A7004A47F5 /* tclDate.c */,
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */,
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */,
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */,
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */,
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */,
- F96D3EF008F272A7004A47F5 /* tclExecute.c */,
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */,
- F96D3EF208F272A7004A47F5 /* tclFileName.c */,
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */,
- F96D3EF408F272A7004A47F5 /* tclGet.c */,
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */,
- F96D3EF608F272A7004A47F5 /* tclHash.c */,
- F96D3EF708F272A7004A47F5 /* tclHistory.c */,
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */,
- F96D3EF908F272A7004A47F5 /* tclInt.decls */,
- F96D3EFA08F272A7004A47F5 /* tclInt.h */,
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */,
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */,
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */,
- F96D3EFE08F272A7004A47F5 /* tclIO.c */,
- F96D3EFF08F272A7004A47F5 /* tclIO.h */,
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */,
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */,
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */,
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */,
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */,
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */,
- F96D3F0508F272A7004A47F5 /* tclLink.c */,
- F96D3F0608F272A7004A47F5 /* tclListObj.c */,
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */,
- F96D3F0808F272A7004A47F5 /* tclLoad.c */,
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */,
- F96D3F0A08F272A7004A47F5 /* tclMain.c */,
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */,
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */,
- F96D3F0D08F272A7004A47F5 /* tclObj.c */,
- F93599B20DF1F75400E04F67 /* tclOO.c */,
- F93599B40DF1F75900E04F67 /* tclOO.decls */,
- F93599B50DF1F75D00E04F67 /* tclOO.h */,
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */,
- F93599B80DF1F76600E04F67 /* tclOOCall.c */,
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */,
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */,
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */,
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */,
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */,
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */,
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */,
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */,
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */,
- F96D3F0F08F272A7004A47F5 /* tclParse.c */,
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */,
- F96D3F1208F272A7004A47F5 /* tclPipe.c */,
- F96D3F1308F272A7004A47F5 /* tclPkg.c */,
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */,
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */,
- F96D3F1608F272A7004A47F5 /* tclPort.h */,
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */,
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */,
- F96D3F1908F272A7004A47F5 /* tclProc.c */,
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */,
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */,
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */,
- F96D3F1D08F272A7004A47F5 /* tclResult.c */,
- F96D3F1E08F272A7004A47F5 /* tclScan.c */,
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */,
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */,
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */,
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */,
- F96D3F2708F272A7004A47F5 /* tclTest.c */,
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */,
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */,
- F96D3F2A08F272A7004A47F5 /* tclThread.c */,
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */,
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */,
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */,
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */,
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */,
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */,
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */,
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */,
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */,
- F96D3F3208F272A7004A47F5 /* tclTrace.c */,
- F96D3F3308F272A7004A47F5 /* tclUniData.c */,
- F96D3F3408F272A7004A47F5 /* tclUtf.c */,
- F96D3F3508F272A7004A47F5 /* tclUtil.c */,
- F96D3F3608F272A7004A47F5 /* tclVar.c */,
- F96437C90EF0D4B2003F468E /* tclZlib.c */,
- F96D3F3708F272A7004A47F5 /* tommath.h */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F96D3F3808F272A7004A47F5 /* library */ = {
- isa = PBXGroup;
- children = (
- F96D3F3908F272A8004A47F5 /* auto.tcl */,
- F96D3F3A08F272A8004A47F5 /* clock.tcl */,
- F96D3F3B08F272A8004A47F5 /* dde */,
- F96D3F8C08F272A8004A47F5 /* history.tcl */,
- F96D3F8D08F272A8004A47F5 /* http */,
- F96D3F9008F272A8004A47F5 /* http1.0 */,
- F96D3F9308F272A8004A47F5 /* init.tcl */,
- F96D3F9408F272A8004A47F5 /* msgcat */,
- F96D401708F272AA004A47F5 /* opt */,
- F96D401A08F272AA004A47F5 /* package.tcl */,
- F96D401B08F272AA004A47F5 /* parray.tcl */,
- F9ECB1110B26521500A28025 /* platform */,
- F96D401C08F272AA004A47F5 /* reg */,
- F96D401E08F272AA004A47F5 /* safe.tcl */,
- F96D401F08F272AA004A47F5 /* tclIndex */,
- F96D402008F272AA004A47F5 /* tcltest */,
- F96D402308F272AA004A47F5 /* tm.tcl */,
- F96D425B08F272B2004A47F5 /* word.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F96D3F3B08F272A8004A47F5 /* dde */ = {
- isa = PBXGroup;
- children = (
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = dde;
- sourceTree = "<group>";
- };
- F96D3F8D08F272A8004A47F5 /* http */ = {
- isa = PBXGroup;
- children = (
- F96D3F8E08F272A8004A47F5 /* http.tcl */,
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http;
- sourceTree = "<group>";
- };
- F96D3F9008F272A8004A47F5 /* http1.0 */ = {
- isa = PBXGroup;
- children = (
- F96D3F9108F272A8004A47F5 /* http.tcl */,
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http1.0;
- sourceTree = "<group>";
- };
- F96D3F9408F272A8004A47F5 /* msgcat */ = {
- isa = PBXGroup;
- children = (
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */,
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = msgcat;
- sourceTree = "<group>";
- };
- F96D401708F272AA004A47F5 /* opt */ = {
- isa = PBXGroup;
- children = (
- F96D401808F272AA004A47F5 /* optparse.tcl */,
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = opt;
- sourceTree = "<group>";
- };
- F96D401C08F272AA004A47F5 /* reg */ = {
- isa = PBXGroup;
- children = (
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = reg;
- sourceTree = "<group>";
- };
- F96D402008F272AA004A47F5 /* tcltest */ = {
- isa = PBXGroup;
- children = (
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */,
- F96D402208F272AA004A47F5 /* tcltest.tcl */,
- );
- path = tcltest;
- sourceTree = "<group>";
- };
- F96D425C08F272B2004A47F5 /* libtommath */ = {
- isa = PBXGroup;
- children = (
- F96D425F08F272B3004A47F5 /* bn.pdf */,
- F96D426108F272B3004A47F5 /* bn_error.c */,
- F96D426208F272B3004A47F5 /* bn_fast_mp_invmod.c */,
- F96D426308F272B3004A47F5 /* bn_fast_mp_montgomery_reduce.c */,
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */,
- F96D426508F272B3004A47F5 /* bn_fast_s_mp_mul_high_digs.c */,
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */,
- F96D426708F272B3004A47F5 /* bn_mp_2expt.c */,
- F96D426808F272B3004A47F5 /* bn_mp_abs.c */,
- F96D426908F272B3004A47F5 /* bn_mp_add.c */,
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */,
- F96D426B08F272B3004A47F5 /* bn_mp_addmod.c */,
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */,
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */,
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */,
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */,
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */,
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */,
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */,
- F96D427308F272B3004A47F5 /* bn_mp_cnt_lsb.c */,
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */,
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */,
- F96D427608F272B3004A47F5 /* bn_mp_div.c */,
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */,
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */,
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */,
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */,
- F96D427B08F272B3004A47F5 /* bn_mp_dr_is_modulus.c */,
- F96D427C08F272B3004A47F5 /* bn_mp_dr_reduce.c */,
- F96D427D08F272B3004A47F5 /* bn_mp_dr_setup.c */,
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */,
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */,
- F96D428008F272B3004A47F5 /* bn_mp_exptmod.c */,
- F96D428108F272B3004A47F5 /* bn_mp_exptmod_fast.c */,
- F96D428208F272B3004A47F5 /* bn_mp_exteuclid.c */,
- F96D428308F272B3004A47F5 /* bn_mp_fread.c */,
- F96D428408F272B3004A47F5 /* bn_mp_fwrite.c */,
- F96D428508F272B3004A47F5 /* bn_mp_gcd.c */,
- F96D428608F272B3004A47F5 /* bn_mp_get_int.c */,
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */,
- F96D428808F272B3004A47F5 /* bn_mp_init.c */,
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */,
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */,
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */,
- F96D428C08F272B3004A47F5 /* bn_mp_init_set_int.c */,
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */,
- F96D428E08F272B3004A47F5 /* bn_mp_invmod.c */,
- F96D428F08F272B3004A47F5 /* bn_mp_invmod_slow.c */,
- F96D429008F272B3004A47F5 /* bn_mp_is_square.c */,
- F96D429108F272B3004A47F5 /* bn_mp_jacobi.c */,
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */,
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */,
- F96D429408F272B3004A47F5 /* bn_mp_lcm.c */,
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */,
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */,
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */,
- F96D429808F272B3004A47F5 /* bn_mp_mod_d.c */,
- F96D429908F272B3004A47F5 /* bn_mp_montgomery_calc_normalization.c */,
- F96D429A08F272B3004A47F5 /* bn_mp_montgomery_reduce.c */,
- F96D429B08F272B3004A47F5 /* bn_mp_montgomery_setup.c */,
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */,
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */,
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */,
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */,
- F96D42A008F272B3004A47F5 /* bn_mp_mulmod.c */,
- F96D42A108F272B3004A47F5 /* bn_mp_n_root.c */,
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */,
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */,
- F96D42A408F272B3004A47F5 /* bn_mp_prime_fermat.c */,
- F96D42A508F272B3004A47F5 /* bn_mp_prime_is_divisible.c */,
- F96D42A608F272B3004A47F5 /* bn_mp_prime_is_prime.c */,
- F96D42A708F272B3004A47F5 /* bn_mp_prime_miller_rabin.c */,
- F96D42A808F272B3004A47F5 /* bn_mp_prime_next_prime.c */,
- F96D42A908F272B3004A47F5 /* bn_mp_prime_rabin_miller_trials.c */,
- F96D42AA08F272B3004A47F5 /* bn_mp_prime_random_ex.c */,
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */,
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */,
- F96D42AD08F272B3004A47F5 /* bn_mp_rand.c */,
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */,
- F96D42AF08F272B3004A47F5 /* bn_mp_read_signed_bin.c */,
- F96D42B008F272B3004A47F5 /* bn_mp_read_unsigned_bin.c */,
- F96D42B108F272B3004A47F5 /* bn_mp_reduce.c */,
- F96D42B208F272B3004A47F5 /* bn_mp_reduce_2k.c */,
- F96D42B308F272B3004A47F5 /* bn_mp_reduce_2k_l.c */,
- F96D42B408F272B3004A47F5 /* bn_mp_reduce_2k_setup.c */,
- F96D42B508F272B3004A47F5 /* bn_mp_reduce_2k_setup_l.c */,
- F96D42B608F272B3004A47F5 /* bn_mp_reduce_is_2k.c */,
- F96D42B708F272B3004A47F5 /* bn_mp_reduce_is_2k_l.c */,
- F96D42B808F272B3004A47F5 /* bn_mp_reduce_setup.c */,
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */,
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */,
- F96D42BB08F272B3004A47F5 /* bn_mp_set_int.c */,
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */,
- F96D42BD08F272B3004A47F5 /* bn_mp_signed_bin_size.c */,
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */,
- F96D42BF08F272B3004A47F5 /* bn_mp_sqrmod.c */,
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */,
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */,
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */,
- F96D42C308F272B3004A47F5 /* bn_mp_submod.c */,
- F96D42C408F272B3004A47F5 /* bn_mp_to_signed_bin.c */,
- F96D42C508F272B3004A47F5 /* bn_mp_to_signed_bin_n.c */,
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */,
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */,
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */,
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */,
- F96D42CA08F272B3004A47F5 /* bn_mp_toradix.c */,
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */,
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */,
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */,
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */,
- F96D42CF08F272B3004A47F5 /* bn_prime_tab.c */,
- F96D42D008F272B3004A47F5 /* bn_reverse.c */,
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */,
- F96D42D208F272B3004A47F5 /* bn_s_mp_exptmod.c */,
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */,
- F96D42D408F272B3004A47F5 /* bn_s_mp_mul_high_digs.c */,
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */,
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */,
- F96D42D708F272B3004A47F5 /* bncore.c */,
- F96D42D908F272B3004A47F5 /* callgraph.txt */,
- F96D42DA08F272B3004A47F5 /* changes.txt */,
- F96D42F008F272B3004A47F5 /* LICENSE */,
- F96D431D08F272B4004A47F5 /* poster.pdf */,
- F96D432608F272B4004A47F5 /* tommath.pdf */,
- F96D432908F272B4004A47F5 /* tommath_class.h */,
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */,
- );
- path = libtommath;
- sourceTree = "<group>";
- };
- F96D432C08F272B4004A47F5 /* macosx */ = {
- isa = PBXGroup;
- children = (
- F96D432E08F272B5004A47F5 /* configure.ac */,
- F96D432F08F272B5004A47F5 /* GNUmakefile */,
- F96D433108F272B5004A47F5 /* README */,
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */,
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */,
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */,
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */,
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */,
- );
- path = macosx;
- sourceTree = "<group>";
- };
- F96D434408F272B5004A47F5 /* tests */ = {
- isa = PBXGroup;
- children = (
- F96D434508F272B5004A47F5 /* all.tcl */,
- F96D434608F272B5004A47F5 /* append.test */,
- F96D434708F272B5004A47F5 /* appendComp.test */,
- F9ECB1CA0B2652D300A28025 /* apply.test */,
- F96D434808F272B5004A47F5 /* assocd.test */,
- F96D434908F272B5004A47F5 /* async.test */,
- F96D434A08F272B5004A47F5 /* autoMkindex.test */,
- F96D434B08F272B5004A47F5 /* basic.test */,
- F96D434C08F272B5004A47F5 /* binary.test */,
- F96D434D08F272B5004A47F5 /* case.test */,
- F96D434E08F272B5004A47F5 /* chan.test */,
- F9A493240CEBF38300B78AE2 /* chanio.test */,
- F96D434F08F272B5004A47F5 /* clock.test */,
- F96D435008F272B5004A47F5 /* cmdAH.test */,
- F96D435108F272B5004A47F5 /* cmdIL.test */,
- F96D435208F272B5004A47F5 /* cmdInfo.test */,
- F96D435308F272B5004A47F5 /* cmdMZ.test */,
- F96D435408F272B5004A47F5 /* compExpr-old.test */,
- F96D435508F272B5004A47F5 /* compExpr.test */,
- F96D435608F272B5004A47F5 /* compile.test */,
- F96D435708F272B5004A47F5 /* concat.test */,
- F96D435808F272B5004A47F5 /* config.test */,
- F96D435908F272B5004A47F5 /* dcall.test */,
- F96D435A08F272B5004A47F5 /* dict.test */,
- F96D435C08F272B5004A47F5 /* dstring.test */,
- F96D435E08F272B5004A47F5 /* encoding.test */,
- F96D435F08F272B5004A47F5 /* env.test */,
- F96D436008F272B5004A47F5 /* error.test */,
- F96D436108F272B5004A47F5 /* eval.test */,
- F96D436208F272B5004A47F5 /* event.test */,
- F96D436308F272B5004A47F5 /* exec.test */,
- F96D436408F272B5004A47F5 /* execute.test */,
- F96D436508F272B5004A47F5 /* expr-old.test */,
- F96D436608F272B5004A47F5 /* expr.test */,
- F96D436708F272B6004A47F5 /* fCmd.test */,
- F96D436808F272B6004A47F5 /* fileName.test */,
- F96D436908F272B6004A47F5 /* fileSystem.test */,
- F96D436A08F272B6004A47F5 /* for-old.test */,
- F96D436B08F272B6004A47F5 /* for.test */,
- F96D436C08F272B6004A47F5 /* foreach.test */,
- F96D436D08F272B6004A47F5 /* format.test */,
- F96D436E08F272B6004A47F5 /* get.test */,
- F96D436F08F272B6004A47F5 /* history.test */,
- F96D437008F272B6004A47F5 /* http.test */,
- F96D437108F272B6004A47F5 /* httpd */,
- F96D437208F272B6004A47F5 /* httpold.test */,
- F96D437308F272B6004A47F5 /* if-old.test */,
- F96D437408F272B6004A47F5 /* if.test */,
- F96D437508F272B6004A47F5 /* incr-old.test */,
- F96D437608F272B6004A47F5 /* incr.test */,
- F96D437708F272B6004A47F5 /* indexObj.test */,
- F96D437808F272B6004A47F5 /* info.test */,
- F96D437908F272B6004A47F5 /* init.test */,
- F96D437A08F272B6004A47F5 /* interp.test */,
- F96D437B08F272B6004A47F5 /* io.test */,
- F96D437C08F272B6004A47F5 /* ioCmd.test */,
- F96D437D08F272B6004A47F5 /* iogt.test */,
- F96D437F08F272B6004A47F5 /* join.test */,
- F96D438008F272B6004A47F5 /* lindex.test */,
- F96D438108F272B6004A47F5 /* link.test */,
- F96D438208F272B6004A47F5 /* linsert.test */,
- F96D438308F272B6004A47F5 /* list.test */,
- F96D438408F272B6004A47F5 /* listObj.test */,
- F96D438508F272B6004A47F5 /* llength.test */,
- F96D438608F272B6004A47F5 /* load.test */,
- F96D438708F272B6004A47F5 /* lrange.test */,
- F96D438808F272B6004A47F5 /* lrepeat.test */,
- F96D438908F272B6004A47F5 /* lreplace.test */,
- F96D438A08F272B6004A47F5 /* lsearch.test */,
- F96D438B08F272B6004A47F5 /* lset.test */,
- F96D438C08F272B6004A47F5 /* lsetComp.test */,
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */,
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */,
- F96D438E08F272B6004A47F5 /* main.test */,
- F9ECB1CB0B26534C00A28025 /* mathop.test */,
- F96D438F08F272B6004A47F5 /* misc.test */,
- F96D439008F272B6004A47F5 /* msgcat.test */,
- F96D439108F272B6004A47F5 /* namespace-old.test */,
- F96D439208F272B7004A47F5 /* namespace.test */,
- F96D439308F272B7004A47F5 /* notify.test */,
- F91DC23C0E44C51B002CB8D1 /* nre.test */,
- F96D439408F272B7004A47F5 /* obj.test */,
- F93599C80DF1F81900E04F67 /* oo.test */,
- F96D439508F272B7004A47F5 /* opt.test */,
- F96D439608F272B7004A47F5 /* package.test */,
- F96D439708F272B7004A47F5 /* parse.test */,
- F96D439808F272B7004A47F5 /* parseExpr.test */,
- F96D439908F272B7004A47F5 /* parseOld.test */,
- F96D439A08F272B7004A47F5 /* pid.test */,
- F96D439B08F272B7004A47F5 /* pkg.test */,
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */,
- F96D439D08F272B7004A47F5 /* platform.test */,
- F96D439E08F272B7004A47F5 /* proc-old.test */,
- F96D439F08F272B7004A47F5 /* proc.test */,
- F96D43A008F272B7004A47F5 /* pwd.test */,
- F96D43A108F272B7004A47F5 /* README */,
- F96D43A208F272B7004A47F5 /* reg.test */,
- F96D43A308F272B7004A47F5 /* regexp.test */,
- F96D43A408F272B7004A47F5 /* regexpComp.test */,
- F96D43A508F272B7004A47F5 /* registry.test */,
- F96D43A608F272B7004A47F5 /* remote.tcl */,
- F96D43A708F272B7004A47F5 /* rename.test */,
- F96D43A808F272B7004A47F5 /* result.test */,
- F96D43A908F272B7004A47F5 /* safe.test */,
- F96D43AA08F272B7004A47F5 /* scan.test */,
- F96D43AB08F272B7004A47F5 /* security.test */,
- F96D43AC08F272B7004A47F5 /* set-old.test */,
- F96D43AD08F272B7004A47F5 /* set.test */,
- F96D43AE08F272B7004A47F5 /* socket.test */,
- F96D43AF08F272B7004A47F5 /* source.test */,
- F96D43B008F272B7004A47F5 /* split.test */,
- F96D43B108F272B7004A47F5 /* stack.test */,
- F96D43B208F272B7004A47F5 /* string.test */,
- F96D43B308F272B7004A47F5 /* stringComp.test */,
- F96D43B408F272B7004A47F5 /* stringObj.test */,
- F96D43B508F272B7004A47F5 /* subst.test */,
- F96D43B608F272B7004A47F5 /* switch.test */,
- F96D43B708F272B7004A47F5 /* tcltest.test */,
- F96D43B808F272B7004A47F5 /* thread.test */,
- F96D43B908F272B7004A47F5 /* timer.test */,
- F96D43BA08F272B7004A47F5 /* tm.test */,
- F96D43BB08F272B7004A47F5 /* trace.test */,
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */,
- F96D43BD08F272B7004A47F5 /* unixFile.test */,
- F96D43BE08F272B7004A47F5 /* unixInit.test */,
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */,
- F96D43C008F272B7004A47F5 /* unknown.test */,
- F96D43C108F272B7004A47F5 /* unload.test */,
- F91DC23D0E44C530002CB8D1 /* unsupported.test */,
- F96D43C208F272B7004A47F5 /* uplevel.test */,
- F96D43C308F272B7004A47F5 /* upvar.test */,
- F96D43C408F272B7004A47F5 /* utf.test */,
- F96D43C508F272B7004A47F5 /* util.test */,
- F96D43C608F272B7004A47F5 /* var.test */,
- F96D43C708F272B7004A47F5 /* while-old.test */,
- F96D43C808F272B7004A47F5 /* while.test */,
- F96D43C908F272B7004A47F5 /* winConsole.test */,
- F96D43CA08F272B7004A47F5 /* winDde.test */,
- F96D43CB08F272B7004A47F5 /* winFCmd.test */,
- F96D43CC08F272B7004A47F5 /* winFile.test */,
- F96D43CD08F272B7004A47F5 /* winNotify.test */,
- F96D43CE08F272B7004A47F5 /* winPipe.test */,
- F96D43CF08F272B7004A47F5 /* winTime.test */,
- F915432A0EF201CF0032D1E8 /* zlib.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F96D43D008F272B8004A47F5 /* tools */ = {
- isa = PBXGroup;
- children = (
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */,
- F96D43D208F272B8004A47F5 /* configure */,
- F96D43D308F272B8004A47F5 /* configure.in */,
- F96D442208F272B8004A47F5 /* eolFix.tcl */,
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */,
- F96D442508F272B8004A47F5 /* genStubs.tcl */,
- F96D442708F272B8004A47F5 /* index.tcl */,
- F96D442808F272B8004A47F5 /* installData.tcl */,
- F96D442908F272B8004A47F5 /* loadICU.tcl */,
- F96D442A08F272B8004A47F5 /* Makefile.in */,
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */,
- F96D442C08F272B8004A47F5 /* man2help.tcl */,
- F96D442D08F272B8004A47F5 /* man2help2.tcl */,
- F96D442E08F272B8004A47F5 /* man2html.tcl */,
- F96D442F08F272B8004A47F5 /* man2html1.tcl */,
- F96D443008F272B8004A47F5 /* man2html2.tcl */,
- F96D443108F272B8004A47F5 /* man2tcl.c */,
- F96D443208F272B8004A47F5 /* README */,
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */,
- F96D443408F272B8004A47F5 /* str2c */,
- F96D443508F272B8004A47F5 /* tcl.hpj.in */,
- F96D443608F272B8004A47F5 /* tcl.wse.in */,
- F96D443708F272B9004A47F5 /* tclmin.wse */,
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */,
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */,
- F92D7F140DE777670033A13A /* tsdPerf.c */,
- F92D7F100DE777240033A13A /* tsdPerf.tcl */,
- F96D443B08F272B9004A47F5 /* uniClass.tcl */,
- F96D443C08F272B9004A47F5 /* uniParse.tcl */,
- );
- path = tools;
- sourceTree = "<group>";
- };
- F96D443E08F272B9004A47F5 /* unix */ = {
- isa = PBXGroup;
- children = (
- F96D444008F272B9004A47F5 /* aclocal.m4 */,
- F96D444108F272B9004A47F5 /* configure */,
- F96D444208F272B9004A47F5 /* configure.in */,
- F96D444308F272B9004A47F5 /* dltest */,
- F96D444D08F272B9004A47F5 /* install-sh */,
- F96D444E08F272B9004A47F5 /* installManPage */,
- F96D444F08F272B9004A47F5 /* ldAix */,
- F96D445008F272B9004A47F5 /* Makefile.in */,
- F96D445208F272B9004A47F5 /* README */,
- F96D445308F272B9004A47F5 /* tcl.m4 */,
- F96D445408F272B9004A47F5 /* tcl.spec */,
- F96D445508F272B9004A47F5 /* tclAppInit.c */,
- F96D445608F272B9004A47F5 /* tclConfig.h.in */,
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */,
- F96D445808F272B9004A47F5 /* tclLoadAix.c */,
- F96D445908F272B9004A47F5 /* tclLoadDl.c */,
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */,
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */,
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */,
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */,
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */,
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */,
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */,
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */,
- F96D446208F272B9004A47F5 /* tclUnixFile.c */,
- F96D446308F272B9004A47F5 /* tclUnixInit.c */,
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */,
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */,
- F96D446608F272B9004A47F5 /* tclUnixPort.h */,
- F96D446708F272B9004A47F5 /* tclUnixSock.c */,
- F96D446808F272B9004A47F5 /* tclUnixTest.c */,
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */,
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */,
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */,
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */,
- F96D446D08F272B9004A47F5 /* tclXtTest.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F96D444308F272B9004A47F5 /* dltest */ = {
- isa = PBXGroup;
- children = (
- F96D444408F272B9004A47F5 /* Makefile.in */,
- F96D444508F272B9004A47F5 /* pkga.c */,
- F96D444608F272B9004A47F5 /* pkgb.c */,
- F96D444708F272B9004A47F5 /* pkgc.c */,
- F96D444808F272B9004A47F5 /* pkgd.c */,
- F96D444908F272B9004A47F5 /* pkge.c */,
- F96D444B08F272B9004A47F5 /* pkgua.c */,
- F96D444C08F272B9004A47F5 /* README */,
- );
- path = dltest;
- sourceTree = "<group>";
- };
- F96D446E08F272B9004A47F5 /* win */ = {
- isa = PBXGroup;
- children = (
- F96D447008F272BA004A47F5 /* aclocal.m4 */,
- F96D447108F272BA004A47F5 /* buildall.vc.bat */,
- F96D447208F272BA004A47F5 /* cat.c */,
- F96D447308F272BA004A47F5 /* coffbase.txt */,
- F96D447408F272BA004A47F5 /* configure */,
- F96D447508F272BA004A47F5 /* configure.in */,
- F96D447608F272BA004A47F5 /* makefile.bc */,
- F96D447708F272BA004A47F5 /* Makefile.in */,
- F96D447808F272BA004A47F5 /* makefile.vc */,
- F96D447908F272BA004A47F5 /* nmakehlp.c */,
- F96D447A08F272BA004A47F5 /* README */,
- F96D447C08F272BA004A47F5 /* rules.vc */,
- F96D447D08F272BA004A47F5 /* stub16.c */,
- F96D447E08F272BA004A47F5 /* tcl.dsp */,
- F96D447F08F272BA004A47F5 /* tcl.dsw */,
- F96D448008F272BA004A47F5 /* tcl.hpj.in */,
- F96D448108F272BA004A47F5 /* tcl.m4 */,
- F96D448208F272BA004A47F5 /* tcl.rc */,
- F96D448308F272BA004A47F5 /* tclAppInit.c */,
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */,
- F96D448608F272BA004A47F5 /* tclsh.rc */,
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */,
- F96D448808F272BA004A47F5 /* tclWinChan.c */,
- F96D448908F272BA004A47F5 /* tclWinConsole.c */,
- F96D448A08F272BA004A47F5 /* tclWinDde.c */,
- F96D448B08F272BA004A47F5 /* tclWinError.c */,
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */,
- F96D448D08F272BA004A47F5 /* tclWinFile.c */,
- F96D448E08F272BA004A47F5 /* tclWinInit.c */,
- F96D448F08F272BA004A47F5 /* tclWinInt.h */,
- F96D449008F272BA004A47F5 /* tclWinLoad.c */,
- F96D449108F272BA004A47F5 /* tclWinNotify.c */,
- F96D449208F272BA004A47F5 /* tclWinPipe.c */,
- F96D449308F272BA004A47F5 /* tclWinPort.h */,
- F96D449408F272BA004A47F5 /* tclWinReg.c */,
- F96D449508F272BA004A47F5 /* tclWinSerial.c */,
- F96D449608F272BA004A47F5 /* tclWinSock.c */,
- F96D449708F272BA004A47F5 /* tclWinTest.c */,
- F96D449808F272BA004A47F5 /* tclWinThrd.c */,
- F96D449908F272BA004A47F5 /* tclWinThrd.h */,
- F96D449A08F272BA004A47F5 /* tclWinTime.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F9ECB1110B26521500A28025 /* platform */ = {
- isa = PBXGroup;
- children = (
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */,
- F9ECB1130B26521500A28025 /* platform.tcl */,
- F9ECB1140B26521500A28025 /* shell.tcl */,
- );
- path = platform;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */;
- buildPhases = (
- F9A5C5F508F651A2008AE941 /* ShellScript */,
- F9A5C5F608F651AB008AE941 /* ShellScript */,
- F9EA4ADE08FA3B7F00B1F5F0 /* Rez */,
- 8DD76FAB0486AB0100D96B5E /* Sources */,
- 8DD76FAD0486AB0100D96B5E /* Frameworks */,
- F95FA74C0B32CE190072E431 /* ShellScript */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = tktest;
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = 8DD76FB20486AB0100D96B5E /* tktest */;
- productType = "com.apple.product-type.tool";
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */;
- buildPhases = (
- F9FD30B40CC1AD070073837D /* ShellScript */,
- F9FD30B50CC1AD070073837D /* ShellScript */,
- F9FD30BB0CC1AD070073837D /* Sources */,
- F9FD31E30CC1AD070073837D /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "tktest-X11";
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = F9FD31F40CC1AD070073837D /* tktest-X11 */;
- productType = "com.apple.product-type.tool";
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */;
- buildPhases = (
- F97AF02F0B665DA900310EA2 /* ShellScript */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Tk;
- productName = Wish;
- productReference = F9A3084B08F2D4CE00BAE1AB /* Wish.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Wish" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* Wish */;
- projectDirPath = "";
- projectRoot = ..;
- targets = (
- F9E61D16090A3E94002B3151 /* Tk */,
- 8DD76FA90486AB0100D96B5E /* tktest */,
- F97258A50A86873C00096C78 /* tktest-X11 */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXRezBuildPhase section */
- F9EA4ADE08FA3B7F00B1F5F0 /* Rez */ = {
- isa = PBXRezBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9EA4AF008FA3BD500B1F5F0 /* tkMacOSXXCursors.r in Rez */,
- F9EA4AF208FA3BD800B1F5F0 /* tkMacOSXCursors.r in Rez */,
- F9EA4AF308FA3BDA00B1F5F0 /* tkMacOSXAETE.r in Rez */,
- F9EA4AF408FA3BDB00B1F5F0 /* tkAboutDlg.r in Rez */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXRezBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- F95FA74C0B32CE190072E431 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TARGET_BUILD_DIR)/$(PRODUCT_NAME)",
- "$(REZ_COLLECTOR_DIR)/$(PRODUCT_NAME).rsrc",
- );
- outputPaths = (
- "$(TARGET_TEMP_DIR)/stamp",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "touch -t $(date -r $(expr $(date '+%s') + 5) '+%Y%m%d%H%M.%S') \"${TARGET_TEMP_DIR}/stamp\"\n\n## Xcode bug workaround: Rezzing does not take place for commandline tool targets\n## even when a ResourceManager Resources phase is present, but this script phase's\n## input dependency on the final merged resource file forces the Rezzing.\n\nif [ \"${ZERO_LINK}\" = \"YES\" ]; then\n ## ZeroLinking ignores OTHER_LDFLAGS, so our resource file doesn't get linked into the executable.\n ## workaround: copy resource data into resource fork of zerolink launcher (will only work on HFS+).\n cp -f \"${SCRIPT_INPUT_FILE_1}\" \"${SCRIPT_INPUT_FILE_0}/..namedfork/rsrc\"\nfi\n";
- };
- F97AF02F0B665DA900310EA2 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${TARGET_TEMP_DIR}/.none",
- );
- outputPaths = (
- "${TARGET_BUILD_DIR}/${WRAPPER_NAME}",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "gnumake -C \"${TK_SRCROOT}/carbon\" -j \"$(sysctl -n hw.activecpu)\" \"$(echo \"${ACTION}\" | sed -e s/build// -e s/clean/distclean/ -e s/..\\*/\\&-/)${MAKE_TARGET}\" CFLAGS_WARNING=\"${WARNING_CFLAGS}\" CFLAGS_OPTIMIZE=\"-O${GCC_OPTIMIZATION_LEVEL}\" SYMROOT=\"${BUILT_PRODUCTS_DIR}\" OBJ_DIR=\"${OBJECT_FILE_DIR}\" INSTALL_ROOT=\"${DSTROOT}\" PREFIX=\"${PREFIX}\" BINDIR=\"${BINDIR}\" LIBDIR=\"${FRAMEWORK_INSTALL_PATH}\" MANDIR=\"${MANDIR}\" EXTRA_CONFIGURE_ARGS=\"${CONFIGURE_ARGS}\" APPLICATION_INSTALL_PATH=\"${APPLICATION_INSTALL_PATH}\" TCL_BUILD_DIR=\"${TCL_BUILD_DIR}\" TCL_FRAMEWORK_DIR=\"${TCL_FRAMEWORK_DIR}\" ${EXTRA_MAKE_FLAGS}\nresult=$?\nif [ -e \"${BUILT_PRODUCTS_DIR}/tktest\" ]; then\n\trm -f \"${BUILT_PRODUCTS_DIR}/tktest\"\nfi\necho \"Done\"\nrm -f \"${SCRIPT_INPUT_FILE_0}\"\nexit ${result}\n";
- };
- F9A5C5F508F651A2008AE941 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- };
- F9A5C5F608F651AB008AE941 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/carbon/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/carbon &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/carbon\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/carbon/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n \"${TK_SRCROOT}\"/carbon/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --enable-aqua=carbon --with-tcl=../tcl ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi";
- };
- F9FD30B40CC1AD070073837D /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --disable-corefoundation ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- };
- F9FD30B50CC1AD070073837D /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/carbon/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/carbon &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/carbon\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/carbon/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n PATH=\"${PATH}:/usr/X11R6/bin\" \"${TK_SRCROOT}\"/carbon/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --disable-corefoundation --enable-xft --with-tcl=../tcl ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76FAB0486AB0100D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */,
- F96D457208F272BB004A47F5 /* regerror.c in Sources */,
- F96D457508F272BB004A47F5 /* regexec.c in Sources */,
- F96D457608F272BB004A47F5 /* regfree.c in Sources */,
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */,
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */,
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */,
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */,
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */,
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */,
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */,
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */,
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */,
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */,
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */,
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */,
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */,
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */,
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */,
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */,
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */,
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */,
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */,
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */,
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */,
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */,
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */,
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */,
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */,
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */,
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */,
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */,
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */,
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */,
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */,
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */,
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */,
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */,
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */,
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */,
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */,
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */,
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */,
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */,
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */,
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */,
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */,
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */,
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */,
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */,
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */,
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */,
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */,
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */,
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */,
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */,
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */,
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */,
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */,
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */,
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */,
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */,
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */,
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */,
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */,
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */,
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */,
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */,
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */,
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */,
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */,
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */,
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */,
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */,
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */,
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */,
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */,
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */,
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */,
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */,
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */,
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */,
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */,
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */,
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */,
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */,
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */,
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */,
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */,
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */,
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */,
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */,
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */,
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */,
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */,
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */,
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */,
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */,
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */,
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */,
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */,
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */,
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */,
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */,
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */,
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */,
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */,
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */,
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */,
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */,
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */,
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */,
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */,
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */,
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */,
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */,
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */,
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */,
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */,
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */,
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */,
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */,
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */,
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */,
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */,
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */,
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */,
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */,
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */,
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */,
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */,
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */,
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */,
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */,
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */,
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */,
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */,
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */,
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */,
- F96D495508F272C3004A47F5 /* bncore.c in Sources */,
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */,
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */,
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */,
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */,
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */,
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */,
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */,
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */,
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */,
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */,
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */,
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */,
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */,
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */,
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */,
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */,
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */,
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */,
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */,
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */,
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */,
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */,
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */,
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */,
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */,
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */,
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */,
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */,
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */,
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */,
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */,
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */,
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */,
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */,
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */,
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */,
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */,
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */,
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */,
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */,
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */,
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */,
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */,
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */,
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */,
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */,
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */,
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */,
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */,
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */,
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */,
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */,
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */,
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */,
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */,
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */,
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */,
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */,
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */,
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */,
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */,
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */,
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */,
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */,
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */,
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */,
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */,
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */,
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */,
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */,
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */,
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */,
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */,
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */,
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */,
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */,
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */,
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */,
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */,
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */,
- F966BE2608F27A40005CB29B /* tkText.c in Sources */,
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */,
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */,
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */,
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */,
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */,
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */,
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */,
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */,
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */,
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */,
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */,
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */,
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */,
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */,
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */,
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */,
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */,
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */,
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */,
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */,
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */,
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */,
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */,
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */,
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */,
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */,
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */,
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */,
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */,
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */,
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */,
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */,
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */,
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */,
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */,
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */,
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */,
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */,
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */,
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */,
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */,
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */,
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */,
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */,
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */,
- F966BEDD08F27A40005CB29B /* tkMacOSXCarbonEvents.c in Sources */,
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */,
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */,
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */,
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */,
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */,
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */,
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */,
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */,
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */,
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */,
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */,
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */,
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */,
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */,
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */,
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */,
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */,
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */,
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */,
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */,
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */,
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */,
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */,
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */,
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */,
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */,
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */,
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */,
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */,
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */,
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */,
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */,
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */,
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */,
- F966C02C08F27A42005CB29B /* xgc.c in Sources */,
- F966C02D08F27A42005CB29B /* ximage.c in Sources */,
- F966C02E08F27A42005CB29B /* xutil.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD30BB0CC1AD070073837D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */,
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */,
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */,
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */,
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */,
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */,
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */,
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */,
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */,
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */,
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */,
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */,
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */,
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */,
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */,
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */,
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */,
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */,
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */,
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */,
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */,
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */,
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */,
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */,
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */,
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */,
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */,
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */,
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */,
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */,
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */,
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */,
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */,
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */,
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */,
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */,
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */,
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */,
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */,
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */,
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */,
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */,
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */,
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */,
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */,
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */,
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */,
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */,
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */,
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */,
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */,
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */,
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */,
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */,
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */,
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */,
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */,
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */,
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */,
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */,
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */,
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */,
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */,
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */,
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */,
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */,
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */,
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */,
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */,
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */,
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */,
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */,
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */,
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */,
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */,
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */,
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */,
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */,
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */,
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */,
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */,
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */,
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */,
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */,
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */,
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */,
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */,
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */,
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */,
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */,
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */,
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */,
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */,
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */,
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */,
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */,
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */,
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */,
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */,
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */,
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */,
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */,
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */,
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */,
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */,
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */,
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */,
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */,
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */,
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */,
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */,
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */,
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */,
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */,
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */,
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */,
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */,
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */,
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */,
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */,
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */,
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */,
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */,
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */,
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */,
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */,
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */,
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */,
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */,
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */,
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */,
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */,
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */,
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */,
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */,
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */,
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */,
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */,
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */,
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */,
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */,
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */,
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */,
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */,
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */,
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */,
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */,
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */,
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */,
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */,
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */,
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */,
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */,
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */,
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */,
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */,
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */,
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */,
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */,
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */,
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */,
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */,
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */,
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */,
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */,
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */,
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */,
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */,
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */,
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */,
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */,
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */,
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */,
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */,
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */,
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */,
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */,
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */,
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */,
- F9FD31660CC1AD070073837D /* tkError.c in Sources */,
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */,
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */,
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */,
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */,
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */,
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */,
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */,
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */,
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */,
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */,
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */,
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */,
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */,
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */,
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */,
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */,
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */,
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */,
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */,
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */,
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */,
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */,
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */,
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */,
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */,
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */,
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */,
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */,
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */,
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */,
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */,
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */,
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */,
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */,
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */,
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */,
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */,
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */,
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */,
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */,
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */,
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */,
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */,
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */,
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */,
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */,
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */,
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */,
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */,
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */,
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */,
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */,
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */,
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */,
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */,
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */,
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */,
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */,
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */,
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */,
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */,
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */,
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */,
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */,
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */,
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */,
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */,
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */,
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */,
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */,
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */,
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */,
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */,
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */,
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */,
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */,
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */,
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */,
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */,
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */,
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */,
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */,
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */,
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */,
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */,
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */,
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */,
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */,
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */,
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */,
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */,
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */,
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */,
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */,
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */,
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */,
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */,
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */,
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */,
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */,
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */,
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */,
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */,
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */,
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */,
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- F91BCC4F093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal;
- };
- F91BCC50093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal;
- };
- F91BCC51093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = (
- ppc,
- i386,
- );
- CFLAGS = "-arch ppc -arch i386 $(CFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.4;
- PREBINDING = NO;
- };
- name = ReleaseUniversal;
- };
- F93084370BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugMemCompile;
- };
- F93084380BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugMemCompile;
- };
- F93084390BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugMemCompile;
- };
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-symbols=all";
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = DebugMemCompile;
- };
- F9359B250DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- GCC_GENERATE_TEST_COVERAGE_FILES = YES;
- GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-lgcov",
- );
- PREBINDING = NO;
- };
- name = DebugGCov;
- };
- F9359B260DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugGCov;
- };
- F9359B270DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugGCov;
- };
- F9359B280DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugGCov;
- };
- F95CC8AC09158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug;
- };
- F95CC8AD09158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Release;
- };
- F95CC8AE09158F3100EA5ACE /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoFixZL;
- };
- F95CC8B109158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- ZERO_LINK = YES;
- };
- name = Debug;
- };
- F95CC8B209158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Release;
- };
- F95CC8B309158F3100EA5ACE /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoFixZL;
- };
- F95CC8B609158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = Debug;
- };
- F95CC8B709158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = YES;
- };
- name = Release;
- };
- F95CC8B809158F3100EA5ACE /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = DebugNoFixZL;
- };
- F97258A90A86873D00096C78 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- ZERO_LINK = YES;
- };
- name = Debug;
- };
- F97258AA0A86873D00096C78 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Release;
- };
- F97258AB0A86873D00096C78 /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoFixZL;
- };
- F97258AC0A86873D00096C78 /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal;
- };
- F97AED080B660A6C00310EA2 /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F97AED0F0B660AA300310EA2 /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleasePPC10.3.9SDK;
- };
- F97AED160B660AF100310EA2 /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleasePPC10.2.8SDK;
- };
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-corefoundation";
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = DebugNoCF;
- };
- F98751300DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCF;
- };
- F98751310DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCF;
- };
- F98751320DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCF;
- };
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads --disable-corefoundation";
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCFUnthreaded;
- };
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE73C0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugLeaks;
- };
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugUnthreaded;
- };
- F99EE73E0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugLeaks;
- };
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugUnthreaded;
- };
- F99EE7400BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugLeaks;
- };
- F99EE7410BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads";
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE7420BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = (
- PURIFY,
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = NO;
- };
- name = DebugLeaks;
- };
- F9DB62080B65ADA800A370FB /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F9DB62090B65ADA800A370FB /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F9DB620A0B65ADA800A370FB /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = (
- ppc,
- i386,
- );
- CFLAGS = "-arch ppc -arch i386 $(CFLAGS)";
- CPPFLAGS = "-isysroot $(SDKROOT) $(CPPFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.4;
- PREBINDING = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F9DB621F0B65AFDE00A370FB /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- LDFLAGS = "-force_cpusubtype_ALL $(LDFLAGS)";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleasePPC10.3.9SDK;
- };
- F9DB62200B65AFDE00A370FB /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleasePPC10.3.9SDK;
- };
- F9DB62210B65AFDE00A370FB /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = ppc;
- CFLAGS = "$(PER_ARCH_CFLAGS_ppc) $(CFLAGS)";
- CPPFLAGS = "-arch ppc -isysroot $(SDKROOT) $(CPPFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.3;
- PREBINDING = YES;
- SDKROOT = /Developer/SDKs/MacOSX10.3.9.sdk;
- };
- name = ReleasePPC10.3.9SDK;
- };
- F9DB62350B65B03A00A370FB /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleasePPC10.2.8SDK;
- };
- F9DB62360B65B03A00A370FB /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleasePPC10.2.8SDK;
- };
- F9DB62370B65B03A00A370FB /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = ppc;
- CFLAGS = "$(PER_ARCH_CFLAGS_ppc) -fconstant-cfstrings $(CFLAGS)";
- CPPFLAGS = "-arch ppc -D__CONSTANT_CFSTRINGS__ -DMAC_OS_X_VERSION_MIN_REQUIRED=1020 -nostdinc -isystem $(SDKROOT)/usr/include/gcc/darwin/$(GCC_VERSION) -isystem $(SDKROOT)/usr/include -F$(SDKROOT)/System/Library/Frameworks";
- DEBUG_INFORMATION_FORMAT = stabs;
- GCC = /usr/bin/gcc;
- GCC_VERSION = 3.3;
- LDFLAGS = "-L$(SDKROOT)/usr/lib/gcc/darwin/$(GCC_VERSION) -Wl,-syslibroot,$(SDKROOT)";
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = YES;
- SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk;
- WARNING_CFLAGS = (
- "$(WARNING_CFLAGS_GCC3)",
- "-Wno-long-double",
- );
- };
- name = ReleasePPC10.2.8SDK;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8AC09158F3100EA5ACE /* Debug */,
- F95CC8AE09158F3100EA5ACE /* DebugNoFixZL */,
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */,
- F98751300DE7B57E00B1C9EC /* DebugNoCF */,
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084370BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73C0BE835310060D4AF /* DebugLeaks */,
- F9359B260DF212DA00E04F67 /* DebugGCov */,
- F95CC8AD09158F3100EA5ACE /* Release */,
- F91BCC4F093152310042A6BF /* ReleaseUniversal */,
- F9DB62080B65ADA800A370FB /* ReleaseUniversal10.4uSDK */,
- F9DB621F0B65AFDE00A370FB /* ReleasePPC10.3.9SDK */,
- F9DB62350B65B03A00A370FB /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B109158F3100EA5ACE /* Debug */,
- F95CC8B309158F3100EA5ACE /* DebugNoFixZL */,
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */,
- F98751310DE7B57E00B1C9EC /* DebugNoCF */,
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084380BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73E0BE835310060D4AF /* DebugLeaks */,
- F9359B270DF212DA00E04F67 /* DebugGCov */,
- F95CC8B209158F3100EA5ACE /* Release */,
- F91BCC50093152310042A6BF /* ReleaseUniversal */,
- F9DB62090B65ADA800A370FB /* ReleaseUniversal10.4uSDK */,
- F9DB62200B65AFDE00A370FB /* ReleasePPC10.3.9SDK */,
- F9DB62360B65B03A00A370FB /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Wish" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B609158F3100EA5ACE /* Debug */,
- F95CC8B809158F3100EA5ACE /* DebugNoFixZL */,
- F99EE7410BE835310060D4AF /* DebugUnthreaded */,
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */,
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7420BE835310060D4AF /* DebugLeaks */,
- F9359B250DF212DA00E04F67 /* DebugGCov */,
- F95CC8B709158F3100EA5ACE /* Release */,
- F91BCC51093152310042A6BF /* ReleaseUniversal */,
- F9DB620A0B65ADA800A370FB /* ReleaseUniversal10.4uSDK */,
- F9DB62210B65AFDE00A370FB /* ReleasePPC10.3.9SDK */,
- F9DB62370B65B03A00A370FB /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F97258A90A86873D00096C78 /* Debug */,
- F97258AB0A86873D00096C78 /* DebugNoFixZL */,
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */,
- F98751320DE7B57E00B1C9EC /* DebugNoCF */,
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084390BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7400BE835310060D4AF /* DebugLeaks */,
- F9359B280DF212DA00E04F67 /* DebugGCov */,
- F97258AA0A86873D00096C78 /* Release */,
- F97258AC0A86873D00096C78 /* ReleaseUniversal */,
- F97AED080B660A6C00310EA2 /* ReleaseUniversal10.4uSDK */,
- F97AED0F0B660AA300310EA2 /* ReleasePPC10.3.9SDK */,
- F97AED160B660AF100310EA2 /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
diff --git a/carbon/Wish.xcodeproj/default.pbxuser b/carbon/Wish.xcodeproj/default.pbxuser
deleted file mode 100644
index cd9a9a6..0000000
--- a/carbon/Wish.xcodeproj/default.pbxuser
+++ /dev/null
@@ -1,339 +0,0 @@
-// !$*UTF8*$!
-{
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- activeBuildConfigurationName = Debug;
- activeExecutable = F9E61D1C090A4282002B3151 /* Wish */;
- activeTarget = F9E61D16090A3E94002B3151 /* Tk */;
- codeSenseManager = F944EB9D08F798180049FDD4 /* Code sense */;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- F944EB8F08F798100049FDD4 /* tktest */,
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- perUserDictionary = {
- com.apple.ide.smrt.PBXUserSmartGroupsKey.Rev10 = <040b73747265616d747970656481e8038401408484840e4e534d757461626c654172726179008484074e534172726179008484084e534f626a65637400858401690192848484134e534d757461626c6544696374696f6e6172790084840c4e5344696374696f6e6172790095960792848484084e53537472696e67019584012b046e616d658692849a9a14496d706c656d656e746174696f6e2046696c65738692849a9a146162736f6c75746550617468546f42756e646c658692849a9a008692849a9a195042585472616e7369656e744c6f636174696f6e4174546f708692849a9a06626f74746f6d8692849a9a03636c7a8692849a9a1550425846696c656e616d65536d61727447726f75708692849a9a0b6465736372697074696f6e8692849a9a103c6e6f206465736372697074696f6e3e8692849a9a0b707265666572656e63657386928497960892849a9a07666e6d617463688692849a9a008692849a9a05696d6167658692849a9a0b536d617274466f6c6465728692849a9a04726f6f748692849a9a093c50524f4a4543543e8692849a9a0572656765788692849a9a065c2e286329248692849a9a097265637572736976658692848484084e534e756d626572008484074e5356616c7565009584012a849696018692849a9a0669734c656166869284b09db296008692849a9a0763616e536176658692af92849a9a1250425850726f6a65637453636f70654b65798692849a9a03594553868692849a9a08676c6f62616c49448692849a9a18314343304541343030343335304546393030343434313042868686>;
- };
- sourceControlManager = F944EB9C08F798180049FDD4 /* Source Control */;
- userBuildSettings = {
- AUTOCONF = "/usr/local/bin/autoconf-2.59";
- AUTOHEADER = "/usr/local/bin/autoheader-2.59";
- CODE_SIGN_IDENTITY = "";
- SYMROOT = "${SRCROOT}/../../build/tk";
- TCL_SRCROOT = "${SRCROOT}/../../tcl";
- TK_SRCROOT = "${SRCROOT}/../../tk";
- };
- };
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- activeExec = 0;
- executables = (
- F944EB8F08F798100049FDD4 /* tktest */,
- );
- };
- F944EB8F08F798100049FDD4 /* tktest */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- 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 = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = EventDebug;
- value = 1;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = tktest;
- sourceDirectories = (
- );
- };
- F944EB9C08F798180049FDD4 /* Source Control */ = {
- isa = PBXSourceControlManager;
- fallbackIsa = XCSourceControlManager;
- isSCMEnabled = 0;
- scmConfiguration = {
- CVSToolPath = /usr/bin/cvs;
- CVSUseSSH = NO;
- SubversionToolPath = /usr/bin/svn;
- };
- scmType = scm.cvs;
- };
- F944EB9D08F798180049FDD4 /* Code sense */ = {
- isa = PBXCodeSenseManager;
- indexTemplatePath = "";
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- activeExec = 0;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- );
- };
- F9E61D1C090A4282002B3151 /* Wish */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- 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 = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = Wish;
- sourceDirectories = (
- );
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- activeExec = 0;
- executables = (
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- };
- F9FD31F50CC1AD070073837D /* tktest-X11 */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- 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 = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = YES;
- name = DISPLAY;
- value = ":0";
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = "tktest-X11";
- sourceDirectories = (
- );
- };
-}
diff --git a/carbon/Wish.xcodeproj/project.pbxproj b/carbon/Wish.xcodeproj/project.pbxproj
deleted file mode 100644
index 9c0a84c..0000000
--- a/carbon/Wish.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,5886 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 45;
- objects = {
-
-/* Begin PBXBuildFile section */
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF408F27A39005CB29B /* tkPointer.c */; };
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F966BE2608F27A40005CB29B /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */; };
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */; };
- F966BEDD08F27A40005CB29B /* tkMacOSXCarbonEvents.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC708F27A3B005CB29B /* tkMacOSXCarbonEvents.c */; };
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */; };
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */; };
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */; };
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */; };
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */; };
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */; };
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */; };
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */; };
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */; };
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */; };
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */; };
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */; };
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */; settings = {COMPILER_FLAGS = "-DTK_LIBRARY=\\\"$(TK_LIBRARY)\\\""; }; };
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */; };
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */; };
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */; };
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */; };
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */; };
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */; };
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */; };
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */; };
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */; };
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */; };
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */; };
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */; };
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */; };
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */; };
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */; };
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2408F27A3F005CB29B /* xcolors.c */; };
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2508F27A3F005CB29B /* xdraw.c */; };
- F966C02C08F27A42005CB29B /* xgc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2608F27A3F005CB29B /* xgc.c */; };
- F966C02D08F27A42005CB29B /* ximage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2708F27A3F005CB29B /* ximage.c */; };
- F966C02E08F27A42005CB29B /* xutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2808F27A3F005CB29B /* xutil.c */; };
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07608F2821B005CB29B /* Carbon.framework */; };
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07808F28233005CB29B /* IOKit.framework */; };
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888840AF78938000797B5 /* ttkMacOSXTheme.c */; };
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F96D457208F272BB004A47F5 /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F96D457508F272BB004A47F5 /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F96D457608F272BB004A47F5 /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F96D495508F272C3004A47F5 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; };
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9DD99BD0F07DF850018B2E4 /* tkImgPNG.c in Sources */ = {isa = PBXBuildFile; fileRef = F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */; };
- F9DD99BE0F07DF850018B2E4 /* tkImgPNG.c in Sources */ = {isa = PBXBuildFile; fileRef = F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */; };
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9EA4AF008FA3BD500B1F5F0 /* tkMacOSXXCursors.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.r */; };
- F9EA4AF208FA3BD800B1F5F0 /* tkMacOSXCursors.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.r */; };
- F9EA4AF308FA3BDA00B1F5F0 /* tkMacOSXAETE.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBC408F27A3B005CB29B /* tkMacOSXAETE.r */; };
- F9EA4AF408FA3BDB00B1F5F0 /* tkAboutDlg.r in Rez */ = {isa = PBXBuildFile; fileRef = F966BBC108F27A3B005CB29B /* tkAboutDlg.r */; };
- F9F4415E0C8BAE6F00BCCD67 /* tclDTrace.d in Sources */ = {isa = PBXBuildFile; fileRef = F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */; };
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; };
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F9FD31660CC1AD070073837D /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F9FD31E20CC1AD070073837D /* tclDTrace.d in Sources */ = {isa = PBXBuildFile; fileRef = F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */; };
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */; };
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8708F27A3D005CB29B /* tkUnixKey.c */; };
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9108F27A3D005CB29B /* tkUnixXId.c */; };
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8508F27A3D005CB29B /* tkUnixInit.c */; };
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */; };
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8F08F27A3D005CB29B /* tkUnixSend.c */; };
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8308F27A3D005CB29B /* tkUnixFocus.c */; };
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9008F27A3D005CB29B /* tkUnixWm.c */; };
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */; };
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7808F27A3D005CB29B /* tkUnix.c */; };
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8808F27A3D005CB29B /* tkUnixMenu.c */; };
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */; };
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8008F27A3D005CB29B /* tkUnixDraw.c */; };
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */; };
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */; };
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8208F27A3D005CB29B /* tkUnixEvent.c */; };
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7B08F27A3D005CB29B /* tkUnixColor.c */; };
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7A08F27A3D005CB29B /* tkUnixButton.c */; };
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */; };
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */; };
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32140CC1AF170073837D /* libX11.dylib */; };
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32150CC1AF170073837D /* libXext.dylib */; };
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32160CC1AF170073837D /* libXss.dylib */; };
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34990CC1BB0D0073837D /* libfreetype.dylib */; };
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD349A0CC1BB0D0073837D /* libXft.dylib */; };
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */; };
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 8DD76FB20486AB0100D96B5E /* tktest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tktest; sourceTree = BUILT_PRODUCTS_DIR; };
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textpeer.tcl; sourceTree = "<group>"; };
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkbut.tcl; sourceTree = "<group>"; };
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBusy.c; sourceTree = "<group>"; };
- F91543270EF201A90032D1E8 /* fontchoose.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchoose.tcl; sourceTree = "<group>"; };
- F915432A0EF201CF0032D1E8 /* zlib.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = zlib.test; sourceTree = "<group>"; };
- F915432D0EF201EE0032D1E8 /* zlib.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = zlib.n; sourceTree = "<group>"; };
- F9183E640EFC80CD0030B814 /* throw.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = throw.n; sourceTree = "<group>"; };
- F9183E650EFC80D70030B814 /* try.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = try.n; sourceTree = "<group>"; };
- F9183E6A0EFC81560030B814 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F9183E8F0EFC817B0030B814 /* tdbc */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tdbc; sourceTree = "<group>"; };
- F91DC23C0E44C51B002CB8D1 /* nre.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = nre.test; sourceTree = "<group>"; };
- F91DC23D0E44C530002CB8D1 /* unsupported.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = unsupported.test; sourceTree = "<group>"; };
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Tclsh-Info.plist.in"; sourceTree = "<group>"; };
- F92240290D7C620F005EC715 /* knightstour.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = knightstour.tcl; sourceTree = "<group>"; };
- F92D7F100DE777240033A13A /* tsdPerf.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tsdPerf.tcl; sourceTree = "<group>"; };
- F92D7F140DE777670033A13A /* tsdPerf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tsdPerf.c; sourceTree = "<group>"; };
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhInstance.c; sourceTree = "<group>"; };
- F93599B20DF1F75400E04F67 /* tclOO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOO.c; sourceTree = "<group>"; };
- F93599B40DF1F75900E04F67 /* tclOO.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclOO.decls; sourceTree = "<group>"; };
- F93599B50DF1F75D00E04F67 /* tclOO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOO.h; sourceTree = "<group>"; };
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOBasic.c; sourceTree = "<group>"; };
- F93599B80DF1F76600E04F67 /* tclOOCall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOCall.c; sourceTree = "<group>"; };
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOODecls.h; sourceTree = "<group>"; };
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOODefineCmds.c; sourceTree = "<group>"; };
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOInfo.c; sourceTree = "<group>"; };
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOInt.h; sourceTree = "<group>"; };
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOIntDecls.h; sourceTree = "<group>"; };
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOMethod.c; sourceTree = "<group>"; };
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubInit.c; sourceTree = "<group>"; };
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubLib.c; sourceTree = "<group>"; };
- F93599C80DF1F81900E04F67 /* oo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oo.test; sourceTree = "<group>"; };
- F93599CF0DF1F87F00E04F67 /* Class.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Class.3; sourceTree = "<group>"; };
- F93599D00DF1F89E00E04F67 /* class.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = class.n; sourceTree = "<group>"; };
- F93599D20DF1F8DF00E04F67 /* copy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = copy.n; sourceTree = "<group>"; };
- F93599D30DF1F8F500E04F67 /* define.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = define.n; sourceTree = "<group>"; };
- F93599D40DF1F91900E04F67 /* Method.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Method.3; sourceTree = "<group>"; };
- F93599D50DF1F93700E04F67 /* my.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = my.n; sourceTree = "<group>"; };
- F93599D60DF1F95000E04F67 /* next.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = next.n; sourceTree = "<group>"; };
- F93599D70DF1F96800E04F67 /* object.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = object.n; sourceTree = "<group>"; };
- F93599D80DF1F98300E04F67 /* self.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = self.n; sourceTree = "<group>"; };
- F936FCD70CCD984500716967 /* ttkprogress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkprogress.tcl; sourceTree = "<group>"; };
- F936FCD80CCD984600716967 /* tree.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tree.tcl; sourceTree = "<group>"; };
- F936FCD90CCD984600716967 /* toolbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = toolbar.tcl; sourceTree = "<group>"; };
- F936FCDA0CCD984600716967 /* ttknote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttknote.tcl; sourceTree = "<group>"; };
- F936FCDB0CCD984600716967 /* combo.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combo.tcl; sourceTree = "<group>"; };
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXFont.h; sourceTree = "<group>"; };
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORTrans.c; sourceTree = "<group>"; };
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXLoad.test; sourceTree = "<group>"; };
- F962F7C60DADC26200648DB8 /* vsapi.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vsapi.test; sourceTree = "<group>"; };
- F96437C90EF0D4B2003F468E /* tclZlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclZlib.c; sourceTree = "<group>"; };
- F96437E60EF0D652003F468E /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
- F966BA0408F27A37005CB29B /* error.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = error.xbm; sourceTree = "<group>"; };
- F966BA0508F27A37005CB29B /* gray12.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray12.xbm; sourceTree = "<group>"; };
- F966BA0608F27A37005CB29B /* gray25.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray25.xbm; sourceTree = "<group>"; };
- F966BA0708F27A37005CB29B /* gray50.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray50.xbm; sourceTree = "<group>"; };
- F966BA0808F27A37005CB29B /* gray75.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray75.xbm; sourceTree = "<group>"; };
- F966BA0908F27A37005CB29B /* hourglass.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = hourglass.xbm; sourceTree = "<group>"; };
- F966BA0A08F27A37005CB29B /* info.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = info.xbm; sourceTree = "<group>"; };
- F966BA0B08F27A37005CB29B /* questhead.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = questhead.xbm; sourceTree = "<group>"; };
- F966BA0C08F27A37005CB29B /* question.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = question.xbm; sourceTree = "<group>"; };
- F966BA0D08F27A37005CB29B /* warning.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = warning.xbm; sourceTree = "<group>"; };
- F966BA0E08F27A37005CB29B /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F966BA0F08F27A37005CB29B /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F966BA1108F27A37005CB29B /* 3DBorder.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = 3DBorder.3; sourceTree = "<group>"; };
- F966BA1208F27A37005CB29B /* AddOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddOption.3; sourceTree = "<group>"; };
- F966BA1308F27A37005CB29B /* bell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bell.n; sourceTree = "<group>"; };
- F966BA1408F27A37005CB29B /* bind.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bind.n; sourceTree = "<group>"; };
- F966BA1508F27A37005CB29B /* BindTable.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BindTable.3; sourceTree = "<group>"; };
- F966BA1608F27A37005CB29B /* bindtags.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bindtags.n; sourceTree = "<group>"; };
- F966BA1708F27A37005CB29B /* bitmap.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bitmap.n; sourceTree = "<group>"; };
- F966BA1808F27A37005CB29B /* button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = button.n; sourceTree = "<group>"; };
- F966BA1908F27A37005CB29B /* canvas.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = canvas.n; sourceTree = "<group>"; };
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvPsY.3; sourceTree = "<group>"; };
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTkwin.3; sourceTree = "<group>"; };
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTxtInfo.3; sourceTree = "<group>"; };
- F966BA1D08F27A37005CB29B /* checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = checkbutton.n; sourceTree = "<group>"; };
- F966BA1E08F27A37005CB29B /* chooseColor.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseColor.n; sourceTree = "<group>"; };
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseDirectory.n; sourceTree = "<group>"; };
- F966BA2008F27A37005CB29B /* Clipboard.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Clipboard.3; sourceTree = "<group>"; };
- F966BA2108F27A37005CB29B /* clipboard.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clipboard.n; sourceTree = "<group>"; };
- F966BA2208F27A37005CB29B /* ClrSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ClrSelect.3; sourceTree = "<group>"; };
- F966BA2308F27A37005CB29B /* colors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = colors.n; sourceTree = "<group>"; };
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWidg.3; sourceTree = "<group>"; };
- F966BA2508F27A37005CB29B /* ConfigWind.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWind.3; sourceTree = "<group>"; };
- F966BA2608F27A37005CB29B /* console.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = console.n; sourceTree = "<group>"; };
- F966BA2708F27A37005CB29B /* CoordToWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CoordToWin.3; sourceTree = "<group>"; };
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCmHdlr.3; sourceTree = "<group>"; };
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtErrHdlr.3; sourceTree = "<group>"; };
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtGenHdlr.3; sourceTree = "<group>"; };
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtImgType.3; sourceTree = "<group>"; };
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtItemType.3; sourceTree = "<group>"; };
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtPhImgFmt.3; sourceTree = "<group>"; };
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSelHdlr.3; sourceTree = "<group>"; };
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtWindow.3; sourceTree = "<group>"; };
- F966BA3008F27A37005CB29B /* cursors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cursors.n; sourceTree = "<group>"; };
- F966BA3108F27A37005CB29B /* DeleteImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DeleteImg.3; sourceTree = "<group>"; };
- F966BA3208F27A37005CB29B /* destroy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = destroy.n; sourceTree = "<group>"; };
- F966BA3308F27A37005CB29B /* dialog.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dialog.n; sourceTree = "<group>"; };
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DrawFocHlt.3; sourceTree = "<group>"; };
- F966BA3508F27A37005CB29B /* entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = entry.n; sourceTree = "<group>"; };
- F966BA3608F27A37005CB29B /* event.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = event.n; sourceTree = "<group>"; };
- F966BA3708F27A37005CB29B /* EventHndlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = EventHndlr.3; sourceTree = "<group>"; };
- F966BA3808F27A37005CB29B /* FindPhoto.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindPhoto.3; sourceTree = "<group>"; };
- F966BA3908F27A37005CB29B /* focus.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focus.n; sourceTree = "<group>"; };
- F966BA3A08F27A37005CB29B /* focusNext.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focusNext.n; sourceTree = "<group>"; };
- F966BA3B08F27A37005CB29B /* font.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = font.n; sourceTree = "<group>"; };
- F966BA3C08F27A37005CB29B /* FontId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FontId.3; sourceTree = "<group>"; };
- F966BA3D08F27A37005CB29B /* frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = frame.n; sourceTree = "<group>"; };
- F966BA3E08F27A37005CB29B /* FreeXId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FreeXId.3; sourceTree = "<group>"; };
- F966BA3F08F27A37005CB29B /* GeomReq.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GeomReq.3; sourceTree = "<group>"; };
- F966BA4008F27A37005CB29B /* GetAnchor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetAnchor.3; sourceTree = "<group>"; };
- F966BA4108F27A37005CB29B /* GetBitmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetBitmap.3; sourceTree = "<group>"; };
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCapStyl.3; sourceTree = "<group>"; };
- F966BA4308F27A37005CB29B /* GetClrmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetClrmap.3; sourceTree = "<group>"; };
- F966BA4408F27A37005CB29B /* GetColor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetColor.3; sourceTree = "<group>"; };
- F966BA4508F27A37005CB29B /* GetCursor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCursor.3; sourceTree = "<group>"; };
- F966BA4608F27A37005CB29B /* GetDash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetDash.3; sourceTree = "<group>"; };
- F966BA4708F27A37005CB29B /* GetFont.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetFont.3; sourceTree = "<group>"; };
- F966BA4808F27A37005CB29B /* GetGC.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetGC.3; sourceTree = "<group>"; };
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHINSTANCE.3; sourceTree = "<group>"; };
- F966BA4A08F27A37005CB29B /* GetHWND.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHWND.3; sourceTree = "<group>"; };
- F966BA4B08F27A37005CB29B /* GetImage.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetImage.3; sourceTree = "<group>"; };
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJoinStl.3; sourceTree = "<group>"; };
- F966BA4D08F27A37005CB29B /* GetJustify.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJustify.3; sourceTree = "<group>"; };
- F966BA4E08F27A37005CB29B /* getOpenFile.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = getOpenFile.n; sourceTree = "<group>"; };
- F966BA4F08F27A37005CB29B /* GetOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOption.3; sourceTree = "<group>"; };
- F966BA5008F27A38005CB29B /* GetPixels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixels.3; sourceTree = "<group>"; };
- F966BA5108F27A38005CB29B /* GetPixmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixmap.3; sourceTree = "<group>"; };
- F966BA5208F27A38005CB29B /* GetRelief.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRelief.3; sourceTree = "<group>"; };
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRootCrd.3; sourceTree = "<group>"; };
- F966BA5408F27A38005CB29B /* GetScroll.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetScroll.3; sourceTree = "<group>"; };
- F966BA5508F27A38005CB29B /* GetSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetSelect.3; sourceTree = "<group>"; };
- F966BA5608F27A38005CB29B /* GetUid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetUid.3; sourceTree = "<group>"; };
- F966BA5708F27A38005CB29B /* GetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVisual.3; sourceTree = "<group>"; };
- F966BA5808F27A38005CB29B /* GetVRoot.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVRoot.3; sourceTree = "<group>"; };
- F966BA5908F27A38005CB29B /* Grab.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Grab.3; sourceTree = "<group>"; };
- F966BA5A08F27A38005CB29B /* grab.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grab.n; sourceTree = "<group>"; };
- F966BA5B08F27A38005CB29B /* grid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grid.n; sourceTree = "<group>"; };
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HandleEvent.3; sourceTree = "<group>"; };
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HWNDToWindow.3; sourceTree = "<group>"; };
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IdToWindow.3; sourceTree = "<group>"; };
- F966BA5F08F27A38005CB29B /* image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = image.n; sourceTree = "<group>"; };
- F966BA6008F27A38005CB29B /* ImgChanged.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ImgChanged.3; sourceTree = "<group>"; };
- F966BA6108F27A38005CB29B /* Inactive.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Inactive.3; sourceTree = "<group>"; };
- F966BA6208F27A38005CB29B /* InternAtom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InternAtom.3; sourceTree = "<group>"; };
- F966BA6308F27A38005CB29B /* keysyms.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = keysyms.n; sourceTree = "<group>"; };
- F966BA6408F27A38005CB29B /* label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = label.n; sourceTree = "<group>"; };
- F966BA6508F27A38005CB29B /* labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = labelframe.n; sourceTree = "<group>"; };
- F966BA6608F27A38005CB29B /* listbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = listbox.n; sourceTree = "<group>"; };
- F966BA6708F27A38005CB29B /* loadTk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = loadTk.n; sourceTree = "<group>"; };
- F966BA6808F27A38005CB29B /* lower.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lower.n; sourceTree = "<group>"; };
- F966BA6908F27A38005CB29B /* MainLoop.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainLoop.3; sourceTree = "<group>"; };
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MaintGeom.3; sourceTree = "<group>"; };
- F966BA6B08F27A38005CB29B /* MainWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainWin.3; sourceTree = "<group>"; };
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ManageGeom.3; sourceTree = "<group>"; };
- F966BA6E08F27A38005CB29B /* MapWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MapWindow.3; sourceTree = "<group>"; };
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MeasureChar.3; sourceTree = "<group>"; };
- F966BA7008F27A38005CB29B /* menu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menu.n; sourceTree = "<group>"; };
- F966BA7108F27A38005CB29B /* menubar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubar.n; sourceTree = "<group>"; };
- F966BA7208F27A38005CB29B /* menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubutton.n; sourceTree = "<group>"; };
- F966BA7308F27A38005CB29B /* message.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = message.n; sourceTree = "<group>"; };
- F966BA7408F27A38005CB29B /* messageBox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = messageBox.n; sourceTree = "<group>"; };
- F966BA7508F27A38005CB29B /* MoveToplev.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MoveToplev.3; sourceTree = "<group>"; };
- F966BA7608F27A38005CB29B /* Name.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Name.3; sourceTree = "<group>"; };
- F966BA7708F27A38005CB29B /* NameOfImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = NameOfImg.3; sourceTree = "<group>"; };
- F966BA7808F27A38005CB29B /* option.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = option.n; sourceTree = "<group>"; };
- F966BA7908F27A38005CB29B /* optionMenu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = optionMenu.n; sourceTree = "<group>"; };
- F966BA7A08F27A38005CB29B /* options.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = options.n; sourceTree = "<group>"; };
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OwnSelect.3; sourceTree = "<group>"; };
- F966BA7C08F27A38005CB29B /* pack-old.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = "pack-old.n"; sourceTree = "<group>"; };
- F966BA7D08F27A38005CB29B /* pack.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pack.n; sourceTree = "<group>"; };
- F966BA7E08F27A38005CB29B /* palette.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = palette.n; sourceTree = "<group>"; };
- F966BA7F08F27A38005CB29B /* panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = panedwindow.n; sourceTree = "<group>"; };
- F966BA8008F27A38005CB29B /* ParseArgv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseArgv.3; sourceTree = "<group>"; };
- F966BA8108F27A38005CB29B /* photo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = photo.n; sourceTree = "<group>"; };
- F966BA8208F27A38005CB29B /* place.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = place.n; sourceTree = "<group>"; };
- F966BA8308F27A38005CB29B /* popup.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = popup.n; sourceTree = "<group>"; };
- F966BA8408F27A38005CB29B /* QWinEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = QWinEvent.3; sourceTree = "<group>"; };
- F966BA8508F27A38005CB29B /* radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = radiobutton.n; sourceTree = "<group>"; };
- F966BA8608F27A38005CB29B /* raise.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = raise.n; sourceTree = "<group>"; };
- F966BA8708F27A38005CB29B /* Restack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Restack.3; sourceTree = "<group>"; };
- F966BA8808F27A38005CB29B /* RestrictEv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RestrictEv.3; sourceTree = "<group>"; };
- F966BA8908F27A38005CB29B /* scale.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scale.n; sourceTree = "<group>"; };
- F966BA8A08F27A38005CB29B /* scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scrollbar.n; sourceTree = "<group>"; };
- F966BA8B08F27A38005CB29B /* selection.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = selection.n; sourceTree = "<group>"; };
- F966BA8C08F27A38005CB29B /* send.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = send.n; sourceTree = "<group>"; };
- F966BA8D08F27A38005CB29B /* SetAppName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetAppName.3; sourceTree = "<group>"; };
- F966BA8E08F27A38005CB29B /* SetCaret.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetCaret.3; sourceTree = "<group>"; };
- F966BA8F08F27A38005CB29B /* SetClass.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClass.3; sourceTree = "<group>"; };
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClassProcs.3; sourceTree = "<group>"; };
- F966BA9108F27A38005CB29B /* SetGrid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetGrid.3; sourceTree = "<group>"; };
- F966BA9208F27A38005CB29B /* SetOptions.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetOptions.3; sourceTree = "<group>"; };
- F966BA9308F27A38005CB29B /* SetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVisual.3; sourceTree = "<group>"; };
- F966BA9408F27A38005CB29B /* spinbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = spinbox.n; sourceTree = "<group>"; };
- F966BA9508F27A38005CB29B /* StrictMotif.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrictMotif.3; sourceTree = "<group>"; };
- F966BA9608F27A38005CB29B /* text.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = text.n; sourceTree = "<group>"; };
- F966BA9708F27A38005CB29B /* TextLayout.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TextLayout.3; sourceTree = "<group>"; };
- F966BA9808F27A38005CB29B /* tk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tk.n; sourceTree = "<group>"; };
- F966BA9908F27A38005CB29B /* tk4.0.ps */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = tk4.0.ps; sourceTree = "<group>"; };
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Init.3; sourceTree = "<group>"; };
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Main.3; sourceTree = "<group>"; };
- F966BA9C08F27A38005CB29B /* tkerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkerror.n; sourceTree = "<group>"; };
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TkInitStubs.3; sourceTree = "<group>"; };
- F966BA9E08F27A38005CB29B /* tkvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkvars.n; sourceTree = "<group>"; };
- F966BA9F08F27A38005CB29B /* tkwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkwait.n; sourceTree = "<group>"; };
- F966BAA008F27A38005CB29B /* toplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = toplevel.n; sourceTree = "<group>"; };
- F966BAA108F27A38005CB29B /* WindowId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WindowId.3; sourceTree = "<group>"; };
- F966BAA208F27A38005CB29B /* winfo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = winfo.n; sourceTree = "<group>"; };
- F966BAA308F27A38005CB29B /* wish.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wish.1; sourceTree = "<group>"; };
- F966BAA408F27A38005CB29B /* wm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wm.n; sourceTree = "<group>"; };
- F966BAA608F27A38005CB29B /* default.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = default.h; sourceTree = "<group>"; };
- F966BAA708F27A38005CB29B /* ks_names.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ks_names.h; sourceTree = "<group>"; };
- F966BAA908F27A39005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BAAA08F27A39005CB29B /* tk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.decls; sourceTree = "<group>"; };
- F966BAAB08F27A39005CB29B /* tk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk.h; sourceTree = "<group>"; };
- F966BAAC08F27A39005CB29B /* tk3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tk3d.c; sourceTree = "<group>"; };
- F966BAAD08F27A39005CB29B /* tk3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk3d.h; sourceTree = "<group>"; };
- F966BAAE08F27A39005CB29B /* tkArgv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkArgv.c; sourceTree = "<group>"; };
- F966BAAF08F27A39005CB29B /* tkAtom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAtom.c; sourceTree = "<group>"; };
- F966BAB008F27A39005CB29B /* tkBind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBind.c; sourceTree = "<group>"; };
- F966BAB108F27A39005CB29B /* tkBitmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBitmap.c; sourceTree = "<group>"; };
- F966BAB208F27A39005CB29B /* tkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkButton.c; sourceTree = "<group>"; };
- F966BAB308F27A39005CB29B /* tkButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkButton.h; sourceTree = "<group>"; };
- F966BAB408F27A39005CB29B /* tkCanvArc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvArc.c; sourceTree = "<group>"; };
- F966BAB508F27A39005CB29B /* tkCanvas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvas.c; sourceTree = "<group>"; };
- F966BAB608F27A39005CB29B /* tkCanvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkCanvas.h; sourceTree = "<group>"; };
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvBmap.c; sourceTree = "<group>"; };
- F966BAB808F27A39005CB29B /* tkCanvImg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvImg.c; sourceTree = "<group>"; };
- F966BAB908F27A39005CB29B /* tkCanvLine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvLine.c; sourceTree = "<group>"; };
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPoly.c; sourceTree = "<group>"; };
- F966BABB08F27A39005CB29B /* tkCanvPs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPs.c; sourceTree = "<group>"; };
- F966BABD08F27A39005CB29B /* tkCanvText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvText.c; sourceTree = "<group>"; };
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvUtil.c; sourceTree = "<group>"; };
- F966BABF08F27A39005CB29B /* tkCanvWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvWind.c; sourceTree = "<group>"; };
- F966BAC008F27A39005CB29B /* tkClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkClipboard.c; sourceTree = "<group>"; };
- F966BAC108F27A39005CB29B /* tkCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCmds.c; sourceTree = "<group>"; };
- F966BAC208F27A39005CB29B /* tkColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkColor.c; sourceTree = "<group>"; };
- F966BAC308F27A39005CB29B /* tkColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkColor.h; sourceTree = "<group>"; };
- F966BAC408F27A39005CB29B /* tkConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConfig.c; sourceTree = "<group>"; };
- F966BAC508F27A39005CB29B /* tkConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConsole.c; sourceTree = "<group>"; };
- F966BAC608F27A39005CB29B /* tkCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCursor.c; sourceTree = "<group>"; };
- F966BAC708F27A39005CB29B /* tkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkDecls.h; sourceTree = "<group>"; };
- F966BAC808F27A39005CB29B /* tkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEntry.c; sourceTree = "<group>"; };
- F966BAC908F27A39005CB29B /* tkEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkEntry.h; sourceTree = "<group>"; };
- F966BACA08F27A39005CB29B /* tkError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkError.c; sourceTree = "<group>"; };
- F966BACB08F27A39005CB29B /* tkEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEvent.c; sourceTree = "<group>"; };
- F966BACC08F27A39005CB29B /* tkFileFilter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFileFilter.c; sourceTree = "<group>"; };
- F966BACD08F27A39005CB29B /* tkFileFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFileFilter.h; sourceTree = "<group>"; };
- F966BACE08F27A39005CB29B /* tkFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFocus.c; sourceTree = "<group>"; };
- F966BACF08F27A39005CB29B /* tkFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFont.c; sourceTree = "<group>"; };
- F966BAD008F27A39005CB29B /* tkFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFont.h; sourceTree = "<group>"; };
- F966BAD108F27A39005CB29B /* tkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFrame.c; sourceTree = "<group>"; };
- F966BAD208F27A39005CB29B /* tkGC.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGC.c; sourceTree = "<group>"; };
- F966BAD308F27A39005CB29B /* tkGeometry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGeometry.c; sourceTree = "<group>"; };
- F966BAD408F27A39005CB29B /* tkGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGet.c; sourceTree = "<group>"; };
- F966BAD508F27A39005CB29B /* tkGrab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrab.c; sourceTree = "<group>"; };
- F966BAD608F27A39005CB29B /* tkGrid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrid.c; sourceTree = "<group>"; };
- F966BAD708F27A39005CB29B /* tkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImage.c; sourceTree = "<group>"; };
- F966BAD808F27A39005CB29B /* tkImgBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgBmap.c; sourceTree = "<group>"; };
- F966BAD908F27A39005CB29B /* tkImgGIF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgGIF.c; sourceTree = "<group>"; };
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhoto.c; sourceTree = "<group>"; };
- F966BADB08F27A39005CB29B /* tkImgPPM.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPPM.c; sourceTree = "<group>"; };
- F966BADC08F27A39005CB29B /* tkImgUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgUtil.c; sourceTree = "<group>"; };
- F966BADE08F27A39005CB29B /* tkInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkInt.decls; sourceTree = "<group>"; };
- F966BADF08F27A39005CB29B /* tkInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkInt.h; sourceTree = "<group>"; };
- F966BAE108F27A39005CB29B /* tkIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntDecls.h; sourceTree = "<group>"; };
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntPlatDecls.h; sourceTree = "<group>"; };
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntXlibDecls.h; sourceTree = "<group>"; };
- F966BAE408F27A39005CB29B /* tkListbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkListbox.c; sourceTree = "<group>"; };
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacWinMenu.c; sourceTree = "<group>"; };
- F966BAE608F27A39005CB29B /* tkMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMain.c; sourceTree = "<group>"; };
- F966BAE708F27A39005CB29B /* tkMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenu.c; sourceTree = "<group>"; };
- F966BAE808F27A39005CB29B /* tkMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenu.h; sourceTree = "<group>"; };
- F966BAE908F27A39005CB29B /* tkMenubutton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenubutton.c; sourceTree = "<group>"; };
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenubutton.h; sourceTree = "<group>"; };
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenuDraw.c; sourceTree = "<group>"; };
- F966BAEC08F27A39005CB29B /* tkMessage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMessage.c; sourceTree = "<group>"; };
- F966BAED08F27A39005CB29B /* tkObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkObj.c; sourceTree = "<group>"; };
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldConfig.c; sourceTree = "<group>"; };
- F966BAEF08F27A39005CB29B /* tkOption.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOption.c; sourceTree = "<group>"; };
- F966BAF008F27A39005CB29B /* tkPack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPack.c; sourceTree = "<group>"; };
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPanedWindow.c; sourceTree = "<group>"; };
- F966BAF208F27A39005CB29B /* tkPlace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPlace.c; sourceTree = "<group>"; };
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPlatDecls.h; sourceTree = "<group>"; };
- F966BAF408F27A39005CB29B /* tkPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPointer.c; sourceTree = "<group>"; };
- F966BAF508F27A39005CB29B /* tkPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPort.h; sourceTree = "<group>"; };
- F966BAF608F27A39005CB29B /* tkRectOval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkRectOval.c; sourceTree = "<group>"; };
- F966BAF708F27A39005CB29B /* tkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScale.c; sourceTree = "<group>"; };
- F966BAF808F27A39005CB29B /* tkScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScale.h; sourceTree = "<group>"; };
- F966BAF908F27A39005CB29B /* tkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScrollbar.c; sourceTree = "<group>"; };
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScrollbar.h; sourceTree = "<group>"; };
- F966BAFB08F27A39005CB29B /* tkSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSelect.c; sourceTree = "<group>"; };
- F966BAFC08F27A39005CB29B /* tkSelect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkSelect.h; sourceTree = "<group>"; };
- F966BAFD08F27A39005CB29B /* tkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSquare.c; sourceTree = "<group>"; };
- F966BAFE08F27A39005CB29B /* tkOldTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldTest.c; sourceTree = "<group>"; };
- F966BAFF08F27A39005CB29B /* tkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubInit.c; sourceTree = "<group>"; };
- F966BB0008F27A39005CB29B /* tkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubLib.c; sourceTree = "<group>"; };
- F966BB0108F27A39005CB29B /* tkStyle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStyle.c; sourceTree = "<group>"; };
- F966BB0208F27A39005CB29B /* tkTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTest.c; sourceTree = "<group>"; };
- F966BB0308F27A39005CB29B /* tkText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkText.c; sourceTree = "<group>"; };
- F966BB0408F27A39005CB29B /* tkText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkText.h; sourceTree = "<group>"; };
- F966BB0508F27A39005CB29B /* tkTextBTree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextBTree.c; sourceTree = "<group>"; };
- F966BB0608F27A39005CB29B /* tkTextDisp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextDisp.c; sourceTree = "<group>"; };
- F966BB0808F27A39005CB29B /* tkTextImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextImage.c; sourceTree = "<group>"; };
- F966BB0908F27A39005CB29B /* tkTextIndex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextIndex.c; sourceTree = "<group>"; };
- F966BB0A08F27A39005CB29B /* tkTextMark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextMark.c; sourceTree = "<group>"; };
- F966BB0B08F27A39005CB29B /* tkTextTag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextTag.c; sourceTree = "<group>"; };
- F966BB0C08F27A39005CB29B /* tkTextWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextWind.c; sourceTree = "<group>"; };
- F966BB0D08F27A39005CB29B /* tkTrig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTrig.c; sourceTree = "<group>"; };
- F966BB0E08F27A39005CB29B /* tkUndo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUndo.c; sourceTree = "<group>"; };
- F966BB0F08F27A39005CB29B /* tkUndo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUndo.h; sourceTree = "<group>"; };
- F966BB1008F27A39005CB29B /* tkUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUtil.c; sourceTree = "<group>"; };
- F966BB1108F27A39005CB29B /* tkVisual.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkVisual.c; sourceTree = "<group>"; };
- F966BB1208F27A39005CB29B /* tkWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWindow.c; sourceTree = "<group>"; };
- F966BB1408F27A39005CB29B /* bgerror.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.tcl; sourceTree = "<group>"; };
- F966BB1508F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB1608F27A39005CB29B /* choosedir.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.tcl; sourceTree = "<group>"; };
- F966BB1708F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB1808F27A39005CB29B /* comdlg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = comdlg.tcl; sourceTree = "<group>"; };
- F966BB1908F27A39005CB29B /* console.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = console.tcl; sourceTree = "<group>"; };
- F966BB1B08F27A39005CB29B /* anilabel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = anilabel.tcl; sourceTree = "<group>"; };
- F966BB1C08F27A39005CB29B /* aniwave.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aniwave.tcl; sourceTree = "<group>"; };
- F966BB1D08F27A39005CB29B /* arrow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arrow.tcl; sourceTree = "<group>"; };
- F966BB1E08F27A39005CB29B /* bind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.tcl; sourceTree = "<group>"; };
- F966BB1F08F27A39005CB29B /* bitmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.tcl; sourceTree = "<group>"; };
- F966BB2008F27A39005CB29B /* browse */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = browse; sourceTree = "<group>"; };
- F966BB2108F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB2208F27A39005CB29B /* check.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = check.tcl; sourceTree = "<group>"; };
- F966BB2308F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB2408F27A39005CB29B /* colors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = colors.tcl; sourceTree = "<group>"; };
- F966BB2508F27A39005CB29B /* cscroll.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cscroll.tcl; sourceTree = "<group>"; };
- F966BB2608F27A39005CB29B /* ctext.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ctext.tcl; sourceTree = "<group>"; };
- F966BB2708F27A39005CB29B /* dialog1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog1.tcl; sourceTree = "<group>"; };
- F966BB2808F27A39005CB29B /* dialog2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog2.tcl; sourceTree = "<group>"; };
- F966BB2A08F27A39005CB29B /* entry1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry1.tcl; sourceTree = "<group>"; };
- F966BB2B08F27A39005CB29B /* entry2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry2.tcl; sourceTree = "<group>"; };
- F966BB2C08F27A39005CB29B /* entry3.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry3.tcl; sourceTree = "<group>"; };
- F966BB2D08F27A39005CB29B /* filebox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.tcl; sourceTree = "<group>"; };
- F966BB2E08F27A39005CB29B /* floor.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = floor.tcl; sourceTree = "<group>"; };
- F966BB2F08F27A39005CB29B /* form.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = form.tcl; sourceTree = "<group>"; };
- F966BB3008F27A39005CB29B /* goldberg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = goldberg.tcl; sourceTree = "<group>"; };
- F966BB3108F27A39005CB29B /* hello */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = hello; sourceTree = "<group>"; };
- F966BB3208F27A39005CB29B /* hscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = hscale.tcl; sourceTree = "<group>"; };
- F966BB3308F27A39005CB29B /* icon.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = icon.tcl; sourceTree = "<group>"; };
- F966BB3408F27A39005CB29B /* image1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image1.tcl; sourceTree = "<group>"; };
- F966BB3508F27A39005CB29B /* image2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image2.tcl; sourceTree = "<group>"; };
- F966BB4208F27A3A005CB29B /* items.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = items.tcl; sourceTree = "<group>"; };
- F966BB4308F27A3A005CB29B /* ixset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ixset; sourceTree = "<group>"; };
- F966BB4408F27A3A005CB29B /* label.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = label.tcl; sourceTree = "<group>"; };
- F966BB4508F27A3A005CB29B /* labelframe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.tcl; sourceTree = "<group>"; };
- F966BB4608F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB4708F27A3A005CB29B /* menubu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubu.tcl; sourceTree = "<group>"; };
- F966BB4808F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB4A08F27A3A005CB29B /* paned1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned1.tcl; sourceTree = "<group>"; };
- F966BB4B08F27A3A005CB29B /* paned2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned2.tcl; sourceTree = "<group>"; };
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pendulum.tcl; sourceTree = "<group>"; };
- F966BB4D08F27A3A005CB29B /* plot.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = plot.tcl; sourceTree = "<group>"; };
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = puzzle.tcl; sourceTree = "<group>"; };
- F966BB4F08F27A3A005CB29B /* radio.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radio.tcl; sourceTree = "<group>"; };
- F966BB5008F27A3A005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BB5108F27A3A005CB29B /* rmt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rmt; sourceTree = "<group>"; };
- F966BB5208F27A3A005CB29B /* rolodex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rolodex; sourceTree = "<group>"; };
- F966BB5308F27A3A005CB29B /* ruler.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ruler.tcl; sourceTree = "<group>"; };
- F966BB5408F27A3A005CB29B /* sayings.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sayings.tcl; sourceTree = "<group>"; };
- F966BB5508F27A3A005CB29B /* search.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = search.tcl; sourceTree = "<group>"; };
- F966BB5608F27A3A005CB29B /* spin.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spin.tcl; sourceTree = "<group>"; };
- F966BB5708F27A3A005CB29B /* square */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = square; sourceTree = "<group>"; };
- F966BB5808F27A3A005CB29B /* states.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = states.tcl; sourceTree = "<group>"; };
- F966BB5908F27A3A005CB29B /* style.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = style.tcl; sourceTree = "<group>"; };
- F966BB5A08F27A3A005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB5B08F27A3A005CB29B /* tcolor */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = tcolor; sourceTree = "<group>"; };
- F966BB5C08F27A3A005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB5D08F27A3A005CB29B /* timer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = timer; sourceTree = "<group>"; };
- F966BB5E08F27A3A005CB29B /* twind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = twind.tcl; sourceTree = "<group>"; };
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unicodeout.tcl; sourceTree = "<group>"; };
- F966BB6008F27A3A005CB29B /* vscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vscale.tcl; sourceTree = "<group>"; };
- F966BB6108F27A3A005CB29B /* widget */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = widget; sourceTree = "<group>"; };
- F966BB6208F27A3A005CB29B /* dialog.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.tcl; sourceTree = "<group>"; };
- F966BB6308F27A3A005CB29B /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F966BB6408F27A3A005CB29B /* focus.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.tcl; sourceTree = "<group>"; };
- F966BB7308F27A3A005CB29B /* listbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.tcl; sourceTree = "<group>"; };
- F966BB7408F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mkpsenc.tcl; sourceTree = "<group>"; };
- F966BB7608F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB8608F27A3A005CB29B /* obsolete.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obsolete.tcl; sourceTree = "<group>"; };
- F966BB8708F27A3A005CB29B /* optMenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optMenu.tcl; sourceTree = "<group>"; };
- F966BB8808F27A3A005CB29B /* palette.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = palette.tcl; sourceTree = "<group>"; };
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F966BB8B08F27A3B005CB29B /* safetk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safetk.tcl; sourceTree = "<group>"; };
- F966BB8C08F27A3B005CB29B /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrlbar.tcl; sourceTree = "<group>"; };
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.tcl; sourceTree = "<group>"; };
- F966BB8F08F27A3B005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB9008F27A3B005CB29B /* tearoff.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tearoff.tcl; sourceTree = "<group>"; };
- F966BB9108F27A3B005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB9208F27A3B005CB29B /* tk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.tcl; sourceTree = "<group>"; };
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkfbox.tcl; sourceTree = "<group>"; };
- F966BB9408F27A3B005CB29B /* unsupported.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unsupported.tcl; sourceTree = "<group>"; };
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.tcl; sourceTree = "<group>"; };
- F966BB9608F27A3B005CB29B /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F966BBBA08F27A3B005CB29B /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F966BBBB08F27A3B005CB29B /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F966BBBE08F27A3B005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tk-Info.plist.in"; sourceTree = "<group>"; };
- F966BBC108F27A3B005CB29B /* tkAboutDlg.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = tkAboutDlg.r; sourceTree = "<group>"; };
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSX.h; sourceTree = "<group>"; };
- F966BBC408F27A3B005CB29B /* tkMacOSXAETE.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = tkMacOSXAETE.r; sourceTree = "<group>"; };
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXBitmap.c; sourceTree = "<group>"; };
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXButton.c; sourceTree = "<group>"; };
- F966BBC708F27A3B005CB29B /* tkMacOSXCarbonEvents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXCarbonEvents.c; sourceTree = "<group>"; };
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXClipboard.c; sourceTree = "<group>"; };
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXColor.c; sourceTree = "<group>"; };
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXConfig.c; sourceTree = "<group>"; };
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXCursor.c; sourceTree = "<group>"; };
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = tkMacOSXCursors.r; sourceTree = "<group>"; };
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXDebug.c; sourceTree = "<group>"; };
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDebug.h; sourceTree = "<group>"; };
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDefault.h; sourceTree = "<group>"; };
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXDialog.c; sourceTree = "<group>"; };
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXDraw.c; sourceTree = "<group>"; };
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXEmbed.c; sourceTree = "<group>"; };
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXEntry.c; sourceTree = "<group>"; };
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXEvent.c; sourceTree = "<group>"; };
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXEvent.h; sourceTree = "<group>"; };
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXFont.c; sourceTree = "<group>"; };
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXHLEvents.c; sourceTree = "<group>"; };
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXInit.c; sourceTree = "<group>"; };
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXInt.h; sourceTree = "<group>"; };
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXKeyboard.c; sourceTree = "<group>"; };
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXKeyEvent.c; sourceTree = "<group>"; };
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMenu.c; sourceTree = "<group>"; };
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMenubutton.c; sourceTree = "<group>"; };
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMenus.c; sourceTree = "<group>"; };
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXMouseEvent.c; sourceTree = "<group>"; };
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXNotify.c; sourceTree = "<group>"; };
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPort.h; sourceTree = "<group>"; };
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXRegion.c; sourceTree = "<group>"; };
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXScale.c; sourceTree = "<group>"; };
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXScrlbr.c; sourceTree = "<group>"; };
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXSend.c; sourceTree = "<group>"; };
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXSubwindows.c; sourceTree = "<group>"; };
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXTest.c; sourceTree = "<group>"; };
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXWindowEvent.c; sourceTree = "<group>"; };
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXWm.c; sourceTree = "<group>"; };
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXWm.h; sourceTree = "<group>"; };
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = tkMacOSXXCursors.r; sourceTree = "<group>"; };
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacOSXXStubs.c; sourceTree = "<group>"; };
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Wish-Info.plist.in"; sourceTree = "<group>"; };
- F966BBF808F27A3C005CB29B /* Wish.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Wish.icns; sourceTree = "<group>"; };
- F966BC0308F27A3C005CB29B /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F966BC0508F27A3C005CB29B /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F966BC0608F27A3C005CB29B /* arc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arc.tcl; sourceTree = "<group>"; };
- F966BC0708F27A3C005CB29B /* bell.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bell.test; sourceTree = "<group>"; };
- F966BC0808F27A3C005CB29B /* bevel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bevel.tcl; sourceTree = "<group>"; };
- F966BC0908F27A3C005CB29B /* bgerror.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.test; sourceTree = "<group>"; };
- F966BC0A08F27A3C005CB29B /* bind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.test; sourceTree = "<group>"; };
- F966BC0B08F27A3C005CB29B /* bitmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.test; sourceTree = "<group>"; };
- F966BC0C08F27A3C005CB29B /* border.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = border.test; sourceTree = "<group>"; };
- F966BC0D08F27A3C005CB29B /* bugs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bugs.tcl; sourceTree = "<group>"; };
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom.tcl; sourceTree = "<group>"; };
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom2.tcl; sourceTree = "<group>"; };
- F966BC1008F27A3C005CB29B /* button.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.test; sourceTree = "<group>"; };
- F966BC1108F27A3C005CB29B /* canvas.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvas.test; sourceTree = "<group>"; };
- F966BC1208F27A3C005CB29B /* canvImg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvImg.test; sourceTree = "<group>"; };
- F966BC1308F27A3C005CB29B /* canvPs.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPs.test; sourceTree = "<group>"; };
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsArc.tcl; sourceTree = "<group>"; };
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsBmap.tcl; sourceTree = "<group>"; };
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsGrph.tcl; sourceTree = "<group>"; };
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsImg.tcl; sourceTree = "<group>"; };
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsText.tcl; sourceTree = "<group>"; };
- F966BC1908F27A3C005CB29B /* canvRect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvRect.test; sourceTree = "<group>"; };
- F966BC1A08F27A3C005CB29B /* canvText.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvText.test; sourceTree = "<group>"; };
- F966BC1B08F27A3C005CB29B /* canvWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvWind.test; sourceTree = "<group>"; };
- F966BC1C08F27A3C005CB29B /* choosedir.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.test; sourceTree = "<group>"; };
- F966BC1D08F27A3C005CB29B /* clipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clipboard.test; sourceTree = "<group>"; };
- F966BC1E08F27A3C005CB29B /* clrpick.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.test; sourceTree = "<group>"; };
- F966BC1F08F27A3C005CB29B /* cmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmap.tcl; sourceTree = "<group>"; };
- F966BC2008F27A3C005CB29B /* cmds.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmds.test; sourceTree = "<group>"; };
- F966BC2108F27A3C005CB29B /* color.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = color.test; sourceTree = "<group>"; };
- F966BC2208F27A3C005CB29B /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F966BC2308F27A3C005CB29B /* constraints.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = constraints.tcl; sourceTree = "<group>"; };
- F966BC2408F27A3C005CB29B /* cursor.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursor.test; sourceTree = "<group>"; };
- F966BC2508F27A3C005CB29B /* dialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.test; sourceTree = "<group>"; };
- F966BC2608F27A3C005CB29B /* embed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = embed.test; sourceTree = "<group>"; };
- F966BC2708F27A3C005CB29B /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F966BC2808F27A3C005CB29B /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F966BC2908F27A3C005CB29B /* filebox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.test; sourceTree = "<group>"; };
- F966BC2A08F27A3C005CB29B /* focus.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.test; sourceTree = "<group>"; };
- F966BC2B08F27A3C005CB29B /* focusTcl.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focusTcl.test; sourceTree = "<group>"; };
- F966BC2C08F27A3C005CB29B /* font.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = font.test; sourceTree = "<group>"; };
- F966BC2D08F27A3C005CB29B /* frame.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = frame.test; sourceTree = "<group>"; };
- F966BC2E08F27A3C005CB29B /* geometry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = geometry.test; sourceTree = "<group>"; };
- F966BC2F08F27A3C005CB29B /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F966BC3008F27A3C005CB29B /* grab.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grab.test; sourceTree = "<group>"; };
- F966BC3108F27A3C005CB29B /* grid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grid.test; sourceTree = "<group>"; };
- F966BC3308F27A3C005CB29B /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F966BC3408F27A3C005CB29B /* imgBmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgBmap.test; sourceTree = "<group>"; };
- F966BC3508F27A3C005CB29B /* imgPhoto.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPhoto.test; sourceTree = "<group>"; };
- F966BC3608F27A3C005CB29B /* imgPPM.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPPM.test; sourceTree = "<group>"; };
- F966BC3708F27A3C005CB29B /* listbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.test; sourceTree = "<group>"; };
- F966BC3808F27A3C005CB29B /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F966BC3908F27A3C005CB29B /* menu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.test; sourceTree = "<group>"; };
- F966BC3A08F27A3C005CB29B /* menubut.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubut.test; sourceTree = "<group>"; };
- F966BC3B08F27A3C005CB29B /* menuDraw.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menuDraw.test; sourceTree = "<group>"; };
- F966BC3C08F27A3C005CB29B /* message.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = message.test; sourceTree = "<group>"; };
- F966BC3D08F27A3C005CB29B /* msgbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.test; sourceTree = "<group>"; };
- F966BC3E08F27A3C005CB29B /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F966BC3F08F27A3C005CB29B /* oldpack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oldpack.test; sourceTree = "<group>"; };
- F966BC4008F27A3C005CB29B /* option.file1 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file1; sourceTree = "<group>"; };
- F966BC4108F27A3C005CB29B /* option.file2 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file2; sourceTree = "<group>"; };
- F966BC4208F27A3C005CB29B /* option.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = option.test; sourceTree = "<group>"; };
- F966BC4308F27A3C005CB29B /* pack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pack.test; sourceTree = "<group>"; };
- F966BC4408F27A3C005CB29B /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F966BC4508F27A3D005CB29B /* place.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = place.test; sourceTree = "<group>"; };
- F966BC4608F27A3D005CB29B /* raise.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = raise.test; sourceTree = "<group>"; };
- F966BC4708F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC4808F27A3D005CB29B /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F966BC4908F27A3D005CB29B /* scale.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.test; sourceTree = "<group>"; };
- F966BC4A08F27A3D005CB29B /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F966BC4B08F27A3D005CB29B /* select.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = select.test; sourceTree = "<group>"; };
- F966BC4C08F27A3D005CB29B /* send.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = send.test; sourceTree = "<group>"; };
- F966BC4D08F27A3D005CB29B /* spinbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.test; sourceTree = "<group>"; };
- F966BC4E08F27A3D005CB29B /* text.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.test; sourceTree = "<group>"; };
- F966BC4F08F27A3D005CB29B /* textBTree.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textBTree.test; sourceTree = "<group>"; };
- F966BC5008F27A3D005CB29B /* textDisp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textDisp.test; sourceTree = "<group>"; };
- F966BC5108F27A3D005CB29B /* textImage.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textImage.test; sourceTree = "<group>"; };
- F966BC5208F27A3D005CB29B /* textIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textIndex.test; sourceTree = "<group>"; };
- F966BC5308F27A3D005CB29B /* textMark.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textMark.test; sourceTree = "<group>"; };
- F966BC5408F27A3D005CB29B /* textTag.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textTag.test; sourceTree = "<group>"; };
- F966BC5508F27A3D005CB29B /* textWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textWind.test; sourceTree = "<group>"; };
- F966BC5608F27A3D005CB29B /* tk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.test; sourceTree = "<group>"; };
- F966BC5708F27A3D005CB29B /* unixButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixButton.test; sourceTree = "<group>"; };
- F966BC5808F27A3D005CB29B /* unixEmbed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixEmbed.test; sourceTree = "<group>"; };
- F966BC5908F27A3D005CB29B /* unixFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFont.test; sourceTree = "<group>"; };
- F966BC5A08F27A3D005CB29B /* unixMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixMenu.test; sourceTree = "<group>"; };
- F966BC5B08F27A3D005CB29B /* unixSelect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixSelect.test; sourceTree = "<group>"; };
- F966BC5C08F27A3D005CB29B /* unixWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixWm.test; sourceTree = "<group>"; };
- F966BC5D08F27A3D005CB29B /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F966BC5E08F27A3D005CB29B /* visual.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual.test; sourceTree = "<group>"; };
- F966BC5F08F27A3D005CB29B /* visual_bb.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual_bb.test; sourceTree = "<group>"; };
- F966BC6008F27A3D005CB29B /* winButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winButton.test; sourceTree = "<group>"; };
- F966BC6108F27A3D005CB29B /* winClipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winClipboard.test; sourceTree = "<group>"; };
- F966BC6208F27A3D005CB29B /* winDialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDialog.test; sourceTree = "<group>"; };
- F966BC6308F27A3D005CB29B /* window.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = window.test; sourceTree = "<group>"; };
- F966BC6408F27A3D005CB29B /* winfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winfo.test; sourceTree = "<group>"; };
- F966BC6508F27A3D005CB29B /* winFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFont.test; sourceTree = "<group>"; };
- F966BC6608F27A3D005CB29B /* winMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winMenu.test; sourceTree = "<group>"; };
- F966BC6708F27A3D005CB29B /* winSend.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winSend.test; sourceTree = "<group>"; };
- F966BC6808F27A3D005CB29B /* winWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winWm.test; sourceTree = "<group>"; };
- F966BC6908F27A3D005CB29B /* wm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = wm.test; sourceTree = "<group>"; };
- F966BC6A08F27A3D005CB29B /* xmfbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.test; sourceTree = "<group>"; };
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC6D08F27A3D005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC6E08F27A3D005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC6F08F27A3D005CB29B /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F966BC7008F27A3D005CB29B /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F966BC7108F27A3D005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC7208F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC7308F27A3D005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BC7408F27A3D005CB29B /* tk.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.spec; sourceTree = "<group>"; };
- F966BC7508F27A3D005CB29B /* tkAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAppInit.c; sourceTree = "<group>"; };
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tkConfig.h.in; sourceTree = "<group>"; };
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BC7808F27A3D005CB29B /* tkUnix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix.c; sourceTree = "<group>"; };
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix3d.c; sourceTree = "<group>"; };
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixButton.c; sourceTree = "<group>"; };
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixColor.c; sourceTree = "<group>"; };
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixConfig.c; sourceTree = "<group>"; };
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixCursor.c; sourceTree = "<group>"; };
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixDefault.h; sourceTree = "<group>"; };
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDialog.c; sourceTree = "<group>"; };
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDraw.c; sourceTree = "<group>"; };
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEmbed.c; sourceTree = "<group>"; };
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEvent.c; sourceTree = "<group>"; };
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFocus.c; sourceTree = "<group>"; };
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFont.c; sourceTree = "<group>"; };
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixInit.c; sourceTree = "<group>"; };
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixInt.h; sourceTree = "<group>"; };
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixKey.c; sourceTree = "<group>"; };
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenu.c; sourceTree = "<group>"; };
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenubu.c; sourceTree = "<group>"; };
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixPort.h; sourceTree = "<group>"; };
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixRFont.c; sourceTree = "<group>"; };
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScale.c; sourceTree = "<group>"; };
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScrlbr.c; sourceTree = "<group>"; };
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSelect.c; sourceTree = "<group>"; };
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSend.c; sourceTree = "<group>"; };
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixWm.c; sourceTree = "<group>"; };
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixXId.c; sourceTree = "<group>"; };
- F966BC9408F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F966BC9608F27A3E005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC9708F27A3E005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC9808F27A3E005CB29B /* makefile.bc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.bc; sourceTree = "<group>"; };
- F966BC9908F27A3E005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC9A08F27A3E005CB29B /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F966BC9B08F27A3E005CB29B /* mkd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mkd.bat; sourceTree = "<group>"; };
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F966BCEE08F27A3E005CB29B /* tk.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.rc; sourceTree = "<group>"; };
- F966BCEF08F27A3E005CB29B /* tk_base.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk_base.rc; sourceTree = "<group>"; };
- F966BCF208F27A3E005CB29B /* wish.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wish.rc; sourceTree = "<group>"; };
- F966BCF308F27A3E005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BCF408F27A3E005CB29B /* rmd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rmd.bat; sourceTree = "<group>"; };
- F966BCF508F27A3F005CB29B /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F966BCF608F27A3F005CB29B /* stubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stubs.c; sourceTree = "<group>"; };
- F966BCF708F27A3F005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BCF908F27A3F005CB29B /* tkWin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWin.h; sourceTree = "<group>"; };
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin32Dll.c; sourceTree = "<group>"; };
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin3d.c; sourceTree = "<group>"; };
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinButton.c; sourceTree = "<group>"; };
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinClipboard.c; sourceTree = "<group>"; };
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinColor.c; sourceTree = "<group>"; };
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinConfig.c; sourceTree = "<group>"; };
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinCursor.c; sourceTree = "<group>"; };
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinDefault.h; sourceTree = "<group>"; };
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDialog.c; sourceTree = "<group>"; };
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDraw.c; sourceTree = "<group>"; };
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinEmbed.c; sourceTree = "<group>"; };
- F966BD0508F27A3F005CB29B /* tkWinFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinFont.c; sourceTree = "<group>"; };
- F966BD0708F27A3F005CB29B /* tkWinImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinImage.c; sourceTree = "<group>"; };
- F966BD0808F27A3F005CB29B /* tkWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinInit.c; sourceTree = "<group>"; };
- F966BD0908F27A3F005CB29B /* tkWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinInt.h; sourceTree = "<group>"; };
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinKey.c; sourceTree = "<group>"; };
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinMenu.c; sourceTree = "<group>"; };
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPixmap.c; sourceTree = "<group>"; };
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPointer.c; sourceTree = "<group>"; };
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinPort.h; sourceTree = "<group>"; };
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinRegion.c; sourceTree = "<group>"; };
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinScrlbr.c; sourceTree = "<group>"; };
- F966BD1108F27A3F005CB29B /* tkWinSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSend.c; sourceTree = "<group>"; };
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSendCom.c; sourceTree = "<group>"; };
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinSendCom.h; sourceTree = "<group>"; };
- F966BD1408F27A3F005CB29B /* tkWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinTest.c; sourceTree = "<group>"; };
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWindow.c; sourceTree = "<group>"; };
- F966BD1608F27A3F005CB29B /* tkWinWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWm.c; sourceTree = "<group>"; };
- F966BD1708F27A3F005CB29B /* tkWinX.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinX.c; sourceTree = "<group>"; };
- F966BD1808F27A3F005CB29B /* winMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = winMain.c; sourceTree = "<group>"; };
- F966BD1B08F27A3F005CB29B /* cursorfont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cursorfont.h; sourceTree = "<group>"; };
- F966BD1C08F27A3F005CB29B /* keysym.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysym.h; sourceTree = "<group>"; };
- F966BD1D08F27A3F005CB29B /* keysymdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysymdef.h; sourceTree = "<group>"; };
- F966BD1E08F27A3F005CB29B /* X.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = X.h; sourceTree = "<group>"; };
- F966BD1F08F27A3F005CB29B /* Xatom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xatom.h; sourceTree = "<group>"; };
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xfuncproto.h; sourceTree = "<group>"; };
- F966BD2108F27A3F005CB29B /* Xlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xlib.h; sourceTree = "<group>"; };
- F966BD2208F27A3F005CB29B /* Xutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xutil.h; sourceTree = "<group>"; };
- F966BD2308F27A3F005CB29B /* xbytes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xbytes.h; sourceTree = "<group>"; };
- F966BD2408F27A3F005CB29B /* xcolors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xcolors.c; sourceTree = "<group>"; };
- F966BD2508F27A3F005CB29B /* xdraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xdraw.c; sourceTree = "<group>"; };
- F966BD2608F27A3F005CB29B /* xgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xgc.c; sourceTree = "<group>"; };
- F966BD2708F27A3F005CB29B /* ximage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ximage.c; sourceTree = "<group>"; };
- F966BD2808F27A3F005CB29B /* xutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xutil.c; sourceTree = "<group>"; };
- F966C07408F2820D005CB29B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
- F966C07608F2821B005CB29B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
- F966C07808F28233005CB29B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
- F96887E00AF786D5000797B5 /* ttk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.decls; sourceTree = "<group>"; };
- F96887E10AF786D5000797B5 /* ttkBlink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkBlink.c; sourceTree = "<group>"; };
- F96887E20AF786D5000797B5 /* ttkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkButton.c; sourceTree = "<group>"; };
- F96887E30AF786D5000797B5 /* ttkCache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkCache.c; sourceTree = "<group>"; };
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClamTheme.c; sourceTree = "<group>"; };
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClassicTheme.c; sourceTree = "<group>"; };
- F96887E60AF786D5000797B5 /* ttkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkDecls.h; sourceTree = "<group>"; };
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkDefaultTheme.c; sourceTree = "<group>"; };
- F96887E80AF786D5000797B5 /* ttkElements.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkElements.c; sourceTree = "<group>"; };
- F96887E90AF786D5000797B5 /* ttkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkEntry.c; sourceTree = "<group>"; };
- F96887EA0AF786D5000797B5 /* ttkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkFrame.c; sourceTree = "<group>"; };
- F96887EB0AF786D5000797B5 /* ttkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkImage.c; sourceTree = "<group>"; };
- F96887EC0AF786D5000797B5 /* ttkInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkInit.c; sourceTree = "<group>"; };
- F96887ED0AF786D5000797B5 /* ttkLabel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLabel.c; sourceTree = "<group>"; };
- F96887EE0AF786D5000797B5 /* ttkLayout.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLayout.c; sourceTree = "<group>"; };
- F96887EF0AF786D5000797B5 /* ttkManager.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkManager.c; sourceTree = "<group>"; };
- F96887F00AF786D5000797B5 /* ttkManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkManager.h; sourceTree = "<group>"; };
- F96887F10AF786D5000797B5 /* ttkNotebook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkNotebook.c; sourceTree = "<group>"; };
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkPanedwindow.c; sourceTree = "<group>"; };
- F96887F30AF786D5000797B5 /* ttkProgress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkProgress.c; sourceTree = "<group>"; };
- F96887F40AF786D5000797B5 /* ttkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScale.c; sourceTree = "<group>"; };
- F96887F50AF786D5000797B5 /* ttkScroll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScroll.c; sourceTree = "<group>"; };
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScrollbar.c; sourceTree = "<group>"; };
- F96887F70AF786D5000797B5 /* ttkSeparator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSeparator.c; sourceTree = "<group>"; };
- F96887F80AF786D5000797B5 /* ttkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSquare.c; sourceTree = "<group>"; };
- F96887F90AF786D5000797B5 /* ttkState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkState.c; sourceTree = "<group>"; };
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubInit.c; sourceTree = "<group>"; };
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubLib.c; sourceTree = "<group>"; };
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTagSet.c; sourceTree = "<group>"; };
- F96887FD0AF786D5000797B5 /* ttkTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTheme.c; sourceTree = "<group>"; };
- F96887FE0AF786D5000797B5 /* ttkTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkTheme.h; sourceTree = "<group>"; };
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkThemeInt.h; sourceTree = "<group>"; };
- F96888000AF786D5000797B5 /* ttkTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrace.c; sourceTree = "<group>"; };
- F96888010AF786D5000797B5 /* ttkTrack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrack.c; sourceTree = "<group>"; };
- F96888020AF786D5000797B5 /* ttkTreeview.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTreeview.c; sourceTree = "<group>"; };
- F96888030AF786D5000797B5 /* ttkWidget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWidget.c; sourceTree = "<group>"; };
- F96888040AF786D5000797B5 /* ttkWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkWidget.h; sourceTree = "<group>"; };
- F96888370AF787B3000797B5 /* altTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = altTheme.tcl; sourceTree = "<group>"; };
- F96888380AF787B3000797B5 /* aquaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aquaTheme.tcl; sourceTree = "<group>"; };
- F96888390AF787B3000797B5 /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F968883A0AF787B3000797B5 /* clamTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clamTheme.tcl; sourceTree = "<group>"; };
- F968883B0AF787B3000797B5 /* classicTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = classicTheme.tcl; sourceTree = "<group>"; };
- F968883C0AF787B3000797B5 /* combobox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.tcl; sourceTree = "<group>"; };
- F968883D0AF787B3000797B5 /* cursors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursors.tcl; sourceTree = "<group>"; };
- F968883E0AF787B3000797B5 /* defaults.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = defaults.tcl; sourceTree = "<group>"; };
- F96888400AF787B3000797B5 /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F96888410AF787B3000797B5 /* fonts.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fonts.tcl; sourceTree = "<group>"; };
- F96888440AF787B3000797B5 /* menubutton.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubutton.tcl; sourceTree = "<group>"; };
- F96888450AF787B3000797B5 /* notebook.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.tcl; sourceTree = "<group>"; };
- F96888460AF787B3000797B5 /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F96888470AF787B3000797B5 /* progress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progress.tcl; sourceTree = "<group>"; };
- F96888480AF787B3000797B5 /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F96888490AF787B3000797B5 /* scrollbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.tcl; sourceTree = "<group>"; };
- F968884A0AF787B3000797B5 /* sizegrip.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sizegrip.tcl; sourceTree = "<group>"; };
- F968884B0AF787B3000797B5 /* treeview.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.tcl; sourceTree = "<group>"; };
- F968884C0AF787B3000797B5 /* ttk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.tcl; sourceTree = "<group>"; };
- F968884D0AF787B3000797B5 /* utils.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utils.tcl; sourceTree = "<group>"; };
- F968884E0AF787B3000797B5 /* winTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTheme.tcl; sourceTree = "<group>"; };
- F968884F0AF787B3000797B5 /* xpTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xpTheme.tcl; sourceTree = "<group>"; };
- F96888540AF7880C000797B5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96888560AF7880C000797B5 /* combobox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.test; sourceTree = "<group>"; };
- F96888570AF7880C000797B5 /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F96888580AF7880C000797B5 /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F96888590AF7880C000797B5 /* labelframe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.test; sourceTree = "<group>"; };
- F968885A0AF7880C000797B5 /* layout.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = layout.test; sourceTree = "<group>"; };
- F968885C0AF7880C000797B5 /* notebook.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.test; sourceTree = "<group>"; };
- F968885D0AF7880C000797B5 /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F968885E0AF7880C000797B5 /* progressbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progressbar.test; sourceTree = "<group>"; };
- F968885F0AF7880C000797B5 /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F96888600AF7880C000797B5 /* treetags.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treetags.test; sourceTree = "<group>"; };
- F96888610AF7880C000797B5 /* treeview.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.test; sourceTree = "<group>"; };
- F96888620AF7880C000797B5 /* ttk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.test; sourceTree = "<group>"; };
- F96888630AF7880C000797B5 /* validate.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = validate.test; sourceTree = "<group>"; };
- F968886B0AF788F6000797B5 /* ttk_button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_button.n; sourceTree = "<group>"; };
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_checkbutton.n; sourceTree = "<group>"; };
- F968886D0AF788F6000797B5 /* ttk_combobox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_combobox.n; sourceTree = "<group>"; };
- F968886F0AF788F6000797B5 /* ttk_entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_entry.n; sourceTree = "<group>"; };
- F96888700AF788F6000797B5 /* ttk_frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_frame.n; sourceTree = "<group>"; };
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Geometry.3; sourceTree = "<group>"; };
- F96888720AF788F6000797B5 /* ttk_image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_image.n; sourceTree = "<group>"; };
- F96888730AF788F6000797B5 /* ttk_intro.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_intro.n; sourceTree = "<group>"; };
- F96888740AF788F6000797B5 /* ttk_label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_label.n; sourceTree = "<group>"; };
- F96888750AF788F6000797B5 /* ttk_labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_labelframe.n; sourceTree = "<group>"; };
- F96888760AF788F6000797B5 /* ttk_menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_menubutton.n; sourceTree = "<group>"; };
- F96888770AF788F6000797B5 /* ttk_notebook.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_notebook.n; sourceTree = "<group>"; };
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_panedwindow.n; sourceTree = "<group>"; };
- F96888790AF788F6000797B5 /* ttk_progressbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_progressbar.n; sourceTree = "<group>"; };
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_radiobutton.n; sourceTree = "<group>"; };
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_scrollbar.n; sourceTree = "<group>"; };
- F968887C0AF788F6000797B5 /* ttk_separator.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_separator.n; sourceTree = "<group>"; };
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_sizegrip.n; sourceTree = "<group>"; };
- F968887E0AF788F6000797B5 /* ttk_style.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_style.n; sourceTree = "<group>"; };
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Theme.3; sourceTree = "<group>"; };
- F96888800AF788F6000797B5 /* ttk_treeview.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_treeview.n; sourceTree = "<group>"; };
- F96888810AF788F6000797B5 /* ttk_widget.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_widget.n; sourceTree = "<group>"; };
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkMacOSXTheme.c; sourceTree = "<group>"; };
- F96888860AF78953000797B5 /* ttkWinMonitor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinMonitor.c; sourceTree = "<group>"; };
- F96888870AF78953000797B5 /* ttkWinTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinTheme.c; sourceTree = "<group>"; };
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinXPTheme.c; sourceTree = "<group>"; };
- F96D3DFA08F272A4004A47F5 /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F96D3DFB08F272A4004A47F5 /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F96D3DFD08F272A4004A47F5 /* Access.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Access.3; sourceTree = "<group>"; };
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddErrInfo.3; sourceTree = "<group>"; };
- F96D3DFF08F272A4004A47F5 /* after.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = after.n; sourceTree = "<group>"; };
- F96D3E0008F272A4004A47F5 /* Alloc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Alloc.3; sourceTree = "<group>"; };
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AllowExc.3; sourceTree = "<group>"; };
- F96D3E0208F272A4004A47F5 /* append.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = append.n; sourceTree = "<group>"; };
- F96D3E0308F272A4004A47F5 /* AppInit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AppInit.3; sourceTree = "<group>"; };
- F96D3E0408F272A5004A47F5 /* array.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = array.n; sourceTree = "<group>"; };
- F96D3E0508F272A5004A47F5 /* AssocData.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AssocData.3; sourceTree = "<group>"; };
- F96D3E0608F272A5004A47F5 /* Async.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Async.3; sourceTree = "<group>"; };
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BackgdErr.3; sourceTree = "<group>"; };
- F96D3E0808F272A5004A47F5 /* Backslash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Backslash.3; sourceTree = "<group>"; };
- F96D3E0908F272A5004A47F5 /* bgerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bgerror.n; sourceTree = "<group>"; };
- F96D3E0A08F272A5004A47F5 /* binary.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = binary.n; sourceTree = "<group>"; };
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BoolObj.3; sourceTree = "<group>"; };
- F96D3E0C08F272A5004A47F5 /* break.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = break.n; sourceTree = "<group>"; };
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ByteArrObj.3; sourceTree = "<group>"; };
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CallDel.3; sourceTree = "<group>"; };
- F96D3E0F08F272A5004A47F5 /* case.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = case.n; sourceTree = "<group>"; };
- F96D3E1008F272A5004A47F5 /* catch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = catch.n; sourceTree = "<group>"; };
- F96D3E1108F272A5004A47F5 /* cd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cd.n; sourceTree = "<group>"; };
- F96D3E1208F272A5004A47F5 /* chan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chan.n; sourceTree = "<group>"; };
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ChnlStack.3; sourceTree = "<group>"; };
- F96D3E1408F272A5004A47F5 /* clock.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clock.n; sourceTree = "<group>"; };
- F96D3E1508F272A5004A47F5 /* close.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = close.n; sourceTree = "<group>"; };
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CmdCmplt.3; sourceTree = "<group>"; };
- F96D3E1708F272A5004A47F5 /* Concat.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Concat.3; sourceTree = "<group>"; };
- F96D3E1808F272A5004A47F5 /* concat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = concat.n; sourceTree = "<group>"; };
- F96D3E1908F272A5004A47F5 /* continue.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = continue.n; sourceTree = "<group>"; };
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChannel.3; sourceTree = "<group>"; };
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChnlHdlr.3; sourceTree = "<group>"; };
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCloseHdlr.3; sourceTree = "<group>"; };
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCommand.3; sourceTree = "<group>"; };
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtFileHdlr.3; sourceTree = "<group>"; };
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtInterp.3; sourceTree = "<group>"; };
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtMathFnc.3; sourceTree = "<group>"; };
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtObjCmd.3; sourceTree = "<group>"; };
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSlave.3; sourceTree = "<group>"; };
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTimerHdlr.3; sourceTree = "<group>"; };
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTrace.3; sourceTree = "<group>"; };
- F96D3E2508F272A5004A47F5 /* dde.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dde.n; sourceTree = "<group>"; };
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DetachPids.3; sourceTree = "<group>"; };
- F96D3E2708F272A5004A47F5 /* dict.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dict.n; sourceTree = "<group>"; };
- F96D3E2808F272A5004A47F5 /* DictObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DictObj.3; sourceTree = "<group>"; };
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoOneEvent.3; sourceTree = "<group>"; };
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoubleObj.3; sourceTree = "<group>"; };
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoWhenIdle.3; sourceTree = "<group>"; };
- F96D3E2C08F272A5004A47F5 /* DString.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DString.3; sourceTree = "<group>"; };
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DumpActiveMemory.3; sourceTree = "<group>"; };
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Encoding.3; sourceTree = "<group>"; };
- F96D3E2F08F272A5004A47F5 /* encoding.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = encoding.n; sourceTree = "<group>"; };
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Ensemble.3; sourceTree = "<group>"; };
- F96D3E3108F272A5004A47F5 /* Environment.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Environment.3; sourceTree = "<group>"; };
- F96D3E3208F272A5004A47F5 /* eof.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eof.n; sourceTree = "<group>"; };
- F96D3E3308F272A5004A47F5 /* error.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = error.n; sourceTree = "<group>"; };
- F96D3E3408F272A5004A47F5 /* Eval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Eval.3; sourceTree = "<group>"; };
- F96D3E3508F272A5004A47F5 /* eval.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eval.n; sourceTree = "<group>"; };
- F96D3E3608F272A5004A47F5 /* exec.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exec.n; sourceTree = "<group>"; };
- F96D3E3708F272A5004A47F5 /* Exit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Exit.3; sourceTree = "<group>"; };
- F96D3E3808F272A5004A47F5 /* exit.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exit.n; sourceTree = "<group>"; };
- F96D3E3908F272A5004A47F5 /* expr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = expr.n; sourceTree = "<group>"; };
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLong.3; sourceTree = "<group>"; };
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLongObj.3; sourceTree = "<group>"; };
- F96D3E3C08F272A5004A47F5 /* fblocked.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fblocked.n; sourceTree = "<group>"; };
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fconfigure.n; sourceTree = "<group>"; };
- F96D3E3E08F272A5004A47F5 /* fcopy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fcopy.n; sourceTree = "<group>"; };
- F96D3E3F08F272A5004A47F5 /* file.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = file.n; sourceTree = "<group>"; };
- F96D3E4008F272A5004A47F5 /* fileevent.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fileevent.n; sourceTree = "<group>"; };
- F96D3E4108F272A5004A47F5 /* filename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = filename.n; sourceTree = "<group>"; };
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FileSystem.3; sourceTree = "<group>"; };
- F96D3E4308F272A5004A47F5 /* FindExec.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindExec.3; sourceTree = "<group>"; };
- F96D3E4408F272A5004A47F5 /* flush.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = flush.n; sourceTree = "<group>"; };
- F96D3E4508F272A5004A47F5 /* for.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = for.n; sourceTree = "<group>"; };
- F96D3E4608F272A5004A47F5 /* foreach.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = foreach.n; sourceTree = "<group>"; };
- F96D3E4708F272A5004A47F5 /* format.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = format.n; sourceTree = "<group>"; };
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCwd.3; sourceTree = "<group>"; };
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHostName.3; sourceTree = "<group>"; };
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetIndex.3; sourceTree = "<group>"; };
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetInt.3; sourceTree = "<group>"; };
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOpnFl.3; sourceTree = "<group>"; };
- F96D3E4D08F272A5004A47F5 /* gets.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = gets.n; sourceTree = "<group>"; };
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetStdChan.3; sourceTree = "<group>"; };
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetTime.3; sourceTree = "<group>"; };
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVersion.3; sourceTree = "<group>"; };
- F96D3E5108F272A5004A47F5 /* glob.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = glob.n; sourceTree = "<group>"; };
- F96D3E5208F272A6004A47F5 /* global.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = global.n; sourceTree = "<group>"; };
- F96D3E5308F272A6004A47F5 /* Hash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Hash.3; sourceTree = "<group>"; };
- F96D3E5408F272A6004A47F5 /* history.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = history.n; sourceTree = "<group>"; };
- F96D3E5508F272A6004A47F5 /* http.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = http.n; sourceTree = "<group>"; };
- F96D3E5608F272A6004A47F5 /* if.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = if.n; sourceTree = "<group>"; };
- F96D3E5708F272A6004A47F5 /* incr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = incr.n; sourceTree = "<group>"; };
- F96D3E5808F272A6004A47F5 /* info.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = info.n; sourceTree = "<group>"; };
- F96D3E5908F272A6004A47F5 /* Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Init.3; sourceTree = "<group>"; };
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InitStubs.3; sourceTree = "<group>"; };
- F96D3E5B08F272A6004A47F5 /* Interp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Interp.3; sourceTree = "<group>"; };
- F96D3E5C08F272A6004A47F5 /* interp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = interp.n; sourceTree = "<group>"; };
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IntObj.3; sourceTree = "<group>"; };
- F96D3E5E08F272A6004A47F5 /* join.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = join.n; sourceTree = "<group>"; };
- F96D3E5F08F272A6004A47F5 /* lappend.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lappend.n; sourceTree = "<group>"; };
- F96D3E6008F272A6004A47F5 /* lassign.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lassign.n; sourceTree = "<group>"; };
- F96D3E6108F272A6004A47F5 /* library.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = library.n; sourceTree = "<group>"; };
- F96D3E6208F272A6004A47F5 /* Limit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Limit.3; sourceTree = "<group>"; };
- F96D3E6308F272A6004A47F5 /* lindex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lindex.n; sourceTree = "<group>"; };
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = LinkVar.3; sourceTree = "<group>"; };
- F96D3E6508F272A6004A47F5 /* linsert.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = linsert.n; sourceTree = "<group>"; };
- F96D3E6608F272A6004A47F5 /* list.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = list.n; sourceTree = "<group>"; };
- F96D3E6708F272A6004A47F5 /* ListObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ListObj.3; sourceTree = "<group>"; };
- F96D3E6808F272A6004A47F5 /* llength.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = llength.n; sourceTree = "<group>"; };
- F96D3E6908F272A6004A47F5 /* load.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = load.n; sourceTree = "<group>"; };
- F96D3E6A08F272A6004A47F5 /* lrange.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrange.n; sourceTree = "<group>"; };
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrepeat.n; sourceTree = "<group>"; };
- F96D3E6C08F272A6004A47F5 /* lreplace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lreplace.n; sourceTree = "<group>"; };
- F96D3E6D08F272A6004A47F5 /* lsearch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsearch.n; sourceTree = "<group>"; };
- F96D3E6E08F272A6004A47F5 /* lset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lset.n; sourceTree = "<group>"; };
- F96D3E6F08F272A6004A47F5 /* lsort.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsort.n; sourceTree = "<group>"; };
- F96D3E7008F272A6004A47F5 /* man.macros */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = man.macros; sourceTree = "<group>"; };
- F96D3E7108F272A6004A47F5 /* mathfunc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = mathfunc.n; sourceTree = "<group>"; };
- F96D3E7208F272A6004A47F5 /* memory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = memory.n; sourceTree = "<group>"; };
- F96D3E7308F272A6004A47F5 /* msgcat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = msgcat.n; sourceTree = "<group>"; };
- F96D3E7408F272A6004A47F5 /* Namespace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Namespace.3; sourceTree = "<group>"; };
- F96D3E7508F272A6004A47F5 /* namespace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = namespace.n; sourceTree = "<group>"; };
- F96D3E7608F272A6004A47F5 /* Notifier.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Notifier.3; sourceTree = "<group>"; };
- F96D3E7708F272A6004A47F5 /* Object.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Object.3; sourceTree = "<group>"; };
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ObjectType.3; sourceTree = "<group>"; };
- F96D3E7908F272A6004A47F5 /* open.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = open.n; sourceTree = "<group>"; };
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenFileChnl.3; sourceTree = "<group>"; };
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenTcp.3; sourceTree = "<group>"; };
- F96D3E7C08F272A6004A47F5 /* package.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = package.n; sourceTree = "<group>"; };
- F96D3E7D08F272A6004A47F5 /* packagens.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = packagens.n; sourceTree = "<group>"; };
- F96D3E7E08F272A6004A47F5 /* Panic.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Panic.3; sourceTree = "<group>"; };
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseCmd.3; sourceTree = "<group>"; };
- F96D3E8008F272A6004A47F5 /* pid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pid.n; sourceTree = "<group>"; };
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pkgMkIndex.n; sourceTree = "<group>"; };
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PkgRequire.3; sourceTree = "<group>"; };
- F96D3E8308F272A6004A47F5 /* Preserve.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Preserve.3; sourceTree = "<group>"; };
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PrintDbl.3; sourceTree = "<group>"; };
- F96D3E8508F272A6004A47F5 /* proc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = proc.n; sourceTree = "<group>"; };
- F96D3E8608F272A6004A47F5 /* puts.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = puts.n; sourceTree = "<group>"; };
- F96D3E8708F272A6004A47F5 /* pwd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pwd.n; sourceTree = "<group>"; };
- F96D3E8808F272A6004A47F5 /* re_syntax.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = re_syntax.n; sourceTree = "<group>"; };
- F96D3E8908F272A6004A47F5 /* read.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = read.n; sourceTree = "<group>"; };
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecEvalObj.3; sourceTree = "<group>"; };
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecordEval.3; sourceTree = "<group>"; };
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegConfig.3; sourceTree = "<group>"; };
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegExp.3; sourceTree = "<group>"; };
- F96D3E8E08F272A6004A47F5 /* regexp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regexp.n; sourceTree = "<group>"; };
- F96D3E8F08F272A6004A47F5 /* registry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = registry.n; sourceTree = "<group>"; };
- F96D3E9008F272A6004A47F5 /* regsub.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regsub.n; sourceTree = "<group>"; };
- F96D3E9108F272A6004A47F5 /* rename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = rename.n; sourceTree = "<group>"; };
- F96D3E9208F272A6004A47F5 /* return.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = return.n; sourceTree = "<group>"; };
- F96D3E9308F272A6004A47F5 /* safe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = safe.n; sourceTree = "<group>"; };
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SaveResult.3; sourceTree = "<group>"; };
- F96D3E9508F272A6004A47F5 /* scan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scan.n; sourceTree = "<group>"; };
- F96D3E9608F272A6004A47F5 /* seek.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = seek.n; sourceTree = "<group>"; };
- F96D3E9708F272A6004A47F5 /* set.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = set.n; sourceTree = "<group>"; };
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetChanErr.3; sourceTree = "<group>"; };
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetErrno.3; sourceTree = "<group>"; };
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetRecLmt.3; sourceTree = "<group>"; };
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetResult.3; sourceTree = "<group>"; };
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVar.3; sourceTree = "<group>"; };
- F96D3E9D08F272A7004A47F5 /* Signal.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Signal.3; sourceTree = "<group>"; };
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Sleep.3; sourceTree = "<group>"; };
- F96D3E9F08F272A7004A47F5 /* socket.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = socket.n; sourceTree = "<group>"; };
- F96D3EA008F272A7004A47F5 /* source.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = source.n; sourceTree = "<group>"; };
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SourceRCFile.3; sourceTree = "<group>"; };
- F96D3EA208F272A7004A47F5 /* split.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = split.n; sourceTree = "<group>"; };
- F96D3EA308F272A7004A47F5 /* SplitList.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitList.3; sourceTree = "<group>"; };
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitPath.3; sourceTree = "<group>"; };
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StaticPkg.3; sourceTree = "<group>"; };
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StdChannels.3; sourceTree = "<group>"; };
- F96D3EA708F272A7004A47F5 /* string.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = string.n; sourceTree = "<group>"; };
- F96D3EA808F272A7004A47F5 /* StringObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StringObj.3; sourceTree = "<group>"; };
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrMatch.3; sourceTree = "<group>"; };
- F96D3EAA08F272A7004A47F5 /* subst.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = subst.n; sourceTree = "<group>"; };
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SubstObj.3; sourceTree = "<group>"; };
- F96D3EAC08F272A7004A47F5 /* switch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = switch.n; sourceTree = "<group>"; };
- F96D3EAD08F272A7004A47F5 /* Tcl.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl.n; sourceTree = "<group>"; };
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl_Main.3; sourceTree = "<group>"; };
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TCL_MEM_DEBUG.3; sourceTree = "<group>"; };
- F96D3EB008F272A7004A47F5 /* tclsh.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclsh.1; sourceTree = "<group>"; };
- F96D3EB108F272A7004A47F5 /* tcltest.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tcltest.n; sourceTree = "<group>"; };
- F96D3EB208F272A7004A47F5 /* tclvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclvars.n; sourceTree = "<group>"; };
- F96D3EB308F272A7004A47F5 /* tell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tell.n; sourceTree = "<group>"; };
- F96D3EB408F272A7004A47F5 /* Thread.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Thread.3; sourceTree = "<group>"; };
- F96D3EB508F272A7004A47F5 /* time.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = time.n; sourceTree = "<group>"; };
- F96D3EB608F272A7004A47F5 /* tm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tm.n; sourceTree = "<group>"; };
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ToUpper.3; sourceTree = "<group>"; };
- F96D3EB808F272A7004A47F5 /* trace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = trace.n; sourceTree = "<group>"; };
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceCmd.3; sourceTree = "<group>"; };
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceVar.3; sourceTree = "<group>"; };
- F96D3EBB08F272A7004A47F5 /* Translate.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Translate.3; sourceTree = "<group>"; };
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UniCharIsAlpha.3; sourceTree = "<group>"; };
- F96D3EBD08F272A7004A47F5 /* unknown.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unknown.n; sourceTree = "<group>"; };
- F96D3EBE08F272A7004A47F5 /* unload.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unload.n; sourceTree = "<group>"; };
- F96D3EBF08F272A7004A47F5 /* unset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unset.n; sourceTree = "<group>"; };
- F96D3EC008F272A7004A47F5 /* update.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = update.n; sourceTree = "<group>"; };
- F96D3EC108F272A7004A47F5 /* uplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = uplevel.n; sourceTree = "<group>"; };
- F96D3EC208F272A7004A47F5 /* UpVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UpVar.3; sourceTree = "<group>"; };
- F96D3EC308F272A7004A47F5 /* upvar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = upvar.n; sourceTree = "<group>"; };
- F96D3EC408F272A7004A47F5 /* Utf.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Utf.3; sourceTree = "<group>"; };
- F96D3EC508F272A7004A47F5 /* variable.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = variable.n; sourceTree = "<group>"; };
- F96D3EC608F272A7004A47F5 /* vwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = vwait.n; sourceTree = "<group>"; };
- F96D3EC708F272A7004A47F5 /* while.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = while.n; sourceTree = "<group>"; };
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WrongNumArgs.3; sourceTree = "<group>"; };
- F96D3ECA08F272A7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D3ECB08F272A7004A47F5 /* regc_color.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_color.c; sourceTree = "<group>"; };
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_cvec.c; sourceTree = "<group>"; };
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_lex.c; sourceTree = "<group>"; };
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_locale.c; sourceTree = "<group>"; };
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_nfa.c; sourceTree = "<group>"; };
- F96D3ED008F272A7004A47F5 /* regcomp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regcomp.c; sourceTree = "<group>"; };
- F96D3ED108F272A7004A47F5 /* regcustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regcustom.h; sourceTree = "<group>"; };
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rege_dfa.c; sourceTree = "<group>"; };
- F96D3ED308F272A7004A47F5 /* regerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regerror.c; sourceTree = "<group>"; };
- F96D3ED408F272A7004A47F5 /* regerrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regerrs.h; sourceTree = "<group>"; };
- F96D3ED508F272A7004A47F5 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; };
- F96D3ED608F272A7004A47F5 /* regexec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regexec.c; sourceTree = "<group>"; };
- F96D3ED708F272A7004A47F5 /* regfree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfree.c; sourceTree = "<group>"; };
- F96D3ED808F272A7004A47F5 /* regfronts.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfronts.c; sourceTree = "<group>"; };
- F96D3ED908F272A7004A47F5 /* regguts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regguts.h; sourceTree = "<group>"; };
- F96D3EDA08F272A7004A47F5 /* tcl.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcl.decls; sourceTree = "<group>"; };
- F96D3EDB08F272A7004A47F5 /* tcl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcl.h; sourceTree = "<group>"; };
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAlloc.c; sourceTree = "<group>"; };
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAsync.c; sourceTree = "<group>"; };
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBasic.c; sourceTree = "<group>"; };
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBinary.c; sourceTree = "<group>"; };
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCkalloc.c; sourceTree = "<group>"; };
- F96D3EE108F272A7004A47F5 /* tclClock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclClock.c; sourceTree = "<group>"; };
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdAH.c; sourceTree = "<group>"; };
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdIL.c; sourceTree = "<group>"; };
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdMZ.c; sourceTree = "<group>"; };
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompCmds.c; sourceTree = "<group>"; };
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompExpr.c; sourceTree = "<group>"; };
- F96D3EE708F272A7004A47F5 /* tclCompile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompile.c; sourceTree = "<group>"; };
- F96D3EE808F272A7004A47F5 /* tclCompile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclCompile.h; sourceTree = "<group>"; };
- F96D3EE908F272A7004A47F5 /* tclConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclConfig.c; sourceTree = "<group>"; };
- F96D3EEA08F272A7004A47F5 /* tclDate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDate.c; sourceTree = "<group>"; };
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclDecls.h; sourceTree = "<group>"; };
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDictObj.c; sourceTree = "<group>"; };
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEncoding.c; sourceTree = "<group>"; };
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEnv.c; sourceTree = "<group>"; };
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEvent.c; sourceTree = "<group>"; };
- F96D3EF008F272A7004A47F5 /* tclExecute.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclExecute.c; sourceTree = "<group>"; };
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFCmd.c; sourceTree = "<group>"; };
- F96D3EF208F272A7004A47F5 /* tclFileName.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFileName.c; sourceTree = "<group>"; };
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclFileSystem.h; sourceTree = "<group>"; };
- F96D3EF408F272A7004A47F5 /* tclGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclGet.c; sourceTree = "<group>"; };
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.yacc; path = tclGetDate.y; sourceTree = "<group>"; };
- F96D3EF608F272A7004A47F5 /* tclHash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHash.c; sourceTree = "<group>"; };
- F96D3EF708F272A7004A47F5 /* tclHistory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHistory.c; sourceTree = "<group>"; };
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIndexObj.c; sourceTree = "<group>"; };
- F96D3EF908F272A7004A47F5 /* tclInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclInt.decls; sourceTree = "<group>"; };
- F96D3EFA08F272A7004A47F5 /* tclInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclInt.h; sourceTree = "<group>"; };
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntDecls.h; sourceTree = "<group>"; };
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclInterp.c; sourceTree = "<group>"; };
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntPlatDecls.h; sourceTree = "<group>"; };
- F96D3EFE08F272A7004A47F5 /* tclIO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIO.c; sourceTree = "<group>"; };
- F96D3EFF08F272A7004A47F5 /* tclIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIO.h; sourceTree = "<group>"; };
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOCmd.c; sourceTree = "<group>"; };
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOGT.c; sourceTree = "<group>"; };
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORChan.c; sourceTree = "<group>"; };
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOSock.c; sourceTree = "<group>"; };
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOUtil.c; sourceTree = "<group>"; };
- F96D3F0508F272A7004A47F5 /* tclLink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLink.c; sourceTree = "<group>"; };
- F96D3F0608F272A7004A47F5 /* tclListObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclListObj.c; sourceTree = "<group>"; };
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLiteral.c; sourceTree = "<group>"; };
- F96D3F0808F272A7004A47F5 /* tclLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoad.c; sourceTree = "<group>"; };
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNone.c; sourceTree = "<group>"; };
- F96D3F0A08F272A7004A47F5 /* tclMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMain.c; sourceTree = "<group>"; };
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNamesp.c; sourceTree = "<group>"; };
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNotify.c; sourceTree = "<group>"; };
- F96D3F0D08F272A7004A47F5 /* tclObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclObj.c; sourceTree = "<group>"; };
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPanic.c; sourceTree = "<group>"; };
- F96D3F0F08F272A7004A47F5 /* tclParse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclParse.c; sourceTree = "<group>"; };
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPathObj.c; sourceTree = "<group>"; };
- F96D3F1208F272A7004A47F5 /* tclPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPipe.c; sourceTree = "<group>"; };
- F96D3F1308F272A7004A47F5 /* tclPkg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkg.c; sourceTree = "<group>"; };
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkgConfig.c; sourceTree = "<group>"; };
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPlatDecls.h; sourceTree = "<group>"; };
- F96D3F1608F272A7004A47F5 /* tclPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPort.h; sourceTree = "<group>"; };
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPosixStr.c; sourceTree = "<group>"; };
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPreserve.c; sourceTree = "<group>"; };
- F96D3F1908F272A7004A47F5 /* tclProc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclProc.c; sourceTree = "<group>"; };
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclRegexp.c; sourceTree = "<group>"; };
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclRegexp.h; sourceTree = "<group>"; };
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResolve.c; sourceTree = "<group>"; };
- F96D3F1D08F272A7004A47F5 /* tclResult.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResult.c; sourceTree = "<group>"; };
- F96D3F1E08F272A7004A47F5 /* tclScan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclScan.c; sourceTree = "<group>"; };
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStringObj.c; sourceTree = "<group>"; };
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStrToD.c; sourceTree = "<group>"; };
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubInit.c; sourceTree = "<group>"; };
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubLib.c; sourceTree = "<group>"; };
- F96D3F2708F272A7004A47F5 /* tclTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTest.c; sourceTree = "<group>"; };
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestObj.c; sourceTree = "<group>"; };
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestProcBodyObj.c; sourceTree = "<group>"; };
- F96D3F2A08F272A7004A47F5 /* tclThread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThread.c; sourceTree = "<group>"; };
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadAlloc.c; sourceTree = "<group>"; };
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadJoin.c; sourceTree = "<group>"; };
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadStorage.c; sourceTree = "<group>"; };
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadTest.c; sourceTree = "<group>"; };
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTimer.c; sourceTree = "<group>"; };
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMath.h; sourceTree = "<group>"; };
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTomMathInterface.c; sourceTree = "<group>"; };
- F96D3F3208F272A7004A47F5 /* tclTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTrace.c; sourceTree = "<group>"; };
- F96D3F3308F272A7004A47F5 /* tclUniData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUniData.c; sourceTree = "<group>"; };
- F96D3F3408F272A7004A47F5 /* tclUtf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtf.c; sourceTree = "<group>"; };
- F96D3F3508F272A7004A47F5 /* tclUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtil.c; sourceTree = "<group>"; };
- F96D3F3608F272A7004A47F5 /* tclVar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclVar.c; sourceTree = "<group>"; };
- F96D3F3708F272A7004A47F5 /* tommath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath.h; sourceTree = "<group>"; };
- F96D3F3908F272A8004A47F5 /* auto.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = auto.tcl; sourceTree = "<group>"; };
- F96D3F3A08F272A8004A47F5 /* clock.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.tcl; sourceTree = "<group>"; };
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F8C08F272A8004A47F5 /* history.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.tcl; sourceTree = "<group>"; };
- F96D3F8E08F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9108F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9308F272A8004A47F5 /* init.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.tcl; sourceTree = "<group>"; };
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.tcl; sourceTree = "<group>"; };
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401808F272AA004A47F5 /* optparse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optparse.tcl; sourceTree = "<group>"; };
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401A08F272AA004A47F5 /* package.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.tcl; sourceTree = "<group>"; };
- F96D401B08F272AA004A47F5 /* parray.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parray.tcl; sourceTree = "<group>"; };
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401E08F272AA004A47F5 /* safe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.tcl; sourceTree = "<group>"; };
- F96D401F08F272AA004A47F5 /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D402208F272AA004A47F5 /* tcltest.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.tcl; sourceTree = "<group>"; };
- F96D402308F272AA004A47F5 /* tm.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.tcl; sourceTree = "<group>"; };
- F96D425B08F272B2004A47F5 /* word.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = word.tcl; sourceTree = "<group>"; };
- F96D425F08F272B3004A47F5 /* bn.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = bn.pdf; sourceTree = "<group>"; };
- F96D426108F272B3004A47F5 /* bn_error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_error.c; sourceTree = "<group>"; };
- F96D426208F272B3004A47F5 /* bn_fast_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_invmod.c; sourceTree = "<group>"; };
- F96D426308F272B3004A47F5 /* bn_fast_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_montgomery_reduce.c; sourceTree = "<group>"; };
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D426508F272B3004A47F5 /* bn_fast_s_mp_mul_high_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_high_digs.c; sourceTree = "<group>"; };
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D426708F272B3004A47F5 /* bn_mp_2expt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_2expt.c; sourceTree = "<group>"; };
- F96D426808F272B3004A47F5 /* bn_mp_abs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_abs.c; sourceTree = "<group>"; };
- F96D426908F272B3004A47F5 /* bn_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add.c; sourceTree = "<group>"; };
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add_d.c; sourceTree = "<group>"; };
- F96D426B08F272B3004A47F5 /* bn_mp_addmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_addmod.c; sourceTree = "<group>"; };
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_and.c; sourceTree = "<group>"; };
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clamp.c; sourceTree = "<group>"; };
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear.c; sourceTree = "<group>"; };
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear_multi.c; sourceTree = "<group>"; };
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp.c; sourceTree = "<group>"; };
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_d.c; sourceTree = "<group>"; };
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_mag.c; sourceTree = "<group>"; };
- F96D427308F272B3004A47F5 /* bn_mp_cnt_lsb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cnt_lsb.c; sourceTree = "<group>"; };
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_copy.c; sourceTree = "<group>"; };
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_count_bits.c; sourceTree = "<group>"; };
- F96D427608F272B3004A47F5 /* bn_mp_div.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div.c; sourceTree = "<group>"; };
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2.c; sourceTree = "<group>"; };
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2d.c; sourceTree = "<group>"; };
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_3.c; sourceTree = "<group>"; };
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_d.c; sourceTree = "<group>"; };
- F96D427B08F272B3004A47F5 /* bn_mp_dr_is_modulus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_is_modulus.c; sourceTree = "<group>"; };
- F96D427C08F272B3004A47F5 /* bn_mp_dr_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_reduce.c; sourceTree = "<group>"; };
- F96D427D08F272B3004A47F5 /* bn_mp_dr_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_setup.c; sourceTree = "<group>"; };
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exch.c; sourceTree = "<group>"; };
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_expt_d.c; sourceTree = "<group>"; };
- F96D428008F272B3004A47F5 /* bn_mp_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exptmod.c; sourceTree = "<group>"; };
- F96D428108F272B3004A47F5 /* bn_mp_exptmod_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exptmod_fast.c; sourceTree = "<group>"; };
- F96D428208F272B3004A47F5 /* bn_mp_exteuclid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exteuclid.c; sourceTree = "<group>"; };
- F96D428308F272B3004A47F5 /* bn_mp_fread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_fread.c; sourceTree = "<group>"; };
- F96D428408F272B3004A47F5 /* bn_mp_fwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_fwrite.c; sourceTree = "<group>"; };
- F96D428508F272B3004A47F5 /* bn_mp_gcd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_gcd.c; sourceTree = "<group>"; };
- F96D428608F272B3004A47F5 /* bn_mp_get_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_get_int.c; sourceTree = "<group>"; };
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_grow.c; sourceTree = "<group>"; };
- F96D428808F272B3004A47F5 /* bn_mp_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init.c; sourceTree = "<group>"; };
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_copy.c; sourceTree = "<group>"; };
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_multi.c; sourceTree = "<group>"; };
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set.c; sourceTree = "<group>"; };
- F96D428C08F272B3004A47F5 /* bn_mp_init_set_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set_int.c; sourceTree = "<group>"; };
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_size.c; sourceTree = "<group>"; };
- F96D428E08F272B3004A47F5 /* bn_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_invmod.c; sourceTree = "<group>"; };
- F96D428F08F272B3004A47F5 /* bn_mp_invmod_slow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_invmod_slow.c; sourceTree = "<group>"; };
- F96D429008F272B3004A47F5 /* bn_mp_is_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_is_square.c; sourceTree = "<group>"; };
- F96D429108F272B3004A47F5 /* bn_mp_jacobi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_jacobi.c; sourceTree = "<group>"; };
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_mul.c; sourceTree = "<group>"; };
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_sqr.c; sourceTree = "<group>"; };
- F96D429408F272B3004A47F5 /* bn_mp_lcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lcm.c; sourceTree = "<group>"; };
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lshd.c; sourceTree = "<group>"; };
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod.c; sourceTree = "<group>"; };
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_2d.c; sourceTree = "<group>"; };
- F96D429808F272B3004A47F5 /* bn_mp_mod_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_d.c; sourceTree = "<group>"; };
- F96D429908F272B3004A47F5 /* bn_mp_montgomery_calc_normalization.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_calc_normalization.c; sourceTree = "<group>"; };
- F96D429A08F272B3004A47F5 /* bn_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_reduce.c; sourceTree = "<group>"; };
- F96D429B08F272B3004A47F5 /* bn_mp_montgomery_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_setup.c; sourceTree = "<group>"; };
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul.c; sourceTree = "<group>"; };
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2.c; sourceTree = "<group>"; };
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2d.c; sourceTree = "<group>"; };
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_d.c; sourceTree = "<group>"; };
- F96D42A008F272B3004A47F5 /* bn_mp_mulmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mulmod.c; sourceTree = "<group>"; };
- F96D42A108F272B3004A47F5 /* bn_mp_n_root.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_n_root.c; sourceTree = "<group>"; };
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_neg.c; sourceTree = "<group>"; };
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_or.c; sourceTree = "<group>"; };
- F96D42A408F272B3004A47F5 /* bn_mp_prime_fermat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_fermat.c; sourceTree = "<group>"; };
- F96D42A508F272B3004A47F5 /* bn_mp_prime_is_divisible.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_is_divisible.c; sourceTree = "<group>"; };
- F96D42A608F272B3004A47F5 /* bn_mp_prime_is_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_is_prime.c; sourceTree = "<group>"; };
- F96D42A708F272B3004A47F5 /* bn_mp_prime_miller_rabin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_miller_rabin.c; sourceTree = "<group>"; };
- F96D42A808F272B3004A47F5 /* bn_mp_prime_next_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_next_prime.c; sourceTree = "<group>"; };
- F96D42A908F272B3004A47F5 /* bn_mp_prime_rabin_miller_trials.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_rabin_miller_trials.c; sourceTree = "<group>"; };
- F96D42AA08F272B3004A47F5 /* bn_mp_prime_random_ex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_random_ex.c; sourceTree = "<group>"; };
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_size.c; sourceTree = "<group>"; };
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_smap.c; sourceTree = "<group>"; };
- F96D42AD08F272B3004A47F5 /* bn_mp_rand.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rand.c; sourceTree = "<group>"; };
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_radix.c; sourceTree = "<group>"; };
- F96D42AF08F272B3004A47F5 /* bn_mp_read_signed_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_signed_bin.c; sourceTree = "<group>"; };
- F96D42B008F272B3004A47F5 /* bn_mp_read_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_unsigned_bin.c; sourceTree = "<group>"; };
- F96D42B108F272B3004A47F5 /* bn_mp_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce.c; sourceTree = "<group>"; };
- F96D42B208F272B3004A47F5 /* bn_mp_reduce_2k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k.c; sourceTree = "<group>"; };
- F96D42B308F272B3004A47F5 /* bn_mp_reduce_2k_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_l.c; sourceTree = "<group>"; };
- F96D42B408F272B3004A47F5 /* bn_mp_reduce_2k_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_setup.c; sourceTree = "<group>"; };
- F96D42B508F272B3004A47F5 /* bn_mp_reduce_2k_setup_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_setup_l.c; sourceTree = "<group>"; };
- F96D42B608F272B3004A47F5 /* bn_mp_reduce_is_2k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_is_2k.c; sourceTree = "<group>"; };
- F96D42B708F272B3004A47F5 /* bn_mp_reduce_is_2k_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_is_2k_l.c; sourceTree = "<group>"; };
- F96D42B808F272B3004A47F5 /* bn_mp_reduce_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_setup.c; sourceTree = "<group>"; };
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rshd.c; sourceTree = "<group>"; };
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set.c; sourceTree = "<group>"; };
- F96D42BB08F272B3004A47F5 /* bn_mp_set_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set_int.c; sourceTree = "<group>"; };
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_shrink.c; sourceTree = "<group>"; };
- F96D42BD08F272B3004A47F5 /* bn_mp_signed_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_signed_bin_size.c; sourceTree = "<group>"; };
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqr.c; sourceTree = "<group>"; };
- F96D42BF08F272B3004A47F5 /* bn_mp_sqrmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrmod.c; sourceTree = "<group>"; };
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrt.c; sourceTree = "<group>"; };
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub.c; sourceTree = "<group>"; };
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub_d.c; sourceTree = "<group>"; };
- F96D42C308F272B3004A47F5 /* bn_mp_submod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_submod.c; sourceTree = "<group>"; };
- F96D42C408F272B3004A47F5 /* bn_mp_to_signed_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_signed_bin.c; sourceTree = "<group>"; };
- F96D42C508F272B3004A47F5 /* bn_mp_to_signed_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_signed_bin_n.c; sourceTree = "<group>"; };
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin.c; sourceTree = "<group>"; };
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin_n.c; sourceTree = "<group>"; };
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_mul.c; sourceTree = "<group>"; };
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_sqr.c; sourceTree = "<group>"; };
- F96D42CA08F272B3004A47F5 /* bn_mp_toradix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix.c; sourceTree = "<group>"; };
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix_n.c; sourceTree = "<group>"; };
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_unsigned_bin_size.c; sourceTree = "<group>"; };
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_xor.c; sourceTree = "<group>"; };
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_zero.c; sourceTree = "<group>"; };
- F96D42CF08F272B3004A47F5 /* bn_prime_tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_prime_tab.c; sourceTree = "<group>"; };
- F96D42D008F272B3004A47F5 /* bn_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_reverse.c; sourceTree = "<group>"; };
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_add.c; sourceTree = "<group>"; };
- F96D42D208F272B3004A47F5 /* bn_s_mp_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_exptmod.c; sourceTree = "<group>"; };
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D42D408F272B3004A47F5 /* bn_s_mp_mul_high_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_high_digs.c; sourceTree = "<group>"; };
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = "<group>"; };
- F96D42D708F272B3004A47F5 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = "<group>"; };
- F96D42D908F272B3004A47F5 /* callgraph.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = callgraph.txt; sourceTree = "<group>"; };
- F96D42DA08F272B3004A47F5 /* changes.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = changes.txt; sourceTree = "<group>"; };
- F96D42F008F272B3004A47F5 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
- F96D431D08F272B4004A47F5 /* poster.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = poster.pdf; sourceTree = "<group>"; };
- F96D432608F272B4004A47F5 /* tommath.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = tommath.pdf; sourceTree = "<group>"; };
- F96D432908F272B4004A47F5 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = "<group>"; };
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = "<group>"; };
- F96D432B08F272B4004A47F5 /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F96D432E08F272B5004A47F5 /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F96D432F08F272B5004A47F5 /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F96D433108F272B5004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tcl-Info.plist.in"; sourceTree = "<group>"; };
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXBundle.c; sourceTree = "<group>"; };
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXFCmd.c; sourceTree = "<group>"; };
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXNotify.c; sourceTree = "<group>"; };
- F96D434308F272B5004A47F5 /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F96D434508F272B5004A47F5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96D434608F272B5004A47F5 /* append.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = append.test; sourceTree = "<group>"; };
- F96D434708F272B5004A47F5 /* appendComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = appendComp.test; sourceTree = "<group>"; };
- F96D434808F272B5004A47F5 /* assocd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = assocd.test; sourceTree = "<group>"; };
- F96D434908F272B5004A47F5 /* async.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = async.test; sourceTree = "<group>"; };
- F96D434A08F272B5004A47F5 /* autoMkindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = autoMkindex.test; sourceTree = "<group>"; };
- F96D434B08F272B5004A47F5 /* basic.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = basic.test; sourceTree = "<group>"; };
- F96D434C08F272B5004A47F5 /* binary.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = binary.test; sourceTree = "<group>"; };
- F96D434D08F272B5004A47F5 /* case.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = case.test; sourceTree = "<group>"; };
- F96D434E08F272B5004A47F5 /* chan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chan.test; sourceTree = "<group>"; };
- F96D434F08F272B5004A47F5 /* clock.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.test; sourceTree = "<group>"; };
- F96D435008F272B5004A47F5 /* cmdAH.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdAH.test; sourceTree = "<group>"; };
- F96D435108F272B5004A47F5 /* cmdIL.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdIL.test; sourceTree = "<group>"; };
- F96D435208F272B5004A47F5 /* cmdInfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdInfo.test; sourceTree = "<group>"; };
- F96D435308F272B5004A47F5 /* cmdMZ.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdMZ.test; sourceTree = "<group>"; };
- F96D435408F272B5004A47F5 /* compExpr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "compExpr-old.test"; sourceTree = "<group>"; };
- F96D435508F272B5004A47F5 /* compExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compExpr.test; sourceTree = "<group>"; };
- F96D435608F272B5004A47F5 /* compile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compile.test; sourceTree = "<group>"; };
- F96D435708F272B5004A47F5 /* concat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = concat.test; sourceTree = "<group>"; };
- F96D435808F272B5004A47F5 /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F96D435908F272B5004A47F5 /* dcall.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dcall.test; sourceTree = "<group>"; };
- F96D435A08F272B5004A47F5 /* dict.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dict.test; sourceTree = "<group>"; };
- F96D435C08F272B5004A47F5 /* dstring.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dstring.test; sourceTree = "<group>"; };
- F96D435E08F272B5004A47F5 /* encoding.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = encoding.test; sourceTree = "<group>"; };
- F96D435F08F272B5004A47F5 /* env.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = env.test; sourceTree = "<group>"; };
- F96D436008F272B5004A47F5 /* error.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = error.test; sourceTree = "<group>"; };
- F96D436108F272B5004A47F5 /* eval.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eval.test; sourceTree = "<group>"; };
- F96D436208F272B5004A47F5 /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F96D436308F272B5004A47F5 /* exec.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = exec.test; sourceTree = "<group>"; };
- F96D436408F272B5004A47F5 /* execute.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = execute.test; sourceTree = "<group>"; };
- F96D436508F272B5004A47F5 /* expr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "expr-old.test"; sourceTree = "<group>"; };
- F96D436608F272B5004A47F5 /* expr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = expr.test; sourceTree = "<group>"; };
- F96D436708F272B6004A47F5 /* fCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fCmd.test; sourceTree = "<group>"; };
- F96D436808F272B6004A47F5 /* fileName.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileName.test; sourceTree = "<group>"; };
- F96D436908F272B6004A47F5 /* fileSystem.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileSystem.test; sourceTree = "<group>"; };
- F96D436A08F272B6004A47F5 /* for-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "for-old.test"; sourceTree = "<group>"; };
- F96D436B08F272B6004A47F5 /* for.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = for.test; sourceTree = "<group>"; };
- F96D436C08F272B6004A47F5 /* foreach.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = foreach.test; sourceTree = "<group>"; };
- F96D436D08F272B6004A47F5 /* format.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = format.test; sourceTree = "<group>"; };
- F96D436E08F272B6004A47F5 /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F96D436F08F272B6004A47F5 /* history.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.test; sourceTree = "<group>"; };
- F96D437008F272B6004A47F5 /* http.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.test; sourceTree = "<group>"; };
- F96D437108F272B6004A47F5 /* httpd */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = httpd; sourceTree = "<group>"; };
- F96D437208F272B6004A47F5 /* httpold.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpold.test; sourceTree = "<group>"; };
- F96D437308F272B6004A47F5 /* if-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "if-old.test"; sourceTree = "<group>"; };
- F96D437408F272B6004A47F5 /* if.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = if.test; sourceTree = "<group>"; };
- F96D437508F272B6004A47F5 /* incr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "incr-old.test"; sourceTree = "<group>"; };
- F96D437608F272B6004A47F5 /* incr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = incr.test; sourceTree = "<group>"; };
- F96D437708F272B6004A47F5 /* indexObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = indexObj.test; sourceTree = "<group>"; };
- F96D437808F272B6004A47F5 /* info.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = info.test; sourceTree = "<group>"; };
- F96D437908F272B6004A47F5 /* init.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.test; sourceTree = "<group>"; };
- F96D437A08F272B6004A47F5 /* interp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = interp.test; sourceTree = "<group>"; };
- F96D437B08F272B6004A47F5 /* io.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = io.test; sourceTree = "<group>"; };
- F96D437C08F272B6004A47F5 /* ioCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ioCmd.test; sourceTree = "<group>"; };
- F96D437D08F272B6004A47F5 /* iogt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = iogt.test; sourceTree = "<group>"; };
- F96D437F08F272B6004A47F5 /* join.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = join.test; sourceTree = "<group>"; };
- F96D438008F272B6004A47F5 /* lindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lindex.test; sourceTree = "<group>"; };
- F96D438108F272B6004A47F5 /* link.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = link.test; sourceTree = "<group>"; };
- F96D438208F272B6004A47F5 /* linsert.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = linsert.test; sourceTree = "<group>"; };
- F96D438308F272B6004A47F5 /* list.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = list.test; sourceTree = "<group>"; };
- F96D438408F272B6004A47F5 /* listObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listObj.test; sourceTree = "<group>"; };
- F96D438508F272B6004A47F5 /* llength.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = llength.test; sourceTree = "<group>"; };
- F96D438608F272B6004A47F5 /* load.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = load.test; sourceTree = "<group>"; };
- F96D438708F272B6004A47F5 /* lrange.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrange.test; sourceTree = "<group>"; };
- F96D438808F272B6004A47F5 /* lrepeat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrepeat.test; sourceTree = "<group>"; };
- F96D438908F272B6004A47F5 /* lreplace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lreplace.test; sourceTree = "<group>"; };
- F96D438A08F272B6004A47F5 /* lsearch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsearch.test; sourceTree = "<group>"; };
- F96D438B08F272B6004A47F5 /* lset.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lset.test; sourceTree = "<group>"; };
- F96D438C08F272B6004A47F5 /* lsetComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsetComp.test; sourceTree = "<group>"; };
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXFCmd.test; sourceTree = "<group>"; };
- F96D438E08F272B6004A47F5 /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F96D438F08F272B6004A47F5 /* misc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = misc.test; sourceTree = "<group>"; };
- F96D439008F272B6004A47F5 /* msgcat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.test; sourceTree = "<group>"; };
- F96D439108F272B6004A47F5 /* namespace-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "namespace-old.test"; sourceTree = "<group>"; };
- F96D439208F272B7004A47F5 /* namespace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = namespace.test; sourceTree = "<group>"; };
- F96D439308F272B7004A47F5 /* notify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notify.test; sourceTree = "<group>"; };
- F96D439408F272B7004A47F5 /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F96D439508F272B7004A47F5 /* opt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = opt.test; sourceTree = "<group>"; };
- F96D439608F272B7004A47F5 /* package.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.test; sourceTree = "<group>"; };
- F96D439708F272B7004A47F5 /* parse.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parse.test; sourceTree = "<group>"; };
- F96D439808F272B7004A47F5 /* parseExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseExpr.test; sourceTree = "<group>"; };
- F96D439908F272B7004A47F5 /* parseOld.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseOld.test; sourceTree = "<group>"; };
- F96D439A08F272B7004A47F5 /* pid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pid.test; sourceTree = "<group>"; };
- F96D439B08F272B7004A47F5 /* pkg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkg.test; sourceTree = "<group>"; };
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgMkIndex.test; sourceTree = "<group>"; };
- F96D439D08F272B7004A47F5 /* platform.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.test; sourceTree = "<group>"; };
- F96D439E08F272B7004A47F5 /* proc-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "proc-old.test"; sourceTree = "<group>"; };
- F96D439F08F272B7004A47F5 /* proc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = proc.test; sourceTree = "<group>"; };
- F96D43A008F272B7004A47F5 /* pwd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pwd.test; sourceTree = "<group>"; };
- F96D43A108F272B7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D43A208F272B7004A47F5 /* reg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = reg.test; sourceTree = "<group>"; };
- F96D43A308F272B7004A47F5 /* regexp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexp.test; sourceTree = "<group>"; };
- F96D43A408F272B7004A47F5 /* regexpComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpComp.test; sourceTree = "<group>"; };
- F96D43A508F272B7004A47F5 /* registry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = registry.test; sourceTree = "<group>"; };
- F96D43A608F272B7004A47F5 /* remote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = remote.tcl; sourceTree = "<group>"; };
- F96D43A708F272B7004A47F5 /* rename.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = rename.test; sourceTree = "<group>"; };
- F96D43A808F272B7004A47F5 /* result.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = result.test; sourceTree = "<group>"; };
- F96D43A908F272B7004A47F5 /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F96D43AA08F272B7004A47F5 /* scan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scan.test; sourceTree = "<group>"; };
- F96D43AB08F272B7004A47F5 /* security.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = security.test; sourceTree = "<group>"; };
- F96D43AC08F272B7004A47F5 /* set-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "set-old.test"; sourceTree = "<group>"; };
- F96D43AD08F272B7004A47F5 /* set.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = set.test; sourceTree = "<group>"; };
- F96D43AE08F272B7004A47F5 /* socket.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = socket.test; sourceTree = "<group>"; };
- F96D43AF08F272B7004A47F5 /* source.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = source.test; sourceTree = "<group>"; };
- F96D43B008F272B7004A47F5 /* split.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = split.test; sourceTree = "<group>"; };
- F96D43B108F272B7004A47F5 /* stack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stack.test; sourceTree = "<group>"; };
- F96D43B208F272B7004A47F5 /* string.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = string.test; sourceTree = "<group>"; };
- F96D43B308F272B7004A47F5 /* stringComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringComp.test; sourceTree = "<group>"; };
- F96D43B408F272B7004A47F5 /* stringObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringObj.test; sourceTree = "<group>"; };
- F96D43B508F272B7004A47F5 /* subst.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = subst.test; sourceTree = "<group>"; };
- F96D43B608F272B7004A47F5 /* switch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = switch.test; sourceTree = "<group>"; };
- F96D43B708F272B7004A47F5 /* tcltest.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.test; sourceTree = "<group>"; };
- F96D43B808F272B7004A47F5 /* thread.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = thread.test; sourceTree = "<group>"; };
- F96D43B908F272B7004A47F5 /* timer.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = timer.test; sourceTree = "<group>"; };
- F96D43BA08F272B7004A47F5 /* tm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.test; sourceTree = "<group>"; };
- F96D43BB08F272B7004A47F5 /* trace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = trace.test; sourceTree = "<group>"; };
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFCmd.test; sourceTree = "<group>"; };
- F96D43BD08F272B7004A47F5 /* unixFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFile.test; sourceTree = "<group>"; };
- F96D43BE08F272B7004A47F5 /* unixInit.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixInit.test; sourceTree = "<group>"; };
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixNotfy.test; sourceTree = "<group>"; };
- F96D43C008F272B7004A47F5 /* unknown.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unknown.test; sourceTree = "<group>"; };
- F96D43C108F272B7004A47F5 /* unload.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unload.test; sourceTree = "<group>"; };
- F96D43C208F272B7004A47F5 /* uplevel.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uplevel.test; sourceTree = "<group>"; };
- F96D43C308F272B7004A47F5 /* upvar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = upvar.test; sourceTree = "<group>"; };
- F96D43C408F272B7004A47F5 /* utf.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utf.test; sourceTree = "<group>"; };
- F96D43C508F272B7004A47F5 /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F96D43C608F272B7004A47F5 /* var.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = var.test; sourceTree = "<group>"; };
- F96D43C708F272B7004A47F5 /* while-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "while-old.test"; sourceTree = "<group>"; };
- F96D43C808F272B7004A47F5 /* while.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = while.test; sourceTree = "<group>"; };
- F96D43C908F272B7004A47F5 /* winConsole.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winConsole.test; sourceTree = "<group>"; };
- F96D43CA08F272B7004A47F5 /* winDde.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDde.test; sourceTree = "<group>"; };
- F96D43CB08F272B7004A47F5 /* winFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFCmd.test; sourceTree = "<group>"; };
- F96D43CC08F272B7004A47F5 /* winFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFile.test; sourceTree = "<group>"; };
- F96D43CD08F272B7004A47F5 /* winNotify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winNotify.test; sourceTree = "<group>"; };
- F96D43CE08F272B7004A47F5 /* winPipe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winPipe.test; sourceTree = "<group>"; };
- F96D43CF08F272B7004A47F5 /* winTime.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTime.test; sourceTree = "<group>"; };
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkLibraryDoc.tcl; sourceTree = "<group>"; };
- F96D43D208F272B8004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D43D308F272B8004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D442208F272B8004A47F5 /* eolFix.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eolFix.tcl; sourceTree = "<group>"; };
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fix_tommath_h.tcl; sourceTree = "<group>"; };
- F96D442508F272B8004A47F5 /* genStubs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = genStubs.tcl; sourceTree = "<group>"; };
- F96D442708F272B8004A47F5 /* index.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = index.tcl; sourceTree = "<group>"; };
- F96D442808F272B8004A47F5 /* installData.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = installData.tcl; sourceTree = "<group>"; };
- F96D442908F272B8004A47F5 /* loadICU.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = loadICU.tcl; sourceTree = "<group>"; };
- F96D442A08F272B8004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = makeTestCases.tcl; sourceTree = "<group>"; };
- F96D442C08F272B8004A47F5 /* man2help.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help.tcl; sourceTree = "<group>"; };
- F96D442D08F272B8004A47F5 /* man2help2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help2.tcl; sourceTree = "<group>"; };
- F96D442E08F272B8004A47F5 /* man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html.tcl; sourceTree = "<group>"; };
- F96D442F08F272B8004A47F5 /* man2html1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html1.tcl; sourceTree = "<group>"; };
- F96D443008F272B8004A47F5 /* man2html2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html2.tcl; sourceTree = "<group>"; };
- F96D443108F272B8004A47F5 /* man2tcl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = man2tcl.c; sourceTree = "<group>"; };
- F96D443208F272B8004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpTestLib.tcl; sourceTree = "<group>"; };
- F96D443408F272B8004A47F5 /* str2c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = str2c; sourceTree = "<group>"; };
- F96D443508F272B8004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D443608F272B8004A47F5 /* tcl.wse.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.wse.in; sourceTree = "<group>"; };
- F96D443708F272B9004A47F5 /* tclmin.wse */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tclmin.wse; sourceTree = "<group>"; };
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "tcltk-man2html.tcl"; sourceTree = "<group>"; };
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclZIC.tcl; sourceTree = "<group>"; };
- F96D443B08F272B9004A47F5 /* uniClass.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniClass.tcl; sourceTree = "<group>"; };
- F96D443C08F272B9004A47F5 /* uniParse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniParse.tcl; sourceTree = "<group>"; };
- F96D444008F272B9004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D444108F272B9004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D444208F272B9004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D444408F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D444508F272B9004A47F5 /* pkga.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkga.c; sourceTree = "<group>"; };
- F96D444608F272B9004A47F5 /* pkgb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgb.c; sourceTree = "<group>"; };
- F96D444708F272B9004A47F5 /* pkgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgc.c; sourceTree = "<group>"; };
- F96D444808F272B9004A47F5 /* pkgd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgd.c; sourceTree = "<group>"; };
- F96D444908F272B9004A47F5 /* pkge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkge.c; sourceTree = "<group>"; };
- F96D444B08F272B9004A47F5 /* pkgua.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgua.c; sourceTree = "<group>"; };
- F96D444C08F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D444D08F272B9004A47F5 /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F96D444E08F272B9004A47F5 /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F96D444F08F272B9004A47F5 /* ldAix */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ldAix; sourceTree = "<group>"; };
- F96D445008F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D445208F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D445308F272B9004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D445408F272B9004A47F5 /* tcl.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.spec; sourceTree = "<group>"; };
- F96D445508F272B9004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D445608F272B9004A47F5 /* tclConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tclConfig.h.in; sourceTree = "<group>"; };
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D445808F272B9004A47F5 /* tclLoadAix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadAix.c; sourceTree = "<group>"; };
- F96D445908F272B9004A47F5 /* tclLoadDl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDl.c; sourceTree = "<group>"; };
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDyld.c; sourceTree = "<group>"; };
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNext.c; sourceTree = "<group>"; };
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadOSF.c; sourceTree = "<group>"; };
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadShl.c; sourceTree = "<group>"; };
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixChan.c; sourceTree = "<group>"; };
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixEvent.c; sourceTree = "<group>"; };
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFCmd.c; sourceTree = "<group>"; };
- F96D446208F272B9004A47F5 /* tclUnixFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFile.c; sourceTree = "<group>"; };
- F96D446308F272B9004A47F5 /* tclUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixInit.c; sourceTree = "<group>"; };
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixNotfy.c; sourceTree = "<group>"; };
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixPipe.c; sourceTree = "<group>"; };
- F96D446608F272B9004A47F5 /* tclUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixPort.h; sourceTree = "<group>"; };
- F96D446708F272B9004A47F5 /* tclUnixSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixSock.c; sourceTree = "<group>"; };
- F96D446808F272B9004A47F5 /* tclUnixTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTest.c; sourceTree = "<group>"; };
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixThrd.c; sourceTree = "<group>"; };
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixThrd.h; sourceTree = "<group>"; };
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTime.c; sourceTree = "<group>"; };
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtNotify.c; sourceTree = "<group>"; };
- F96D446D08F272B9004A47F5 /* tclXtTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtTest.c; sourceTree = "<group>"; };
- F96D447008F272BA004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D447108F272BA004A47F5 /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F96D447208F272BA004A47F5 /* cat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cat.c; sourceTree = "<group>"; };
- F96D447308F272BA004A47F5 /* coffbase.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = coffbase.txt; sourceTree = "<group>"; };
- F96D447408F272BA004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D447508F272BA004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D447608F272BA004A47F5 /* makefile.bc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.bc; sourceTree = "<group>"; };
- F96D447708F272BA004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D447808F272BA004A47F5 /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F96D447908F272BA004A47F5 /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F96D447A08F272BA004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D447C08F272BA004A47F5 /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F96D447D08F272BA004A47F5 /* stub16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stub16.c; sourceTree = "<group>"; };
- F96D447E08F272BA004A47F5 /* tcl.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsp; sourceTree = "<group>"; };
- F96D447F08F272BA004A47F5 /* tcl.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsw; sourceTree = "<group>"; };
- F96D448008F272BA004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D448108F272BA004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D448208F272BA004A47F5 /* tcl.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.rc; sourceTree = "<group>"; };
- F96D448308F272BA004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D448608F272BA004A47F5 /* tclsh.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tclsh.rc; sourceTree = "<group>"; };
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWin32Dll.c; sourceTree = "<group>"; };
- F96D448808F272BA004A47F5 /* tclWinChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinChan.c; sourceTree = "<group>"; };
- F96D448908F272BA004A47F5 /* tclWinConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinConsole.c; sourceTree = "<group>"; };
- F96D448A08F272BA004A47F5 /* tclWinDde.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinDde.c; sourceTree = "<group>"; };
- F96D448B08F272BA004A47F5 /* tclWinError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinError.c; sourceTree = "<group>"; };
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFCmd.c; sourceTree = "<group>"; };
- F96D448D08F272BA004A47F5 /* tclWinFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFile.c; sourceTree = "<group>"; };
- F96D448E08F272BA004A47F5 /* tclWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinInit.c; sourceTree = "<group>"; };
- F96D448F08F272BA004A47F5 /* tclWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinInt.h; sourceTree = "<group>"; };
- F96D449008F272BA004A47F5 /* tclWinLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinLoad.c; sourceTree = "<group>"; };
- F96D449108F272BA004A47F5 /* tclWinNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinNotify.c; sourceTree = "<group>"; };
- F96D449208F272BA004A47F5 /* tclWinPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinPipe.c; sourceTree = "<group>"; };
- F96D449308F272BA004A47F5 /* tclWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinPort.h; sourceTree = "<group>"; };
- F96D449408F272BA004A47F5 /* tclWinReg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinReg.c; sourceTree = "<group>"; };
- F96D449508F272BA004A47F5 /* tclWinSerial.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSerial.c; sourceTree = "<group>"; };
- F96D449608F272BA004A47F5 /* tclWinSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSock.c; sourceTree = "<group>"; };
- F96D449708F272BA004A47F5 /* tclWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTest.c; sourceTree = "<group>"; };
- F96D449808F272BA004A47F5 /* tclWinThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinThrd.c; sourceTree = "<group>"; };
- F96D449908F272BA004A47F5 /* tclWinThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinThrd.h; sourceTree = "<group>"; };
- F96D449A08F272BA004A47F5 /* tclWinTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTime.c; sourceTree = "<group>"; };
- F973E5960EE99384001A648E /* vistaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vistaTheme.tcl; sourceTree = "<group>"; };
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPrivate.h; sourceTree = "<group>"; };
- F97AE7F10B65C1E900310EA2 /* Wish-Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Wish-Common.xcconfig"; sourceTree = "<group>"; };
- F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Wish-Release.xcconfig"; sourceTree = "<group>"; };
- F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Wish-Debug.xcconfig"; sourceTree = "<group>"; };
- F98383650F0FA43900171CA6 /* checkbutton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkbutton.test; sourceTree = "<group>"; };
- F98383680F0FA44700171CA6 /* radiobutton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radiobutton.test; sourceTree = "<group>"; };
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclTomMath.decls; sourceTree = "<group>"; };
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMathDecls.h; sourceTree = "<group>"; };
- F99388380EE0114B0065FE6B /* fontchooser.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.tcl; sourceTree = "<group>"; };
- F99388950EE02D980065FE6B /* fontchooser.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.test; sourceTree = "<group>"; };
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TclZlib.3; sourceTree = "<group>"; };
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Wish.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tcl.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A493240CEBF38300B78AE2 /* chanio.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chanio.test; sourceTree = "<group>"; };
- F9C888C20EEF6571003F63AD /* fontchooser.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fontchooser.n; sourceTree = "<group>"; };
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mclist.tcl; sourceTree = "<group>"; };
- F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPNG.c; sourceTree = "<group>"; };
- F9DD99BF0F07DFCD0018B2E4 /* imgPNG.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPNG.test; sourceTree = "<group>"; };
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F9ECB1130B26521500A28025 /* platform.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.tcl; sourceTree = "<group>"; };
- F9ECB1140B26521500A28025 /* shell.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = shell.tcl; sourceTree = "<group>"; };
- F9ECB1CA0B2652D300A28025 /* apply.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = apply.test; sourceTree = "<group>"; };
- F9ECB1CB0B26534C00A28025 /* mathop.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mathop.test; sourceTree = "<group>"; };
- F9ECB1E10B26543C00A28025 /* platform_shell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform_shell.n; sourceTree = "<group>"; };
- F9ECB1E20B26543C00A28025 /* platform.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform.n; sourceTree = "<group>"; };
- F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = tclDTrace.d; sourceTree = "<group>"; };
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkpane.tcl; sourceTree = "<group>"; };
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkmenu.tcl; sourceTree = "<group>"; };
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixCompat.c; sourceTree = "<group>"; };
- F9FD31F40CC1AD070073837D /* tktest-X11 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "tktest-X11"; sourceTree = BUILT_PRODUCTS_DIR; };
- F9FD32140CC1AF170073837D /* libX11.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libX11.dylib; path = /usr/X11R6/lib/libX11.dylib; sourceTree = "<absolute>"; };
- F9FD32150CC1AF170073837D /* libXext.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXext.dylib; path = /usr/X11R6/lib/libXext.dylib; sourceTree = "<absolute>"; };
- F9FD32160CC1AF170073837D /* libXss.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXss.dylib; path = /usr/X11R6/lib/libXss.dylib; sourceTree = "<absolute>"; };
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfreetype.dylib; path = /usr/X11R6/lib/libfreetype.dylib; sourceTree = "<absolute>"; };
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXft.dylib; path = /usr/X11R6/lib/libXft.dylib; sourceTree = "<absolute>"; };
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfontconfig.dylib; path = /usr/X11R6/lib/libfontconfig.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76FAD0486AB0100D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */,
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */,
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */,
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD31E30CC1AD070073837D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */,
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */,
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */,
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */,
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */,
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */,
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */,
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* Wish */ = {
- isa = PBXGroup;
- children = (
- F96D3DF708F271BE004A47F5 /* Tk Sources */,
- F96D3DF608F27169004A47F5 /* Tcl Sources */,
- F966C06F08F281DC005CB29B /* Frameworks */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- comments = "Copyright (c) 2004-2008 Daniel A. Steffen <das@users.sourceforge.net>\n\nSee the file \"license.terms\" for information on usage and redistribution of\nthis file, and for a DISCLAIMER OF ALL WARRANTIES.\n";
- name = Wish;
- path = .;
- sourceTree = SOURCE_ROOT;
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */,
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */,
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */,
- 8DD76FB20486AB0100D96B5E /* tktest */,
- F9FD31F40CC1AD070073837D /* tktest-X11 */,
- );
- includeInIndex = 0;
- name = Products;
- sourceTree = "<group>";
- };
- F9183E690EFC81560030B814 /* pkgs */ = {
- isa = PBXGroup;
- children = (
- F9183E6A0EFC81560030B814 /* README */,
- F9183E8F0EFC817B0030B814 /* tdbc */,
- );
- path = pkgs;
- sourceTree = "<group>";
- };
- F966BA0308F27A37005CB29B /* bitmaps */ = {
- isa = PBXGroup;
- children = (
- F966BA0408F27A37005CB29B /* error.xbm */,
- F966BA0508F27A37005CB29B /* gray12.xbm */,
- F966BA0608F27A37005CB29B /* gray25.xbm */,
- F966BA0708F27A37005CB29B /* gray50.xbm */,
- F966BA0808F27A37005CB29B /* gray75.xbm */,
- F966BA0908F27A37005CB29B /* hourglass.xbm */,
- F966BA0A08F27A37005CB29B /* info.xbm */,
- F966BA0B08F27A37005CB29B /* questhead.xbm */,
- F966BA0C08F27A37005CB29B /* question.xbm */,
- F966BA0D08F27A37005CB29B /* warning.xbm */,
- );
- path = bitmaps;
- sourceTree = "<group>";
- };
- F966BA1008F27A37005CB29B /* doc */ = {
- isa = PBXGroup;
- children = (
- F966BA1108F27A37005CB29B /* 3DBorder.3 */,
- F966BA1208F27A37005CB29B /* AddOption.3 */,
- F966BA1308F27A37005CB29B /* bell.n */,
- F966BA1408F27A37005CB29B /* bind.n */,
- F966BA1508F27A37005CB29B /* BindTable.3 */,
- F966BA1608F27A37005CB29B /* bindtags.n */,
- F966BA1708F27A37005CB29B /* bitmap.n */,
- F966BA1808F27A37005CB29B /* button.n */,
- F966BA1908F27A37005CB29B /* canvas.n */,
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */,
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */,
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */,
- F966BA1D08F27A37005CB29B /* checkbutton.n */,
- F966BA1E08F27A37005CB29B /* chooseColor.n */,
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */,
- F966BA2008F27A37005CB29B /* Clipboard.3 */,
- F966BA2108F27A37005CB29B /* clipboard.n */,
- F966BA2208F27A37005CB29B /* ClrSelect.3 */,
- F966BA2308F27A37005CB29B /* colors.n */,
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */,
- F966BA2508F27A37005CB29B /* ConfigWind.3 */,
- F966BA2608F27A37005CB29B /* console.n */,
- F966BA2708F27A37005CB29B /* CoordToWin.3 */,
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */,
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */,
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */,
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */,
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */,
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */,
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */,
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */,
- F966BA3008F27A37005CB29B /* cursors.n */,
- F966BA3108F27A37005CB29B /* DeleteImg.3 */,
- F966BA3208F27A37005CB29B /* destroy.n */,
- F966BA3308F27A37005CB29B /* dialog.n */,
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */,
- F966BA3508F27A37005CB29B /* entry.n */,
- F966BA3608F27A37005CB29B /* event.n */,
- F966BA3708F27A37005CB29B /* EventHndlr.3 */,
- F966BA3808F27A37005CB29B /* FindPhoto.3 */,
- F966BA3908F27A37005CB29B /* focus.n */,
- F966BA3A08F27A37005CB29B /* focusNext.n */,
- F966BA3B08F27A37005CB29B /* font.n */,
- F9C888C20EEF6571003F63AD /* fontchooser.n */,
- F966BA3C08F27A37005CB29B /* FontId.3 */,
- F966BA3D08F27A37005CB29B /* frame.n */,
- F966BA3E08F27A37005CB29B /* FreeXId.3 */,
- F966BA3F08F27A37005CB29B /* GeomReq.3 */,
- F966BA4008F27A37005CB29B /* GetAnchor.3 */,
- F966BA4108F27A37005CB29B /* GetBitmap.3 */,
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */,
- F966BA4308F27A37005CB29B /* GetClrmap.3 */,
- F966BA4408F27A37005CB29B /* GetColor.3 */,
- F966BA4508F27A37005CB29B /* GetCursor.3 */,
- F966BA4608F27A37005CB29B /* GetDash.3 */,
- F966BA4708F27A37005CB29B /* GetFont.3 */,
- F966BA4808F27A37005CB29B /* GetGC.3 */,
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */,
- F966BA4A08F27A37005CB29B /* GetHWND.3 */,
- F966BA4B08F27A37005CB29B /* GetImage.3 */,
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */,
- F966BA4D08F27A37005CB29B /* GetJustify.3 */,
- F966BA4E08F27A37005CB29B /* getOpenFile.n */,
- F966BA4F08F27A37005CB29B /* GetOption.3 */,
- F966BA5008F27A38005CB29B /* GetPixels.3 */,
- F966BA5108F27A38005CB29B /* GetPixmap.3 */,
- F966BA5208F27A38005CB29B /* GetRelief.3 */,
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */,
- F966BA5408F27A38005CB29B /* GetScroll.3 */,
- F966BA5508F27A38005CB29B /* GetSelect.3 */,
- F966BA5608F27A38005CB29B /* GetUid.3 */,
- F966BA5708F27A38005CB29B /* GetVisual.3 */,
- F966BA5808F27A38005CB29B /* GetVRoot.3 */,
- F966BA5908F27A38005CB29B /* Grab.3 */,
- F966BA5A08F27A38005CB29B /* grab.n */,
- F966BA5B08F27A38005CB29B /* grid.n */,
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */,
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */,
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */,
- F966BA5F08F27A38005CB29B /* image.n */,
- F966BA6008F27A38005CB29B /* ImgChanged.3 */,
- F966BA6108F27A38005CB29B /* Inactive.3 */,
- F966BA6208F27A38005CB29B /* InternAtom.3 */,
- F966BA6308F27A38005CB29B /* keysyms.n */,
- F966BA6408F27A38005CB29B /* label.n */,
- F966BA6508F27A38005CB29B /* labelframe.n */,
- F966BA6608F27A38005CB29B /* listbox.n */,
- F966BA6708F27A38005CB29B /* loadTk.n */,
- F966BA6808F27A38005CB29B /* lower.n */,
- F966BA6908F27A38005CB29B /* MainLoop.3 */,
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */,
- F966BA6B08F27A38005CB29B /* MainWin.3 */,
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */,
- F966BA6E08F27A38005CB29B /* MapWindow.3 */,
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */,
- F966BA7008F27A38005CB29B /* menu.n */,
- F966BA7108F27A38005CB29B /* menubar.n */,
- F966BA7208F27A38005CB29B /* menubutton.n */,
- F966BA7308F27A38005CB29B /* message.n */,
- F966BA7408F27A38005CB29B /* messageBox.n */,
- F966BA7508F27A38005CB29B /* MoveToplev.3 */,
- F966BA7608F27A38005CB29B /* Name.3 */,
- F966BA7708F27A38005CB29B /* NameOfImg.3 */,
- F966BA7808F27A38005CB29B /* option.n */,
- F966BA7908F27A38005CB29B /* optionMenu.n */,
- F966BA7A08F27A38005CB29B /* options.n */,
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */,
- F966BA7C08F27A38005CB29B /* pack-old.n */,
- F966BA7D08F27A38005CB29B /* pack.n */,
- F966BA7E08F27A38005CB29B /* palette.n */,
- F966BA7F08F27A38005CB29B /* panedwindow.n */,
- F966BA8008F27A38005CB29B /* ParseArgv.3 */,
- F966BA8108F27A38005CB29B /* photo.n */,
- F966BA8208F27A38005CB29B /* place.n */,
- F966BA8308F27A38005CB29B /* popup.n */,
- F966BA8408F27A38005CB29B /* QWinEvent.3 */,
- F966BA8508F27A38005CB29B /* radiobutton.n */,
- F966BA8608F27A38005CB29B /* raise.n */,
- F966BA8708F27A38005CB29B /* Restack.3 */,
- F966BA8808F27A38005CB29B /* RestrictEv.3 */,
- F966BA8908F27A38005CB29B /* scale.n */,
- F966BA8A08F27A38005CB29B /* scrollbar.n */,
- F966BA8B08F27A38005CB29B /* selection.n */,
- F966BA8C08F27A38005CB29B /* send.n */,
- F966BA8D08F27A38005CB29B /* SetAppName.3 */,
- F966BA8E08F27A38005CB29B /* SetCaret.3 */,
- F966BA8F08F27A38005CB29B /* SetClass.3 */,
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */,
- F966BA9108F27A38005CB29B /* SetGrid.3 */,
- F966BA9208F27A38005CB29B /* SetOptions.3 */,
- F966BA9308F27A38005CB29B /* SetVisual.3 */,
- F966BA9408F27A38005CB29B /* spinbox.n */,
- F966BA9508F27A38005CB29B /* StrictMotif.3 */,
- F966BA9608F27A38005CB29B /* text.n */,
- F966BA9708F27A38005CB29B /* TextLayout.3 */,
- F966BA9808F27A38005CB29B /* tk.n */,
- F966BA9908F27A38005CB29B /* tk4.0.ps */,
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */,
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */,
- F966BA9C08F27A38005CB29B /* tkerror.n */,
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */,
- F966BA9E08F27A38005CB29B /* tkvars.n */,
- F966BA9F08F27A38005CB29B /* tkwait.n */,
- F966BAA008F27A38005CB29B /* toplevel.n */,
- F968886B0AF788F6000797B5 /* ttk_button.n */,
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */,
- F968886D0AF788F6000797B5 /* ttk_combobox.n */,
- F968886F0AF788F6000797B5 /* ttk_entry.n */,
- F96888700AF788F6000797B5 /* ttk_frame.n */,
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */,
- F96888720AF788F6000797B5 /* ttk_image.n */,
- F96888730AF788F6000797B5 /* ttk_intro.n */,
- F96888740AF788F6000797B5 /* ttk_label.n */,
- F96888750AF788F6000797B5 /* ttk_labelframe.n */,
- F96888760AF788F6000797B5 /* ttk_menubutton.n */,
- F96888770AF788F6000797B5 /* ttk_notebook.n */,
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */,
- F96888790AF788F6000797B5 /* ttk_progressbar.n */,
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */,
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */,
- F968887C0AF788F6000797B5 /* ttk_separator.n */,
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */,
- F968887E0AF788F6000797B5 /* ttk_style.n */,
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */,
- F96888800AF788F6000797B5 /* ttk_treeview.n */,
- F96888810AF788F6000797B5 /* ttk_widget.n */,
- F966BAA108F27A38005CB29B /* WindowId.3 */,
- F966BAA208F27A38005CB29B /* winfo.n */,
- F966BAA308F27A38005CB29B /* wish.1 */,
- F966BAA408F27A38005CB29B /* wm.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F966BAA508F27A38005CB29B /* generic */ = {
- isa = PBXGroup;
- children = (
- F966BAA608F27A38005CB29B /* default.h */,
- F966BAA708F27A38005CB29B /* ks_names.h */,
- F966BAA908F27A39005CB29B /* README */,
- F966BAAA08F27A39005CB29B /* tk.decls */,
- F966BAAB08F27A39005CB29B /* tk.h */,
- F966BAAC08F27A39005CB29B /* tk3d.c */,
- F966BAAD08F27A39005CB29B /* tk3d.h */,
- F966BAAE08F27A39005CB29B /* tkArgv.c */,
- F966BAAF08F27A39005CB29B /* tkAtom.c */,
- F966BAB008F27A39005CB29B /* tkBind.c */,
- F966BAB108F27A39005CB29B /* tkBitmap.c */,
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */,
- F966BAB208F27A39005CB29B /* tkButton.c */,
- F966BAB308F27A39005CB29B /* tkButton.h */,
- F966BAB408F27A39005CB29B /* tkCanvArc.c */,
- F966BAB508F27A39005CB29B /* tkCanvas.c */,
- F966BAB608F27A39005CB29B /* tkCanvas.h */,
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */,
- F966BAB808F27A39005CB29B /* tkCanvImg.c */,
- F966BAB908F27A39005CB29B /* tkCanvLine.c */,
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */,
- F966BABB08F27A39005CB29B /* tkCanvPs.c */,
- F966BABD08F27A39005CB29B /* tkCanvText.c */,
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */,
- F966BABF08F27A39005CB29B /* tkCanvWind.c */,
- F966BAC008F27A39005CB29B /* tkClipboard.c */,
- F966BAC108F27A39005CB29B /* tkCmds.c */,
- F966BAC208F27A39005CB29B /* tkColor.c */,
- F966BAC308F27A39005CB29B /* tkColor.h */,
- F966BAC408F27A39005CB29B /* tkConfig.c */,
- F966BAC508F27A39005CB29B /* tkConsole.c */,
- F966BAC608F27A39005CB29B /* tkCursor.c */,
- F966BAC708F27A39005CB29B /* tkDecls.h */,
- F966BAC808F27A39005CB29B /* tkEntry.c */,
- F966BAC908F27A39005CB29B /* tkEntry.h */,
- F966BACA08F27A39005CB29B /* tkError.c */,
- F966BACB08F27A39005CB29B /* tkEvent.c */,
- F966BACC08F27A39005CB29B /* tkFileFilter.c */,
- F966BACD08F27A39005CB29B /* tkFileFilter.h */,
- F966BACE08F27A39005CB29B /* tkFocus.c */,
- F966BACF08F27A39005CB29B /* tkFont.c */,
- F966BAD008F27A39005CB29B /* tkFont.h */,
- F966BAD108F27A39005CB29B /* tkFrame.c */,
- F966BAD208F27A39005CB29B /* tkGC.c */,
- F966BAD308F27A39005CB29B /* tkGeometry.c */,
- F966BAD408F27A39005CB29B /* tkGet.c */,
- F966BAD508F27A39005CB29B /* tkGrab.c */,
- F966BAD608F27A39005CB29B /* tkGrid.c */,
- F966BAD708F27A39005CB29B /* tkImage.c */,
- F966BAD808F27A39005CB29B /* tkImgBmap.c */,
- F966BAD908F27A39005CB29B /* tkImgGIF.c */,
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */,
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */,
- F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */,
- F966BADB08F27A39005CB29B /* tkImgPPM.c */,
- F966BADC08F27A39005CB29B /* tkImgUtil.c */,
- F966BADE08F27A39005CB29B /* tkInt.decls */,
- F966BADF08F27A39005CB29B /* tkInt.h */,
- F966BAE108F27A39005CB29B /* tkIntDecls.h */,
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */,
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */,
- F966BAE408F27A39005CB29B /* tkListbox.c */,
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */,
- F966BAE608F27A39005CB29B /* tkMain.c */,
- F966BAE708F27A39005CB29B /* tkMenu.c */,
- F966BAE808F27A39005CB29B /* tkMenu.h */,
- F966BAE908F27A39005CB29B /* tkMenubutton.c */,
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */,
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */,
- F966BAEC08F27A39005CB29B /* tkMessage.c */,
- F966BAED08F27A39005CB29B /* tkObj.c */,
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */,
- F966BAEF08F27A39005CB29B /* tkOption.c */,
- F966BAF008F27A39005CB29B /* tkPack.c */,
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */,
- F966BAF208F27A39005CB29B /* tkPlace.c */,
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */,
- F966BAF408F27A39005CB29B /* tkPointer.c */,
- F966BAF508F27A39005CB29B /* tkPort.h */,
- F966BAF608F27A39005CB29B /* tkRectOval.c */,
- F966BAF708F27A39005CB29B /* tkScale.c */,
- F966BAF808F27A39005CB29B /* tkScale.h */,
- F966BAF908F27A39005CB29B /* tkScrollbar.c */,
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */,
- F966BAFB08F27A39005CB29B /* tkSelect.c */,
- F966BAFC08F27A39005CB29B /* tkSelect.h */,
- F966BAFD08F27A39005CB29B /* tkSquare.c */,
- F966BAFE08F27A39005CB29B /* tkOldTest.c */,
- F966BAFF08F27A39005CB29B /* tkStubInit.c */,
- F966BB0008F27A39005CB29B /* tkStubLib.c */,
- F966BB0108F27A39005CB29B /* tkStyle.c */,
- F966BB0208F27A39005CB29B /* tkTest.c */,
- F966BB0308F27A39005CB29B /* tkText.c */,
- F966BB0408F27A39005CB29B /* tkText.h */,
- F966BB0508F27A39005CB29B /* tkTextBTree.c */,
- F966BB0608F27A39005CB29B /* tkTextDisp.c */,
- F966BB0808F27A39005CB29B /* tkTextImage.c */,
- F966BB0908F27A39005CB29B /* tkTextIndex.c */,
- F966BB0A08F27A39005CB29B /* tkTextMark.c */,
- F966BB0B08F27A39005CB29B /* tkTextTag.c */,
- F966BB0C08F27A39005CB29B /* tkTextWind.c */,
- F966BB0D08F27A39005CB29B /* tkTrig.c */,
- F966BB0E08F27A39005CB29B /* tkUndo.c */,
- F966BB0F08F27A39005CB29B /* tkUndo.h */,
- F966BB1008F27A39005CB29B /* tkUtil.c */,
- F966BB1108F27A39005CB29B /* tkVisual.c */,
- F966BB1208F27A39005CB29B /* tkWindow.c */,
- F96887DF0AF786D5000797B5 /* ttk */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F966BB1308F27A39005CB29B /* library */ = {
- isa = PBXGroup;
- children = (
- F966BB1408F27A39005CB29B /* bgerror.tcl */,
- F966BB1508F27A39005CB29B /* button.tcl */,
- F966BB1608F27A39005CB29B /* choosedir.tcl */,
- F966BB1708F27A39005CB29B /* clrpick.tcl */,
- F966BB1808F27A39005CB29B /* comdlg.tcl */,
- F966BB1908F27A39005CB29B /* console.tcl */,
- F966BB1A08F27A39005CB29B /* demos */,
- F966BB6208F27A3A005CB29B /* dialog.tcl */,
- F966BB6308F27A3A005CB29B /* entry.tcl */,
- F966BB6408F27A3A005CB29B /* focus.tcl */,
- F99388380EE0114B0065FE6B /* fontchooser.tcl */,
- F966BB7308F27A3A005CB29B /* listbox.tcl */,
- F966BB7408F27A3A005CB29B /* menu.tcl */,
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */,
- F966BB7608F27A3A005CB29B /* msgbox.tcl */,
- F966BB8608F27A3A005CB29B /* obsolete.tcl */,
- F966BB8708F27A3A005CB29B /* optMenu.tcl */,
- F966BB8808F27A3A005CB29B /* palette.tcl */,
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */,
- F966BB8B08F27A3B005CB29B /* safetk.tcl */,
- F966BB8C08F27A3B005CB29B /* scale.tcl */,
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */,
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */,
- F966BB8F08F27A3B005CB29B /* tclIndex */,
- F966BB9008F27A3B005CB29B /* tearoff.tcl */,
- F966BB9108F27A3B005CB29B /* text.tcl */,
- F966BB9208F27A3B005CB29B /* tk.tcl */,
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */,
- F96888360AF787B3000797B5 /* ttk */,
- F966BB9408F27A3B005CB29B /* unsupported.tcl */,
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F966BB1A08F27A39005CB29B /* demos */ = {
- isa = PBXGroup;
- children = (
- F966BB1B08F27A39005CB29B /* anilabel.tcl */,
- F966BB1C08F27A39005CB29B /* aniwave.tcl */,
- F966BB1D08F27A39005CB29B /* arrow.tcl */,
- F966BB1E08F27A39005CB29B /* bind.tcl */,
- F966BB1F08F27A39005CB29B /* bitmap.tcl */,
- F966BB2008F27A39005CB29B /* browse */,
- F966BB2108F27A39005CB29B /* button.tcl */,
- F966BB2208F27A39005CB29B /* check.tcl */,
- F966BB2308F27A39005CB29B /* clrpick.tcl */,
- F966BB2408F27A39005CB29B /* colors.tcl */,
- F936FCDB0CCD984600716967 /* combo.tcl */,
- F966BB2508F27A39005CB29B /* cscroll.tcl */,
- F966BB2608F27A39005CB29B /* ctext.tcl */,
- F966BB2708F27A39005CB29B /* dialog1.tcl */,
- F966BB2808F27A39005CB29B /* dialog2.tcl */,
- F966BB2A08F27A39005CB29B /* entry1.tcl */,
- F966BB2B08F27A39005CB29B /* entry2.tcl */,
- F966BB2C08F27A39005CB29B /* entry3.tcl */,
- F966BB2D08F27A39005CB29B /* filebox.tcl */,
- F966BB2E08F27A39005CB29B /* floor.tcl */,
- F91543270EF201A90032D1E8 /* fontchoose.tcl */,
- F966BB2F08F27A39005CB29B /* form.tcl */,
- F966BB3008F27A39005CB29B /* goldberg.tcl */,
- F966BB3108F27A39005CB29B /* hello */,
- F966BB3208F27A39005CB29B /* hscale.tcl */,
- F966BB3308F27A39005CB29B /* icon.tcl */,
- F966BB3408F27A39005CB29B /* image1.tcl */,
- F966BB3508F27A39005CB29B /* image2.tcl */,
- F966BB4208F27A3A005CB29B /* items.tcl */,
- F966BB4308F27A3A005CB29B /* ixset */,
- F92240290D7C620F005EC715 /* knightstour.tcl */,
- F966BB4408F27A3A005CB29B /* label.tcl */,
- F966BB4508F27A3A005CB29B /* labelframe.tcl */,
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */,
- F966BB4608F27A3A005CB29B /* menu.tcl */,
- F966BB4708F27A3A005CB29B /* menubu.tcl */,
- F966BB4808F27A3A005CB29B /* msgbox.tcl */,
- F966BB4A08F27A3A005CB29B /* paned1.tcl */,
- F966BB4B08F27A3A005CB29B /* paned2.tcl */,
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */,
- F966BB4D08F27A3A005CB29B /* plot.tcl */,
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */,
- F966BB4F08F27A3A005CB29B /* radio.tcl */,
- F966BB5008F27A3A005CB29B /* README */,
- F966BB5108F27A3A005CB29B /* rmt */,
- F966BB5208F27A3A005CB29B /* rolodex */,
- F966BB5308F27A3A005CB29B /* ruler.tcl */,
- F966BB5408F27A3A005CB29B /* sayings.tcl */,
- F966BB5508F27A3A005CB29B /* search.tcl */,
- F966BB5608F27A3A005CB29B /* spin.tcl */,
- F966BB5708F27A3A005CB29B /* square */,
- F966BB5808F27A3A005CB29B /* states.tcl */,
- F966BB5908F27A3A005CB29B /* style.tcl */,
- F966BB5A08F27A3A005CB29B /* tclIndex */,
- F966BB5B08F27A3A005CB29B /* tcolor */,
- F966BB5C08F27A3A005CB29B /* text.tcl */,
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */,
- F966BB5D08F27A3A005CB29B /* timer */,
- F936FCD90CCD984600716967 /* toolbar.tcl */,
- F936FCD80CCD984600716967 /* tree.tcl */,
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */,
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */,
- F936FCDA0CCD984600716967 /* ttknote.tcl */,
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */,
- F936FCD70CCD984500716967 /* ttkprogress.tcl */,
- F966BB5E08F27A3A005CB29B /* twind.tcl */,
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */,
- F966BB6008F27A3A005CB29B /* vscale.tcl */,
- F966BB6108F27A3A005CB29B /* widget */,
- );
- path = demos;
- sourceTree = "<group>";
- };
- F966BB9708F27A3B005CB29B /* carbon */ = {
- isa = PBXGroup;
- children = (
- F966BBBA08F27A3B005CB29B /* configure.ac */,
- F966BBBB08F27A3B005CB29B /* GNUmakefile */,
- F966BBBE08F27A3B005CB29B /* README */,
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */,
- F966BBC108F27A3B005CB29B /* tkAboutDlg.r */,
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */,
- F966BBC408F27A3B005CB29B /* tkMacOSXAETE.r */,
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */,
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */,
- F966BBC708F27A3B005CB29B /* tkMacOSXCarbonEvents.c */,
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */,
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */,
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */,
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */,
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.r */,
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */,
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */,
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */,
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */,
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */,
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */,
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */,
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */,
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */,
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */,
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */,
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */,
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */,
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */,
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */,
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */,
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */,
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */,
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */,
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */,
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */,
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */,
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */,
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */,
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */,
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */,
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */,
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */,
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */,
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */,
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */,
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */,
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.r */,
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */,
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */,
- F966BBF808F27A3C005CB29B /* Wish.icns */,
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */,
- F97AE7F10B65C1E900310EA2 /* Wish-Common.xcconfig */,
- F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */,
- F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */,
- );
- path = carbon;
- sourceTree = "<group>";
- };
- F966BC0408F27A3C005CB29B /* tests */ = {
- isa = PBXGroup;
- children = (
- F966BC0508F27A3C005CB29B /* all.tcl */,
- F966BC0608F27A3C005CB29B /* arc.tcl */,
- F966BC0708F27A3C005CB29B /* bell.test */,
- F966BC0808F27A3C005CB29B /* bevel.tcl */,
- F966BC0908F27A3C005CB29B /* bgerror.test */,
- F966BC0A08F27A3C005CB29B /* bind.test */,
- F966BC0B08F27A3C005CB29B /* bitmap.test */,
- F966BC0C08F27A3C005CB29B /* border.test */,
- F966BC0D08F27A3C005CB29B /* bugs.tcl */,
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */,
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */,
- F966BC1008F27A3C005CB29B /* button.test */,
- F966BC1108F27A3C005CB29B /* canvas.test */,
- F966BC1208F27A3C005CB29B /* canvImg.test */,
- F966BC1308F27A3C005CB29B /* canvPs.test */,
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */,
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */,
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */,
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */,
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */,
- F966BC1908F27A3C005CB29B /* canvRect.test */,
- F966BC1A08F27A3C005CB29B /* canvText.test */,
- F966BC1B08F27A3C005CB29B /* canvWind.test */,
- F966BC1C08F27A3C005CB29B /* choosedir.test */,
- F966BC1D08F27A3C005CB29B /* clipboard.test */,
- F966BC1E08F27A3C005CB29B /* clrpick.test */,
- F966BC1F08F27A3C005CB29B /* cmap.tcl */,
- F966BC2008F27A3C005CB29B /* cmds.test */,
- F966BC2108F27A3C005CB29B /* color.test */,
- F966BC2208F27A3C005CB29B /* config.test */,
- F966BC2308F27A3C005CB29B /* constraints.tcl */,
- F966BC2408F27A3C005CB29B /* cursor.test */,
- F966BC2508F27A3C005CB29B /* dialog.test */,
- F966BC2608F27A3C005CB29B /* embed.test */,
- F966BC2708F27A3C005CB29B /* entry.test */,
- F966BC2808F27A3C005CB29B /* event.test */,
- F966BC2908F27A3C005CB29B /* filebox.test */,
- F966BC2A08F27A3C005CB29B /* focus.test */,
- F966BC2B08F27A3C005CB29B /* focusTcl.test */,
- F966BC2C08F27A3C005CB29B /* font.test */,
- F99388950EE02D980065FE6B /* fontchooser.test */,
- F966BC2D08F27A3C005CB29B /* frame.test */,
- F966BC2E08F27A3C005CB29B /* geometry.test */,
- F966BC2F08F27A3C005CB29B /* get.test */,
- F966BC3008F27A3C005CB29B /* grab.test */,
- F966BC3108F27A3C005CB29B /* grid.test */,
- F966BC3308F27A3C005CB29B /* image.test */,
- F966BC3408F27A3C005CB29B /* imgBmap.test */,
- F966BC3508F27A3C005CB29B /* imgPhoto.test */,
- F9DD99BF0F07DFCD0018B2E4 /* imgPNG.test */,
- F966BC3608F27A3C005CB29B /* imgPPM.test */,
- F966BC3708F27A3C005CB29B /* listbox.test */,
- F966BC3808F27A3C005CB29B /* main.test */,
- F966BC3908F27A3C005CB29B /* menu.test */,
- F966BC3A08F27A3C005CB29B /* menubut.test */,
- F966BC3B08F27A3C005CB29B /* menuDraw.test */,
- F966BC3C08F27A3C005CB29B /* message.test */,
- F966BC3D08F27A3C005CB29B /* msgbox.test */,
- F966BC3E08F27A3C005CB29B /* obj.test */,
- F966BC3F08F27A3C005CB29B /* oldpack.test */,
- F966BC4008F27A3C005CB29B /* option.file1 */,
- F966BC4108F27A3C005CB29B /* option.file2 */,
- F966BC4208F27A3C005CB29B /* option.test */,
- F966BC4308F27A3C005CB29B /* pack.test */,
- F966BC4408F27A3C005CB29B /* panedwindow.test */,
- F966BC4508F27A3D005CB29B /* place.test */,
- F966BC4608F27A3D005CB29B /* raise.test */,
- F966BC4708F27A3D005CB29B /* README */,
- F966BC4808F27A3D005CB29B /* safe.test */,
- F966BC4908F27A3D005CB29B /* scale.test */,
- F966BC4A08F27A3D005CB29B /* scrollbar.test */,
- F966BC4B08F27A3D005CB29B /* select.test */,
- F966BC4C08F27A3D005CB29B /* send.test */,
- F966BC4D08F27A3D005CB29B /* spinbox.test */,
- F966BC4E08F27A3D005CB29B /* text.test */,
- F966BC4F08F27A3D005CB29B /* textBTree.test */,
- F966BC5008F27A3D005CB29B /* textDisp.test */,
- F966BC5108F27A3D005CB29B /* textImage.test */,
- F966BC5208F27A3D005CB29B /* textIndex.test */,
- F966BC5308F27A3D005CB29B /* textMark.test */,
- F966BC5408F27A3D005CB29B /* textTag.test */,
- F966BC5508F27A3D005CB29B /* textWind.test */,
- F966BC5608F27A3D005CB29B /* tk.test */,
- F96888530AF7880C000797B5 /* ttk */,
- F966BC5708F27A3D005CB29B /* unixButton.test */,
- F966BC5808F27A3D005CB29B /* unixEmbed.test */,
- F966BC5908F27A3D005CB29B /* unixFont.test */,
- F966BC5A08F27A3D005CB29B /* unixMenu.test */,
- F966BC5B08F27A3D005CB29B /* unixSelect.test */,
- F966BC5C08F27A3D005CB29B /* unixWm.test */,
- F966BC5D08F27A3D005CB29B /* util.test */,
- F966BC5E08F27A3D005CB29B /* visual.test */,
- F966BC5F08F27A3D005CB29B /* visual_bb.test */,
- F966BC6008F27A3D005CB29B /* winButton.test */,
- F966BC6108F27A3D005CB29B /* winClipboard.test */,
- F966BC6208F27A3D005CB29B /* winDialog.test */,
- F966BC6308F27A3D005CB29B /* window.test */,
- F966BC6408F27A3D005CB29B /* winfo.test */,
- F966BC6508F27A3D005CB29B /* winFont.test */,
- F966BC6608F27A3D005CB29B /* winMenu.test */,
- F966BC6708F27A3D005CB29B /* winSend.test */,
- F966BC6808F27A3D005CB29B /* winWm.test */,
- F966BC6908F27A3D005CB29B /* wm.test */,
- F966BC6A08F27A3D005CB29B /* xmfbox.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F966BC6B08F27A3D005CB29B /* unix */ = {
- isa = PBXGroup;
- children = (
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */,
- F966BC6D08F27A3D005CB29B /* configure */,
- F966BC6E08F27A3D005CB29B /* configure.in */,
- F966BC6F08F27A3D005CB29B /* install-sh */,
- F966BC7008F27A3D005CB29B /* installManPage */,
- F966BC7108F27A3D005CB29B /* Makefile.in */,
- F966BC7208F27A3D005CB29B /* README */,
- F966BC7308F27A3D005CB29B /* tcl.m4 */,
- F966BC7408F27A3D005CB29B /* tk.spec */,
- F966BC7508F27A3D005CB29B /* tkAppInit.c */,
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */,
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */,
- F966BC7808F27A3D005CB29B /* tkUnix.c */,
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */,
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */,
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */,
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */,
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */,
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */,
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */,
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */,
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */,
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */,
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */,
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */,
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */,
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */,
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */,
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */,
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */,
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */,
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */,
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */,
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */,
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */,
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */,
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */,
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F966BC9208F27A3D005CB29B /* win */ = {
- isa = PBXGroup;
- children = (
- F966BC9408F27A3D005CB29B /* aclocal.m4 */,
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */,
- F966BC9608F27A3E005CB29B /* configure */,
- F966BC9708F27A3E005CB29B /* configure.in */,
- F966BC9808F27A3E005CB29B /* makefile.bc */,
- F966BC9908F27A3E005CB29B /* Makefile.in */,
- F966BC9A08F27A3E005CB29B /* makefile.vc */,
- F966BC9B08F27A3E005CB29B /* mkd.bat */,
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */,
- F966BC9D08F27A3E005CB29B /* rc */,
- F966BCF308F27A3E005CB29B /* README */,
- F966BCF408F27A3E005CB29B /* rmd.bat */,
- F966BCF508F27A3F005CB29B /* rules.vc */,
- F966BCF608F27A3F005CB29B /* stubs.c */,
- F966BCF708F27A3F005CB29B /* tcl.m4 */,
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */,
- F966BCF908F27A3F005CB29B /* tkWin.h */,
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */,
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */,
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */,
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */,
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */,
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */,
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */,
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */,
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */,
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */,
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */,
- F966BD0508F27A3F005CB29B /* tkWinFont.c */,
- F966BD0708F27A3F005CB29B /* tkWinImage.c */,
- F966BD0808F27A3F005CB29B /* tkWinInit.c */,
- F966BD0908F27A3F005CB29B /* tkWinInt.h */,
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */,
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */,
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */,
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */,
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */,
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */,
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */,
- F966BD1108F27A3F005CB29B /* tkWinSend.c */,
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */,
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */,
- F966BD1408F27A3F005CB29B /* tkWinTest.c */,
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */,
- F966BD1608F27A3F005CB29B /* tkWinWm.c */,
- F966BD1708F27A3F005CB29B /* tkWinX.c */,
- F96888860AF78953000797B5 /* ttkWinMonitor.c */,
- F96888870AF78953000797B5 /* ttkWinTheme.c */,
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */,
- F966BD1808F27A3F005CB29B /* winMain.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F966BC9D08F27A3E005CB29B /* rc */ = {
- isa = PBXGroup;
- children = (
- F966BCEE08F27A3E005CB29B /* tk.rc */,
- F966BCEF08F27A3E005CB29B /* tk_base.rc */,
- F966BCF208F27A3E005CB29B /* wish.rc */,
- );
- path = rc;
- sourceTree = "<group>";
- };
- F966BD1908F27A3F005CB29B /* xlib */ = {
- isa = PBXGroup;
- children = (
- F966BD1A08F27A3F005CB29B /* X11 */,
- F966BD2308F27A3F005CB29B /* xbytes.h */,
- F966BD2408F27A3F005CB29B /* xcolors.c */,
- F966BD2508F27A3F005CB29B /* xdraw.c */,
- F966BD2608F27A3F005CB29B /* xgc.c */,
- F966BD2708F27A3F005CB29B /* ximage.c */,
- F966BD2808F27A3F005CB29B /* xutil.c */,
- );
- path = xlib;
- sourceTree = "<group>";
- };
- F966BD1A08F27A3F005CB29B /* X11 */ = {
- isa = PBXGroup;
- children = (
- F966BD1B08F27A3F005CB29B /* cursorfont.h */,
- F966BD1C08F27A3F005CB29B /* keysym.h */,
- F966BD1D08F27A3F005CB29B /* keysymdef.h */,
- F966BD1E08F27A3F005CB29B /* X.h */,
- F966BD1F08F27A3F005CB29B /* Xatom.h */,
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */,
- F966BD2108F27A3F005CB29B /* Xlib.h */,
- F966BD2208F27A3F005CB29B /* Xutil.h */,
- );
- path = X11;
- sourceTree = "<group>";
- };
- F966C06F08F281DC005CB29B /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- F966C07408F2820D005CB29B /* CoreFoundation.framework */,
- F96437E60EF0D652003F468E /* libz.dylib */,
- F966C07608F2821B005CB29B /* Carbon.framework */,
- F966C07808F28233005CB29B /* IOKit.framework */,
- F9FD32140CC1AF170073837D /* libX11.dylib */,
- F9FD32150CC1AF170073837D /* libXext.dylib */,
- F9FD32160CC1AF170073837D /* libXss.dylib */,
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */,
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */,
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- F96887DF0AF786D5000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96887E00AF786D5000797B5 /* ttk.decls */,
- F96887E10AF786D5000797B5 /* ttkBlink.c */,
- F96887E20AF786D5000797B5 /* ttkButton.c */,
- F96887E30AF786D5000797B5 /* ttkCache.c */,
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */,
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */,
- F96887E60AF786D5000797B5 /* ttkDecls.h */,
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */,
- F96887E80AF786D5000797B5 /* ttkElements.c */,
- F96887E90AF786D5000797B5 /* ttkEntry.c */,
- F96887EA0AF786D5000797B5 /* ttkFrame.c */,
- F96887EB0AF786D5000797B5 /* ttkImage.c */,
- F96887EC0AF786D5000797B5 /* ttkInit.c */,
- F96887ED0AF786D5000797B5 /* ttkLabel.c */,
- F96887EE0AF786D5000797B5 /* ttkLayout.c */,
- F96887EF0AF786D5000797B5 /* ttkManager.c */,
- F96887F00AF786D5000797B5 /* ttkManager.h */,
- F96887F10AF786D5000797B5 /* ttkNotebook.c */,
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */,
- F96887F30AF786D5000797B5 /* ttkProgress.c */,
- F96887F40AF786D5000797B5 /* ttkScale.c */,
- F96887F50AF786D5000797B5 /* ttkScroll.c */,
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */,
- F96887F70AF786D5000797B5 /* ttkSeparator.c */,
- F96887F80AF786D5000797B5 /* ttkSquare.c */,
- F96887F90AF786D5000797B5 /* ttkState.c */,
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */,
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */,
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */,
- F96887FD0AF786D5000797B5 /* ttkTheme.c */,
- F96887FE0AF786D5000797B5 /* ttkTheme.h */,
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */,
- F96888000AF786D5000797B5 /* ttkTrace.c */,
- F96888010AF786D5000797B5 /* ttkTrack.c */,
- F96888020AF786D5000797B5 /* ttkTreeview.c */,
- F96888030AF786D5000797B5 /* ttkWidget.c */,
- F96888040AF786D5000797B5 /* ttkWidget.h */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888360AF787B3000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888370AF787B3000797B5 /* altTheme.tcl */,
- F96888380AF787B3000797B5 /* aquaTheme.tcl */,
- F96888390AF787B3000797B5 /* button.tcl */,
- F968883A0AF787B3000797B5 /* clamTheme.tcl */,
- F968883B0AF787B3000797B5 /* classicTheme.tcl */,
- F968883C0AF787B3000797B5 /* combobox.tcl */,
- F968883D0AF787B3000797B5 /* cursors.tcl */,
- F968883E0AF787B3000797B5 /* defaults.tcl */,
- F96888400AF787B3000797B5 /* entry.tcl */,
- F96888410AF787B3000797B5 /* fonts.tcl */,
- F96888440AF787B3000797B5 /* menubutton.tcl */,
- F96888450AF787B3000797B5 /* notebook.tcl */,
- F96888460AF787B3000797B5 /* panedwindow.tcl */,
- F96888470AF787B3000797B5 /* progress.tcl */,
- F96888480AF787B3000797B5 /* scale.tcl */,
- F96888490AF787B3000797B5 /* scrollbar.tcl */,
- F968884A0AF787B3000797B5 /* sizegrip.tcl */,
- F968884B0AF787B3000797B5 /* treeview.tcl */,
- F968884C0AF787B3000797B5 /* ttk.tcl */,
- F968884D0AF787B3000797B5 /* utils.tcl */,
- F968884E0AF787B3000797B5 /* winTheme.tcl */,
- F973E5960EE99384001A648E /* vistaTheme.tcl */,
- F968884F0AF787B3000797B5 /* xpTheme.tcl */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888530AF7880C000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888540AF7880C000797B5 /* all.tcl */,
- F98383650F0FA43900171CA6 /* checkbutton.test */,
- F96888560AF7880C000797B5 /* combobox.test */,
- F96888570AF7880C000797B5 /* entry.test */,
- F96888580AF7880C000797B5 /* image.test */,
- F96888590AF7880C000797B5 /* labelframe.test */,
- F968885A0AF7880C000797B5 /* layout.test */,
- F968885C0AF7880C000797B5 /* notebook.test */,
- F968885D0AF7880C000797B5 /* panedwindow.test */,
- F968885E0AF7880C000797B5 /* progressbar.test */,
- F98383680F0FA44700171CA6 /* radiobutton.test */,
- F968885F0AF7880C000797B5 /* scrollbar.test */,
- F96888600AF7880C000797B5 /* treetags.test */,
- F96888610AF7880C000797B5 /* treeview.test */,
- F96888620AF7880C000797B5 /* ttk.test */,
- F96888630AF7880C000797B5 /* validate.test */,
- F962F7C60DADC26200648DB8 /* vsapi.test */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96D3DF608F27169004A47F5 /* Tcl Sources */ = {
- isa = PBXGroup;
- children = (
- F96D3EC908F272A7004A47F5 /* generic */,
- F96D432C08F272B4004A47F5 /* macosx */,
- F96D443E08F272B9004A47F5 /* unix */,
- F96D425C08F272B2004A47F5 /* libtommath */,
- F96D446E08F272B9004A47F5 /* win */,
- F96D3F3808F272A7004A47F5 /* library */,
- F96D434408F272B5004A47F5 /* tests */,
- F96D3DFC08F272A4004A47F5 /* doc */,
- F96D43D008F272B8004A47F5 /* tools */,
- F9183E690EFC81560030B814 /* pkgs */,
- F96D3DFA08F272A4004A47F5 /* ChangeLog */,
- F96D3DFB08F272A4004A47F5 /* changes */,
- F96D434308F272B5004A47F5 /* README */,
- F96D432B08F272B4004A47F5 /* license.terms */,
- );
- name = "Tcl Sources";
- sourceTree = TCL_SRCROOT;
- };
- F96D3DF708F271BE004A47F5 /* Tk Sources */ = {
- isa = PBXGroup;
- children = (
- F966BAA508F27A38005CB29B /* generic */,
- F966BB9708F27A3B005CB29B /* carbon */,
- F966BC6B08F27A3D005CB29B /* unix */,
- F966BD1908F27A3F005CB29B /* xlib */,
- F966BA0308F27A37005CB29B /* bitmaps */,
- F966BC9208F27A3D005CB29B /* win */,
- F966BB1308F27A39005CB29B /* library */,
- F966BC0408F27A3C005CB29B /* tests */,
- F966BA1008F27A37005CB29B /* doc */,
- F966BA0E08F27A37005CB29B /* ChangeLog */,
- F966BA0F08F27A37005CB29B /* changes */,
- F966BC0308F27A3C005CB29B /* README */,
- F966BB9608F27A3B005CB29B /* license.terms */,
- );
- name = "Tk Sources";
- sourceTree = TK_SRCROOT;
- };
- F96D3DFC08F272A4004A47F5 /* doc */ = {
- isa = PBXGroup;
- children = (
- F96D3DFD08F272A4004A47F5 /* Access.3 */,
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */,
- F96D3DFF08F272A4004A47F5 /* after.n */,
- F96D3E0008F272A4004A47F5 /* Alloc.3 */,
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */,
- F96D3E0208F272A4004A47F5 /* append.n */,
- F96D3E0308F272A4004A47F5 /* AppInit.3 */,
- F96D3E0408F272A5004A47F5 /* array.n */,
- F96D3E0508F272A5004A47F5 /* AssocData.3 */,
- F96D3E0608F272A5004A47F5 /* Async.3 */,
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */,
- F96D3E0808F272A5004A47F5 /* Backslash.3 */,
- F96D3E0908F272A5004A47F5 /* bgerror.n */,
- F96D3E0A08F272A5004A47F5 /* binary.n */,
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */,
- F96D3E0C08F272A5004A47F5 /* break.n */,
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */,
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */,
- F96D3E0F08F272A5004A47F5 /* case.n */,
- F96D3E1008F272A5004A47F5 /* catch.n */,
- F96D3E1108F272A5004A47F5 /* cd.n */,
- F96D3E1208F272A5004A47F5 /* chan.n */,
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */,
- F93599CF0DF1F87F00E04F67 /* Class.3 */,
- F93599D00DF1F89E00E04F67 /* class.n */,
- F96D3E1408F272A5004A47F5 /* clock.n */,
- F96D3E1508F272A5004A47F5 /* close.n */,
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */,
- F96D3E1708F272A5004A47F5 /* Concat.3 */,
- F96D3E1808F272A5004A47F5 /* concat.n */,
- F96D3E1908F272A5004A47F5 /* continue.n */,
- F93599D20DF1F8DF00E04F67 /* copy.n */,
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */,
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */,
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */,
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */,
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */,
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */,
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */,
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */,
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */,
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */,
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */,
- F96D3E2508F272A5004A47F5 /* dde.n */,
- F93599D30DF1F8F500E04F67 /* define.n */,
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */,
- F96D3E2708F272A5004A47F5 /* dict.n */,
- F96D3E2808F272A5004A47F5 /* DictObj.3 */,
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */,
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */,
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */,
- F96D3E2C08F272A5004A47F5 /* DString.3 */,
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */,
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */,
- F96D3E2F08F272A5004A47F5 /* encoding.n */,
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */,
- F96D3E3108F272A5004A47F5 /* Environment.3 */,
- F96D3E3208F272A5004A47F5 /* eof.n */,
- F96D3E3308F272A5004A47F5 /* error.n */,
- F96D3E3408F272A5004A47F5 /* Eval.3 */,
- F96D3E3508F272A5004A47F5 /* eval.n */,
- F96D3E3608F272A5004A47F5 /* exec.n */,
- F96D3E3708F272A5004A47F5 /* Exit.3 */,
- F96D3E3808F272A5004A47F5 /* exit.n */,
- F96D3E3908F272A5004A47F5 /* expr.n */,
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */,
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */,
- F96D3E3C08F272A5004A47F5 /* fblocked.n */,
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */,
- F96D3E3E08F272A5004A47F5 /* fcopy.n */,
- F96D3E3F08F272A5004A47F5 /* file.n */,
- F96D3E4008F272A5004A47F5 /* fileevent.n */,
- F96D3E4108F272A5004A47F5 /* filename.n */,
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */,
- F96D3E4308F272A5004A47F5 /* FindExec.3 */,
- F96D3E4408F272A5004A47F5 /* flush.n */,
- F96D3E4508F272A5004A47F5 /* for.n */,
- F96D3E4608F272A5004A47F5 /* foreach.n */,
- F96D3E4708F272A5004A47F5 /* format.n */,
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */,
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */,
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */,
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */,
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */,
- F96D3E4D08F272A5004A47F5 /* gets.n */,
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */,
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */,
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */,
- F96D3E5108F272A5004A47F5 /* glob.n */,
- F96D3E5208F272A6004A47F5 /* global.n */,
- F96D3E5308F272A6004A47F5 /* Hash.3 */,
- F96D3E5408F272A6004A47F5 /* history.n */,
- F96D3E5508F272A6004A47F5 /* http.n */,
- F96D3E5608F272A6004A47F5 /* if.n */,
- F96D3E5708F272A6004A47F5 /* incr.n */,
- F96D3E5808F272A6004A47F5 /* info.n */,
- F96D3E5908F272A6004A47F5 /* Init.3 */,
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */,
- F96D3E5B08F272A6004A47F5 /* Interp.3 */,
- F96D3E5C08F272A6004A47F5 /* interp.n */,
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */,
- F96D3E5E08F272A6004A47F5 /* join.n */,
- F96D3E5F08F272A6004A47F5 /* lappend.n */,
- F96D3E6008F272A6004A47F5 /* lassign.n */,
- F96D3E6108F272A6004A47F5 /* library.n */,
- F96D3E6208F272A6004A47F5 /* Limit.3 */,
- F96D3E6308F272A6004A47F5 /* lindex.n */,
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */,
- F96D3E6508F272A6004A47F5 /* linsert.n */,
- F96D3E6608F272A6004A47F5 /* list.n */,
- F96D3E6708F272A6004A47F5 /* ListObj.3 */,
- F96D3E6808F272A6004A47F5 /* llength.n */,
- F96D3E6908F272A6004A47F5 /* load.n */,
- F96D3E6A08F272A6004A47F5 /* lrange.n */,
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */,
- F96D3E6C08F272A6004A47F5 /* lreplace.n */,
- F96D3E6D08F272A6004A47F5 /* lsearch.n */,
- F96D3E6E08F272A6004A47F5 /* lset.n */,
- F96D3E6F08F272A6004A47F5 /* lsort.n */,
- F96D3E7008F272A6004A47F5 /* man.macros */,
- F96D3E7108F272A6004A47F5 /* mathfunc.n */,
- F96D3E7208F272A6004A47F5 /* memory.n */,
- F93599D40DF1F91900E04F67 /* Method.3 */,
- F96D3E7308F272A6004A47F5 /* msgcat.n */,
- F93599D50DF1F93700E04F67 /* my.n */,
- F96D3E7408F272A6004A47F5 /* Namespace.3 */,
- F96D3E7508F272A6004A47F5 /* namespace.n */,
- F93599D60DF1F95000E04F67 /* next.n */,
- F96D3E7608F272A6004A47F5 /* Notifier.3 */,
- F96D3E7708F272A6004A47F5 /* Object.3 */,
- F93599D70DF1F96800E04F67 /* object.n */,
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */,
- F96D3E7908F272A6004A47F5 /* open.n */,
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */,
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */,
- F96D3E7C08F272A6004A47F5 /* package.n */,
- F96D3E7D08F272A6004A47F5 /* packagens.n */,
- F96D3E7E08F272A6004A47F5 /* Panic.3 */,
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */,
- F96D3E8008F272A6004A47F5 /* pid.n */,
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */,
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */,
- F9ECB1E10B26543C00A28025 /* platform_shell.n */,
- F9ECB1E20B26543C00A28025 /* platform.n */,
- F96D3E8308F272A6004A47F5 /* Preserve.3 */,
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */,
- F96D3E8508F272A6004A47F5 /* proc.n */,
- F96D3E8608F272A6004A47F5 /* puts.n */,
- F96D3E8708F272A6004A47F5 /* pwd.n */,
- F96D3E8808F272A6004A47F5 /* re_syntax.n */,
- F96D3E8908F272A6004A47F5 /* read.n */,
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */,
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */,
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */,
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */,
- F96D3E8E08F272A6004A47F5 /* regexp.n */,
- F96D3E8F08F272A6004A47F5 /* registry.n */,
- F96D3E9008F272A6004A47F5 /* regsub.n */,
- F96D3E9108F272A6004A47F5 /* rename.n */,
- F96D3E9208F272A6004A47F5 /* return.n */,
- F96D3E9308F272A6004A47F5 /* safe.n */,
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */,
- F96D3E9508F272A6004A47F5 /* scan.n */,
- F96D3E9608F272A6004A47F5 /* seek.n */,
- F93599D80DF1F98300E04F67 /* self.n */,
- F96D3E9708F272A6004A47F5 /* set.n */,
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */,
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */,
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */,
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */,
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */,
- F96D3E9D08F272A7004A47F5 /* Signal.3 */,
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */,
- F96D3E9F08F272A7004A47F5 /* socket.n */,
- F96D3EA008F272A7004A47F5 /* source.n */,
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */,
- F96D3EA208F272A7004A47F5 /* split.n */,
- F96D3EA308F272A7004A47F5 /* SplitList.3 */,
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */,
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */,
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */,
- F96D3EA708F272A7004A47F5 /* string.n */,
- F96D3EA808F272A7004A47F5 /* StringObj.3 */,
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */,
- F96D3EAA08F272A7004A47F5 /* subst.n */,
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */,
- F96D3EAC08F272A7004A47F5 /* switch.n */,
- F96D3EAD08F272A7004A47F5 /* Tcl.n */,
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */,
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */,
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */,
- F96D3EB008F272A7004A47F5 /* tclsh.1 */,
- F96D3EB108F272A7004A47F5 /* tcltest.n */,
- F96D3EB208F272A7004A47F5 /* tclvars.n */,
- F96D3EB308F272A7004A47F5 /* tell.n */,
- F96D3EB408F272A7004A47F5 /* Thread.3 */,
- F9183E640EFC80CD0030B814 /* throw.n */,
- F96D3EB508F272A7004A47F5 /* time.n */,
- F96D3EB608F272A7004A47F5 /* tm.n */,
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */,
- F96D3EB808F272A7004A47F5 /* trace.n */,
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */,
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */,
- F96D3EBB08F272A7004A47F5 /* Translate.3 */,
- F9183E650EFC80D70030B814 /* try.n */,
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */,
- F96D3EBD08F272A7004A47F5 /* unknown.n */,
- F96D3EBE08F272A7004A47F5 /* unload.n */,
- F96D3EBF08F272A7004A47F5 /* unset.n */,
- F96D3EC008F272A7004A47F5 /* update.n */,
- F96D3EC108F272A7004A47F5 /* uplevel.n */,
- F96D3EC208F272A7004A47F5 /* UpVar.3 */,
- F96D3EC308F272A7004A47F5 /* upvar.n */,
- F96D3EC408F272A7004A47F5 /* Utf.3 */,
- F96D3EC508F272A7004A47F5 /* variable.n */,
- F96D3EC608F272A7004A47F5 /* vwait.n */,
- F96D3EC708F272A7004A47F5 /* while.n */,
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */,
- F915432D0EF201EE0032D1E8 /* zlib.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F96D3EC908F272A7004A47F5 /* generic */ = {
- isa = PBXGroup;
- children = (
- F96D3ECA08F272A7004A47F5 /* README */,
- F96D3ECB08F272A7004A47F5 /* regc_color.c */,
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */,
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */,
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */,
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */,
- F96D3ED008F272A7004A47F5 /* regcomp.c */,
- F96D3ED108F272A7004A47F5 /* regcustom.h */,
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */,
- F96D3ED308F272A7004A47F5 /* regerror.c */,
- F96D3ED408F272A7004A47F5 /* regerrs.h */,
- F96D3ED508F272A7004A47F5 /* regex.h */,
- F96D3ED608F272A7004A47F5 /* regexec.c */,
- F96D3ED708F272A7004A47F5 /* regfree.c */,
- F96D3ED808F272A7004A47F5 /* regfronts.c */,
- F96D3ED908F272A7004A47F5 /* regguts.h */,
- F96D3EDA08F272A7004A47F5 /* tcl.decls */,
- F96D3EDB08F272A7004A47F5 /* tcl.h */,
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */,
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */,
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */,
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */,
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */,
- F96D3EE108F272A7004A47F5 /* tclClock.c */,
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */,
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */,
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */,
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */,
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */,
- F96D3EE708F272A7004A47F5 /* tclCompile.c */,
- F96D3EE808F272A7004A47F5 /* tclCompile.h */,
- F96D3EE908F272A7004A47F5 /* tclConfig.c */,
- F96D3EEA08F272A7004A47F5 /* tclDate.c */,
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */,
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */,
- F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */,
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */,
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */,
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */,
- F96D3EF008F272A7004A47F5 /* tclExecute.c */,
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */,
- F96D3EF208F272A7004A47F5 /* tclFileName.c */,
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */,
- F96D3EF408F272A7004A47F5 /* tclGet.c */,
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */,
- F96D3EF608F272A7004A47F5 /* tclHash.c */,
- F96D3EF708F272A7004A47F5 /* tclHistory.c */,
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */,
- F96D3EF908F272A7004A47F5 /* tclInt.decls */,
- F96D3EFA08F272A7004A47F5 /* tclInt.h */,
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */,
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */,
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */,
- F96D3EFE08F272A7004A47F5 /* tclIO.c */,
- F96D3EFF08F272A7004A47F5 /* tclIO.h */,
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */,
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */,
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */,
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */,
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */,
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */,
- F96D3F0508F272A7004A47F5 /* tclLink.c */,
- F96D3F0608F272A7004A47F5 /* tclListObj.c */,
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */,
- F96D3F0808F272A7004A47F5 /* tclLoad.c */,
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */,
- F96D3F0A08F272A7004A47F5 /* tclMain.c */,
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */,
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */,
- F96D3F0D08F272A7004A47F5 /* tclObj.c */,
- F93599B20DF1F75400E04F67 /* tclOO.c */,
- F93599B40DF1F75900E04F67 /* tclOO.decls */,
- F93599B50DF1F75D00E04F67 /* tclOO.h */,
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */,
- F93599B80DF1F76600E04F67 /* tclOOCall.c */,
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */,
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */,
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */,
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */,
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */,
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */,
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */,
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */,
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */,
- F96D3F0F08F272A7004A47F5 /* tclParse.c */,
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */,
- F96D3F1208F272A7004A47F5 /* tclPipe.c */,
- F96D3F1308F272A7004A47F5 /* tclPkg.c */,
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */,
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */,
- F96D3F1608F272A7004A47F5 /* tclPort.h */,
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */,
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */,
- F96D3F1908F272A7004A47F5 /* tclProc.c */,
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */,
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */,
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */,
- F96D3F1D08F272A7004A47F5 /* tclResult.c */,
- F96D3F1E08F272A7004A47F5 /* tclScan.c */,
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */,
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */,
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */,
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */,
- F96D3F2708F272A7004A47F5 /* tclTest.c */,
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */,
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */,
- F96D3F2A08F272A7004A47F5 /* tclThread.c */,
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */,
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */,
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */,
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */,
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */,
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */,
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */,
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */,
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */,
- F96D3F3208F272A7004A47F5 /* tclTrace.c */,
- F96D3F3308F272A7004A47F5 /* tclUniData.c */,
- F96D3F3408F272A7004A47F5 /* tclUtf.c */,
- F96D3F3508F272A7004A47F5 /* tclUtil.c */,
- F96D3F3608F272A7004A47F5 /* tclVar.c */,
- F96437C90EF0D4B2003F468E /* tclZlib.c */,
- F96D3F3708F272A7004A47F5 /* tommath.h */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F96D3F3808F272A7004A47F5 /* library */ = {
- isa = PBXGroup;
- children = (
- F96D3F3908F272A8004A47F5 /* auto.tcl */,
- F96D3F3A08F272A8004A47F5 /* clock.tcl */,
- F96D3F3B08F272A8004A47F5 /* dde */,
- F96D3F8C08F272A8004A47F5 /* history.tcl */,
- F96D3F8D08F272A8004A47F5 /* http */,
- F96D3F9008F272A8004A47F5 /* http1.0 */,
- F96D3F9308F272A8004A47F5 /* init.tcl */,
- F96D3F9408F272A8004A47F5 /* msgcat */,
- F96D401708F272AA004A47F5 /* opt */,
- F96D401A08F272AA004A47F5 /* package.tcl */,
- F96D401B08F272AA004A47F5 /* parray.tcl */,
- F9ECB1110B26521500A28025 /* platform */,
- F96D401C08F272AA004A47F5 /* reg */,
- F96D401E08F272AA004A47F5 /* safe.tcl */,
- F96D401F08F272AA004A47F5 /* tclIndex */,
- F96D402008F272AA004A47F5 /* tcltest */,
- F96D402308F272AA004A47F5 /* tm.tcl */,
- F96D425B08F272B2004A47F5 /* word.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F96D3F3B08F272A8004A47F5 /* dde */ = {
- isa = PBXGroup;
- children = (
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = dde;
- sourceTree = "<group>";
- };
- F96D3F8D08F272A8004A47F5 /* http */ = {
- isa = PBXGroup;
- children = (
- F96D3F8E08F272A8004A47F5 /* http.tcl */,
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http;
- sourceTree = "<group>";
- };
- F96D3F9008F272A8004A47F5 /* http1.0 */ = {
- isa = PBXGroup;
- children = (
- F96D3F9108F272A8004A47F5 /* http.tcl */,
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http1.0;
- sourceTree = "<group>";
- };
- F96D3F9408F272A8004A47F5 /* msgcat */ = {
- isa = PBXGroup;
- children = (
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */,
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = msgcat;
- sourceTree = "<group>";
- };
- F96D401708F272AA004A47F5 /* opt */ = {
- isa = PBXGroup;
- children = (
- F96D401808F272AA004A47F5 /* optparse.tcl */,
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = opt;
- sourceTree = "<group>";
- };
- F96D401C08F272AA004A47F5 /* reg */ = {
- isa = PBXGroup;
- children = (
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = reg;
- sourceTree = "<group>";
- };
- F96D402008F272AA004A47F5 /* tcltest */ = {
- isa = PBXGroup;
- children = (
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */,
- F96D402208F272AA004A47F5 /* tcltest.tcl */,
- );
- path = tcltest;
- sourceTree = "<group>";
- };
- F96D425C08F272B2004A47F5 /* libtommath */ = {
- isa = PBXGroup;
- children = (
- F96D425F08F272B3004A47F5 /* bn.pdf */,
- F96D426108F272B3004A47F5 /* bn_error.c */,
- F96D426208F272B3004A47F5 /* bn_fast_mp_invmod.c */,
- F96D426308F272B3004A47F5 /* bn_fast_mp_montgomery_reduce.c */,
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */,
- F96D426508F272B3004A47F5 /* bn_fast_s_mp_mul_high_digs.c */,
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */,
- F96D426708F272B3004A47F5 /* bn_mp_2expt.c */,
- F96D426808F272B3004A47F5 /* bn_mp_abs.c */,
- F96D426908F272B3004A47F5 /* bn_mp_add.c */,
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */,
- F96D426B08F272B3004A47F5 /* bn_mp_addmod.c */,
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */,
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */,
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */,
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */,
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */,
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */,
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */,
- F96D427308F272B3004A47F5 /* bn_mp_cnt_lsb.c */,
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */,
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */,
- F96D427608F272B3004A47F5 /* bn_mp_div.c */,
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */,
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */,
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */,
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */,
- F96D427B08F272B3004A47F5 /* bn_mp_dr_is_modulus.c */,
- F96D427C08F272B3004A47F5 /* bn_mp_dr_reduce.c */,
- F96D427D08F272B3004A47F5 /* bn_mp_dr_setup.c */,
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */,
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */,
- F96D428008F272B3004A47F5 /* bn_mp_exptmod.c */,
- F96D428108F272B3004A47F5 /* bn_mp_exptmod_fast.c */,
- F96D428208F272B3004A47F5 /* bn_mp_exteuclid.c */,
- F96D428308F272B3004A47F5 /* bn_mp_fread.c */,
- F96D428408F272B3004A47F5 /* bn_mp_fwrite.c */,
- F96D428508F272B3004A47F5 /* bn_mp_gcd.c */,
- F96D428608F272B3004A47F5 /* bn_mp_get_int.c */,
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */,
- F96D428808F272B3004A47F5 /* bn_mp_init.c */,
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */,
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */,
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */,
- F96D428C08F272B3004A47F5 /* bn_mp_init_set_int.c */,
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */,
- F96D428E08F272B3004A47F5 /* bn_mp_invmod.c */,
- F96D428F08F272B3004A47F5 /* bn_mp_invmod_slow.c */,
- F96D429008F272B3004A47F5 /* bn_mp_is_square.c */,
- F96D429108F272B3004A47F5 /* bn_mp_jacobi.c */,
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */,
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */,
- F96D429408F272B3004A47F5 /* bn_mp_lcm.c */,
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */,
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */,
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */,
- F96D429808F272B3004A47F5 /* bn_mp_mod_d.c */,
- F96D429908F272B3004A47F5 /* bn_mp_montgomery_calc_normalization.c */,
- F96D429A08F272B3004A47F5 /* bn_mp_montgomery_reduce.c */,
- F96D429B08F272B3004A47F5 /* bn_mp_montgomery_setup.c */,
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */,
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */,
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */,
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */,
- F96D42A008F272B3004A47F5 /* bn_mp_mulmod.c */,
- F96D42A108F272B3004A47F5 /* bn_mp_n_root.c */,
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */,
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */,
- F96D42A408F272B3004A47F5 /* bn_mp_prime_fermat.c */,
- F96D42A508F272B3004A47F5 /* bn_mp_prime_is_divisible.c */,
- F96D42A608F272B3004A47F5 /* bn_mp_prime_is_prime.c */,
- F96D42A708F272B3004A47F5 /* bn_mp_prime_miller_rabin.c */,
- F96D42A808F272B3004A47F5 /* bn_mp_prime_next_prime.c */,
- F96D42A908F272B3004A47F5 /* bn_mp_prime_rabin_miller_trials.c */,
- F96D42AA08F272B3004A47F5 /* bn_mp_prime_random_ex.c */,
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */,
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */,
- F96D42AD08F272B3004A47F5 /* bn_mp_rand.c */,
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */,
- F96D42AF08F272B3004A47F5 /* bn_mp_read_signed_bin.c */,
- F96D42B008F272B3004A47F5 /* bn_mp_read_unsigned_bin.c */,
- F96D42B108F272B3004A47F5 /* bn_mp_reduce.c */,
- F96D42B208F272B3004A47F5 /* bn_mp_reduce_2k.c */,
- F96D42B308F272B3004A47F5 /* bn_mp_reduce_2k_l.c */,
- F96D42B408F272B3004A47F5 /* bn_mp_reduce_2k_setup.c */,
- F96D42B508F272B3004A47F5 /* bn_mp_reduce_2k_setup_l.c */,
- F96D42B608F272B3004A47F5 /* bn_mp_reduce_is_2k.c */,
- F96D42B708F272B3004A47F5 /* bn_mp_reduce_is_2k_l.c */,
- F96D42B808F272B3004A47F5 /* bn_mp_reduce_setup.c */,
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */,
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */,
- F96D42BB08F272B3004A47F5 /* bn_mp_set_int.c */,
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */,
- F96D42BD08F272B3004A47F5 /* bn_mp_signed_bin_size.c */,
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */,
- F96D42BF08F272B3004A47F5 /* bn_mp_sqrmod.c */,
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */,
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */,
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */,
- F96D42C308F272B3004A47F5 /* bn_mp_submod.c */,
- F96D42C408F272B3004A47F5 /* bn_mp_to_signed_bin.c */,
- F96D42C508F272B3004A47F5 /* bn_mp_to_signed_bin_n.c */,
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */,
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */,
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */,
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */,
- F96D42CA08F272B3004A47F5 /* bn_mp_toradix.c */,
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */,
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */,
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */,
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */,
- F96D42CF08F272B3004A47F5 /* bn_prime_tab.c */,
- F96D42D008F272B3004A47F5 /* bn_reverse.c */,
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */,
- F96D42D208F272B3004A47F5 /* bn_s_mp_exptmod.c */,
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */,
- F96D42D408F272B3004A47F5 /* bn_s_mp_mul_high_digs.c */,
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */,
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */,
- F96D42D708F272B3004A47F5 /* bncore.c */,
- F96D42D908F272B3004A47F5 /* callgraph.txt */,
- F96D42DA08F272B3004A47F5 /* changes.txt */,
- F96D42F008F272B3004A47F5 /* LICENSE */,
- F96D431D08F272B4004A47F5 /* poster.pdf */,
- F96D432608F272B4004A47F5 /* tommath.pdf */,
- F96D432908F272B4004A47F5 /* tommath_class.h */,
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */,
- );
- path = libtommath;
- sourceTree = "<group>";
- };
- F96D432C08F272B4004A47F5 /* macosx */ = {
- isa = PBXGroup;
- children = (
- F96D432E08F272B5004A47F5 /* configure.ac */,
- F96D432F08F272B5004A47F5 /* GNUmakefile */,
- F96D433108F272B5004A47F5 /* README */,
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */,
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */,
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */,
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */,
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */,
- );
- path = macosx;
- sourceTree = "<group>";
- };
- F96D434408F272B5004A47F5 /* tests */ = {
- isa = PBXGroup;
- children = (
- F96D434508F272B5004A47F5 /* all.tcl */,
- F96D434608F272B5004A47F5 /* append.test */,
- F96D434708F272B5004A47F5 /* appendComp.test */,
- F9ECB1CA0B2652D300A28025 /* apply.test */,
- F96D434808F272B5004A47F5 /* assocd.test */,
- F96D434908F272B5004A47F5 /* async.test */,
- F96D434A08F272B5004A47F5 /* autoMkindex.test */,
- F96D434B08F272B5004A47F5 /* basic.test */,
- F96D434C08F272B5004A47F5 /* binary.test */,
- F96D434D08F272B5004A47F5 /* case.test */,
- F96D434E08F272B5004A47F5 /* chan.test */,
- F9A493240CEBF38300B78AE2 /* chanio.test */,
- F96D434F08F272B5004A47F5 /* clock.test */,
- F96D435008F272B5004A47F5 /* cmdAH.test */,
- F96D435108F272B5004A47F5 /* cmdIL.test */,
- F96D435208F272B5004A47F5 /* cmdInfo.test */,
- F96D435308F272B5004A47F5 /* cmdMZ.test */,
- F96D435408F272B5004A47F5 /* compExpr-old.test */,
- F96D435508F272B5004A47F5 /* compExpr.test */,
- F96D435608F272B5004A47F5 /* compile.test */,
- F96D435708F272B5004A47F5 /* concat.test */,
- F96D435808F272B5004A47F5 /* config.test */,
- F96D435908F272B5004A47F5 /* dcall.test */,
- F96D435A08F272B5004A47F5 /* dict.test */,
- F96D435C08F272B5004A47F5 /* dstring.test */,
- F96D435E08F272B5004A47F5 /* encoding.test */,
- F96D435F08F272B5004A47F5 /* env.test */,
- F96D436008F272B5004A47F5 /* error.test */,
- F96D436108F272B5004A47F5 /* eval.test */,
- F96D436208F272B5004A47F5 /* event.test */,
- F96D436308F272B5004A47F5 /* exec.test */,
- F96D436408F272B5004A47F5 /* execute.test */,
- F96D436508F272B5004A47F5 /* expr-old.test */,
- F96D436608F272B5004A47F5 /* expr.test */,
- F96D436708F272B6004A47F5 /* fCmd.test */,
- F96D436808F272B6004A47F5 /* fileName.test */,
- F96D436908F272B6004A47F5 /* fileSystem.test */,
- F96D436A08F272B6004A47F5 /* for-old.test */,
- F96D436B08F272B6004A47F5 /* for.test */,
- F96D436C08F272B6004A47F5 /* foreach.test */,
- F96D436D08F272B6004A47F5 /* format.test */,
- F96D436E08F272B6004A47F5 /* get.test */,
- F96D436F08F272B6004A47F5 /* history.test */,
- F96D437008F272B6004A47F5 /* http.test */,
- F96D437108F272B6004A47F5 /* httpd */,
- F96D437208F272B6004A47F5 /* httpold.test */,
- F96D437308F272B6004A47F5 /* if-old.test */,
- F96D437408F272B6004A47F5 /* if.test */,
- F96D437508F272B6004A47F5 /* incr-old.test */,
- F96D437608F272B6004A47F5 /* incr.test */,
- F96D437708F272B6004A47F5 /* indexObj.test */,
- F96D437808F272B6004A47F5 /* info.test */,
- F96D437908F272B6004A47F5 /* init.test */,
- F96D437A08F272B6004A47F5 /* interp.test */,
- F96D437B08F272B6004A47F5 /* io.test */,
- F96D437C08F272B6004A47F5 /* ioCmd.test */,
- F96D437D08F272B6004A47F5 /* iogt.test */,
- F96D437F08F272B6004A47F5 /* join.test */,
- F96D438008F272B6004A47F5 /* lindex.test */,
- F96D438108F272B6004A47F5 /* link.test */,
- F96D438208F272B6004A47F5 /* linsert.test */,
- F96D438308F272B6004A47F5 /* list.test */,
- F96D438408F272B6004A47F5 /* listObj.test */,
- F96D438508F272B6004A47F5 /* llength.test */,
- F96D438608F272B6004A47F5 /* load.test */,
- F96D438708F272B6004A47F5 /* lrange.test */,
- F96D438808F272B6004A47F5 /* lrepeat.test */,
- F96D438908F272B6004A47F5 /* lreplace.test */,
- F96D438A08F272B6004A47F5 /* lsearch.test */,
- F96D438B08F272B6004A47F5 /* lset.test */,
- F96D438C08F272B6004A47F5 /* lsetComp.test */,
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */,
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */,
- F96D438E08F272B6004A47F5 /* main.test */,
- F9ECB1CB0B26534C00A28025 /* mathop.test */,
- F96D438F08F272B6004A47F5 /* misc.test */,
- F96D439008F272B6004A47F5 /* msgcat.test */,
- F96D439108F272B6004A47F5 /* namespace-old.test */,
- F96D439208F272B7004A47F5 /* namespace.test */,
- F96D439308F272B7004A47F5 /* notify.test */,
- F91DC23C0E44C51B002CB8D1 /* nre.test */,
- F96D439408F272B7004A47F5 /* obj.test */,
- F93599C80DF1F81900E04F67 /* oo.test */,
- F96D439508F272B7004A47F5 /* opt.test */,
- F96D439608F272B7004A47F5 /* package.test */,
- F96D439708F272B7004A47F5 /* parse.test */,
- F96D439808F272B7004A47F5 /* parseExpr.test */,
- F96D439908F272B7004A47F5 /* parseOld.test */,
- F96D439A08F272B7004A47F5 /* pid.test */,
- F96D439B08F272B7004A47F5 /* pkg.test */,
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */,
- F96D439D08F272B7004A47F5 /* platform.test */,
- F96D439E08F272B7004A47F5 /* proc-old.test */,
- F96D439F08F272B7004A47F5 /* proc.test */,
- F96D43A008F272B7004A47F5 /* pwd.test */,
- F96D43A108F272B7004A47F5 /* README */,
- F96D43A208F272B7004A47F5 /* reg.test */,
- F96D43A308F272B7004A47F5 /* regexp.test */,
- F96D43A408F272B7004A47F5 /* regexpComp.test */,
- F96D43A508F272B7004A47F5 /* registry.test */,
- F96D43A608F272B7004A47F5 /* remote.tcl */,
- F96D43A708F272B7004A47F5 /* rename.test */,
- F96D43A808F272B7004A47F5 /* result.test */,
- F96D43A908F272B7004A47F5 /* safe.test */,
- F96D43AA08F272B7004A47F5 /* scan.test */,
- F96D43AB08F272B7004A47F5 /* security.test */,
- F96D43AC08F272B7004A47F5 /* set-old.test */,
- F96D43AD08F272B7004A47F5 /* set.test */,
- F96D43AE08F272B7004A47F5 /* socket.test */,
- F96D43AF08F272B7004A47F5 /* source.test */,
- F96D43B008F272B7004A47F5 /* split.test */,
- F96D43B108F272B7004A47F5 /* stack.test */,
- F96D43B208F272B7004A47F5 /* string.test */,
- F96D43B308F272B7004A47F5 /* stringComp.test */,
- F96D43B408F272B7004A47F5 /* stringObj.test */,
- F96D43B508F272B7004A47F5 /* subst.test */,
- F96D43B608F272B7004A47F5 /* switch.test */,
- F96D43B708F272B7004A47F5 /* tcltest.test */,
- F96D43B808F272B7004A47F5 /* thread.test */,
- F96D43B908F272B7004A47F5 /* timer.test */,
- F96D43BA08F272B7004A47F5 /* tm.test */,
- F96D43BB08F272B7004A47F5 /* trace.test */,
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */,
- F96D43BD08F272B7004A47F5 /* unixFile.test */,
- F96D43BE08F272B7004A47F5 /* unixInit.test */,
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */,
- F96D43C008F272B7004A47F5 /* unknown.test */,
- F96D43C108F272B7004A47F5 /* unload.test */,
- F91DC23D0E44C530002CB8D1 /* unsupported.test */,
- F96D43C208F272B7004A47F5 /* uplevel.test */,
- F96D43C308F272B7004A47F5 /* upvar.test */,
- F96D43C408F272B7004A47F5 /* utf.test */,
- F96D43C508F272B7004A47F5 /* util.test */,
- F96D43C608F272B7004A47F5 /* var.test */,
- F96D43C708F272B7004A47F5 /* while-old.test */,
- F96D43C808F272B7004A47F5 /* while.test */,
- F96D43C908F272B7004A47F5 /* winConsole.test */,
- F96D43CA08F272B7004A47F5 /* winDde.test */,
- F96D43CB08F272B7004A47F5 /* winFCmd.test */,
- F96D43CC08F272B7004A47F5 /* winFile.test */,
- F96D43CD08F272B7004A47F5 /* winNotify.test */,
- F96D43CE08F272B7004A47F5 /* winPipe.test */,
- F96D43CF08F272B7004A47F5 /* winTime.test */,
- F915432A0EF201CF0032D1E8 /* zlib.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F96D43D008F272B8004A47F5 /* tools */ = {
- isa = PBXGroup;
- children = (
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */,
- F96D43D208F272B8004A47F5 /* configure */,
- F96D43D308F272B8004A47F5 /* configure.in */,
- F96D442208F272B8004A47F5 /* eolFix.tcl */,
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */,
- F96D442508F272B8004A47F5 /* genStubs.tcl */,
- F96D442708F272B8004A47F5 /* index.tcl */,
- F96D442808F272B8004A47F5 /* installData.tcl */,
- F96D442908F272B8004A47F5 /* loadICU.tcl */,
- F96D442A08F272B8004A47F5 /* Makefile.in */,
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */,
- F96D442C08F272B8004A47F5 /* man2help.tcl */,
- F96D442D08F272B8004A47F5 /* man2help2.tcl */,
- F96D442E08F272B8004A47F5 /* man2html.tcl */,
- F96D442F08F272B8004A47F5 /* man2html1.tcl */,
- F96D443008F272B8004A47F5 /* man2html2.tcl */,
- F96D443108F272B8004A47F5 /* man2tcl.c */,
- F96D443208F272B8004A47F5 /* README */,
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */,
- F96D443408F272B8004A47F5 /* str2c */,
- F96D443508F272B8004A47F5 /* tcl.hpj.in */,
- F96D443608F272B8004A47F5 /* tcl.wse.in */,
- F96D443708F272B9004A47F5 /* tclmin.wse */,
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */,
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */,
- F92D7F140DE777670033A13A /* tsdPerf.c */,
- F92D7F100DE777240033A13A /* tsdPerf.tcl */,
- F96D443B08F272B9004A47F5 /* uniClass.tcl */,
- F96D443C08F272B9004A47F5 /* uniParse.tcl */,
- );
- path = tools;
- sourceTree = "<group>";
- };
- F96D443E08F272B9004A47F5 /* unix */ = {
- isa = PBXGroup;
- children = (
- F96D444008F272B9004A47F5 /* aclocal.m4 */,
- F96D444108F272B9004A47F5 /* configure */,
- F96D444208F272B9004A47F5 /* configure.in */,
- F96D444308F272B9004A47F5 /* dltest */,
- F96D444D08F272B9004A47F5 /* install-sh */,
- F96D444E08F272B9004A47F5 /* installManPage */,
- F96D444F08F272B9004A47F5 /* ldAix */,
- F96D445008F272B9004A47F5 /* Makefile.in */,
- F96D445208F272B9004A47F5 /* README */,
- F96D445308F272B9004A47F5 /* tcl.m4 */,
- F96D445408F272B9004A47F5 /* tcl.spec */,
- F96D445508F272B9004A47F5 /* tclAppInit.c */,
- F96D445608F272B9004A47F5 /* tclConfig.h.in */,
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */,
- F96D445808F272B9004A47F5 /* tclLoadAix.c */,
- F96D445908F272B9004A47F5 /* tclLoadDl.c */,
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */,
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */,
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */,
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */,
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */,
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */,
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */,
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */,
- F96D446208F272B9004A47F5 /* tclUnixFile.c */,
- F96D446308F272B9004A47F5 /* tclUnixInit.c */,
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */,
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */,
- F96D446608F272B9004A47F5 /* tclUnixPort.h */,
- F96D446708F272B9004A47F5 /* tclUnixSock.c */,
- F96D446808F272B9004A47F5 /* tclUnixTest.c */,
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */,
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */,
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */,
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */,
- F96D446D08F272B9004A47F5 /* tclXtTest.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F96D444308F272B9004A47F5 /* dltest */ = {
- isa = PBXGroup;
- children = (
- F96D444408F272B9004A47F5 /* Makefile.in */,
- F96D444508F272B9004A47F5 /* pkga.c */,
- F96D444608F272B9004A47F5 /* pkgb.c */,
- F96D444708F272B9004A47F5 /* pkgc.c */,
- F96D444808F272B9004A47F5 /* pkgd.c */,
- F96D444908F272B9004A47F5 /* pkge.c */,
- F96D444B08F272B9004A47F5 /* pkgua.c */,
- F96D444C08F272B9004A47F5 /* README */,
- );
- path = dltest;
- sourceTree = "<group>";
- };
- F96D446E08F272B9004A47F5 /* win */ = {
- isa = PBXGroup;
- children = (
- F96D447008F272BA004A47F5 /* aclocal.m4 */,
- F96D447108F272BA004A47F5 /* buildall.vc.bat */,
- F96D447208F272BA004A47F5 /* cat.c */,
- F96D447308F272BA004A47F5 /* coffbase.txt */,
- F96D447408F272BA004A47F5 /* configure */,
- F96D447508F272BA004A47F5 /* configure.in */,
- F96D447608F272BA004A47F5 /* makefile.bc */,
- F96D447708F272BA004A47F5 /* Makefile.in */,
- F96D447808F272BA004A47F5 /* makefile.vc */,
- F96D447908F272BA004A47F5 /* nmakehlp.c */,
- F96D447A08F272BA004A47F5 /* README */,
- F96D447C08F272BA004A47F5 /* rules.vc */,
- F96D447D08F272BA004A47F5 /* stub16.c */,
- F96D447E08F272BA004A47F5 /* tcl.dsp */,
- F96D447F08F272BA004A47F5 /* tcl.dsw */,
- F96D448008F272BA004A47F5 /* tcl.hpj.in */,
- F96D448108F272BA004A47F5 /* tcl.m4 */,
- F96D448208F272BA004A47F5 /* tcl.rc */,
- F96D448308F272BA004A47F5 /* tclAppInit.c */,
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */,
- F96D448608F272BA004A47F5 /* tclsh.rc */,
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */,
- F96D448808F272BA004A47F5 /* tclWinChan.c */,
- F96D448908F272BA004A47F5 /* tclWinConsole.c */,
- F96D448A08F272BA004A47F5 /* tclWinDde.c */,
- F96D448B08F272BA004A47F5 /* tclWinError.c */,
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */,
- F96D448D08F272BA004A47F5 /* tclWinFile.c */,
- F96D448E08F272BA004A47F5 /* tclWinInit.c */,
- F96D448F08F272BA004A47F5 /* tclWinInt.h */,
- F96D449008F272BA004A47F5 /* tclWinLoad.c */,
- F96D449108F272BA004A47F5 /* tclWinNotify.c */,
- F96D449208F272BA004A47F5 /* tclWinPipe.c */,
- F96D449308F272BA004A47F5 /* tclWinPort.h */,
- F96D449408F272BA004A47F5 /* tclWinReg.c */,
- F96D449508F272BA004A47F5 /* tclWinSerial.c */,
- F96D449608F272BA004A47F5 /* tclWinSock.c */,
- F96D449708F272BA004A47F5 /* tclWinTest.c */,
- F96D449808F272BA004A47F5 /* tclWinThrd.c */,
- F96D449908F272BA004A47F5 /* tclWinThrd.h */,
- F96D449A08F272BA004A47F5 /* tclWinTime.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F9ECB1110B26521500A28025 /* platform */ = {
- isa = PBXGroup;
- children = (
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */,
- F9ECB1130B26521500A28025 /* platform.tcl */,
- F9ECB1140B26521500A28025 /* shell.tcl */,
- );
- path = platform;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */;
- buildPhases = (
- F9A5C5F508F651A2008AE941 /* ShellScript */,
- F9A5C5F608F651AB008AE941 /* ShellScript */,
- F9EA4ADE08FA3B7F00B1F5F0 /* Rez */,
- 8DD76FAB0486AB0100D96B5E /* Sources */,
- 8DD76FAD0486AB0100D96B5E /* Frameworks */,
- F95FA74C0B32CE190072E431 /* ShellScript */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = tktest;
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = 8DD76FB20486AB0100D96B5E /* tktest */;
- productType = "com.apple.product-type.tool";
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */;
- buildPhases = (
- F9FD30B40CC1AD070073837D /* ShellScript */,
- F9FD30B50CC1AD070073837D /* ShellScript */,
- F9FD30BB0CC1AD070073837D /* Sources */,
- F9FD31E30CC1AD070073837D /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "tktest-X11";
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = F9FD31F40CC1AD070073837D /* tktest-X11 */;
- productType = "com.apple.product-type.tool";
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */;
- buildPhases = (
- F97AF02F0B665DA900310EA2 /* ShellScript */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Tk;
- productName = Wish;
- productReference = F9A3084B08F2D4CE00BAE1AB /* Wish.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = YES;
- };
- buildConfigurationList = F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Wish" */;
- compatibilityVersion = "Xcode 3.1";
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* Wish */;
- projectDirPath = "";
- projectRoot = ..;
- targets = (
- F9E61D16090A3E94002B3151 /* Tk */,
- 8DD76FA90486AB0100D96B5E /* tktest */,
- F97258A50A86873C00096C78 /* tktest-X11 */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXRezBuildPhase section */
- F9EA4ADE08FA3B7F00B1F5F0 /* Rez */ = {
- isa = PBXRezBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9EA4AF008FA3BD500B1F5F0 /* tkMacOSXXCursors.r in Rez */,
- F9EA4AF208FA3BD800B1F5F0 /* tkMacOSXCursors.r in Rez */,
- F9EA4AF308FA3BDA00B1F5F0 /* tkMacOSXAETE.r in Rez */,
- F9EA4AF408FA3BDB00B1F5F0 /* tkAboutDlg.r in Rez */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXRezBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- F95FA74C0B32CE190072E431 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TARGET_BUILD_DIR)/$(PRODUCT_NAME)",
- "$(REZ_COLLECTOR_DIR)/$(PRODUCT_NAME).rsrc",
- );
- outputPaths = (
- "$(TARGET_TEMP_DIR)/stamp",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "touch -t $(date -r $(expr $(date '+%s') + 5) '+%Y%m%d%H%M.%S') \"${TARGET_TEMP_DIR}/stamp\"\n\n## Xcode bug workaround: Rezzing does not take place for commandline tool targets\n## even when a ResourceManager Resources phase is present, but this script phase's\n## input dependency on the final merged resource file forces the Rezzing.\n";
- showEnvVarsInLog = 0;
- };
- F97AF02F0B665DA900310EA2 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${TARGET_TEMP_DIR}/.none",
- );
- outputPaths = (
- "${TARGET_BUILD_DIR}/${WRAPPER_NAME}",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "gnumake -C \"${TK_SRCROOT}/carbon\" -j \"$(sysctl -n hw.activecpu)\" \"$(echo \"${ACTION}\" | sed -e s/build// -e s/clean/distclean/ -e s/..\\*/\\&-/)${MAKE_TARGET}\" CFLAGS_WARNING=\"${WARNING_CFLAGS}\" CFLAGS_OPTIMIZE=\"-O${GCC_OPTIMIZATION_LEVEL}\" SYMROOT=\"${BUILT_PRODUCTS_DIR}\" OBJ_DIR=\"${OBJECT_FILE_DIR}\" INSTALL_ROOT=\"${DSTROOT}\" PREFIX=\"${PREFIX}\" BINDIR=\"${BINDIR}\" LIBDIR=\"${FRAMEWORK_INSTALL_PATH}\" MANDIR=\"${MANDIR}\" EXTRA_CONFIGURE_ARGS=\"${CONFIGURE_ARGS}\" APPLICATION_INSTALL_PATH=\"${APPLICATION_INSTALL_PATH}\" TCL_BUILD_DIR=\"${TCL_BUILD_DIR}\" TCL_FRAMEWORK_DIR=\"${TCL_FRAMEWORK_DIR}\" ${EXTRA_MAKE_FLAGS}\nresult=$?\nif [ -e \"${BUILT_PRODUCTS_DIR}/tktest\" ]; then\n\trm -f \"${BUILT_PRODUCTS_DIR}/tktest\"\nfi\necho \"Done\"\nrm -f \"${SCRIPT_INPUT_FILE_0}\"\nexit ${result}\n";
- showEnvVarsInLog = 0;
- };
- F9A5C5F508F651A2008AE941 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9A5C5F608F651AB008AE941 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/carbon/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/carbon &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/carbon\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/carbon/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n \"${TK_SRCROOT}\"/carbon/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --enable-aqua=carbon --with-tcl=../tcl ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi";
- showEnvVarsInLog = 0;
- };
- F9FD30B40CC1AD070073837D /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --disable-corefoundation ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9FD30B50CC1AD070073837D /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/carbon/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/carbon &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/carbon\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/carbon/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n PATH=\"${PATH}:/usr/X11R6/bin\" \"${TK_SRCROOT}\"/carbon/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --disable-corefoundation --enable-xft --with-tcl=../tcl ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76FAB0486AB0100D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */,
- F96D457208F272BB004A47F5 /* regerror.c in Sources */,
- F96D457508F272BB004A47F5 /* regexec.c in Sources */,
- F96D457608F272BB004A47F5 /* regfree.c in Sources */,
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */,
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */,
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */,
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */,
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */,
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */,
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */,
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */,
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */,
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */,
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */,
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */,
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */,
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */,
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */,
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */,
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */,
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */,
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */,
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */,
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */,
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */,
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */,
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */,
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */,
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */,
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */,
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */,
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */,
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */,
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */,
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */,
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */,
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */,
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */,
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */,
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */,
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */,
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */,
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */,
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */,
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */,
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */,
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */,
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */,
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */,
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */,
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */,
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */,
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */,
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */,
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */,
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */,
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */,
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */,
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */,
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */,
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */,
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */,
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */,
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */,
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */,
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */,
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */,
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */,
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */,
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */,
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */,
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */,
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */,
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */,
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */,
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */,
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */,
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */,
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */,
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */,
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */,
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */,
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */,
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */,
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */,
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */,
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */,
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */,
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */,
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */,
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */,
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */,
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */,
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */,
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */,
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */,
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */,
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */,
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */,
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */,
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */,
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */,
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */,
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */,
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */,
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */,
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */,
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */,
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */,
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */,
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */,
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */,
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */,
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */,
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */,
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */,
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */,
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */,
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */,
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */,
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */,
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */,
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */,
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */,
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */,
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */,
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */,
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */,
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */,
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */,
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */,
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */,
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */,
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */,
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */,
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */,
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */,
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */,
- F96D495508F272C3004A47F5 /* bncore.c in Sources */,
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */,
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */,
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */,
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */,
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */,
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */,
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */,
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */,
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */,
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */,
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */,
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */,
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */,
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */,
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */,
- F9F4415E0C8BAE6F00BCCD67 /* tclDTrace.d in Sources */,
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */,
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */,
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */,
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */,
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */,
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */,
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */,
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */,
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */,
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */,
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */,
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */,
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */,
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */,
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */,
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */,
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */,
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */,
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */,
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */,
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */,
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */,
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */,
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */,
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */,
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */,
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */,
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */,
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */,
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */,
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */,
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */,
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */,
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */,
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */,
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */,
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */,
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */,
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */,
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */,
- F9DD99BD0F07DF850018B2E4 /* tkImgPNG.c in Sources */,
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */,
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */,
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */,
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */,
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */,
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */,
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */,
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */,
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */,
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */,
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */,
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */,
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */,
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */,
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */,
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */,
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */,
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */,
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */,
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */,
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */,
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */,
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */,
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */,
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */,
- F966BE2608F27A40005CB29B /* tkText.c in Sources */,
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */,
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */,
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */,
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */,
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */,
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */,
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */,
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */,
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */,
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */,
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */,
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */,
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */,
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */,
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */,
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */,
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */,
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */,
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */,
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */,
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */,
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */,
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */,
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */,
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */,
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */,
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */,
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */,
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */,
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */,
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */,
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */,
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */,
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */,
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */,
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */,
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */,
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */,
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */,
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */,
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */,
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */,
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */,
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */,
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */,
- F966BEDD08F27A40005CB29B /* tkMacOSXCarbonEvents.c in Sources */,
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */,
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */,
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */,
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */,
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */,
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */,
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */,
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */,
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */,
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */,
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */,
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */,
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */,
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */,
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */,
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */,
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */,
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */,
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */,
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */,
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */,
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */,
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */,
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */,
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */,
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */,
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */,
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */,
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */,
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */,
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */,
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */,
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */,
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */,
- F966C02C08F27A42005CB29B /* xgc.c in Sources */,
- F966C02D08F27A42005CB29B /* ximage.c in Sources */,
- F966C02E08F27A42005CB29B /* xutil.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD30BB0CC1AD070073837D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */,
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */,
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */,
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */,
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */,
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */,
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */,
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */,
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */,
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */,
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */,
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */,
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */,
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */,
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */,
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */,
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */,
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */,
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */,
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */,
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */,
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */,
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */,
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */,
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */,
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */,
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */,
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */,
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */,
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */,
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */,
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */,
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */,
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */,
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */,
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */,
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */,
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */,
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */,
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */,
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */,
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */,
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */,
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */,
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */,
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */,
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */,
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */,
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */,
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */,
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */,
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */,
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */,
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */,
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */,
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */,
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */,
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */,
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */,
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */,
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */,
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */,
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */,
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */,
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */,
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */,
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */,
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */,
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */,
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */,
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */,
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */,
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */,
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */,
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */,
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */,
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */,
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */,
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */,
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */,
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */,
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */,
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */,
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */,
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */,
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */,
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */,
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */,
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */,
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */,
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */,
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */,
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */,
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */,
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */,
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */,
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */,
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */,
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */,
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */,
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */,
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */,
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */,
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */,
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */,
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */,
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */,
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */,
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */,
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */,
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */,
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */,
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */,
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */,
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */,
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */,
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */,
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */,
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */,
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */,
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */,
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */,
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */,
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */,
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */,
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */,
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */,
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */,
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */,
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */,
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */,
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */,
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */,
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */,
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */,
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */,
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */,
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */,
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */,
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */,
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */,
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */,
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */,
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */,
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */,
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */,
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */,
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */,
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */,
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */,
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */,
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */,
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */,
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */,
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */,
- F9FD31E20CC1AD070073837D /* tclDTrace.d in Sources */,
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */,
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */,
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */,
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */,
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */,
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */,
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */,
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */,
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */,
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */,
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */,
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */,
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */,
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */,
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */,
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */,
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */,
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */,
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */,
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */,
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */,
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */,
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */,
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */,
- F9FD31660CC1AD070073837D /* tkError.c in Sources */,
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */,
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */,
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */,
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */,
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */,
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */,
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */,
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */,
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */,
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */,
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */,
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */,
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */,
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */,
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */,
- F9DD99BE0F07DF850018B2E4 /* tkImgPNG.c in Sources */,
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */,
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */,
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */,
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */,
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */,
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */,
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */,
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */,
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */,
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */,
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */,
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */,
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */,
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */,
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */,
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */,
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */,
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */,
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */,
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */,
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */,
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */,
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */,
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */,
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */,
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */,
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */,
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */,
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */,
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */,
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */,
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */,
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */,
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */,
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */,
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */,
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */,
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */,
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */,
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */,
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */,
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */,
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */,
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */,
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */,
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */,
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */,
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */,
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */,
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */,
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */,
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */,
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */,
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */,
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */,
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */,
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */,
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */,
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */,
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */,
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */,
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */,
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */,
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */,
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */,
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */,
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */,
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */,
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */,
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */,
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */,
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */,
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */,
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */,
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */,
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */,
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */,
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */,
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */,
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */,
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */,
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */,
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */,
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */,
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */,
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */,
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */,
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */,
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */,
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */,
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- F91BCC4F093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal;
- };
- F91BCC50093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal;
- };
- F91BCC51093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CFLAGS = "-arch i386 -arch ppc $(CFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = ReleaseUniversal;
- };
- F93084370BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugMemCompile;
- };
- F93084380BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugMemCompile;
- };
- F93084390BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugMemCompile;
- };
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-symbols=all";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = DebugMemCompile;
- };
- F9359B250DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- GCC_GENERATE_TEST_COVERAGE_FILES = YES;
- GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-lgcov",
- );
- PREBINDING = NO;
- };
- name = DebugGCov;
- };
- F9359B260DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugGCov;
- };
- F9359B270DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugGCov;
- };
- F9359B280DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugGCov;
- };
- F95CC8AC09158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug;
- };
- F95CC8AD09158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Release;
- };
- F95CC8AE09158F3100EA5ACE /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoFixZL;
- };
- F95CC8B109158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Debug;
- };
- F95CC8B209158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Release;
- };
- F95CC8B309158F3100EA5ACE /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoFixZL;
- };
- F95CC8B609158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = Debug;
- };
- F95CC8B709158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = Release;
- };
- F95CC8B809158F3100EA5ACE /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = DebugNoFixZL;
- };
- F97258A90A86873D00096C78 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Debug;
- };
- F97258AA0A86873D00096C78 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Release;
- };
- F97258AB0A86873D00096C78 /* DebugNoFixZL */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoFixZL;
- };
- F97258AC0A86873D00096C78 /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc -arch ppc64 $(CFLAGS)";
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal;
- };
- F97AED080B660A6C00310EA2 /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F97AED0F0B660AA300310EA2 /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleasePPC10.3.9SDK;
- };
- F97AED160B660AF100310EA2 /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleasePPC10.2.8SDK;
- };
- F97AED1B0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug64bit;
- };
- F97AED1C0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Debug64bit;
- };
- F97AED1D0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Debug64bit;
- };
- F97AED1E0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- ARCHS = "$(NATIVE_ARCH_64_BIT)";
- CONFIGURE_ARGS = "--enable-64bit $(CONFIGURE_ARGS)";
- CPPFLAGS = "-arch $(NATIVE_ARCH_64_BIT) $(CPPFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = Debug64bit;
- };
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-corefoundation";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = DebugNoCF;
- };
- F98751300DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCF;
- };
- F98751310DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCF;
- };
- F98751320DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCF;
- };
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads --disable-corefoundation";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCFUnthreaded;
- };
- F9988AB10D814C6500B6B03B /* Debug gcc42 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- GCC_VERSION = 4.2;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = "Debug gcc42";
- };
- F9988AB20D814C6500B6B03B /* Debug gcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug gcc42";
- };
- F9988AB30D814C6500B6B03B /* Debug gcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug gcc42";
- };
- F9988AB40D814C6500B6B03B /* Debug gcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug gcc42";
- };
- F9988AB50D814C7500B6B03B /* Debug llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CC = "$(DEVELOPER_DIR)/usr/bin/llvm-gcc-4.2";
- GCC_VERSION = com.apple.compilers.llvmgcc42;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = "Debug llvmgcc42";
- };
- F9988AB60D814C7500B6B03B /* Debug llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug llvmgcc42";
- };
- F9988AB70D814C7500B6B03B /* Debug llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug llvmgcc42";
- };
- F9988AB80D814C7500B6B03B /* Debug llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug llvmgcc42";
- };
- F9988BB10D81586D00B6B03B /* ReleaseUniversal gcc42 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CFLAGS = "-arch i386 -arch ppc $(CFLAGS)";
- GCC_VERSION = 4.2;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = "ReleaseUniversal gcc42";
- };
- F9988BB20D81586D00B6B03B /* ReleaseUniversal gcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal gcc42";
- };
- F9988BB30D81586D00B6B03B /* ReleaseUniversal gcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal gcc42";
- };
- F9988BB40D81586D00B6B03B /* ReleaseUniversal gcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc -arch ppc64 $(CFLAGS)";
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal gcc42";
- };
- F9988BB50D81587400B6B03B /* ReleaseUniversal llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CC = "$(DEVELOPER_DIR)/usr/bin/llvm-gcc-4.2";
- CFLAGS = "-arch i386 -arch ppc $(CFLAGS)";
- DEBUG_INFORMATION_FORMAT = dwarf;
- GCC_OPTIMIZATION_LEVEL = 4;
- GCC_VERSION = com.apple.compilers.llvmgcc42;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- OTHER_CFLAGS = (
- "$(OTHER_CFLAGS)",
- "-emit-llvm",
- );
- PREBINDING = NO;
- TCL_CONFIGURE_ARGS = "$(TCL_CONFIGURE_ARGS) --disable-dtrace";
- };
- name = "ReleaseUniversal llvmgcc42";
- };
- F9988BB60D81587400B6B03B /* ReleaseUniversal llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal llvmgcc42";
- };
- F9988BB70D81587400B6B03B /* ReleaseUniversal llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal llvmgcc42";
- };
- F9988BB80D81587400B6B03B /* ReleaseUniversal llvmgcc42 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc -arch ppc64 $(CFLAGS)";
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal llvmgcc42";
- };
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE73C0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugLeaks;
- };
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugUnthreaded;
- };
- F99EE73E0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugLeaks;
- };
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugUnthreaded;
- };
- F99EE7400BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugLeaks;
- };
- F99EE7410BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE7420BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Wish-Debug.xcconfig */;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = (
- PURIFY,
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = DebugLeaks;
- };
- F9DB62080B65ADA800A370FB /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F9DB62090B65ADA800A370FB /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F9DB620A0B65ADA800A370FB /* ReleaseUniversal10.4uSDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CFLAGS = "-arch i386 -arch ppc $(CFLAGS)";
- CPPFLAGS = "-isysroot $(SDKROOT) $(CPPFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.4;
- PREBINDING = NO;
- SDKROOT = macosx10.4;
- };
- name = ReleaseUniversal10.4uSDK;
- };
- F9DB621F0B65AFDE00A370FB /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- LDFLAGS = "-force_cpusubtype_ALL $(LDFLAGS)";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleasePPC10.3.9SDK;
- };
- F9DB62200B65AFDE00A370FB /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleasePPC10.3.9SDK;
- };
- F9DB62210B65AFDE00A370FB /* ReleasePPC10.3.9SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = ppc;
- CFLAGS = "$(PER_ARCH_CFLAGS_ppc) $(CFLAGS)";
- CPPFLAGS = "-arch ppc -isysroot $(SDKROOT) $(CPPFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.3;
- PREBINDING = YES;
- SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.3.9.sdk";
- };
- name = ReleasePPC10.3.9SDK;
- };
- F9DB62350B65B03A00A370FB /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleasePPC10.2.8SDK;
- };
- F9DB62360B65B03A00A370FB /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleasePPC10.2.8SDK;
- };
- F9DB62370B65B03A00A370FB /* ReleasePPC10.2.8SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = ppc;
- CFLAGS = "$(PER_ARCH_CFLAGS_ppc) -fconstant-cfstrings $(CFLAGS)";
- CPPFLAGS = "-arch ppc -D__CONSTANT_CFSTRINGS__ -DMAC_OS_X_VERSION_MIN_REQUIRED=1020 -nostdinc -isystem $(SDKROOT)/usr/include/gcc/darwin/$(GCC_VERSION) -isystem $(SDKROOT)/usr/include -F$(SDKROOT)/System/Library/Frameworks";
- DEBUG_INFORMATION_FORMAT = stabs;
- GCC = /usr/bin/gcc;
- GCC_VERSION = 3.3;
- LDFLAGS = "-L$(SDKROOT)/usr/lib/gcc/darwin/$(GCC_VERSION) -Wl,-syslibroot,$(SDKROOT)";
- MACOSX_DEPLOYMENT_TARGET = 10.2;
- PREBINDING = YES;
- SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.2.8.sdk";
- WARNING_CFLAGS = (
- "$(WARNING_CFLAGS_GCC3)",
- "-Wno-long-double",
- );
- };
- name = ReleasePPC10.2.8SDK;
- };
- F9EEED960C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED970C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED980C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc -arch ppc64 $(CFLAGS)";
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED990C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Wish-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CFLAGS = "-arch i386 -arch ppc $(CFLAGS)";
- CPPFLAGS = "-isysroot $(SDKROOT) $(CPPFLAGS)";
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- SDKROOT = macosx10.5;
- };
- name = ReleaseUniversal10.5SDK;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8AC09158F3100EA5ACE /* Debug */,
- F9988AB20D814C6500B6B03B /* Debug gcc42 */,
- F9988AB60D814C7500B6B03B /* Debug llvmgcc42 */,
- F95CC8AE09158F3100EA5ACE /* DebugNoFixZL */,
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */,
- F98751300DE7B57E00B1C9EC /* DebugNoCF */,
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084370BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73C0BE835310060D4AF /* DebugLeaks */,
- F9359B260DF212DA00E04F67 /* DebugGCov */,
- F97AED1B0B660B2100310EA2 /* Debug64bit */,
- F95CC8AD09158F3100EA5ACE /* Release */,
- F91BCC4F093152310042A6BF /* ReleaseUniversal */,
- F9988BB20D81586D00B6B03B /* ReleaseUniversal gcc42 */,
- F9988BB60D81587400B6B03B /* ReleaseUniversal llvmgcc42 */,
- F9EEED960C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- F9DB62080B65ADA800A370FB /* ReleaseUniversal10.4uSDK */,
- F9DB621F0B65AFDE00A370FB /* ReleasePPC10.3.9SDK */,
- F9DB62350B65B03A00A370FB /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B109158F3100EA5ACE /* Debug */,
- F9988AB30D814C6500B6B03B /* Debug gcc42 */,
- F9988AB70D814C7500B6B03B /* Debug llvmgcc42 */,
- F95CC8B309158F3100EA5ACE /* DebugNoFixZL */,
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */,
- F98751310DE7B57E00B1C9EC /* DebugNoCF */,
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084380BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73E0BE835310060D4AF /* DebugLeaks */,
- F9359B270DF212DA00E04F67 /* DebugGCov */,
- F97AED1C0B660B2100310EA2 /* Debug64bit */,
- F95CC8B209158F3100EA5ACE /* Release */,
- F91BCC50093152310042A6BF /* ReleaseUniversal */,
- F9988BB30D81586D00B6B03B /* ReleaseUniversal gcc42 */,
- F9988BB70D81587400B6B03B /* ReleaseUniversal llvmgcc42 */,
- F9EEED970C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- F9DB62090B65ADA800A370FB /* ReleaseUniversal10.4uSDK */,
- F9DB62200B65AFDE00A370FB /* ReleasePPC10.3.9SDK */,
- F9DB62360B65B03A00A370FB /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Wish" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B609158F3100EA5ACE /* Debug */,
- F9988AB10D814C6500B6B03B /* Debug gcc42 */,
- F9988AB50D814C7500B6B03B /* Debug llvmgcc42 */,
- F95CC8B809158F3100EA5ACE /* DebugNoFixZL */,
- F99EE7410BE835310060D4AF /* DebugUnthreaded */,
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */,
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7420BE835310060D4AF /* DebugLeaks */,
- F9359B250DF212DA00E04F67 /* DebugGCov */,
- F97AED1E0B660B2100310EA2 /* Debug64bit */,
- F95CC8B709158F3100EA5ACE /* Release */,
- F91BCC51093152310042A6BF /* ReleaseUniversal */,
- F9988BB10D81586D00B6B03B /* ReleaseUniversal gcc42 */,
- F9988BB50D81587400B6B03B /* ReleaseUniversal llvmgcc42 */,
- F9EEED990C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- F9DB620A0B65ADA800A370FB /* ReleaseUniversal10.4uSDK */,
- F9DB62210B65AFDE00A370FB /* ReleasePPC10.3.9SDK */,
- F9DB62370B65B03A00A370FB /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F97258A90A86873D00096C78 /* Debug */,
- F9988AB40D814C6500B6B03B /* Debug gcc42 */,
- F9988AB80D814C7500B6B03B /* Debug llvmgcc42 */,
- F97258AB0A86873D00096C78 /* DebugNoFixZL */,
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */,
- F98751320DE7B57E00B1C9EC /* DebugNoCF */,
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084390BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7400BE835310060D4AF /* DebugLeaks */,
- F9359B280DF212DA00E04F67 /* DebugGCov */,
- F97AED1D0B660B2100310EA2 /* Debug64bit */,
- F97258AA0A86873D00096C78 /* Release */,
- F97258AC0A86873D00096C78 /* ReleaseUniversal */,
- F9988BB40D81586D00B6B03B /* ReleaseUniversal gcc42 */,
- F9988BB80D81587400B6B03B /* ReleaseUniversal llvmgcc42 */,
- F9EEED980C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- F97AED080B660A6C00310EA2 /* ReleaseUniversal10.4uSDK */,
- F97AED0F0B660AA300310EA2 /* ReleasePPC10.3.9SDK */,
- F97AED160B660AF100310EA2 /* ReleasePPC10.2.8SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
diff --git a/carbon/configure.ac b/carbon/configure.ac
deleted file mode 100644
index 229af64..0000000
--- a/carbon/configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /bin/bash -norc
-dnl This file is an input file used by the GNU "autoconf" program to
-dnl generate the file "configure", which is run during Tk installation
-dnl to configure the system for the local environment.
-
-dnl Ensure that the config (auto)headers support is used, then just
-dnl include the configure sources from ../unix:
-
-m4_include(../unix/aclocal.m4)
-m4_define(SC_USE_CONFIG_HEADERS)
-m4_include(../unix/configure.in)
diff --git a/carbon/tkAboutDlg.r b/carbon/tkAboutDlg.r
deleted file mode 100644
index 1492b90..0000000
--- a/carbon/tkAboutDlg.r
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- * tkAboutDlg.r --
- *
- * This file creates resources for the Tk "About Box" dialog.
- *
- * Copyright (c) 1996 Sun Microsystems, Inc.
- * Copyright (c) 2006-2008 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 folowing include and defines help construct
- * the version string for Tcl.
- */
-
-#define RC_INVOKED
-#include <Carbon.r>
-#include <tcl.h>
-#include "tk.h"
-
-/*
- * The following two resources define the default "About Box" for Mac Tk.
- * This dialog appears if the "About Tk..." menu item is selected from
- * the Apple menu. This dialog may be overridden by defining a Tcl procedure
- * with the name of "tkAboutDialog". If this procedure is defined the
- * default dialog will not be shown and the Tcl procedure is expected to
- * create and manage an About Dialog box.
- */
-
-resource 'DLOG' (128, "About Box", purgeable) {
- {60, 40, 332, 404},
- kWindowMovableModalDialogProc,
- visible,
- noGoAway,
- 0x0,
- 128,
- "About Tcl & Tk",
- centerMainScreen
-};
-
-resource 'DITL' (128, "About Box", purgeable) {
- {
- {232, 147, 252, 217}, Button {enabled, "Ok"},
- { 20, 108, 212, 344}, StaticText {disabled,
- "Tcl " TCL_PATCH_LEVEL " & Tk " TK_PATCH_LEVEL "\n\n"
- "© 1987-2009 Tcl Core Team." "\n\n"
- "© 2002-2009 Daniel A. Steffen." "\n\n"
- "© 2001-2009 Apple Inc." "\n\n"
- "© 2001-2002 Jim Ingham & Ian Reid" "\n"
- "© 1998-2000 Jim Ingham & Ray Johnson" "\n"
- "© 1998-2000 Scriptics Inc." "\n"
- "© 1996-1997 Sun Microsystems Inc."},
- { 20, 24, 120, 92}, Picture {enabled, 128}
- }
-};
-
-resource 'dlgx' (128, "About Box", purgeable) {
- versionZero {
- kDialogFlagsUseThemeBackground | kDialogFlagsUseControlHierarchy
- | kDialogFlagsHandleMovableModal | kDialogFlagsUseThemeControls
- }
-};
-
-data 'PICT' (128, purgeable) {
- $"13A4 0000 0000 0064 0044 0011 02FF 0C00"
- $"FFFE 0000 0048 0000 0048 0000 0000 0000"
- $"0064 0044 0000 0000 0001 000A 0000 0000"
- $"0064 0044 0099 8044 0000 0000 0064 0044"
- $"0000 0000 0000 0000 0048 0000 0048 0000"
- $"0000 0008 0001 0008 0000 0000 0108 00D8"
- $"0000 0000 0001 5A5A 8000 00FF 3736 FF00"
- $"FF00 FF00 3535 FF00 FF00 CC00 3434 FF00"
- $"FF00 9900 3333 FF00 FF00 6600 3736 FF00"
- $"FF00 3300 3535 FF00 FF00 0000 3434 FF00"
- $"CC00 FF00 3333 FF00 CC00 CC00 3736 FF00"
- $"CC00 9900 3535 FF00 CC00 6600 FAFA FF00"
- $"CC00 3300 3333 FF00 CC00 0000 3130 FF00"
- $"9900 FF00 2F2F FF00 9900 CC00 FAFA FF00"
- $"9900 9900 F9F9 FF00 9900 6600 3130 FF00"
- $"9900 3300 2F2F FF00 9900 0000 2E2E FF00"
- $"6600 FF00 F9F9 FF00 6600 CC00 3130 FF00"
- $"6600 9900 2F2F FF00 6600 6600 2E2E FF00"
- $"6600 3300 2D2D FF00 6600 0000 3130 FF00"
- $"3300 FF00 2F2F FF00 3300 CC00 2E2E FF00"
- $"3300 9900 2D2D FF00 3300 6600 3130 FF00"
- $"3300 3300 2F2F FF00 3300 0000 2E2E FF00"
- $"0000 FF00 2D2D FF00 0000 CC00 3130 FF00"
- $"0000 9900 2F2F FF00 0000 6600 2E2E FF00"
- $"0000 3300 2DF8 FF00 0000 0000 2B2A CC00"
- $"FF00 FF00 2929 CC00 FF00 CC00 2828 CC00"
- $"FF00 9900 27F8 CC00 FF00 6600 2B2A CC00"
- $"FF00 3300 2929 CC00 FF00 0000 2828 CC00"
- $"CC00 FF00 2727 CC00 CC00 CC00 2B2A CC00"
- $"CC00 9900 2929 CC00 CC00 6600 2828 CC00"
- $"CC00 3300 2727 CC00 CC00 0000 2B2A CC00"
- $"9900 FF00 2929 CC00 9900 CC00 2828 CC00"
- $"9900 9900 2727 CC00 9900 6600 DBDB CC00"
- $"9900 3300 4747 CC00 9900 0000 4646 CC00"
- $"6600 FF00 4545 CC00 6600 CC00 DBDB CC00"
- $"6600 9900 4747 CC00 6600 6600 4646 CC00"
- $"6600 3300 4545 CC00 6600 0000 DBDB CC00"
- $"3300 FF00 4747 CC00 3300 CC00 4646 CC00"
- $"3300 9900 4545 CC00 3300 6600 DBDB CC00"
- $"3300 3300 4141 CC00 3300 0000 4040 CC00"
- $"0000 FF00 3F3F CC00 0000 CC00 4342 CC00"
- $"0000 9900 4141 CC00 0000 6600 4040 CC00"
- $"0000 3300 3F3F CC00 0000 0000 4342 9900"
- $"FF00 FF00 4141 9900 FF00 CC00 4040 9900"
- $"FF00 9900 3F3F 9900 FF00 6600 4342 9900"
- $"FF00 3300 4141 9900 FF00 0000 4040 9900"
- $"CC00 FF00 3F3F 9900 CC00 CC00 4342 9900"
- $"CC00 9900 4141 9900 CC00 6600 4040 9900"
- $"CC00 3300 3F3F 9900 CC00 0000 4342 9900"
- $"9900 FF00 4141 9900 9900 CC00 4040 9900"
- $"9900 9900 3F3F 9900 9900 6600 3D3C 9900"
- $"9900 3300 3B3B 9900 9900 0000 3A3A 9900"
- $"6600 FF00 3939 9900 6600 CC00 3D3C 9900"
- $"6600 9900 3B3B 9900 6600 6600 3A3A 9900"
- $"6600 3300 3939 9900 6600 0000 3D3C 9900"
- $"3300 FF00 3B3B 9900 3300 CC00 3A3A 9900"
- $"3300 9900 3939 9900 3300 6600 3D3C 9900"
- $"3300 3300 3B3B 9900 3300 0000 3A3A 9900"
- $"0000 FF00 3939 9900 0000 CC00 3D3C 9900"
- $"0000 9900 3B3B 9900 0000 6600 3A3A 9900"
- $"0000 3300 3939 9900 0000 0000 3D3C 6600"
- $"FF00 FF00 3B3B 6600 FF00 CC00 3A3A 6600"
- $"FF00 9900 3939 6600 FF00 6600 3D3C 6600"
- $"FF00 3300 3B3B 6600 FF00 0000 3A3A 6600"
- $"CC00 FF00 3939 6600 CC00 CC00 3736 6600"
- $"CC00 9900 3535 6600 CC00 6600 3434 6600"
- $"CC00 3300 3333 6600 CC00 0000 3736 6600"
- $"9900 FF00 3535 6600 9900 CC00 3434 6600"
- $"9900 9900 3333 6600 9900 6600 3736 6600"
- $"9900 3300 3535 6600 9900 0000 3434 6600"
- $"6600 FF00 3333 6600 6600 CC00 3736 6600"
- $"6600 9900 3535 6600 6600 6600 3434 6600"
- $"6600 3300 3333 6600 6600 0000 3736 6600"
- $"3300 FF00 3535 6600 3300 CC00 3434 6600"
- $"3300 9900 3333 6600 3300 6600 3736 6600"
- $"3300 3300 3535 6600 3300 0000 3434 6600"
- $"0000 FF00 3333 6600 0000 CC00 3130 6600"
- $"0000 9900 2F2F 6600 0000 6600 2E2E 6600"
- $"0000 3300 F9F9 6600 0000 0000 3130 3300"
- $"FF00 FF00 2F2F 3300 FF00 CC00 2E2E 3300"
- $"FF00 9900 F9F9 3300 FF00 6600 3130 3300"
- $"FF00 3300 2F2F 3300 FF00 0000 2E2E 3300"
- $"CC00 FF00 2D2D 3300 CC00 CC00 3130 3300"
- $"CC00 9900 2F2F 3300 CC00 6600 2E2E 3300"
- $"CC00 3300 2D2D 3300 CC00 0000 3130 3300"
- $"9900 FF00 2F2F 3300 9900 CC00 2E2E 3300"
- $"9900 9900 2D2D 3300 9900 6600 3130 3300"
- $"9900 3300 2F2F 3300 9900 0000 2E2E 3300"
- $"6600 FF00 2DF8 3300 6600 CC00 2B2A 3300"
- $"6600 9900 2929 3300 6600 6600 2828 3300"
- $"6600 3300 27F8 3300 6600 0000 2B2A 3300"
- $"3300 FF00 2929 3300 3300 CC00 2828 3300"
- $"3300 9900 2727 3300 3300 6600 2B2A 3300"
- $"3300 3300 2929 3300 3300 0000 2828 3300"
- $"0000 FF00 2727 3300 0000 CC00 2B2A 3300"
- $"0000 9900 2929 3300 0000 6600 2828 3300"
- $"0000 3300 2727 3300 0000 0000 4948 0000"
- $"FF00 FF00 4747 0000 FF00 CC00 4646 0000"
- $"FF00 9900 4545 0000 FF00 6600 4948 0000"
- $"FF00 3300 4747 0000 FF00 0000 4646 0000"
- $"CC00 FF00 4545 0000 CC00 CC00 4948 0000"
- $"CC00 9900 4747 0000 CC00 6600 4646 0000"
- $"CC00 3300 4545 0000 CC00 0000 4342 0000"
- $"9900 FF00 4141 0000 9900 CC00 4040 0000"
- $"9900 9900 3F3F 0000 9900 6600 4342 0000"
- $"9900 3300 4141 0000 9900 0000 4040 0000"
- $"6600 FF00 3F3F 0000 6600 CC00 4342 0000"
- $"6600 9900 4141 0000 6600 6600 4040 0000"
- $"6600 3300 3F3F 0000 6600 0000 4342 0000"
- $"3300 FF00 4141 0000 3300 CC00 4040 0000"
- $"3300 9900 3F3F 0000 3300 6600 4342 0000"
- $"3300 3300 4141 0000 3300 0000 4040 0000"
- $"0000 FF00 3F3F 0000 0000 CC00 4342 0000"
- $"0000 9900 4141 0000 0000 6600 4040 0000"
- $"0000 3300 3F3F EE00 0000 0000 3D3C DD00"
- $"0000 0000 3B3B BB00 0000 0000 3A3A AA00"
- $"0000 0000 3939 8800 0000 0000 3D3C 7700"
- $"0000 0000 3B3B 5500 0000 0000 3A3A 4400"
- $"0000 0000 3939 2200 0000 0000 3D3C 1100"
- $"0000 0000 3B3B 0000 EE00 0000 3A3A 0000"
- $"DD00 0000 3939 0000 BB00 0000 3D3C 0000"
- $"AA00 0000 3B3B 0000 8800 0000 3A3A 0000"
- $"7700 0000 3939 0000 5500 0000 3D3C 0000"
- $"4400 0000 3B3B 0000 2200 0000 3A3A 0000"
- $"1100 0000 3939 0000 0000 EE00 3D3C 0000"
- $"0000 DD00 3B3B 0000 0000 BB00 3A3A 0000"
- $"0000 AA00 3939 0000 0000 8800 3D3C 0000"
- $"0000 7700 3B3B 0000 0000 5500 3A3A 0000"
- $"0000 4400 3939 0000 0000 2200 3736 0000"
- $"0000 1100 3535 EE00 EE00 EE00 3434 DD00"
- $"DD00 DD00 3333 BB00 BB00 BB00 3736 AA00"
- $"AA00 AA00 3535 8800 8800 8800 3434 7700"
- $"7700 7700 3333 5500 5500 5500 3736 4400"
- $"4400 4400 3535 2200 2200 2200 3434 1100"
- $"1100 1100 3333 0000 0000 0000 0000 0000"
- $"0064 0044 0000 0000 0064 0044 0000 000A"
- $"0000 0000 0064 0044 02BD 0013 E800 01F5"
- $"F6FE 07FE 0E02 3232 33FD 3900 0EE6 001D"
- $"FC00 01F5 F5FE 0700 08FE 0E02 3232 33FE"
- $"3900 3AFC 40F2 4102 4033 07E9 0017 0100"
- $"0EFC 40DC 4102 390E F5F5 0002 F5F5 F6FE"
- $"0702 0E07 0016 0100 32D5 4104 4039 0E32"
- $"33FD 3900 3AFC 40FC 4101 3200 0801 000E"
- $"C141 010E 0008 0100 0EC1 4101 0800 0801"
- $"000E C141 0107 0008 0100 0EC1 4101 0700"
- $"0901 0007 C241 0240 F500 0E01 0007 E841"
- $"0147 47DD 4102 4000 0012 0100 07F0 4100"
- $"47FA 4101 3B3B DD41 0240 0000 1901 0007"
- $"F141 0C47 3B0B 3B47 4141 4711 0505 3B47"
- $"DF41 023A 0000 1701 00F6 F041 010B 0BFE"
- $"4105 473B 0505 113B DE41 0239 0000 1A02"
- $"00F5 40F3 410C 473B 053B 4741 4741 0B0B"
- $"3B47 47DE 4102 3900 0018 0200 F540 F341"
- $"0247 110B FE41 0447 1105 4147 DC41 0233"
- $"0000 1B02 0000 40F3 4103 4711 1147 FE41"
- $"0205 3547 F741 FD47 E941 0232 0000 1E02"
- $"0000 40F2 4106 113B 4741 4735 0BF7 4106"
- $"4741 390E 0E40 47EA 4102 0E00 0021 0200"
- $"0040 F241 0711 3B47 4141 0B35 47F9 4102"
- $"4740 07FE 0002 F640 47EB 4102 0E00 0023"
- $"0200 0040 F341 0847 3541 4147 3B05 4147"
- $"FA41 0947 3AF6 00F5 4F55 F50E 47EB 4102"
- $"0700 0022 0200 003A F341 0147 3BFE 4101"
- $"0B0B F941 0547 3AF5 0055 C8FE CE01 5640"
- $"EB41 0207 0000 1F02 0000 39F0 4104 4741"
- $"053B 47FB 4104 4740 F5F5 A4FC CE01 C85D"
- $"EB41 02F6 0000 1F02 0000 39F0 4104 473B"
- $"0541 47FC 4104 4740 07F6 C8FA CE00 64EC"
- $"4103 40F5 0000 1C02 0000 39F0 4102 4711"
- $"0BFA 4103 4708 2AC8 FACE 0164 D8EC 4100"
- $"40FE 0025 0200 0039 EF41 020B 3B47 FC41"
- $"0347 0FF5 A4FB CE02 C887 D8FC 41FE 47FC"
- $"4100 47F9 4100 3AFE 0028 0200 0039 EF41"
- $"020B 3B47 FD41 0347 3900 A4FA CE00 ABFA"
- $"4109 3B11 3B41 4147 3B0B 3B47 FA41 0039"
- $"FE00 2402 0000 33F1 4102 4741 0BFA 4101"
- $"0779 F9CE 0064 FA41 0235 050B FD41 010B"
- $"0BF9 4100 39FE 0028 0200 0032 F141 0247"
- $"3B0B FC41 0247 39F6 F9CE 0187 D8FB 4103"
- $"4741 050B FE41 0247 110B F941 0039 FE00"
- $"2C02 0000 32F1 4102 473B 11FB 4101 0879"
- $"FACE 05AA 4041 4147 47FE 410A 4741 0511"
- $"4741 4147 3511 47FA 4100 32FE 002F 0200"
- $"000E F141 0347 3B11 47FE 4103 4740 F6C8"
- $"FACE 0564 D841 4039 39FE 4104 473B 053B"
- $"47FE 4102 3541 47FA 4100 0EFE 0027 0200"
- $"000E F141 0347 3B3B 47FE 4102 470F 79FA"
- $"CE0C 8741 4032 F500 003A 4741 473B 05F2"
- $"4100 0EFE 0027 0200 000E F141 0347 3B3B"
- $"47FD 4101 0EA4 FACE 01AB AAFE C808 7900"
- $"3947 4147 110B 47F3 4100 07FE 001C 0200"
- $"000E EA41 0240 2BC8 F5CE 0881 0033 4741"
- $"410B 3B47 F341 0007 FE00 1A02 0000 08EB"
- $"4102 473A 55F4 CE06 5D00 3947 4741 0BF1"
- $"4100 F6FE 001C 0200 0007 EB41 0247 3979"
- $"F4CE 0739 0039 4747 3511 47F3 4101 40F5"
- $"FE00 1C02 0000 07EB 4102 4739 A4F5 CE08"
- $"AB0E 0040 4741 1141 47F3 4100 40FD 001B"
- $"0200 0007 EB41 0247 39A4 F5CE 0787 0707"
- $"4147 4111 47F2 4100 40FD 001B 0200 0007"
- $"EB41 0247 39C8 F5CE 0763 F532 4747 3B3B"
- $"47F2 4100 3AFD 001A 0300 00F6 40EC 4102"
- $"4739 C8F5 CE05 39F5 4047 413B F041 0039"
- $"FD00 1C03 0000 F540 EB41 0140 C8FD CE01"
- $"C8A4 FCCE 03AB 080E 47ED 4100 39FD 001A"
- $"FE00 0040 EB41 0040 FCCE 01A4 C8FC CE03"
- $"FA07 4047 ED41 0032 FD00 1AFE 0000 40EA"
- $"4100 AAFE CE02 87F9 C8FC CE02 560F 47EC"
- $"4100 32FD 0019 FE00 0040 EA41 00AB FECE"
- $"0264 56C8 FDCE 01C8 32EA 4100 0EFD 001B"
- $"FE00 0040 ED41 030E 4047 87FE CE01 4055"
- $"FCCE 01FA 40EA 4100 08FD 001A FE00 003A"
- $"ED41 0807 0740 FBCE CEAB 3979 FDCE 00AB"
- $"E841 0007 FD00 1CFE 0000 3AED 4108 0700"
- $"F6A4 CECE 8733 79FD CE02 4147 47EA 4100"
- $"07FD 001E FE00 0039 ED41 0807 2AA4 C8CE"
- $"CE88 0E9D FECE 0364 1C39 39EB 4101 40F5"
- $"FD00 1CFE 0000 39ED 4101 074F FDCE 0264"
- $"F7A4 FECE 03AB 80F6 07EB 4100 40FC 001C"
- $"FE00 0039 ED41 0108 79FE CE03 AB40 2BA4"
- $"FCCE 02F7 0E47 EC41 0040 FC00 1CFE 0000"
- $"39ED 4101 0879 FECE 03AB 40F6 C8FC CE02"
- $"F615 47EC 4100 40FC 001E FE00 003A EE41"
- $"0247 0E79 FECE 03AB 40F5 C8FD CE03 A4F5"
- $"3A47 EC41 0040 FC00 1EFE 0000 3AEE 4102"
- $"470E 56FE CE03 FB3A F6C8 FDCE 0280 F540"
- $"EB41 0140 F5FD 001E FE00 0040 EE41 0947"
- $"0F56 CECE C888 39F6 C8FD CE02 5601 40EB"
- $"4101 40F5 FD00 1CFE 0000 40EE 4109 4739"
- $"32CE CEC8 8839 2AC8 FDCE 0156 07E9 4100"
- $"F6FD 001B FE00 0040 EE41 0847 3A32 CECE"
- $"C864 152A FCCE 0132 07E9 4100 07FD 001A"
- $"FE00 0040 ED41 0740 32AB CEC8 6439 4EFC"
- $"CE01 3A07 E941 0007 FD00 1D03 0000 F540"
- $"ED41 0740 0EAB CECE 640F 4EFD CE03 AB40"
- $"0840 EA41 0007 FD00 1B03 0000 F540 EC41"
- $"060F 81CE CE64 334E FDCE 02AB 400E E941"
- $"000E FD00 1C02 0000 F6EC 4107 4715 FACE"
- $"CE64 334E FDCE 0387 0F0E 47EA 4100 0EFD"
- $"001C 0200 0007 EC41 0747 16F9 CEC8 6433"
- $"4EFD CE03 6308 4047 EA41 000E FD00 1A02"
- $"0000 07EB 4106 40F9 CEC8 6439 4EFD CE02"
- $"3940 47E9 4100 32FD 001B 0200 0007 EA41"
- $"0539 CECE 8839 F6FE CE04 AB41 4139 40EA"
- $"4100 32FD 001C 0200 0007 EB41 0E47 3AC8"
- $"CE88 39F6 C8CE CE64 15F6 F540 EA41 0033"
- $"FD00 1A02 0000 07EA 410C 40A4 CE87 392A"
- $"C8CE AB41 40F8 F6E9 4100 39FD 001B 0200"
- $"000E EB41 0D47 41AB C887 39F5 C8CE ABAB"
- $"CEA4 07E9 4100 39FD 001C 0200 000E ED41"
- $"0947 3939 4787 C8AB 40F5 C8FD CE01 A40E"
- $"E941 0039 FD00 1D02 0000 0EED 4109 473A"
- $"0007 80CE AB40 F5C8 FDCE 0255 0E47 EA41"
- $"0039 FD00 1B02 0000 0EEB 4107 0779 C8CE"
- $"CE40 F6A4 FDCE 022B 3947 EA41 003A FD00"
- $"1C02 0000 0EEC 4102 4739 79FE CE02 6407"
- $"A4FE CE02 A407 40E9 4100 40FD 001A 0200"
- $"0032 EA41 0632 A4CE CE88 0879 FECE 02F9"
- $"0F47 E941 0040 FD00 1A02 0000 32EB 4107"
- $"4740 F7C8 CE87 0E79 FECE 0132 40E8 4100"
- $"40FD 0019 0200 0033 EA41 0B47 40F8 C8AB"
- $"0E55 CECE 8015 47E8 4100 40FD 0017 0200"
- $"0033 E941 0847 40F9 A439 4FCE CE5D E641"
- $"0140 F5FE 0014 0200 0039 E841 0647 64FB"
- $"392B C8AB E441 00F6 FE00 1102 0000 39E5"
- $"4103 40F6 8764 E441 0007 FE00 1E02 0000"
- $"39EB 4102 3A0E 0EFD 4102 0740 47F6 4104"
- $"400F 0839 47F4 4100 07FE 0027 0200 0039"
- $"FB41 0147 47F2 4102 0800 40FE 4102 0839"
- $"47FC 4101 4747 FC41 0339 0039 47F4 4100"
- $"07FE 0029 0200 0039 FB41 0140 39F3 4109"
- $"470E F540 4141 470E 3347 FC41 0139 3AFD"
- $"4104 4739 0039 47F4 4100 08FE 0036 0200"
- $"003A FC41 0347 0E00 40FC 4102 4741 40FC"
- $"4109 470E F540 4141 4733 0E47 FE41 0447"
- $"4000 0E47 FE41 0447 3900 3941 FE40 F741"
- $"000E FE00 3A02 0000 3AFD 410E 4740 0700"
- $"0E40 4741 4147 390E 390E 40FE 4108 470E"
- $"F540 4141 4739 0EFC 4103 0F00 0739 FE41"
- $"0747 3900 3940 080F 39F7 4100 0EFE 0035"
- $"0200 0040 FB41 020E 0040 FE41 0D47 4000"
- $"3941 0032 4741 4147 0EF5 40FE 4101 4008"
- $"FC41 023A 000E FD41 0547 3900 3939 33F5"
- $"4100 0EFE 0039 0200 0040 FC41 0347 0E00"
- $"40FE 4106 4732 0040 4139 40FE 4103 470E"
- $"F540 FD41 0108 40FE 4104 4740 000E 47FE"
- $"4106 4739 0007 F540 47F6 4100 32FE 003A"
- $"0200 0040 FC41 0C47 0E00 4047 4141 470E"
- $"0040 4747 FD41 0347 0EF5 40FE 410A 470E"
- $"3947 4141 4740 000E 47FE 4107 4739 000E"
- $"0007 4147 F741 0032 FE00 3802 0000 40FC"
- $"4102 470E 00FD 4106 4739 003A 4740 39FE"
- $"4102 470E F5FD 410A 4733 3347 4141 4740"
- $"000E 47FE 4106 4739 0039 3900 0EF6 4100"
- $"33FE 003A 0200 F540 FC41 0447 3200 0E39"
- $"FD41 0B0E 0E40 333A 4741 413A 07F5 39FE"
- $"4102 473A 0EFD 410F 40F5 0733 4041 4140"
- $"0E00 0E40 0700 0E40 F841 0039 FE00 2902"
- $"00F5 40FA 4101 3939 FB41 023A 3A40 FD41"
- $"FD40 FD41 0240 0E40 FD41 0240 3940 FD41"
- $"FA40 F741 0039 FE00 2A01 00F6 F941 0147"
- $"47FB 4101 4747 FB41 0147 47FB 4101 3940"
- $"FD41 0147 47FB 4100 47FE 4100 47F6 4100"
- $"39FE 000D 0100 07E1 4100 40E4 4100 3AFE"
- $"0009 0100 07C3 4100 3AFE 0009 0100 07C3"
- $"4100 40FE 0009 0100 07C3 4100 40FE 0009"
- $"0100 07C3 4100 40FE 000A 0100 0EC3 4103"
- $"40F5 0000 0901 000E C241 02F6 0000 0901"
- $"000E C241 0207 0000 0901 000E C241 0207"
- $"0000 1101 000E ED41 FE40 003A F940 E241"
- $"0207 0000 2B01 0032 F941 FE40 FE39 0632"
- $"0E0E 0707 F6F5 F800 02F5 F5F6 FB07 FB0E"
- $"0332 3233 33FB 3901 3A3A FB40 0207 0000"
- $"0E0A 000E 3939 320E 0E07 07F6 F5C8 0002"
- $"BD00 00FF"
-};
diff --git a/carbon/tkMacOSX.h b/carbon/tkMacOSX.h
deleted file mode 100644
index a2a35a5..0000000
--- a/carbon/tkMacOSX.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * tkMacOSX.h --
- *
- * Declarations of Macintosh specific exported variables and procedures.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#ifndef _TKMAC
-#define _TKMAC
-
-#ifndef _TK
-#include "tk.h"
-#endif
-
-#include <Carbon/Carbon.h>
-
-/*
- * Structures and function types for handling Netscape-type in process
- * embedding where Tk does not control the top-level
- */
-
-typedef int (Tk_MacOSXEmbedRegisterWinProc) (int winID, Tk_Window window);
-typedef GWorldPtr (Tk_MacOSXEmbedGetGrafPortProc) (Tk_Window window);
-typedef int (Tk_MacOSXEmbedMakeContainerExistProc) (Tk_Window window);
-typedef void (Tk_MacOSXEmbedGetClipProc) (Tk_Window window, RgnHandle rgn);
-typedef void (Tk_MacOSXEmbedGetOffsetInParentProc) (Tk_Window window, Point *ulCorner);
-
-#include "tkPlatDecls.h"
-
-#endif /* _TKMAC */
diff --git a/carbon/tkMacOSXAETE.r b/carbon/tkMacOSXAETE.r
deleted file mode 100644
index 54bb8cc..0000000
--- a/carbon/tkMacOSXAETE.r
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * tclMacAETE.r --
- *
- * This file creates the Apple Event Terminology resources
- * for use by Wish.app.
- *
- * Copyright (c) 1997 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#define SystemSevenOrLater 1
-
-#include <Carbon.r>
-
-/*
- * The following resources defines the Apple Events that Tk can be
- * sent from Apple Script.
- */
-
-resource 'aete' (0, "Wish Suite") {
- 0x01, 0x00, english, roman,
- {
- "Required Suite",
- "Events that every application should support",
- 'reqd', 1, 1,
- {},
- {},
- {},
- {},
-
- "Wish Suite", "Events for the Wish application", 'WIsH', 1, 1,
- {
- "do script", "Execute a Tcl script", 'misc', kAEDoScript,
- 'TEXT', "Result", replyOptional, singleItem,
- notEnumerated, reserved, reserved, reserved, reserved,
- reserved, reserved, reserved, reserved, reserved,
- reserved, reserved, reserved, reserved,
- 'TEXT', "Script to execute", directParamRequired,
- singleItem, notEnumerated, changesState, reserved,
- reserved, reserved, reserved, reserved, reserved,
- reserved, reserved, reserved, reserved, reserved,
- reserved,
- {},
- },
- {},
- {},
- {},
- }
-};
diff --git a/carbon/tkMacOSXBitmap.c b/carbon/tkMacOSXBitmap.c
deleted file mode 100644
index 0f569f0..0000000
--- a/carbon/tkMacOSXBitmap.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * tkMacOSXBitmap.c --
- *
- * This file handles the implementation of native bitmaps.
- *
- * Copyright (c) 1996-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXInt.h"
-
-/*
- * Depending on the resource type there are different ways to
- * draw native icons.
- */
-#define TYPE1 0 /* Family icon suite. */
-#define TYPE2 1 /* ICON resource. */
-#define TYPE3 2 /* cicn resource. */
-
-/*
- * This data structure describes the id and type of a given icon.
- * It is used as the source for native icons.
- */
-typedef struct {
- int id; /* Resource Id for Icon. */
- long int type; /* Type of icon. */
-} NativeIcon;
-
-/*
- * This structure holds information about native bitmaps.
- */
-
-typedef struct {
- const char *name; /* Name of icon. */
- long int type; /* Type of icon. */
- int id; /* Id of icon. */
- int size; /* Size of icon. */
-} BuiltInIcon;
-
-/*
- * This array mapps a string name to the supported builtin icons
- * on the Macintosh.
- */
-
-static BuiltInIcon builtInIcons[] = {
- {"document", TYPE1, kGenericDocumentIconResource, 32},
- {"stationery", TYPE1, kGenericStationeryIconResource, 32},
- {"edition", TYPE1, kGenericEditionFileIconResource, 32},
- {"application", TYPE1, kGenericApplicationIconResource, 32},
- {"accessory", TYPE1, kGenericDeskAccessoryIconResource, 32},
- {"folder", TYPE1, kGenericFolderIconResource, 32},
- {"pfolder", TYPE1, kPrivateFolderIconResource, 32},
- {"trash", TYPE1, kTrashIconResource, 32},
- {"floppy", TYPE1, kFloppyIconResource, 32},
- {"ramdisk", TYPE1, kGenericRAMDiskIconResource, 32},
- {"cdrom", TYPE1, kGenericCDROMIconResource, 32},
- {"preferences", TYPE1, kGenericPreferencesIconResource, 32},
- {"querydoc", TYPE1, kGenericQueryDocumentIconResource, 32},
- {"stop", TYPE2, kStopIcon, 32},
- {"note", TYPE2, kNoteIcon, 32},
- {"caution", TYPE2, kCautionIcon, 32},
- {NULL, 0, 0, 0}
-};
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDefineNativeBitmaps --
- *
- * Add native bitmaps.
- *
- * Results:
- * A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in the interp's result.
- *
- * Side effects:
- * "Name" is entered into the bitmap table and may be used from
- * here on to refer to the given bitmap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDefineNativeBitmaps(void)
-{
- Tcl_HashTable *tablePtr = TkGetBitmapPredefTable();
- BuiltInIcon *builtInPtr;
-
- for (builtInPtr = builtInIcons; builtInPtr->name != NULL; builtInPtr++) {
- Tcl_HashEntry *predefHashPtr;
- const char * name;
- int isNew;
-
- name = Tk_GetUid(builtInPtr->name);
- predefHashPtr = Tcl_CreateHashEntry(tablePtr, name, &isNew);
- if (isNew) {
- TkPredefBitmap *predefPtr = ckalloc(sizeof(TkPredefBitmap));
- NativeIcon *nativeIconPtr = ckalloc(sizeof(NativeIcon));
-
- nativeIconPtr->id = builtInPtr->id;
- nativeIconPtr->type = builtInPtr->type;
- predefPtr->source = nativeIconPtr;
- predefPtr->width = builtInPtr->size;
- predefPtr->height = builtInPtr->size;
- predefPtr->native = 1;
- Tcl_SetHashValue(predefHashPtr, predefPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateNativeBitmap --
- *
- * Add native bitmaps.
- *
- * Results:
- * A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in the interp's result.
- *
- * Side effects:
- * "Name" is entered into the bitmap table and may be used from
- * here on to refer to the given bitmap.
- *
- *----------------------------------------------------------------------
- */
-
-Pixmap
-TkpCreateNativeBitmap(
- Display *display,
- const void *source) /* Info about the icon to build. */
-{
- Pixmap pix;
- Rect destRect;
- CGrafPtr savePort;
- Boolean portChanged;
- const NativeIcon *nativeIconPtr;
-
- pix = Tk_GetPixmap(display, None, 32, 32, 0);
- portChanged = QDSwapPort(TkMacOSXGetDrawablePort(pix), &savePort);
-
- nativeIconPtr = (const NativeIcon *) source;
- SetRect(&destRect, 0, 0, 32, 32);
- if (nativeIconPtr->type == TYPE1) {
- RGBColor white = {0xFFFF, 0xFFFF, 0xFFFF};
-
- RGBForeColor(&white);
- PaintRect(&destRect);
- PlotIconID(&destRect, atAbsoluteCenter, ttNone, nativeIconPtr->id);
- } else if (nativeIconPtr->type == TYPE2) {
- Handle icon = GetIcon(nativeIconPtr->id);
-
- if (icon != NULL) {
- RGBColor black = {0, 0, 0};
-
- RGBForeColor(&black);
- PlotIcon(&destRect, icon);
- ReleaseResource(icon);
- }
- }
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- return pix;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetNativeAppBitmap --
- *
- * Add native bitmaps.
- *
- * Results:
- * A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in the interp's result.
- *
- * Side effects:
- * "Name" is entered into the bitmap table and may be used from
- * here on to refer to the given bitmap.
- *
- *----------------------------------------------------------------------
- */
-
-Pixmap
-TkpGetNativeAppBitmap(
- Display *display, /* The display. */
- const char *name, /* The name of the bitmap. */
- int *width, /* The width & height of the bitmap. */
- int *height)
-{
- Pixmap pix;
- CGrafPtr savePort;
- Boolean portChanged;
- Rect destRect;
- Handle resource;
- int type = -1, destWrote;
- Str255 nativeName;
- Tcl_Encoding encoding;
-
- /*
- * macRoman is the encoding that the resource fork uses.
- */
-
- encoding = Tcl_GetEncoding(NULL, "macRoman");
- Tcl_UtfToExternal(NULL, encoding, name, strlen(name), 0, NULL,
- (char *) &nativeName[1], 255, NULL, &destWrote, NULL);
- nativeName[0] = destWrote;
- Tcl_FreeEncoding(encoding);
-
- resource = GetNamedResource('cicn', nativeName);
- if (resource != NULL) {
- type = TYPE3;
- } else {
- resource = GetNamedResource('ICON', nativeName);
- if (resource != NULL) {
- type = TYPE2;
- }
- }
-
- if (resource == NULL) {
- return (Pixmap) NULL;
- }
-
- pix = Tk_GetPixmap(display, None, 32, 32, 0);
- portChanged = QDSwapPort(TkMacOSXGetDrawablePort(pix), &savePort);
-
- SetRect(&destRect, 0, 0, 32, 32);
- if (type == TYPE2) {
- RGBColor black = {0, 0, 0};
-
- RGBForeColor(&black);
- PlotIcon(&destRect, resource);
- ReleaseResource(resource);
- } else if (type == TYPE3) {
- RGBColor white = {0xFFFF, 0xFFFF, 0xFFFF};
- short id;
- ResType theType;
- Str255 dummy;
-
- /*
- * We need to first paint the background white. Also, for some reason
- * we *must* use GetCIcon instead of GetNamedResource for PlotCIcon to
- * work - so we use GetResInfo to get the id.
- */
-
- RGBForeColor(&white);
- PaintRect(&destRect);
- GetResInfo(resource, &id, &theType, dummy);
- ReleaseResource(resource);
- resource = (Handle) GetCIcon(id);
- PlotCIcon(&destRect, (CIconHandle) resource);
- DisposeCIcon((CIconHandle) resource);
- }
-
- *width = 32;
- *height = 32;
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- return pix;
-}
diff --git a/carbon/tkMacOSXButton.c b/carbon/tkMacOSXButton.c
deleted file mode 100644
index a7ef5b8..0000000
--- a/carbon/tkMacOSXButton.c
+++ /dev/null
@@ -1,1621 +0,0 @@
-/*
- * tkMacOSXButton.c --
- *
- * This file implements the Macintosh specific portion of the
- * button widgets.
- *
- * Copyright (c) 1996-1997 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkButton.h"
-#include "tkMacOSXFont.h"
-#include "tkMacOSXDebug.h"
-
-#define DEFAULT_USE_TK_TEXT 0
-
-#define CONTROL_INITIALIZED 1
-#define FIRST_DRAW 2
-#define ACTIVE 4
-
-#define MAX_VALUE 2
-
-/*
- * Default insets for controls
- */
-
-#define DEF_INSET_LEFT 2
-#define DEF_INSET_RIGHT 2
-#define DEF_INSET_TOP 2
-#define DEF_INSET_BOTTOM 4
-
-/*
- * Some defines used to control what type of control is drawn.
- */
-
-#define DRAW_LABEL 0 /* Labels are treated genericly. */
-#define DRAW_CONTROL 1 /* Draw using the Native control. */
-#define DRAW_CUSTOM 2 /* Make our own button drawing. */
-#define DRAW_BEVEL 3
-
-/*
- * Declaration of Mac specific button structure.
- */
-
-typedef struct {
- SInt16 initialValue;
- SInt16 minValue;
- SInt16 maxValue;
- SInt16 procID;
- int isBevel;
-} MacControlParams;
-
-typedef struct {
- int drawType;
- Tk_3DBorder border;
- int relief;
- int offset; /* 0 means this is a normal widget. 1 means
- * it is an image button, so we offset the
- * image to make the button appear to move
- * up and down as the relief changes. */
- GC gc;
- int hasImageOrBitmap;
-} DrawParams;
-
-typedef struct {
- TkButton info; /* Generic button info */
- int id;
- int usingControl;
- int useTkText;
- int flags; /* Initialisation status */
- MacControlParams params;
- WindowRef windowRef;
- unsigned long userPaneBackground;
- ControlRef userPane; /* Carbon control */
- ControlRef control; /* Carbon control */
- Str255 controlTitle;
- ControlFontStyleRec fontStyle;
- /*
- * The following are used to store the image content for
- * beveled buttons, i.e. buttons with images.
- */
- ControlButtonContentInfo bevelButtonContent;
- OpenCPicParams picParams;
-} MacButton;
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static OSStatus SetUserPaneDrawProc(ControlRef control,
- ControlUserPaneDrawProcPtr upp);
-static OSStatus SetUserPaneSetUpSpecialBackgroundProc(ControlRef control,
- ControlUserPaneBackgroundProcPtr upp);
-static void UserPaneDraw(ControlRef control, ControlPartCode cpc);
-static void UserPaneBackgroundProc(ControlHandle,
- ControlBackgroundPtr info);
-
-static void ButtonEventProc(ClientData clientData, XEvent *eventPtr);
-static int UpdateControlColors(MacButton *mbPtr);
-static void TkMacOSXComputeControlParams(TkButton *butPtr,
- MacControlParams *paramsPtr);
-static int TkMacOSXComputeDrawParams(TkButton *butPtr, DrawParams *dpPtr);
-static void TkMacOSXDrawControl(MacButton *butPtr, GWorldPtr destPort, GC gc,
- Pixmap pixmap);
-static void SetupBevelButton(MacButton *butPtr, ControlRef controlHandle,
- GWorldPtr destPort, GC gc, Pixmap pixmap);
-
-/*
- * The class procedure table for the button widgets.
- */
-
-const Tk_ClassProcs tkpButtonProcs = {
- sizeof(Tk_ClassProcs), /* size */
- TkButtonWorldChanged, /* worldChangedProc */
- NULL, /* createProc */
- NULL /* modalProc */
-};
-
-static int bCount;
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateButton --
- *
- * Allocate a new TkButton structure.
- *
- * Results:
- * Returns a newly allocated TkButton structure.
- *
- * Side effects:
- * Registers an event handler for the widget.
- *
- *----------------------------------------------------------------------
- */
-
-TkButton *
-TkpCreateButton(
- Tk_Window tkwin)
-{
- MacButton *macButtonPtr = ckalloc(sizeof(MacButton));
-
- Tk_CreateEventHandler(tkwin, ActivateMask,
- ButtonEventProc, (ClientData) macButtonPtr);
- macButtonPtr->id = bCount++;
- macButtonPtr->usingControl = 0;
- macButtonPtr->flags = 0;
- macButtonPtr->userPaneBackground = PIXEL_MAGIC << 24;
- macButtonPtr->userPane = NULL;
- macButtonPtr->control = NULL;
- macButtonPtr->controlTitle[0] = 0;
- macButtonPtr->controlTitle[1] = 0;
- bzero(&macButtonPtr->params, sizeof(macButtonPtr->params));
- bzero(&macButtonPtr->fontStyle, sizeof(macButtonPtr->fontStyle));
-
- return (TkButton *)macButtonPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayButton --
- *
- * This procedure is invoked to display a button widget. It is
- * normally invoked as an idle handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the button in its
- * current mode. The REDRAW_PENDING flag is cleared.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayButton(
- ClientData clientData) /* Information about widget. */
-{
- MacButton *macButtonPtr = (MacButton *) clientData;
- TkButton *butPtr = (TkButton *) clientData;
- Tk_Window tkwin = butPtr->tkwin;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- Pixmap pixmap;
- int width, height, fullWidth, fullHeight, textXOffset, textYOffset;
- int borderWidth = 0, wasUsingControl;
- int haveImage = 0, haveText = 0, imageWidth = 0, imageHeight = 0;
- int imageXOffset = 0, imageYOffset = 0; /* image information that will
- * be used to restrict disabled
- * pixmap as well */
- DrawParams drawParams, *dpPtr = &drawParams;
-
- butPtr->flags &= ~REDRAW_PENDING;
- if ((butPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) {
- return;
- }
- pixmap = (Pixmap) Tk_WindowId(tkwin);
- wasUsingControl = macButtonPtr->usingControl;
-
- if (TkMacOSXComputeDrawParams(butPtr, &drawParams) ) {
- macButtonPtr->usingControl = 1;
- if (butPtr->type == TYPE_BUTTON) {
- macButtonPtr->useTkText = 0;
- } else {
- macButtonPtr->useTkText = 1;
- }
- } else {
- macButtonPtr->usingControl = 0;
- macButtonPtr->useTkText = 1;
- }
-
- /*
- * See the comment in UpdateControlColors as to why we use the
- * highlightbackground for the border of Macintosh buttons.
- */
-
- if (macButtonPtr->useTkText) {
- if (butPtr->type == TYPE_BUTTON) {
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->highlightBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
- } else {
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->normalBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
- }
- }
-
- /*
- * Set up clipping region. Make sure the we are using the port
- * for this button, or we will set the wrong window's clip.
- */
-
- destPort = TkMacOSXGetDrawablePort(pixmap);
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(pixmap);
-
- /*
- * Draw the native portion of the buttons. Start by creating the control
- * if it doesn't already exist. Then configure the Macintosh control from
- * the Tk info. Finally, we call Draw1Control to draw to the screen.
- */
-
- if (macButtonPtr->usingControl) {
- borderWidth = 0;
- TkMacOSXDrawControl(macButtonPtr, destPort, dpPtr->gc, pixmap);
- } else if (wasUsingControl && macButtonPtr->userPane) {
- DisposeControl(macButtonPtr->userPane);
- macButtonPtr->userPane = NULL;
- macButtonPtr->control = NULL;
- macButtonPtr->flags = 0;
- }
-
- if ((dpPtr->drawType == DRAW_CUSTOM) || (dpPtr->drawType == DRAW_LABEL)) {
- borderWidth = butPtr->borderWidth;
- }
-
- /*
- * Display image or bitmap or text for button. This has
- * already been done under Appearance with the Bevel
- * button types.
- */
-
- if (dpPtr->drawType == DRAW_BEVEL) {
- goto applyStipple;
- }
-
- if (butPtr->image != None) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- haveImage = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- haveImage = 1;
- }
- imageWidth = width;
- imageHeight = height;
-
- haveText = (butPtr->textWidth != 0 && butPtr->textHeight != 0);
- if (butPtr->compound != COMPOUND_NONE && haveImage && haveText) {
- int x, y;
-
- textXOffset = 0;
- textYOffset = 0;
- fullWidth = 0;
- fullHeight = 0;
-
- switch ((enum compound) butPtr->compound) {
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM:
- /*
- * Image is above or below text.
- */
- if (butPtr->compound == COMPOUND_TOP) {
- textYOffset = height + butPtr->padY;
- } else {
- imageYOffset = butPtr->textHeight + butPtr->padY;
- }
- fullHeight = height + butPtr->textHeight + butPtr->padY;
- fullWidth = (width > butPtr->textWidth ? width :
- butPtr->textWidth);
- textXOffset = (fullWidth - butPtr->textWidth)/2;
- imageXOffset = (fullWidth - width)/2;
- break;
-
- case COMPOUND_LEFT:
- case COMPOUND_RIGHT:
- /*
- * Image is left or right of text.
- */
-
- if (butPtr->compound == COMPOUND_LEFT) {
- textXOffset = width + butPtr->padX;
- } else {
- imageXOffset = butPtr->textWidth + butPtr->padX;
- }
- fullWidth = butPtr->textWidth + butPtr->padX + width;
- fullHeight = (height > butPtr->textHeight ? height :
- butPtr->textHeight);
- textYOffset = (fullHeight - butPtr->textHeight)/2;
- imageYOffset = (fullHeight - height)/2;
- break;
-
- case COMPOUND_CENTER:
- /*
- * Image and text are superimposed.
- */
-
- fullWidth = (width > butPtr->textWidth ? width :
- butPtr->textWidth);
- fullHeight = (height > butPtr->textHeight ? height :
- butPtr->textHeight);
- textXOffset = (fullWidth - butPtr->textWidth)/2;
- imageXOffset = (fullWidth - width)/2;
- textYOffset = (fullHeight - butPtr->textHeight)/2;
- imageYOffset = (fullHeight - height)/2;
- break;
-
- case COMPOUND_NONE:
- break;
- }
-
- TkComputeAnchor(butPtr->anchor, tkwin, butPtr->padX, butPtr->padY,
- butPtr->indicatorSpace + fullWidth, fullHeight, &x, &y);
-
- x += butPtr->indicatorSpace;
-
- x += dpPtr->offset;
- y += dpPtr->offset;
- if (dpPtr->relief == TK_RELIEF_RAISED) {
- x -= dpPtr->offset;
- y -= dpPtr->offset;
- } else if (dpPtr->relief == TK_RELIEF_SUNKEN) {
- x += dpPtr->offset;
- y += dpPtr->offset;
- }
- imageXOffset += x;
- imageYOffset += y;
- if (butPtr->image != NULL) {
- if ((butPtr->selectImage != NULL) && (butPtr->flags & SELECTED)) {
- Tk_RedrawImage(butPtr->selectImage, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- } else if ((butPtr->tristateImage != NULL) &&
- (butPtr->flags & TRISTATED)) {
- Tk_RedrawImage(butPtr->tristateImage, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- } else {
- Tk_RedrawImage(butPtr->image, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- }
- } else {
- XSetClipOrigin(butPtr->display, dpPtr->gc, imageXOffset,
- imageYOffset);
- XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, dpPtr->gc,
- 0, 0, width, height, imageXOffset, imageYOffset, 1);
- XSetClipOrigin(butPtr->display, dpPtr->gc, 0, 0);
- }
-
- if (macButtonPtr->useTkText) {
- Tk_DrawTextLayout(butPtr->display, pixmap, dpPtr->gc,
- butPtr->textLayout, x + textXOffset, y + textYOffset, 0,
- -1);
- Tk_UnderlineTextLayout(butPtr->display, pixmap, dpPtr->gc,
- butPtr->textLayout, x + textXOffset, y + textYOffset,
- butPtr->underline);
- }
- y += fullHeight/2;
- } else if (haveImage) {
- int x = 0, y;
-
- TkComputeAnchor(butPtr->anchor, tkwin, 0, 0,
- butPtr->indicatorSpace + width, height, &x, &y);
- x += butPtr->indicatorSpace;
-
- x += dpPtr->offset;
- y += dpPtr->offset;
- if (dpPtr->relief == TK_RELIEF_RAISED) {
- x -= dpPtr->offset;
- y -= dpPtr->offset;
- } else if (dpPtr->relief == TK_RELIEF_SUNKEN) {
- x += dpPtr->offset;
- y += dpPtr->offset;
- }
- imageXOffset += x;
- imageYOffset += y;
- if (butPtr->image != NULL) {
- if ((butPtr->selectImage != NULL) && (butPtr->flags & SELECTED)) {
- Tk_RedrawImage(butPtr->selectImage, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- } else if ((butPtr->tristateImage != NULL) &&
- (butPtr->flags & TRISTATED)) {
- Tk_RedrawImage(butPtr->tristateImage, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- } else {
- Tk_RedrawImage(butPtr->image, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- }
- } else {
- XSetClipOrigin(butPtr->display, dpPtr->gc, x, y);
- XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, dpPtr->gc,
- 0, 0, width, height, x, y, 1);
- XSetClipOrigin(butPtr->display, dpPtr->gc, 0, 0);
- }
- y += height/2;
- } else if (macButtonPtr->useTkText) {
- int x = 0, y;
-
- TkComputeAnchor(butPtr->anchor, tkwin, butPtr->padX, butPtr->padY,
- butPtr->indicatorSpace + butPtr->textWidth,
- butPtr->textHeight, &x, &y);
- x += butPtr->indicatorSpace;
- Tk_DrawTextLayout(butPtr->display, pixmap, dpPtr->gc,
- butPtr->textLayout, x, y, 0, -1);
- }
-
- /*
- * If the button is disabled with a stipple rather than a special
- * foreground color, generate the stippled effect. If the widget
- * is selected and we use a different background color when selected,
- * must temporarily modify the GC so the stippling is the right color.
- */
-
- applyStipple:
- if (macButtonPtr->useTkText) {
- if ((butPtr->state == STATE_DISABLED)
- && ((butPtr->disabledFg == NULL) || (butPtr->image != NULL))) {
- if ((butPtr->flags & SELECTED) && !butPtr->indicatorOn
- && (butPtr->selectBorder != NULL)) {
- XSetForeground(butPtr->display, butPtr->stippleGC,
- Tk_3DBorderColor(butPtr->selectBorder)->pixel);
- }
-
- /*
- * Stipple the whole button if no disabledFg was specified,
- * otherwise restrict stippling only to displayed image
- */
-
- if (butPtr->disabledFg == NULL) {
- XFillRectangle(butPtr->display, pixmap, butPtr->stippleGC,
- 0, 0, (unsigned) Tk_Width(tkwin),
- (unsigned) Tk_Height(tkwin));
- } else {
- XFillRectangle(butPtr->display, pixmap, butPtr->stippleGC,
- imageXOffset, imageYOffset,
- (unsigned) imageWidth, (unsigned) imageHeight);
- }
- if ((butPtr->flags & SELECTED) && !butPtr->indicatorOn
- && (butPtr->selectBorder != NULL)) {
- XSetForeground(butPtr->display, butPtr->stippleGC,
- Tk_3DBorderColor(butPtr->normalBorder)->pixel);
- }
- }
-
- /*
- * Draw the border and traversal highlight last. This way, if the
- * button's contents overflow they'll be covered up by the border.
- */
-
- if (dpPtr->relief != TK_RELIEF_FLAT) {
- int inset = butPtr->highlightWidth;
-
- Tk_Draw3DRectangle(tkwin, pixmap, dpPtr->border, inset, inset,
- Tk_Width(tkwin) - 2*inset, Tk_Height(tkwin) - 2*inset,
- borderWidth, dpPtr->relief);
- }
- }
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpComputeButtonGeometry --
- *
- * After changes in a button's text or bitmap, this procedure
- * recomputes the button's geometry and passes this information
- * along to the geometry manager for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The button's window may change size.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpComputeButtonGeometry(
- TkButton *butPtr) /* Button whose geometry may have changed. */
-{
- int width, height, avgWidth, haveImage = 0, haveText = 0;
- int xInset, yInset, txtWidth, txtHeight;
- Tk_FontMetrics fm;
- DrawParams drawParams;
-
- /*
- * First figure out the size of the contents of the button.
- */
-
- width = 0;
- height = 0;
- txtWidth = 0;
- txtHeight = 0;
- avgWidth = 0;
-
- butPtr->indicatorSpace = 0;
- if (butPtr->image != NULL) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- haveImage = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- haveImage = 1;
- }
-
- if (haveImage == 0 || butPtr->compound != COMPOUND_NONE) {
- Tk_FreeTextLayout(butPtr->textLayout);
- butPtr->textLayout = Tk_ComputeTextLayout(butPtr->tkfont,
- Tcl_GetString(butPtr->textPtr), -1, butPtr->wrapLength,
- butPtr->justify, 0, &butPtr->textWidth, &butPtr->textHeight);
-
- txtWidth = butPtr->textWidth;
- txtHeight = butPtr->textHeight;
- avgWidth = Tk_TextWidth(butPtr->tkfont, "0", 1);
- Tk_GetFontMetrics(butPtr->tkfont, &fm);
- haveText = (txtWidth != 0 && txtHeight != 0);
- }
-
- /*
- * If the button is compound (ie, it shows both an image and text),
- * the new geometry is a combination of the image and text geometry.
- * We only honor the compound bit if the button has both text and an
- * image, because otherwise it is not really a compound button.
- */
-
- if (butPtr->compound != COMPOUND_NONE && haveImage && haveText) {
- switch ((enum compound) butPtr->compound) {
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM:
- /*
- * Image is above or below text.
- */
-
- height += txtHeight + butPtr->padY;
- width = (width > txtWidth ? width : txtWidth);
- break;
- case COMPOUND_LEFT:
- case COMPOUND_RIGHT:
- /*
- * Image is left or right of text.
- */
-
- width += txtWidth + butPtr->padX;
- height = (height > txtHeight ? height : txtHeight);
- break;
- case COMPOUND_CENTER:
- /*
- * Image and text are superimposed.
- */
-
- width = (width > txtWidth ? width : txtWidth);
- height = (height > txtHeight ? height : txtHeight);
- break;
- case COMPOUND_NONE:
- break;
- }
- if (butPtr->width > 0) {
- width = butPtr->width;
- }
- if (butPtr->height > 0) {
- height = butPtr->height;
- }
-
- if ((butPtr->type >= TYPE_CHECK_BUTTON) && butPtr->indicatorOn) {
- butPtr->indicatorSpace = height;
- if (butPtr->type == TYPE_CHECK_BUTTON) {
- butPtr->indicatorDiameter = (65 * height)/100;
- } else {
- butPtr->indicatorDiameter = (75 * height)/100;
- }
- }
-
- width += 2 * butPtr->padX;
- height += 2 * butPtr->padY;
- } else if (haveImage) {
- if (butPtr->width > 0) {
- width = butPtr->width;
- }
- if (butPtr->height > 0) {
- height = butPtr->height;
- }
- if ((butPtr->type >= TYPE_CHECK_BUTTON) && butPtr->indicatorOn) {
- butPtr->indicatorSpace = height;
- if (butPtr->type == TYPE_CHECK_BUTTON) {
- butPtr->indicatorDiameter = (65 * height)/100;
- } else {
- butPtr->indicatorDiameter = (75 * height)/100;
- }
- }
- } else {
- width = txtWidth;
- height = txtHeight;
- if (butPtr->width > 0) {
- width = butPtr->width * avgWidth;
- }
- if (butPtr->height > 0) {
- height = butPtr->height * fm.linespace;
- }
- if ((butPtr->type >= TYPE_CHECK_BUTTON) && butPtr->indicatorOn) {
- butPtr->indicatorDiameter = fm.linespace;
- if (butPtr->type == TYPE_CHECK_BUTTON) {
- butPtr->indicatorDiameter =
- (80 * butPtr->indicatorDiameter)/100;
- }
- butPtr->indicatorSpace = butPtr->indicatorDiameter + avgWidth;
- }
- }
-
- /*
- * Now figure out the size of the border decorations for the button.
- */
-
- if (butPtr->highlightWidth < 0) {
- butPtr->highlightWidth = 0;
- }
-
- /*
- * The width and height calculation for Appearance buttons with images &
- * non-Appearance buttons with images is different. In the latter case,
- * we add the borderwidth to the inset, since we are going to stamp a
- * 3-D border over the image. In the former, we add it to the height,
- * directly, since Appearance will draw the border as part of our control.
- *
- * When issuing the geometry request, add extra space for the indicator,
- * if any, and for the border and padding, plus if this is an image two
- * extra pixels so the display can be offset by 1 pixel in either
- * direction for the raised or lowered effect.
- *
- * The highlight width corresponds to the default ring on the Macintosh.
- * As such, the highlight width is only added if the button is the default
- * button. The actual width of the default ring is one less than the
- * highlight width as there is also one pixel of spacing.
- * Appearance buttons with images do not have a highlight ring, because the
- * Bevel button type does not support one.
- */
-
- if ((butPtr->image == None) && (butPtr->bitmap == None)) {
- width += 2*butPtr->padX;
- height += 2*butPtr->padY;
- }
-
- if ((butPtr->type == TYPE_BUTTON)) {
- if ((butPtr->image == None) && (butPtr->bitmap == None)) {
- butPtr->inset = 0;
- if (butPtr->defaultState != STATE_DISABLED) {
- butPtr->inset += butPtr->highlightWidth;
- }
- } else {
- butPtr->inset = 0;
- width += (2 * butPtr->borderWidth + 4);
- height += (2 * butPtr->borderWidth + 4);
- }
- } else if (butPtr->type == TYPE_LABEL) {
- butPtr->inset = butPtr->borderWidth;
- } else if (butPtr->indicatorOn) {
- butPtr->inset = 0;
- } else {
- /*
- * Under Appearance, the Checkbutton or radiobutton with an image
- * is represented by a BevelButton with the Sticky defProc...
- * So we must set its height in the same way as the Button
- * with an image or bitmap.
- */
-
- if (butPtr->image != None || butPtr->bitmap != None) {
- int border;
-
- butPtr->inset = 0;
- if (butPtr->borderWidth <= 2) {
- border = 6;
- } else {
- border = 2 * butPtr->borderWidth + 2;
- }
- width += border;
- height += border;
- } else {
- butPtr->inset = butPtr->borderWidth;
- }
- }
-
- if (TkMacOSXComputeDrawParams(butPtr, &drawParams)) {
- xInset = butPtr->indicatorSpace + DEF_INSET_LEFT + DEF_INSET_RIGHT;
- yInset = DEF_INSET_TOP + DEF_INSET_BOTTOM;
- } else {
- xInset = butPtr->indicatorSpace+butPtr->inset*2;
- yInset = butPtr->inset*2;
- }
- Tk_GeometryRequest(butPtr->tkwin, width + xInset, height + yInset);
- Tk_SetInternalBorder(butPtr->tkwin, butPtr->inset);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyButton --
- *
- * Free data structures associated with the button control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Restores the default control state.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyButton(
- TkButton *butPtr)
-{
- MacButton *mbPtr = (MacButton *) butPtr; /* Mac button. */
-
- if (mbPtr->userPane) {
- DisposeControl(mbPtr->userPane);
- mbPtr->userPane = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitControl --
- *
- * This procedure initialises a Carbon control.
- *
- * Results:
- * 0 on success, 1 on failure.
- *
- * Side effects:
- * A background pane control and the control itself is created
- * The contol is embedded in the background control
- * The background control is embedded in the root control
- * of the containing window
- * The creation parameters for the control are also computed
- *
- *----------------------------------------------------------------------
- */
-
-static int
-TkMacOSXInitControl(
- MacButton *mbPtr, /* Mac button. */
- GWorldPtr destPort,
- GC gc,
- Pixmap pixmap,
- Rect *paneRect,
- Rect *cntrRect)
-{
- TkButton *butPtr = (TkButton *) mbPtr;
- ControlRef rootControl;
- SInt16 procID, initialValue, minValue, maxValue;
- Boolean initiallyVisible;
- SInt32 controlReference;
-
- rootControl = TkMacOSXGetRootControl(Tk_WindowId(butPtr->tkwin));
- mbPtr->windowRef = TkMacOSXDrawableWindow(Tk_WindowId(butPtr->tkwin));
-
- /*
- * Set up the user pane.
- */
-
- initiallyVisible = false;
- initialValue = kControlSupportsEmbedding|kControlHasSpecialBackground;
- minValue = 0;
- maxValue = 1;
- procID = kControlUserPaneProc;
- controlReference = (SInt32)mbPtr;
- mbPtr->userPane = NewControl(mbPtr->windowRef, paneRect, "\p",
- initiallyVisible, initialValue, minValue, maxValue, procID,
- controlReference);
-
- if (!mbPtr->userPane) {
- TkMacOSXDbgMsg("Failed to create user pane control");
- return 1;
- }
- if (ChkErr(EmbedControl, mbPtr->userPane,rootControl) != noErr) {
- return 1;
- }
-
- SetUserPaneSetUpSpecialBackgroundProc(mbPtr->userPane,
- UserPaneBackgroundProc);
- SetUserPaneDrawProc(mbPtr->userPane,UserPaneDraw);
- initiallyVisible = false;
- TkMacOSXComputeControlParams(butPtr,&mbPtr->params);
- mbPtr->control = NewControl(mbPtr->windowRef, cntrRect, "\p",
- initiallyVisible, mbPtr->params.initialValue,
- mbPtr->params.minValue, mbPtr->params.maxValue,
- mbPtr->params.procID, controlReference);
-
- if (!mbPtr->control) {
- TkMacOSXDbgMsg("Failed to create control of type %d\n", procID);
- return 1;
- }
- if (ChkErr(EmbedControl, mbPtr->control,mbPtr->userPane) != noErr ) {
- return 1;
- }
-
- mbPtr->flags |= (CONTROL_INITIALIZED | FIRST_DRAW);
- if (IsWindowActive(mbPtr->windowRef)) {
- mbPtr->flags |= ACTIVE;
- }
- return 0;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkMacOSXDrawControl --
- *
- * This function draws the tk button using Mac controls
- * In addition, this code may apply custom colors passed
- * in the TkButton.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The control is created, or reinitialised as needed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-TkMacOSXDrawControl(
- MacButton *mbPtr, /* Mac button. */
- GWorldPtr destPort, /* Off screen GWorld. */
- GC gc, /* The GC we are drawing into - needed for the
- * bevel button */
- Pixmap pixmap) /* The pixmap we are drawing into - needed for
- * the bevel button */
-{
- TkButton *butPtr = (TkButton *) mbPtr;
- TkWindow *winPtr;
- Rect paneRect, cntrRect;
- int active, enabled;
- int rebuild;
-
- winPtr = (TkWindow *) butPtr->tkwin;
-
- paneRect.left = winPtr->privatePtr->xOff;
- paneRect.top = winPtr->privatePtr->yOff;
- paneRect.right = paneRect.left + Tk_Width(butPtr->tkwin);
- paneRect.bottom = paneRect.top + Tk_Height(butPtr->tkwin);
-
- cntrRect = paneRect;
-
-/*
- cntrRect.left += butPtr->inset;
- cntrRect.top += butPtr->inset;
- cntrRect.right -= butPtr->inset;
- cntrRect.bottom -= butPtr->inset;
-*/
- cntrRect.left += DEF_INSET_LEFT;
- cntrRect.top += DEF_INSET_TOP;
- cntrRect.right -= DEF_INSET_RIGHT;
- cntrRect.bottom -= DEF_INSET_BOTTOM;
-
- /*
- * The control has been previously initialised.
- * It may need to be re-initialised
- */
-#ifdef TK_REBUILD_TOPLEVEL
- rebuild = (winPtr->flags & TK_REBUILD_TOPLEVEL);
- winPtr->flags &= ~TK_REBUILD_TOPLEVEL;
-#else
- rebuild = 0;
-#endif
- if (mbPtr->flags) {
- MacControlParams params;
-
- TkMacOSXComputeControlParams(butPtr, &params);
- if (rebuild || bcmp(&params, &mbPtr->params, sizeof(params))) {
- /*
- * The type of control has changed.
- * Clean it up and clear the flag.
- */
-
- if (mbPtr->userPane) {
- DisposeControl(mbPtr->userPane);
- mbPtr->userPane = NULL;
- mbPtr->control = NULL;
- }
- mbPtr->flags = 0;
- }
- }
- if (!(mbPtr->flags & CONTROL_INITIALIZED)) {
- if (TkMacOSXInitControl(mbPtr, destPort, gc, pixmap, &paneRect,
- &cntrRect)) {
- return;
- }
- }
- SetControlBounds(mbPtr->userPane, &paneRect);
- SetControlBounds(mbPtr->control, &cntrRect);
-
- if (!mbPtr->useTkText) {
- Str255 controlTitle;
- ControlFontStyleRec fontStyle;
- Tk_Font font;
- int len;
-
- if (((mbPtr->info.image == NULL) && (mbPtr->info.bitmap == None))
- || (mbPtr->info.compound != COMPOUND_NONE)) {
- len = TkFontGetFirstTextLayout(butPtr->textLayout,
- &font, (char*) controlTitle);
- controlTitle[len] = 0;
- } else {
- len = 0;
- controlTitle[0] = 0;
- }
- if (rebuild || bcmp(mbPtr->controlTitle, controlTitle, len+1)) {
- CFStringRef cf = CFStringCreateWithCString(NULL,
- (char*) controlTitle, kCFStringEncodingUTF8);
-
- if (cf != NULL) {
- SetControlTitleWithCFString(mbPtr->control, cf);
- CFRelease(cf);
- }
- bcopy(controlTitle, mbPtr->controlTitle, len+1);
- }
- if (len) {
- TkMacOSXInitControlFontStyle(font, &fontStyle);
- if (bcmp(&mbPtr->fontStyle, &fontStyle, sizeof(fontStyle)) ) {
- ChkErr(SetControlFontStyle, mbPtr->control, &fontStyle);
- bcopy(&fontStyle, &mbPtr->fontStyle, sizeof(fontStyle));
- }
- }
- }
- if (mbPtr->params.isBevel) {
- /*
- * Initialiase the image/button parameters.
- */
-
- SetupBevelButton(mbPtr, mbPtr->control, destPort, gc, pixmap);
- }
-
- if (butPtr->flags & SELECTED) {
- SetControlValue(mbPtr->control, 1);
- } else if (butPtr->flags & TRISTATED) {
- SetControlValue(mbPtr->control, 2);
- } else {
- SetControlValue(mbPtr->control, 0);
- }
-
- active = !!(mbPtr->flags & ACTIVE);
- if (active != IsControlActive(mbPtr->control)) {
- if (active) {
- ChkErr(ActivateControl, mbPtr->control);
- } else {
- ChkErr(DeactivateControl, mbPtr->control);
- }
- }
- enabled = !(butPtr->state == STATE_DISABLED);
- if (enabled != IsControlEnabled(mbPtr->control)) {
- if (enabled) {
- ChkErr(EnableControl, mbPtr->control);
- } else {
- ChkErr(DisableControl, mbPtr->control);
- }
- }
- if (active && enabled) {
- if (butPtr->state == STATE_ACTIVE) {
- if (mbPtr->params.isBevel) {
- HiliteControl(mbPtr->control, kControlButtonPart);
- } else {
- switch (butPtr->type) {
- case TYPE_BUTTON:
- HiliteControl(mbPtr->control, kControlButtonPart);
- break;
- case TYPE_RADIO_BUTTON:
- HiliteControl(mbPtr->control, kControlRadioButtonPart);
- break;
- case TYPE_CHECK_BUTTON:
- HiliteControl(mbPtr->control, kControlCheckBoxPart);
- break;
- }
- }
- } else {
- HiliteControl(mbPtr->control, kControlNoPart);
- }
- }
- UpdateControlColors(mbPtr);
-
- if (butPtr->type == TYPE_BUTTON && !mbPtr->params.isBevel) {
- Boolean isDefault;
-
- if (butPtr->defaultState == STATE_ACTIVE) {
- isDefault = true;
- } else {
- isDefault = false;
- }
- ChkErr(SetControlData, mbPtr->control, kControlNoPart,
- kControlPushButtonDefaultTag, sizeof(isDefault), &isDefault);
- }
-
- if (mbPtr->flags & FIRST_DRAW) {
- ShowControl(mbPtr->userPane);
- ShowControl(mbPtr->control);
- mbPtr->flags ^= FIRST_DRAW;
- } else {
- SetControlVisibility(mbPtr->control, true, true);
- Draw1Control(mbPtr->userPane);
- }
-
- if (mbPtr->params.isBevel) {
- if (mbPtr->bevelButtonContent.contentType ==
- kControlContentPictHandle) {
- KillPicture(mbPtr->bevelButtonContent.u.picture);
- }
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SetupBevelButton --
- *
- * Sets up the Bevel Button with image by copying the
- * source image onto the PicHandle for the button.
- *
- * Results:
- * None
- *
- * Side effects:
- * The image or bitmap for the button is copied over to a picture.
- *
- *--------------------------------------------------------------
- */
-
-void
-SetupBevelButton(
- MacButton *mbPtr, /* Mac button. */
- ControlRef controlHandle, /* The control to set this picture to. */
- GWorldPtr destPort, /* Off screen GWorld. */
- GC gc, /* The GC we are drawing into - needed for the
- * bevel button. */
- Pixmap pixmap) /* The pixmap we are drawing into - needed for
- * the bevel button. */
-{
- TkButton *butPtr = (TkButton *) mbPtr;
- int height, width;
- ControlButtonGraphicAlignment theAlignment;
- CGrafPtr savePort;
- Boolean portChanged = false;
-
- if (butPtr->image != None) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- } else {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- }
-
- if ((butPtr->width > 0) && (butPtr->width < width)) {
- width = butPtr->width;
- }
- if ((butPtr->height > 0) && (butPtr->height < height)) {
- height = butPtr->height;
- }
-
- {
- portChanged = QDSwapPort(destPort, &savePort);
- mbPtr->picParams.version = -2;
- mbPtr->picParams.hRes = 0x00480000;
- mbPtr->picParams.vRes = 0x00480000;
- mbPtr->picParams.srcRect.top = 0;
- mbPtr->picParams.srcRect.left = 0;
- mbPtr->picParams.srcRect.bottom = height;
- mbPtr->picParams.srcRect.right = width;
- mbPtr->picParams.reserved1 = 0;
- mbPtr->picParams.reserved2 = 0;
- mbPtr->bevelButtonContent.contentType = kControlContentPictHandle;
- mbPtr->bevelButtonContent.u.picture = OpenCPicture(&mbPtr->picParams);
- if (!mbPtr->bevelButtonContent.u.picture) {
- TkMacOSXDbgMsg("OpenCPicture failed");
- }
- tkPictureIsOpen = 1;
-
- /*
- * TO DO - There is one case where XCopyPlane calls CopyDeepMask,
- * which does not get recorded in the picture. So the bitmap code
- * will fail in that case.
- */
- }
-
- if (butPtr->selectImage != NULL && (butPtr->flags & SELECTED)) {
- Tk_RedrawImage(butPtr->selectImage, 0, 0, width, height, pixmap, 0, 0);
- } else if (butPtr->tristateImage != NULL && (butPtr->flags & TRISTATED)) {
- Tk_RedrawImage(butPtr->tristateImage, 0, 0, width, height, pixmap, 0,
- 0);
- } else if (butPtr->image != NULL) {
- Tk_RedrawImage(butPtr->image, 0, 0, width, height, pixmap, 0, 0);
- } else {
- XSetClipOrigin(butPtr->display, gc, 0, 0);
- XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, gc, 0, 0, width,
- height, 0, 0, 1);
- }
-
- {
- ClosePicture();
- tkPictureIsOpen = 0;
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- }
- ChkErr(SetControlData, controlHandle, kControlButtonPart,
- kControlBevelButtonContentTag,
- sizeof(ControlButtonContentInfo),
- (char *) &mbPtr->bevelButtonContent);
-
- if (butPtr->anchor == TK_ANCHOR_N) {
- theAlignment = kControlBevelButtonAlignTop;
- } else if (butPtr->anchor == TK_ANCHOR_NE) {
- theAlignment = kControlBevelButtonAlignTopRight;
- } else if (butPtr->anchor == TK_ANCHOR_E) {
- theAlignment = kControlBevelButtonAlignRight;
- } else if (butPtr->anchor == TK_ANCHOR_SE) {
- theAlignment = kControlBevelButtonAlignBottomRight;
- } else if (butPtr->anchor == TK_ANCHOR_S) {
- theAlignment = kControlBevelButtonAlignBottom;
- } else if (butPtr->anchor == TK_ANCHOR_SW) {
- theAlignment = kControlBevelButtonAlignBottomLeft;
- } else if (butPtr->anchor == TK_ANCHOR_W) {
- theAlignment = kControlBevelButtonAlignLeft;
- } else if (butPtr->anchor == TK_ANCHOR_NW) {
- theAlignment = kControlBevelButtonAlignTopLeft;
- } else if (butPtr->anchor == TK_ANCHOR_CENTER) {
- theAlignment = kControlBevelButtonAlignCenter;
- }
- ChkErr(SetControlData, controlHandle, kControlButtonPart,
- kControlBevelButtonGraphicAlignTag,
- sizeof(ControlButtonGraphicAlignment), (char *) &theAlignment);
-
- if (butPtr->compound != COMPOUND_NONE) {
- ControlButtonTextPlacement thePlacement =
- kControlBevelButtonPlaceNormally;
-
- if (butPtr->compound == COMPOUND_TOP) {
- thePlacement = kControlBevelButtonPlaceBelowGraphic;
- } else if (butPtr->compound == COMPOUND_BOTTOM) {
- thePlacement = kControlBevelButtonPlaceAboveGraphic;
- } else if (butPtr->compound == COMPOUND_LEFT) {
- thePlacement = kControlBevelButtonPlaceToRightOfGraphic;
- } else if (butPtr->compound == COMPOUND_RIGHT) {
- thePlacement = kControlBevelButtonPlaceToLeftOfGraphic;
- }
- ChkErr(SetControlData, controlHandle, kControlButtonPart,
- kControlBevelButtonTextPlaceTag,
- sizeof(ControlButtonTextPlacement), (char *) &thePlacement);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SetUserPaneDrawProc --
- *
- * Utility function to add a UserPaneDrawProc
- * to a userPane control. From MoreControls code
- * from Apple DTS.
- *
- * Results:
- * MacOS system error.
- *
- * Side effects:
- * The user pane gets a new UserPaneDrawProc.
- *
- *--------------------------------------------------------------
- */
-
-OSStatus
-SetUserPaneDrawProc(
- ControlRef control,
- ControlUserPaneDrawProcPtr upp)
-{
- ControlUserPaneDrawUPP myControlUserPaneDrawUPP;
-
- myControlUserPaneDrawUPP = NewControlUserPaneDrawUPP(upp);
- return SetControlData(control, kControlNoPart,
- kControlUserPaneDrawProcTag, sizeof(myControlUserPaneDrawUPP),
- (Ptr) &myControlUserPaneDrawUPP);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SetUserPaneSetUpSpecialBackgroundProc --
- *
- * Utility function to add a UserPaneBackgroundProc
- * to a userPane control
- *
- * Results:
- * MacOS system error.
- *
- * Side effects:
- * The user pane gets a new UserPaneBackgroundProc.
- *
- *--------------------------------------------------------------
- */
-
-OSStatus
-SetUserPaneSetUpSpecialBackgroundProc(
- ControlRef control,
- ControlUserPaneBackgroundProcPtr upp)
-{
- ControlUserPaneBackgroundUPP myControlUserPaneBackgroundUPP;
-
- myControlUserPaneBackgroundUPP = NewControlUserPaneBackgroundUPP(upp);
- return SetControlData(control, kControlNoPart,
- kControlUserPaneBackgroundProcTag,
- sizeof(myControlUserPaneBackgroundUPP),
- (Ptr) &myControlUserPaneBackgroundUPP);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UserPaneDraw --
- *
- * This function draws the background of the user pane that will
- * lie under checkboxes and radiobuttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The user pane gets updated to the current color.
- *
- *--------------------------------------------------------------
- */
-
-void
-UserPaneDraw(
- ControlRef control,
- ControlPartCode cpc)
-{
- MacButton *mbPtr = (MacButton *)(intptr_t)GetControlReference(control);
- Rect contrlRect;
- CGrafPtr port;
-
- GetPort(&port);
- GetControlBounds(control,&contrlRect);
- TkMacOSXSetColorInPort(mbPtr->userPaneBackground, 0, NULL, port);
- EraseRect(&contrlRect);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UserPaneBackgroundProc --
- *
- * This function sets up the background of the user pane that will
- * lie under checkboxes and radiobuttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The user pane background gets set to the current color.
- *
- *--------------------------------------------------------------
- */
-
-void
-UserPaneBackgroundProc(
- ControlHandle control,
- ControlBackgroundPtr info)
-{
- MacButton * mbPtr = (MacButton *)(intptr_t)GetControlReference(control);
-
- if (info->colorDevice) {
- CGrafPtr port;
-
- GetPort(&port);
- TkMacOSXSetColorInPort(mbPtr->userPaneBackground, 0, NULL, port);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UpdateControlColors --
- *
- * This function will review the colors used to display
- * a Macintosh button. If any non-standard colors are
- * used we create a custom palette for the button, populate
- * with the colors for the button and install the palette.
- *
- * Under Appearance, we just set the pointer that will be
- * used by the UserPaneDrawProc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The Macintosh control may get a custom palette installed.
- *
- *--------------------------------------------------------------
- */
-
-static int
-UpdateControlColors(
- MacButton *mbPtr)
-{
- XColor *xcolor;
- TkButton *butPtr = (TkButton *) mbPtr;
-
- /*
- * Under Appearance we cannot change the background of the
- * button itself. However, the color we are setting is the color
- * of the containing userPane. This will be the color that peeks
- * around the rounded corners of the button.
- * We make this the highlightbackground rather than the background,
- * because if you color the background of a frame containing a
- * button, you usually also color the highlightbackground as well,
- * or you will get a thin grey ring around the button.
- */
-
- if (butPtr->type == TYPE_BUTTON) {
- xcolor = Tk_3DBorderColor(butPtr->highlightBorder);
- } else {
- xcolor = Tk_3DBorderColor(butPtr->normalBorder);
- }
- mbPtr->userPaneBackground = xcolor->pixel;
-
- return false;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ButtonEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for various
- * events on buttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-ButtonEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- TkButton *buttonPtr = (TkButton *) clientData;
- MacButton *mbPtr = (MacButton *) clientData;
-
- if (eventPtr->type == ActivateNotify
- || eventPtr->type == DeactivateNotify) {
- if ((buttonPtr->tkwin == NULL) || (!Tk_IsMapped(buttonPtr->tkwin))) {
- return;
- }
- if (eventPtr->type == ActivateNotify) {
- mbPtr->flags |= ACTIVE;
- } else {
- mbPtr->flags &= ~ACTIVE;
- }
- if (!(buttonPtr->flags & REDRAW_PENDING)) {
- Tcl_DoWhenIdle(TkpDisplayButton, (ClientData) buttonPtr);
- buttonPtr->flags |= REDRAW_PENDING;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXComputeControlParams --
- *
- * This procedure computes the various parameters used
- * when creating a Carbon control (NewControl).
- * These are determined by the various tk button parameters
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the control initialisation parameters
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TkMacOSXComputeControlParams(
- TkButton *butPtr,
- MacControlParams *paramsPtr)
-{
- paramsPtr->isBevel = 0;
-
- /*
- * Determine ProcID based on button type and dimensions.
- */
-
- switch (butPtr->type) {
- case TYPE_BUTTON:
- if ((butPtr->image == None) && (butPtr->bitmap == None)) {
- paramsPtr->initialValue = 1;
- paramsPtr->minValue = 0;
- paramsPtr->maxValue = 1;
- paramsPtr->procID = kControlPushButtonProc;
- } else {
- paramsPtr->initialValue = 0;
- paramsPtr->minValue = kControlBehaviorOffsetContents |
- kControlContentPictHandle;
- paramsPtr->maxValue = 1;
- if (butPtr->borderWidth <= 2) {
- paramsPtr->procID = kControlBevelButtonSmallBevelProc;
- } else if (butPtr->borderWidth == 3) {
- paramsPtr->procID = kControlBevelButtonNormalBevelProc;
- } else {
- paramsPtr->procID = kControlBevelButtonLargeBevelProc;
- }
- paramsPtr->isBevel = 1;
- }
- break;
- case TYPE_RADIO_BUTTON:
- if (((butPtr->image == None) && (butPtr->bitmap == None))
- || (butPtr->indicatorOn)) {
- paramsPtr->initialValue = 1;
- paramsPtr->minValue = 0;
- paramsPtr->maxValue = MAX_VALUE;
- paramsPtr->procID = kControlRadioButtonProc;
- } else {
- paramsPtr->initialValue = 0;
- paramsPtr->minValue = kControlBehaviorOffsetContents |
- kControlBehaviorSticky | kControlContentPictHandle;
- paramsPtr->maxValue = MAX_VALUE;
- if (butPtr->borderWidth <= 2) {
- paramsPtr->procID = kControlBevelButtonSmallBevelProc;
- } else if (butPtr->borderWidth == 3) {
- paramsPtr->procID = kControlBevelButtonNormalBevelProc;
- } else {
- paramsPtr->procID = kControlBevelButtonLargeBevelProc;
- }
- paramsPtr->isBevel = 1;
- }
- break;
- case TYPE_CHECK_BUTTON:
- if (((butPtr->image == None) && (butPtr->bitmap == None))
- || (butPtr->indicatorOn)) {
- paramsPtr->initialValue = 1;
- paramsPtr->minValue = 0;
- paramsPtr->maxValue = MAX_VALUE;
- paramsPtr->procID = kControlCheckBoxProc;
- } else {
- paramsPtr->initialValue = 0;
- paramsPtr->minValue = kControlBehaviorOffsetContents |
- kControlBehaviorSticky | kControlContentPictHandle;
- paramsPtr->maxValue = MAX_VALUE;
- if (butPtr->borderWidth <= 2) {
- paramsPtr->procID = kControlBevelButtonSmallBevelProc;
- } else if (butPtr->borderWidth == 3) {
- paramsPtr->procID = kControlBevelButtonNormalBevelProc;
- } else {
- paramsPtr->procID = kControlBevelButtonLargeBevelProc;
- }
- paramsPtr->isBevel = 1;
- }
- break;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXComputeDrawParams --
- *
- * This procedure computes the various parameters used
- * when drawing a button
- * These are determined by the various tk button parameters
- *
- * Results:
- * 1 if control will be used, 0 otherwise.
- *
- * Side effects:
- * Sets the button draw parameters
- *
- *----------------------------------------------------------------------
- */
-
-static int
-TkMacOSXComputeDrawParams(
- TkButton *butPtr,
- DrawParams *dpPtr)
-{
- dpPtr->hasImageOrBitmap = ((butPtr->image != NULL)
- || (butPtr->bitmap != None));
- dpPtr->offset = (butPtr->type == TYPE_BUTTON)
- && dpPtr->hasImageOrBitmap;
- dpPtr->border = butPtr->normalBorder;
- if ((butPtr->state == STATE_DISABLED) && (butPtr->disabledFg != NULL)) {
- dpPtr->gc = butPtr->disabledGC;
- } else if (butPtr->type == TYPE_BUTTON && butPtr->state == STATE_ACTIVE) {
- dpPtr->gc = butPtr->activeTextGC;
- dpPtr->border = butPtr->activeBorder;
- } else {
- dpPtr->gc = butPtr->normalTextGC;
- }
-
- if ((butPtr->flags & SELECTED) && (butPtr->state != STATE_ACTIVE)
- && (butPtr->selectBorder != NULL) && !butPtr->indicatorOn) {
- dpPtr->border = butPtr->selectBorder;
- }
-
- /*
- * Override the relief specified for the button if this is a
- * checkbutton or radiobutton and there's no indicator.
- * However, don't do this in the presence of Appearance, since
- * then the bevel button will take care of the relief.
- */
-
- dpPtr->relief = butPtr->relief;
-
- if ((butPtr->type >= TYPE_CHECK_BUTTON) && !butPtr->indicatorOn) {
- if (!dpPtr->hasImageOrBitmap) {
- dpPtr->relief = (butPtr->flags & SELECTED) ? TK_RELIEF_SUNKEN
- : TK_RELIEF_RAISED;
- }
- }
-
- /*
- * Determine the draw type
- */
-
- if (butPtr->type == TYPE_LABEL) {
- dpPtr->drawType = DRAW_LABEL;
- } else if (butPtr->type == TYPE_BUTTON) {
- if (!dpPtr->hasImageOrBitmap) {
- dpPtr->drawType = DRAW_CONTROL;
- } else if (butPtr->image != None) {
- dpPtr->drawType = DRAW_BEVEL;
- } else {
- /*
- * TO DO - The current way the we draw bitmaps (XCopyPlane)
- * uses CopyDeepMask in this one case. The Picture recording
- * does not record this call, and so we can't use the
- * Appearance bevel button here. The only case that would
- * exercise this is if you use a bitmap, with
- * -data & -mask specified. We should probably draw the
- * appearance button and overprint the image in this case.
- * This just punts and draws the old-style, ugly, button.
- */
-
- if (dpPtr->gc->clip_mask == 0) {
- dpPtr->drawType = DRAW_BEVEL;
- } else {
- TkpClipMask *clipPtr = (TkpClipMask *) dpPtr->gc->clip_mask;
-
- if ((clipPtr->type == TKP_CLIP_PIXMAP) &&
- (clipPtr->value.pixmap != butPtr->bitmap)) {
- dpPtr->drawType = DRAW_CUSTOM;
- } else {
- dpPtr->drawType = DRAW_BEVEL;
- }
- }
- }
- } else if (butPtr->indicatorOn) {
- dpPtr->drawType = DRAW_CONTROL;
- } else if (dpPtr->hasImageOrBitmap) {
- if (dpPtr->gc->clip_mask == 0) {
- dpPtr->drawType = DRAW_BEVEL;
- } else {
- TkpClipMask *clipPtr = (TkpClipMask*) dpPtr->gc->clip_mask;
-
- if ((clipPtr->type == TKP_CLIP_PIXMAP) &&
- (clipPtr->value.pixmap != butPtr->bitmap)) {
- dpPtr->drawType = DRAW_CUSTOM;
- } else {
- dpPtr->drawType = DRAW_BEVEL;
- }
- }
- } else {
- dpPtr->drawType = DRAW_CUSTOM;
- }
-
- if ((dpPtr->drawType == DRAW_CONTROL) || (dpPtr->drawType == DRAW_BEVEL)) {
- return 1;
- } else {
- return 0;
- }
-}
diff --git a/carbon/tkMacOSXCarbonEvents.c b/carbon/tkMacOSXCarbonEvents.c
deleted file mode 100644
index 1f60eaf..0000000
--- a/carbon/tkMacOSXCarbonEvents.c
+++ /dev/null
@@ -1,693 +0,0 @@
-/*
- * tkMacOSXCarbonEvents.c --
- *
- * This file implements functions that register for and handle
- * 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 (c) 2005-2008 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
- * unless explicitly disclaimed in individual files.
- *
- *
- * Apple hereby grants permission to use, copy, modify,
- * distribute, and license this software and its documentation
- * for any purpose, provided that existing copyright notices are
- * retained in all copies and that this notice is included
- * verbatim in any distributions. No written agreement, license,
- * or royalty fee is required for any of the authorized
- * uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms
- * described here, provided that the new terms are clearly
- * indicated on the first page of each file where they apply.
- *
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
- * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
- * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
- * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND
- * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
- * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
- * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf
- * of the U.S. government, the Government shall have only
- * "Restricted Rights" in the software and related documentation
- * as defined in the Federal Acquisition Regulations (FARs) in
- * Clause 52.227.19 (c) (2). If you are acquiring the software
- * on behalf of the Department of Defense, the software shall be
- * classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in
- * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
- * foregoing, the authors grant the U.S. Government and others
- * acting in its behalf permission to use and distribute the
- * software in accordance with the terms specified in this
- * license.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_CARBON_EVENTS
-#endif
-*/
-
-/*
- * Declarations of functions used only in this file:
- */
-
-static OSStatus CarbonEventHandlerProc(EventHandlerCallRef callRef,
- EventRef event, void *userData);
-static OSStatus InstallStandardApplicationEventHandler(void);
-static void CarbonTimerProc(EventLoopTimerRef timer, void *userData);
-
-/*
- * Static data used by several functions in this file:
- */
-
-static EventLoopTimerRef carbonTimer = NULL;
-static int carbonTimerEnabled = 0;
-static EventHandlerUPP carbonEventHandlerUPP = NULL;
-static Tcl_Interp *carbonEventInterp = NULL;
-static int inTrackingLoop = 0;
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050
-/*
- * For InstallStandardApplicationEventHandler():
- */
-
-static jmp_buf exitRaelJmpBuf;
-static void ExitRaelEventHandlerProc(EventHandlerCallRef callRef,
- EventRef event, void *userData) __attribute__ ((__noreturn__));
-#endif
-
-
-/*
- *----------------------------------------------------------------------
- *
- * CarbonEventHandlerProc --
- *
- * This procedure is the handler for all registered CarbonEvents.
- *
- * Results:
- * OS status code.
- *
- * Side effects:
- * Dispatches CarbonEvents.
- *
- *----------------------------------------------------------------------
- */
-
-static OSStatus
-CarbonEventHandlerProc(
- EventHandlerCallRef callRef,
- EventRef event,
- void *userData)
-{
- OSStatus err = eventNotHandledErr;
- TkMacOSXEvent macEvent;
- MacEventStatus eventStatus;
-
- macEvent.eventRef = event;
- macEvent.eClass = GetEventClass(event);
- macEvent.eKind = GetEventKind(event);
- macEvent.interp = (Tcl_Interp *) userData;
- macEvent.callRef = callRef;
- bzero(&eventStatus, sizeof(eventStatus));
-
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- if (!(macEvent.eClass == kEventClassMouse && (
- macEvent.eKind == kEventMouseMoved ||
- macEvent.eKind == kEventMouseDragged))) {
- TkMacOSXDbgMsg("Started handling %s",
- TkMacOSXCarbonEventToAscii(event));
- TkMacOSXInitNamedDebugSymbol(HIToolbox, void, _DebugPrintEvent,
- EventRef inEvent);
- if (_DebugPrintEvent) {
- /*
- * Carbon-internal event debugging (c.f. Technote 2124)
- */
-
- _DebugPrintEvent(event);
- }
- }
-#endif /* TK_MAC_DEBUG_CARBON_EVENTS */
-
- TkMacOSXProcessEvent(&macEvent,&eventStatus);
- if (eventStatus.stopProcessing) {
- err = noErr;
- }
-
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- if (macEvent.eKind != kEventMouseMoved &&
- macEvent.eKind != kEventMouseDragged) {
- TkMacOSXDbgMsg("Finished handling %s: %s handled",
- TkMacOSXCarbonEventToAscii(event),
- eventStatus.stopProcessing ? " " : "not");
- }
-#endif /* TK_MAC_DEBUG_CARBON_EVENTS */
- return err;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitCarbonEvents --
- *
- * This procedure initializes all CarbonEvent handlers.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Handlers for Carbon Events are registered.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXInitCarbonEvents(
- Tcl_Interp *interp)
-{
- const EventTypeSpec dispatcherEventTypes[] = {
- {kEventClassKeyboard, kEventRawKeyDown},
- {kEventClassKeyboard, kEventRawKeyRepeat},
- {kEventClassKeyboard, kEventRawKeyUp},
- {kEventClassKeyboard, kEventRawKeyModifiersChanged},
- {kEventClassKeyboard, kEventRawKeyRepeat},
- };
- const EventTypeSpec applicationEventTypes[] = {
- {kEventClassMenu, kEventMenuBeginTracking},
- {kEventClassMenu, kEventMenuEndTracking},
- {kEventClassMenu, kEventMenuOpening},
- {kEventClassMenu, kEventMenuTargetItem},
- {kEventClassCommand, kEventCommandProcess},
- {kEventClassCommand, kEventCommandUpdateStatus},
- {kEventClassApplication, kEventAppActivated},
- {kEventClassApplication, kEventAppDeactivated},
- {kEventClassApplication, kEventAppQuit},
- {kEventClassApplication, kEventAppHidden},
- {kEventClassApplication, kEventAppShown},
- {kEventClassApplication, kEventAppAvailableWindowBoundsChanged},
- {kEventClassAppearance, kEventAppearanceScrollBarVariantChanged},
- {kEventClassFont, kEventFontPanelClosed},
- {kEventClassFont, kEventFontSelection},
- };
-
- carbonEventHandlerUPP = NewEventHandlerUPP(CarbonEventHandlerProc);
- carbonEventInterp = interp;
- ChkErr(InstallStandardApplicationEventHandler);
- ChkErr(InstallEventHandler, GetEventDispatcherTarget(),
- carbonEventHandlerUPP, GetEventTypeCount(dispatcherEventTypes),
- dispatcherEventTypes, (void *) carbonEventInterp, NULL);
- ChkErr(InstallEventHandler, GetApplicationEventTarget(),
- carbonEventHandlerUPP, GetEventTypeCount(applicationEventTypes),
- applicationEventTypes, (void *) carbonEventInterp, NULL);
-
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- TkMacOSXInitNamedSymbol(HIToolbox, void, DebugTraceEvent, OSType, UInt32,
- Boolean);
- if (DebugTraceEvent) {
- unsigned int i;
- const EventTypeSpec *e;
-
- for (i = 0, e = dispatcherEventTypes;
- i < GetEventTypeCount(dispatcherEventTypes); i++, e++) {
- DebugTraceEvent(e->eventClass, e->eventKind, 1);
- }
- for (i = 0, e = applicationEventTypes;
- i < GetEventTypeCount(applicationEventTypes); i++, e++) {
- DebugTraceEvent(e->eventClass, e->eventKind, 1);
- }
- DebugTraceEvent = NULL; /* Only enable tracing once. */
- }
-#endif /* TK_MAC_DEBUG_CARBON_EVENTS */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInstallWindowCarbonEventHandler --
- *
- * This procedure installs our window CarbonEvent handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Handler for Carbon Events is registered.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXInstallWindowCarbonEventHandler(
- Tcl_Interp *interp, WindowRef window)
-{
- const EventTypeSpec windowEventTypes[] = {
- {kEventClassMouse, kEventMouseDown},
- {kEventClassMouse, kEventMouseUp},
- {kEventClassMouse, kEventMouseMoved},
- {kEventClassMouse, kEventMouseDragged},
- {kEventClassMouse, kEventMouseWheelMoved},
- {kEventClassWindow, kEventWindowActivated},
- {kEventClassWindow, kEventWindowDeactivated},
- {kEventClassWindow, kEventWindowUpdate},
- {kEventClassWindow, kEventWindowExpanding},
- {kEventClassWindow, kEventWindowBoundsChanged},
- {kEventClassWindow, kEventWindowDragStarted},
- {kEventClassWindow, kEventWindowDragCompleted},
- {kEventClassWindow, kEventWindowConstrain},
- {kEventClassWindow, kEventWindowGetRegion},
- {kEventClassWindow, kEventWindowDrawContent},
- };
-
- ChkErr(InstallEventHandler, GetWindowEventTarget(window),
- carbonEventHandlerUPP, GetEventTypeCount(windowEventTypes),
- windowEventTypes, (void *) (interp ? interp : carbonEventInterp),
- NULL);
-
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- TkMacOSXInitNamedSymbol(HIToolbox, void, DebugTraceEvent, OSType, UInt32,
- Boolean);
- if (DebugTraceEvent) {
- unsigned int i;
- const EventTypeSpec *e;
-
- for (i = 0, e = windowEventTypes;
- i < GetEventTypeCount(windowEventTypes); i++, e++) {
- if (!(e->eventClass == kEventClassMouse && (
- e->eventKind == kEventMouseMoved ||
- e->eventKind == kEventMouseDragged))) {
- DebugTraceEvent(e->eventClass, e->eventKind, 1);
- }
- }
- }
-#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(void)
-{
- OSStatus err = memFullErr;
-
- TK_IF_HI_TOOLBOX(5,
- /*
- * The approach below does not work correctly in Leopard, it leads to
- * crashes in [NSView unlockFocus] whenever HIToolbox uses Cocoa (Help
- * menu, Nav Services, Color Picker). While it is now possible to
- * install the standard app handler with InstallStandardEventHandler(),
- * to fully replicate RAEL the standard menubar event handler also needs
- * to be installed. Unfortunately there appears to be no public API to
- * obtain the menubar event target. As a workaround, for now we resort
- * to calling the HIToolbox-internal GetMenuBarEventTarget() directly
- * (symbol acquired via TkMacOSXInitNamedSymbol() from HIToolbox
- * version 343, may not exist in later versions).
- */
- err = ChkErr(InstallStandardEventHandler, GetApplicationEventTarget());
- TkMacOSXInitNamedSymbol(HIToolbox, EventTargetRef,
- GetMenuBarEventTarget, void);
- if (GetMenuBarEventTarget) {
- ChkErr(InstallStandardEventHandler, GetMenuBarEventTarget());
- } else {
- TkMacOSXDbgMsg("Unable to install standard menubar event handler");
- }
- ) TK_ELSE_HI_TOOLBOX (5,
- /*
- * 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;
-
- exitRaelEventHandler = NewEventHandlerUPP(
- (EventHandlerProcPtr) ExitRaelEventHandlerProc);
- if (exitRaelEventHandler) {
- err = ChkErr(InstallEventHandler, GetEventDispatcherTarget(),
- exitRaelEventHandler, 1, &exitRaelEventType, NULL,
- &exitRaelEventHandlerRef);
- }
- if (err == noErr) {
- err = ChkErr(CreateEvent, NULL, kExitRaelEvent, kExitRaelEvent,
- GetCurrentEventTime(), kEventAttributeNone,
- &exitRaelEvent);
- }
- if (err == noErr) {
- err = ChkErr(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);
- }
- ) TK_ENDIF
- return err;
-}
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050
-/*
- *----------------------------------------------------------------------
- *
- * 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);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXRunTclEventLoop --
- *
- * Process a limited number of tcl events.
- *
- * Results:
- * Returns 1 if events were handled and 0 otherwise.
- *
- * Side effects:
- * Runs the Tcl event loop.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXRunTclEventLoop(void)
-{
- int i = 4, result = 0;
-
- /* Avoid starving main event loop: process at most 4 events. */
- while(--i && Tcl_ServiceAll()) {
- result = 1;
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * CarbonTimerProc --
- *
- * This procedure is the carbon timer handler that runs the tcl
- * event loop periodically.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Runs the Tcl event loop.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-CarbonTimerProc(
- EventLoopTimerRef timer,
- void *userData)
-{
- if(carbonTimerEnabled > 0 && TkMacOSXRunTclEventLoop()) {
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- TkMacOSXDbgMsg("Processed tcl events from carbon timer");
-#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 might
- * run by HIToolbox (e.g. during mouse tracking) to ensure that
- * tcl events continue to be processed.
- *
- * Results:
- * OS status code.
- *
- * Side effects:
- * Carbon event timer is installed and started.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE OSStatus
-TkMacOSXStartTclEventLoopCarbonTimer(void)
-{
- OSStatus err = noErr;
-
- if (++carbonTimerEnabled > 0) {
- if(!carbonTimer) {
- EventLoopTimerUPP timerUPP = NewEventLoopTimerUPP(CarbonTimerProc);
-
- err = ChkErr(InstallEventLoopTimer, GetMainEventLoop(),
- 5 * kEventDurationMillisecond,
- 5 * kEventDurationMillisecond,
- timerUPP, NULL, &carbonTimer);
- } else {
- err = ChkErr(SetEventLoopTimerNextFireTime, carbonTimer,
- 5 * kEventDurationMillisecond);
- }
- }
- return err;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXStopTclEventLoopCarbonTimer --
- *
- * This procedure stops the carbon event timer started by
- * TkMacOSXStartTclEventLoopCarbonTimer().
- *
- * Results:
- * OS status code.
- *
- * Side effects:
- * Carbon event timer is stopped.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE OSStatus
-TkMacOSXStopTclEventLoopCarbonTimer(void)
-{
- OSStatus err = noErr;
-
- if (--carbonTimerEnabled == 0) {
- if(carbonTimer) {
- err = ChkErr(SetEventLoopTimerNextFireTime, carbonTimer,
- kEventDurationForever);
- }
- }
- return err;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXTrackingLoop --
- *
- * Call with 1 before entering a mouse tracking loop (e.g. window
- * resizing or menu tracking) to enable tcl event processing but
- * disable carbon event processing (except for update events)
- * during the loop, and with 0 after exiting the loop to reset.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXTrackingLoop(
- int tracking)
-{
- static int previousServiceMode = TCL_SERVICE_NONE;
-
- if (tracking) {
- inTrackingLoop++;
- previousServiceMode = Tcl_SetServiceMode(TCL_SERVICE_ALL);
- TkMacOSXStartTclEventLoopCarbonTimer();
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- TkMacOSXDbgMsg("Entering tracking loop");
-#endif /* TK_MAC_DEBUG_CARBON_EVENTS */
- } else {
- TkMacOSXStopTclEventLoopCarbonTimer();
- previousServiceMode = Tcl_SetServiceMode(previousServiceMode);
- inTrackingLoop--;
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- TkMacOSXDbgMsg("Exiting tracking loop");
-#endif /* TK_MAC_DEBUG_CARBON_EVENTS */
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXReceiveAndDispatchEvent --
- *
- * This receives a carbon event and sends it to the carbon event
- * dispatcher.
- *
- * Results:
- * Mac OS status
- *
- * Side effects:
- * This receives and dispatches the next Carbon event.
- *
- *----------------------------------------------------------------------
- */
-MODULE_SCOPE OSStatus
-TkMacOSXReceiveAndDispatchEvent(void)
-{
- static EventTargetRef targetRef = NULL;
- int numEventTypes = 0;
- const EventTypeSpec *eventTypes = NULL;
- EventRef eventRef;
- OSStatus err;
- const EventTypeSpec trackingEventTypes[] = {
- {'dniw', kEventWindowUpdate},
- {kEventClassWindow, kEventWindowUpdate},
- };
-
- if (inTrackingLoop > 0) {
- eventTypes = trackingEventTypes;
- numEventTypes = GetEventTypeCount(trackingEventTypes);
- }
-
- /*
- * This is a poll, since we have already counted the events coming
- * into this routine, and are guaranteed to have one waiting.
- */
-
- err = ReceiveNextEvent(numEventTypes, eventTypes,
- kEventDurationNoWait, true, &eventRef);
- if (err == noErr) {
-#ifdef TK_MAC_DEBUG_CARBON_EVENTS
- UInt32 kind = GetEventKind(eventRef);
-
- if (kind != kEventMouseMoved && kind != kEventMouseDragged) {
- TkMacOSXDbgMsg("Dispatching %s", TkMacOSXCarbonEventToAscii(eventRef));
- TkMacOSXInitNamedDebugSymbol(HIToolbox, void, _DebugPrintEvent,
- EventRef inEvent);
- if (_DebugPrintEvent) {
- /* Carbon-internal event debugging (c.f. Technote 2124) */
- _DebugPrintEvent(eventRef);
- }
- }
-#endif /* TK_MAC_DEBUG_CARBON_EVENTS */
- if (!targetRef) {
- targetRef = GetEventDispatcherTarget();
- }
- TkMacOSXStartTclEventLoopCarbonTimer();
- err = SendEventToEventTarget(eventRef, targetRef);
- TkMacOSXStopTclEventLoopCarbonTimer();
- if (err != noErr && err != eventLoopTimedOutErr
- && err != eventNotHandledErr) {
- TkMacOSXDbgMsg("SendEventToEventTarget(%s) failed: %ld",
- TkMacOSXCarbonEventToAscii(eventRef), err);
- }
- ReleaseEvent(eventRef);
- } else if (err != eventLoopTimedOutErr) {
- TkMacOSXDbgMsg("ReceiveNextEvent failed: %ld", err);
- }
- return err;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXClipboard.c b/carbon/tkMacOSXClipboard.c
deleted file mode 100644
index a57ec58..0000000
--- a/carbon/tkMacOSXClipboard.c
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * tkMacOSXClipboard.c --
- *
- * This file manages the clipboard for the Tk toolkit.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkSelect.h"
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSelGetSelection --
- *
- * Retrieve the specified selection from another process. For now, only
- * fetching XA_STRING from CLIPBOARD is supported. Eventually other types
- * should be allowed.
- *
- * Results:
- * The return value is a standard Tcl return value. If an error occurs
- * (such as no selection exists) then an error message is left in the
- * interp's result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkSelGetSelection(
- Tcl_Interp *interp, /* Interpreter to use for reporting errors. */
- Tk_Window tkwin, /* Window on whose behalf to retrieve the
- * selection (determines display from which to
- * retrieve). */
- Atom selection, /* Selection to retrieve. */
- Atom target, /* Desired form in which selection is to be
- * returned. */
- Tk_GetSelProc *proc, /* Procedure to call to process the selection,
- * once it has been retrieved. */
- ClientData clientData) /* Arbitrary value to pass to proc. */
-{
- int result;
- OSStatus err;
- long length;
- ScrapRef scrapRef;
- char *buf;
-
- if ((selection == Tk_InternAtom(tkwin, "CLIPBOARD"))
- && (target == XA_STRING)) {
- /*
- * Get the scrap from the Macintosh global clipboard.
- */
-
- err = ChkErr(GetCurrentScrap, &scrapRef);
- if (err != noErr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s GetCurrentScrap failed.",
- Tk_GetAtomName(tkwin, selection)));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "SCRAP", NULL);
- return TCL_ERROR;
- }
-
- /*
- * Try UNICODE first
- */
-
- err = ChkErr(GetScrapFlavorSize, scrapRef, kScrapFlavorTypeUnicode,
- &length);
- if (err == noErr && length > 0) {
- Tcl_DString ds;
- char *data;
-
- buf = ckalloc(length + 2);
- buf[length] = 0;
- buf[length+1] = 0; /* 2-byte unicode null */
- err = ChkErr(GetScrapFlavorData, scrapRef,
- kScrapFlavorTypeUnicode, &length, buf);
- if (err == noErr) {
- Tcl_DStringInit(&ds);
- Tcl_UniCharToUtfDString((Tcl_UniChar *) buf,
- Tcl_UniCharLen((Tcl_UniChar *) buf), &ds);
- for (data = Tcl_DStringValue(&ds); *data != '\0'; data++) {
- if (*data == '\r') {
- *data = '\n';
- }
- }
- result = proc(clientData, interp, Tcl_DStringValue(&ds));
- Tcl_DStringFree(&ds);
- ckfree(buf);
- return result;
- }
- }
-
- err = ChkErr(GetScrapFlavorSize, scrapRef, 'TEXT', &length);
- if (err != noErr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s GetScrapFlavorSize failed.",
- Tk_GetAtomName(tkwin, selection)));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "FLAVORSIZE", NULL);
- return TCL_ERROR;
- }
- if (length > 0) {
- Tcl_DString encodedText;
- char *data;
-
- buf = ckalloc(length + 1);
- buf[length] = 0;
- err = ChkErr(GetScrapFlavorData, scrapRef, 'TEXT', &length, buf);
- if (err != noErr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s GetScrapFlavorData failed.",
- Tk_GetAtomName(tkwin, selection)));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "FLAVORDATA",
- NULL);
- return TCL_ERROR;
- }
-
- /*
- * Tcl expects '\n' not '\r' as the line break character.
- */
-
- for (data = buf; *data != '\0'; data++) {
- if (*data == '\r') {
- *data = '\n';
- }
- }
-
- Tcl_ExternalToUtfDString(TkMacOSXCarbonEncoding, buf, length,
- &encodedText);
- result = proc(clientData, interp, Tcl_DStringValue(&encodedText));
- Tcl_DStringFree(&encodedText);
-
- ckfree(buf);
- return result;
- }
- }
-
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s selection doesn't exist or form \"%s\" not defined",
- Tk_GetAtomName(tkwin, selection), Tk_GetAtomName(tkwin, target)));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "EXISTS", NULL);
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSetSelectionOwner --
- *
- * This function claims ownership of the specified selection. If the
- * selection is CLIPBOARD, then we empty the system clipboard.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XSetSelectionOwner(
- Display *display, /* X Display. */
- Atom selection, /* What selection to own. */
- Window owner, /* Window to be the owner. */
- Time time) /* The current time? */
-{
- Tk_Window tkwin;
- TkDisplay *dispPtr;
-
- /*
- * This is a gross hack because the Tk_InternAtom interface is broken. It
- * expects a Tk_Window, even though it only needs a Tk_Display.
- */
-
- tkwin = (Tk_Window) TkGetMainInfoList()->winPtr;
-
- if (selection == Tk_InternAtom(tkwin, "CLIPBOARD")) {
- /*
- * Only claim and empty the clipboard if we aren't already the owner
- * of the clipboard.
- */
-
- dispPtr = TkGetMainInfoList()->winPtr->dispPtr;
- if (dispPtr->clipboardActive) {
- return Success;
- }
- ClearCurrentScrap();
- }
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSelUpdateClipboard --
- *
- * This function is called to force the clipboard to be updated after new
- * data is added. On the Mac we don't need to do anything.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSelUpdateClipboard(
- TkWindow *winPtr, /* Window associated with clipboard. */
- TkClipboardTarget *targetPtr)
- /* Info about the content. */
-{
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkSelEventProc --
- *
- * This procedure is invoked whenever a selection-related event occurs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Lots: depends on the type of event.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkSelEventProc(
- Tk_Window tkwin, /* Window for which event was targeted. */
- register XEvent *eventPtr) /* X event: either SelectionClear,
- * SelectionRequest, or SelectionNotify. */
-{
- if (eventPtr->type == SelectionClear) {
- TkSelClearSelection(tkwin, eventPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSelPropProc --
- *
- * This procedure is invoked when property-change events occur on windows
- * not known to the toolkit. This is a stub function under Windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSelPropProc(
- register XEvent *eventPtr) /* X PropertyChange event. */
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSuspendClipboard --
- *
- * Handle clipboard conversion as required by the suppend event. This
- * function is also called on exit.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The local scrap is moved to the global scrap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSuspendClipboard(void)
-{
- TkClipboardTarget *targetPtr;
- TkClipboardBuffer *cbPtr;
- TkDisplay *dispPtr;
- char *buffer, *p, *endPtr, *buffPtr;
- long length;
- ScrapRef scrapRef;
-
- dispPtr = TkGetDisplayList();
- if ((dispPtr == NULL) || !dispPtr->clipboardActive) {
- return;
- }
-
- for (targetPtr = dispPtr->clipTargetPtr; targetPtr != NULL;
- targetPtr = targetPtr->nextPtr) {
- if (targetPtr->type == XA_STRING) {
- break;
- }
- }
- if (targetPtr != NULL) {
- Tcl_DString encodedText, unicodedText;
-
- length = 0;
- for (cbPtr = targetPtr->firstBufferPtr; cbPtr != NULL;
- cbPtr = cbPtr->nextPtr) {
- length += cbPtr->length;
- }
-
- buffer = ckalloc(length);
- buffPtr = buffer;
- for (cbPtr = targetPtr->firstBufferPtr; cbPtr != NULL;
- cbPtr = cbPtr->nextPtr) {
- for (p = cbPtr->buffer, endPtr = p + cbPtr->length;
- p < endPtr; p++) {
- if (*p == '\n') {
- *buffPtr++ = '\r';
- } else {
- *buffPtr++ = *p;
- }
- }
- }
-
- ClearCurrentScrap();
- GetCurrentScrap(&scrapRef);
- Tcl_UtfToExternalDString(TkMacOSXCarbonEncoding, buffer, length,
- &encodedText);
- PutScrapFlavor(scrapRef, 'TEXT', 0, Tcl_DStringLength(&encodedText),
- Tcl_DStringValue(&encodedText));
- Tcl_DStringFree(&encodedText);
-
- /*
- * Also put unicode data on scrap.
- */
-
- Tcl_DStringInit(&unicodedText);
- Tcl_UtfToUniCharDString(buffer, length, &unicodedText);
- PutScrapFlavor(scrapRef, kScrapFlavorTypeUnicode, 0,
- Tcl_DStringLength(&unicodedText),
- Tcl_DStringValue(&unicodedText));
- Tcl_DStringFree(&unicodedText);
-
- ckfree(buffer);
- }
-
- /*
- * The system now owns the scrap. We tell Tk that it has lost the
- * selection so that it will look for it the next time it needs it.
- * (Window list NULL if quiting.)
- */
-
- if (TkGetMainInfoList() != NULL) {
- Tk_ClearSelection((Tk_Window) TkGetMainInfoList()->winPtr,
- Tk_InternAtom((Tk_Window) TkGetMainInfoList()->winPtr,
- "CLIPBOARD"));
- }
-
- return;
-}
-
-/*
- * Local Variables:
- * fill-column: 78
- * c-basic-offset: 4
- * End:
- */
diff --git a/carbon/tkMacOSXColor.c b/carbon/tkMacOSXColor.c
deleted file mode 100644
index 4915553..0000000
--- a/carbon/tkMacOSXColor.c
+++ /dev/null
@@ -1,738 +0,0 @@
-/*
- * tkMacOSXColor.c --
- *
- * This file maintains a database of color values for the Tk
- * toolkit, in order to avoid round-trips to the server to
- * map color names to pixel values.
- *
- * Copyright (c) 1990-1994 The Regents of the University of California.
- * Copyright (c) 1994-1996 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkColor.h"
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1040
-/* Undocumented CG API for creating CGPattern from CGImage */
-extern CGPatternRef CGPatternCreateWithImage(CGImageRef img, int i) WEAK_IMPORT_ATTRIBUTE;
-#endif
-
-struct SystemColorMapEntry {
- const char *name;
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
-}; /* unsigned char pixelCode; */
-
-/*
- * Array of system color definitions: the array index is required to equal the
- * color's (pixelCode - MIN_PIXELCODE), i.e. the array order needs to be kept
- * in sync with the public pixel code values in tkMacOSXPort.h !
- */
-
-#define MIN_PIXELCODE 30
-static const struct SystemColorMapEntry systemColorMap[] = {
- { "Transparent", 0, 0, 0 }, /* 30: TRANSPARENT_PIXEL */
- { "Highlight", kThemeBrushPrimaryHighlightColor, 0, 0 }, /* 31: HIGHLIGHT_PIXEL */
- { "HighlightSecondary", kThemeBrushSecondaryHighlightColor, 0, 0 }, /* 32: HIGHLIGHT_SECONDARY_PIXEL */
- { "HighlightText", kThemeBrushBlack, 0, 0 }, /* 33: HIGHLIGHT_TEXT_PIXEL */
- { "HighlightAlternate", kThemeBrushAlternatePrimaryHighlightColor, 0, 0 }, /* 34: HIGHLIGHT_ALTERNATE_PIXEL */
- { "ButtonText", 0, kThemeTextColorPushButtonActive, 0 }, /* 35: CONTROL_TEXT_PIXEL */
- { "PrimaryHighlightColor", kThemeBrushPrimaryHighlightColor, 0, 0 }, /* 36 */
- { "ButtonFace", kThemeBrushButtonFaceActive, 0, 0 }, /* 37: CONTROL_BODY_PIXEL */
- { "SecondaryHighlightColor", kThemeBrushSecondaryHighlightColor, 0, 0 }, /* 38 */
- { "ButtonFrame", kThemeBrushButtonFrameActive, 0, 0 }, /* 39: CONTROL_FRAME_PIXEL */
- { "AlternatePrimaryHighlightColor", kThemeBrushAlternatePrimaryHighlightColor, 0, 0 }, /* 40 */
- { "WindowBody", kThemeBrushDocumentWindowBackground, 0, 0 }, /* 41: WINDOW_BODY_PIXEL */
- { "SheetBackground", kThemeBrushSheetBackground, 0, 0 }, /* 42 */
- { "MenuActive", kThemeBrushMenuBackgroundSelected, 0, 0 }, /* 43: MENU_ACTIVE_PIXEL */
- { "Black", kThemeBrushBlack, 0, 0 }, /* 44 */
- { "MenuActiveText", 0, kThemeTextColorMenuItemSelected, 0 }, /* 45: MENU_ACTIVE_TEXT_PIXEL */
- { "White", kThemeBrushWhite, 0, 0 }, /* 46 */
- { "Menu", kThemeBrushMenuBackground, 0, 0 }, /* 47: MENU_BACKGROUND_PIXEL */
- { "DialogBackgroundActive", kThemeBrushDialogBackgroundActive, 0, 0 }, /* 48 */
- { "MenuDisabled", 0, kThemeTextColorMenuItemDisabled, 0 }, /* 49: MENU_DISABLED_PIXEL */
- { "DialogBackgroundInactive", kThemeBrushDialogBackgroundInactive, 0, 0 }, /* 50 */
- { "MenuText", 0, kThemeTextColorMenuItemActive, 0 }, /* 51: MENU_TEXT_PIXEL */
- { "AppearanceColor", 0, 0, 0 }, /* 52: APPEARANCE_PIXEL */
- { "AlertBackgroundActive", kThemeBrushAlertBackgroundActive, 0, 0 }, /* 53 */
- { "AlertBackgroundInactive", kThemeBrushAlertBackgroundInactive, 0, 0 }, /* 54 */
- { "ModelessDialogBackgroundActive", kThemeBrushModelessDialogBackgroundActive, 0, 0 }, /* 55 */
- { "ModelessDialogBackgroundInactive", kThemeBrushModelessDialogBackgroundInactive, 0, 0 }, /* 56 */
- { "UtilityWindowBackgroundActive", kThemeBrushUtilityWindowBackgroundActive, 0, 0 }, /* 57 */
- { "UtilityWindowBackgroundInactive", kThemeBrushUtilityWindowBackgroundInactive, 0, 0 }, /* 58 */
- { "ListViewSortColumnBackground", kThemeBrushListViewSortColumnBackground, 0, 0 }, /* 59 */
- { "ListViewBackground", kThemeBrushListViewBackground, 0, 0 }, /* 60 */
- { "IconLabelBackground", kThemeBrushIconLabelBackground, 0, 0 }, /* 61 */
- { "ListViewSeparator", kThemeBrushListViewSeparator, 0, 0 }, /* 62 */
- { "ChasingArrows", kThemeBrushChasingArrows, 0, 0 }, /* 63 */
- { "DragHilite", kThemeBrushDragHilite, 0, 0 }, /* 64 */
- { "DocumentWindowBackground", kThemeBrushDocumentWindowBackground, 0, 0 }, /* 65 */
- { "FinderWindowBackground", kThemeBrushFinderWindowBackground, 0, 0 }, /* 66 */
- { "ScrollBarDelimiterActive", kThemeBrushScrollBarDelimiterActive, 0, 0 }, /* 67 */
- { "ScrollBarDelimiterInactive", kThemeBrushScrollBarDelimiterInactive, 0, 0 }, /* 68 */
- { "FocusHighlight", kThemeBrushFocusHighlight, 0, 0 }, /* 69 */
- { "PopupArrowActive", kThemeBrushPopupArrowActive, 0, 0 }, /* 70 */
- { "PopupArrowPressed", kThemeBrushPopupArrowPressed, 0, 0 }, /* 71 */
- { "PopupArrowInactive", kThemeBrushPopupArrowInactive, 0, 0 }, /* 72 */
- { "AppleGuideCoachmark", kThemeBrushAppleGuideCoachmark, 0, 0 }, /* 73 */
- { "IconLabelBackgroundSelected", kThemeBrushIconLabelBackgroundSelected, 0, 0 }, /* 74 */
- { "StaticAreaFill", kThemeBrushStaticAreaFill, 0, 0 }, /* 75 */
- { "ActiveAreaFill", kThemeBrushActiveAreaFill, 0, 0 }, /* 76 */
- { "ButtonFrameActive", kThemeBrushButtonFrameActive, 0, 0 }, /* 77 */
- { "ButtonFrameInactive", kThemeBrushButtonFrameInactive, 0, 0 }, /* 78 */
- { "ButtonFaceActive", kThemeBrushButtonFaceActive, 0, 0 }, /* 79 */
- { "ButtonFaceInactive", kThemeBrushButtonFaceInactive, 0, 0 }, /* 80 */
- { "ButtonFacePressed", kThemeBrushButtonFacePressed, 0, 0 }, /* 81 */
- { "ButtonActiveDarkShadow", kThemeBrushButtonActiveDarkShadow, 0, 0 }, /* 82 */
- { "ButtonActiveDarkHighlight", kThemeBrushButtonActiveDarkHighlight, 0, 0 }, /* 83 */
- { "ButtonActiveLightShadow", kThemeBrushButtonActiveLightShadow, 0, 0 }, /* 84 */
- { "ButtonActiveLightHighlight", kThemeBrushButtonActiveLightHighlight, 0, 0 }, /* 85 */
- { "ButtonInactiveDarkShadow", kThemeBrushButtonInactiveDarkShadow, 0, 0 }, /* 86 */
- { "ButtonInactiveDarkHighlight", kThemeBrushButtonInactiveDarkHighlight, 0, 0 }, /* 87 */
- { "ButtonInactiveLightShadow", kThemeBrushButtonInactiveLightShadow, 0, 0 }, /* 88 */
- { "ButtonInactiveLightHighlight", kThemeBrushButtonInactiveLightHighlight, 0, 0 }, /* 89 */
- { "ButtonPressedDarkShadow", kThemeBrushButtonPressedDarkShadow, 0, 0 }, /* 90 */
- { "ButtonPressedDarkHighlight", kThemeBrushButtonPressedDarkHighlight, 0, 0 }, /* 91 */
- { "ButtonPressedLightShadow", kThemeBrushButtonPressedLightShadow, 0, 0 }, /* 92 */
- { "ButtonPressedLightHighlight", kThemeBrushButtonPressedLightHighlight, 0, 0 }, /* 93 */
- { "BevelActiveLight", kThemeBrushBevelActiveLight, 0, 0 }, /* 94 */
- { "BevelActiveDark", kThemeBrushBevelActiveDark, 0, 0 }, /* 95 */
- { "BevelInactiveLight", kThemeBrushBevelInactiveLight, 0, 0 }, /* 96 */
- { "BevelInactiveDark", kThemeBrushBevelInactiveDark, 0, 0 }, /* 97 */
- { "NotificationWindowBackground", kThemeBrushNotificationWindowBackground, 0, 0 }, /* 98 */
- { "MovableModalBackground", kThemeBrushMovableModalBackground, 0, 0 }, /* 99 */
- { "SheetBackgroundOpaque", kThemeBrushSheetBackgroundOpaque, 0, 0 }, /* 100 */
- { "DrawerBackground", kThemeBrushDrawerBackground, 0, 0 }, /* 101 */
- { "ToolbarBackground", kThemeBrushToolbarBackground, 0, 0 }, /* 102 */
- { "SheetBackgroundTransparent", kThemeBrushSheetBackgroundTransparent, 0, 0 }, /* 103 */
- { "MenuBackground", kThemeBrushMenuBackground, 0, 0 }, /* 104 */
- { "Pixel", 0, 0, 0 }, /* 105: PIXEL_MAGIC */
- { "MenuBackgroundSelected", kThemeBrushMenuBackgroundSelected, 0, 0 }, /* 106 */
- { "ListViewOddRowBackground", kThemeBrushListViewOddRowBackground, 0, 0 }, /* 107 */
- { "ListViewEvenRowBackground", kThemeBrushListViewEvenRowBackground, 0, 0 }, /* 108 */
- { "ListViewColumnDivider", kThemeBrushListViewColumnDivider, 0, 0 }, /* 109 */
- { "BlackText", 0, kThemeTextColorBlack, 0 }, /* 110 */
- { "DialogActiveText", 0, kThemeTextColorDialogActive, 0 }, /* 111 */
- { "DialogInactiveText", 0, kThemeTextColorDialogInactive, 0 }, /* 112 */
- { "AlertActiveText", 0, kThemeTextColorAlertActive, 0 }, /* 113 */
- { "AlertInactiveText", 0, kThemeTextColorAlertInactive, 0 }, /* 114 */
- { "ModelessDialogActiveText", 0, kThemeTextColorModelessDialogActive, 0 }, /* 115 */
- { "ModelessDialogInactiveText", 0, kThemeTextColorModelessDialogInactive, 0 }, /* 116 */
- { "WindowHeaderActiveText", 0, kThemeTextColorWindowHeaderActive, 0 }, /* 117 */
- { "WindowHeaderInactiveText", 0, kThemeTextColorWindowHeaderInactive, 0 }, /* 118 */
- { "PlacardActiveText", 0, kThemeTextColorPlacardActive, 0 }, /* 119 */
- { "PlacardInactiveText", 0, kThemeTextColorPlacardInactive, 0 }, /* 120 */
- { "PlacardPressedText", 0, kThemeTextColorPlacardPressed, 0 }, /* 121 */
- { "PushButtonActiveText", 0, kThemeTextColorPushButtonActive, 0 }, /* 122 */
- { "PushButtonInactiveText", 0, kThemeTextColorPushButtonInactive, 0 }, /* 123 */
- { "PushButtonPressedText", 0, kThemeTextColorPushButtonPressed, 0 }, /* 124 */
- { "BevelButtonActiveText", 0, kThemeTextColorBevelButtonActive, 0 }, /* 125 */
- { "BevelButtonInactiveText", 0, kThemeTextColorBevelButtonInactive, 0 }, /* 126 */
- { "BevelButtonPressedText", 0, kThemeTextColorBevelButtonPressed, 0 }, /* 127 */
- { "PopupButtonActiveText", 0, kThemeTextColorPopupButtonActive, 0 }, /* 128 */
- { "PopupButtonInactiveText", 0, kThemeTextColorPopupButtonInactive, 0 }, /* 129 */
- { "PopupButtonPressedText", 0, kThemeTextColorPopupButtonPressed, 0 }, /* 130 */
- { "IconLabelText", 0, kThemeTextColorIconLabel, 0 }, /* 131 */
- { "ListViewText", 0, kThemeTextColorListView, 0 }, /* 132 */
- { "DocumentWindowTitleActiveText", 0, kThemeTextColorDocumentWindowTitleActive, 0 }, /* 133 */
- { "DocumentWindowTitleInactiveText", 0, kThemeTextColorDocumentWindowTitleInactive, 0 }, /* 134 */
- { "MovableModalWindowTitleActiveText", 0, kThemeTextColorMovableModalWindowTitleActive, 0 }, /* 135 */
- { "MovableModalWindowTitleInactiveText",0, kThemeTextColorMovableModalWindowTitleInactive, 0 }, /* 136 */
- { "UtilityWindowTitleActiveText", 0, kThemeTextColorUtilityWindowTitleActive, 0 }, /* 137 */
- { "UtilityWindowTitleInactiveText", 0, kThemeTextColorUtilityWindowTitleInactive, 0 }, /* 138 */
- { "PopupWindowTitleActiveText", 0, kThemeTextColorPopupWindowTitleActive, 0 }, /* 139 */
- { "PopupWindowTitleInactiveText", 0, kThemeTextColorPopupWindowTitleInactive, 0 }, /* 140 */
- { "RootMenuActiveText", 0, kThemeTextColorRootMenuActive, 0 }, /* 141 */
- { "RootMenuSelectedText", 0, kThemeTextColorRootMenuSelected, 0 }, /* 142 */
- { "RootMenuDisabledText", 0, kThemeTextColorRootMenuDisabled, 0 }, /* 143 */
- { "MenuItemActiveText", 0, kThemeTextColorMenuItemActive, 0 }, /* 144 */
- { "MenuItemSelectedText", 0, kThemeTextColorMenuItemSelected, 0 }, /* 145 */
- { "MenuItemDisabledText", 0, kThemeTextColorMenuItemDisabled, 0 }, /* 146 */
- { "PopupLabelActiveText", 0, kThemeTextColorPopupLabelActive, 0 }, /* 147 */
- { "PopupLabelInactiveText", 0, kThemeTextColorPopupLabelInactive, 0 }, /* 148 */
- { "TabFrontActiveText", 0, kThemeTextColorTabFrontActive, 0 }, /* 149 */
- { "TabNonFrontActiveText", 0, kThemeTextColorTabNonFrontActive, 0 }, /* 150 */
- { "TabNonFrontPressedText", 0, kThemeTextColorTabNonFrontPressed, 0 }, /* 151 */
- { "TabFrontInactiveText", 0, kThemeTextColorTabFrontInactive, 0 }, /* 152 */
- { "TabNonFrontInactiveText", 0, kThemeTextColorTabNonFrontInactive, 0 }, /* 153 */
- { "IconLabelSelectedText", 0, kThemeTextColorIconLabelSelected, 0 }, /* 154 */
- { "BevelButtonStickyActiveText", 0, kThemeTextColorBevelButtonStickyActive, 0 }, /* 155 */
- { "BevelButtonStickyInactiveText", 0, kThemeTextColorBevelButtonStickyInactive, 0 }, /* 156 */
- { "NotificationText", 0, kThemeTextColorNotification, 0 }, /* 157 */
- { "SystemDetailText", 0, kThemeTextColorSystemDetail, 0 }, /* 158 */
- { "WhiteText", 0, kThemeTextColorWhite, 0 }, /* 159 */
- { "TabPaneBackground", 0, 0, kThemeBackgroundTabPane }, /* 160 */
- { "PlacardBackground", 0, 0, kThemeBackgroundPlacard }, /* 161 */
- { "WindowHeaderBackground", 0, 0, kThemeBackgroundWindowHeader }, /* 162 */
- { "ListViewWindowHeaderBackground", 0, 0, kThemeBackgroundListViewWindowHeader }, /* 163 */
- { "SecondaryGroupBoxBackground", 0, 0, kThemeBackgroundSecondaryGroupBox }, /* 164 */
- { "MetalBackground", 0, 0, kThemeBackgroundMetal }, /* 165 */
- { NULL, 0, 0, 0 }
-};
-#define MAX_PIXELCODE 165
-
-/*
- *----------------------------------------------------------------------
- *
- * GetThemeFromPixelCode --
- *
- * When given a pixel code corresponding to a theme system color,
- * set one of brush, textColor or background to the corresponding
- * Appearance Mgr theme constant.
- *
- * Results:
- * Returns false if not a real pixel, true otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GetThemeFromPixelCode(
- unsigned char code,
- ThemeBrush *brush,
- ThemeTextColor *textColor,
- ThemeBackgroundKind *background)
-{
- if (code >= MIN_PIXELCODE && code <= MAX_PIXELCODE && code != PIXEL_MAGIC) {
- *brush = systemColorMap[code - MIN_PIXELCODE].brush;
- *textColor = systemColorMap[code - MIN_PIXELCODE].textColor;
- *background = systemColorMap[code - MIN_PIXELCODE].background;
- } else {
- *brush = 0;
- *textColor = 0;
- *background = 0;
- }
- if (!*brush && !*textColor && !*background && code != PIXEL_MAGIC) {
- return false;
- } else {
- return true;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetThemeColor --
- *
- * Get RGB color for a given system color or pixel value.
- *
- * Results:
- * OSStatus
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSStatus
-GetThemeColor(
- unsigned long pixel,
- ThemeBrush brush,
- ThemeTextColor textColor,
- ThemeBackgroundKind background,
- RGBColor *c)
-{
- OSStatus err = noErr;
-
- if (brush) {
- err = ChkErr(GetThemeBrushAsColor,
- brush == kThemeBrushMenuBackgroundSelected ?
- kThemeBrushFocusHighlight : brush, 32, true, c);
- } else if (textColor) {
- err = ChkErr(GetThemeTextColor, textColor, 32, true, c);
- } else {
- c->red = (pixel >> 16) & 0xff;
- c->green = (pixel >> 8) & 0xff;
- c->blue = (pixel ) & 0xff;
- c->red |= c->red << 8;
- c->green |= c->green << 8;
- c->blue |= c->blue << 8;
- }
- return err;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSetMacColor --
- *
- * Populates a Macintosh RGBColor structure from a X style
- * pixel value.
- *
- * Results:
- * Returns false if not a real pixel, true otherwise.
- *
- * Side effects:
- * The variable macColor is updated to the pixels value.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkSetMacColor(
- unsigned long pixel, /* Pixel value to convert. */
- void *macColor) /* Mac color struct to modify. */
-{
- OSStatus err = -1;
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
-
- if (GetThemeFromPixelCode((pixel >> 24) & 0xff, &brush, &textColor,
- &background)) {
- err = ChkErr(GetThemeColor, pixel, brush, textColor, background,
- macColor);
- }
- return (err == noErr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetColorInPort --
- *
- * Sets fore or back color in the given QD port from an X pixel
- * value, and if the pixel code indicates a system color, sets
- * the corresponding brush, textColor or background via
- * Appearance mgr APIs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If penPat is non-NULL it is set to the forground color/pattern.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetColorInPort(
- unsigned long pixel,
- int fg,
- PixPatHandle penPat,
- CGrafPtr port)
-{
- OSStatus err;
- RGBColor c;
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
- int setPenPat = 0;
-
- if (GetThemeFromPixelCode((pixel >> 24) & 0xff, &brush, &textColor,
- &background)) {
- CGrafPtr savePort;
- Boolean portChanged;
-
- portChanged = QDSwapPort(port, &savePort);
- err = ChkErr(GetThemeColor, pixel, brush, textColor, background, &c);
- if (err == noErr) {
- if (fg) {
- RGBForeColor(&c);
- if (penPat) {
- MakeRGBPat(penPat, &c);
- setPenPat = 1;
- }
- } else {
- RGBBackColor(&c);
- }
- }
- err = -1;
- if (brush) {
- err = ChkErr(SetThemeBackground,
- brush == kThemeBrushMenuBackgroundSelected ?
- kThemeBrushFocusHighlight : brush, 32, true);
- } else if (textColor && fg) {
- err = ChkErr(SetThemeTextColor, textColor, 32, true);
- } else if (background) {
- Rect bounds;
-
- GetPortBounds(port, &bounds);
- err = ChkErr(ApplyThemeBackground, background, &bounds,
- kThemeStateActive, 32, true);
- }
- if (penPat && err == noErr && (brush || background)) {
- GetPortBackPixPat(port, penPat);
- setPenPat = 1;
- }
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- } else {
- TkMacOSXDbgMsg("Ignored unknown pixel value 0x%lx", pixel);
- }
- if (penPat && !setPenPat) {
- GetPortBackPixPat(port, penPat);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetColorInContext --
- *
- * Sets fill and stroke color in the given CG context from an X
- * pixel value, or if the pixel code indicates a system color,
- * sets the corresponding brush, textColor or background via
- * HITheme APIs if available or Appearance mgr APIs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetColorInContext(
- unsigned long pixel,
- CGContextRef context)
-{
- OSStatus err = -1;
- RGBColor c;
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
-
- if (GetThemeFromPixelCode((pixel >> 24) & 0xff, &brush, &textColor,
- &background)) {
- if (brush) {
- TK_IF_MAC_OS_X_API (4, HIThemeSetFill,
- err = ChkErr(HIThemeSetFill, brush, NULL, context,
- kHIThemeOrientationNormal);
- TK_IF_MAC_OS_X_API_COND (4, HIThemeSetFill, err == noErr,
- err = ChkErr(HIThemeSetStroke, brush, NULL, context,
- kHIThemeOrientationNormal);
- ) TK_ENDIF
- ) TK_ENDIF
- } else if (textColor) {
- TK_IF_MAC_OS_X_API (4, HIThemeSetTextFill,
- err = ChkErr(HIThemeSetTextFill, textColor, NULL, context,
- kHIThemeOrientationNormal);
- ) TK_ENDIF
- } else if (background) {
- TK_IF_MAC_OS_X_API (3, CGContextGetClipBoundingBox,
- CGRect rect = CGContextGetClipBoundingBox(context);
- HIThemeBackgroundDrawInfo info = { 0, kThemeStateActive,
- background };
-
- TK_IF_MAC_OS_X_API (3, HIThemeApplyBackground,
- TK_IF_HI_TOOLBOX (3, /* c.f. QA1377 */
- err = ChkErr(HIThemeApplyBackground, &rect, &info,
- context, kHIThemeOrientationNormal);
- ) TK_ENDIF
- ) TK_ENDIF
- ) TK_ENDIF
- }
- if (err == noErr) {
- return;
- }
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1040
- /*
- * Convert Appearance theme pattern to CGPattern:
- */
- if ((brush || background) && CGPatternCreateWithImage != NULL) {
- static PixPatHandle pixpat = NULL;
- static GWorldPtr patGWorld = NULL;
- static uint32_t bitmapInfo = 0;
- const short patDim = 16;
- const Rect bounds = {0, 0, patDim, patDim};
- CGrafPtr savePort;
- Boolean portChanged;
- PixMapHandle pixmap;
- long rowbytes;
- CGImageRef img;
- CGColorSpaceRef rgbCspace;
- CGDataProviderRef provider;
-
- if (!pixpat) {
- pixpat = NewPixPat();
- err = ChkErr(NewGWorld, &patGWorld, 32, &bounds, NULL, NULL, 0
-#ifdef __LITTLE_ENDIAN__
- | kNativeEndianPixMap
-#endif
- );
- if (!pixpat || err != noErr || !patGWorld) {
- Tcl_Panic("TkMacOSXSetColorInContext(): "
- "pattern initialization failed !");
- }
- TK_IF_HI_TOOLBOX (4,
- bitmapInfo = kCGBitmapByteOrder32Host;
- ) TK_ENDIF
- }
- portChanged = QDSwapPort(patGWorld, &savePort);
- TkMacOSXSetColorInPort(pixel, 1, pixpat, patGWorld);
-#ifdef TK_MAC_DEBUG
- Rect patBounds;
- GetPixBounds((**pixpat).patMap, &patBounds);
- if (patBounds.right > patDim || patBounds.bottom > patDim) {
- Tcl_Panic("TkMacOSXSetColorInContext(): "
- "pattern larger than expected !");
- }
-#endif /* TK_MAC_DEBUG */
- FillCRect(&bounds, pixpat);
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- pixmap = GetPortPixMap(patGWorld);
- rowbytes = GetPixRowBytes(pixmap);
- provider = CGDataProviderCreateWithData(&patGWorld,
- GetPixBaseAddr(pixmap), rowbytes * patDim, NULL);
- rgbCspace = CGColorSpaceCreateDeviceRGB();
- img = CGImageCreate(patDim, patDim, 8, 32,
- rowbytes, rgbCspace, kCGImageAlphaFirst | bitmapInfo,
- provider, NULL, 0, kCGRenderingIntentDefault);
- CGColorSpaceRelease(rgbCspace);
- CGDataProviderRelease(provider);
- if (img) {
- CGPatternRef pat = CGPatternCreateWithImage(img, 2);
- CGColorSpaceRef patCSpace = CGColorSpaceCreatePattern(NULL);
- const float alpha = 1;
-
- CGContextSetFillColorSpace(context, patCSpace);
- CGContextSetFillPattern(context, pat, &alpha);
- CGContextSetStrokeColorSpace(context, patCSpace);
- CGContextSetStrokePattern(context, pat, &alpha);
- CGColorSpaceRelease(patCSpace);
- CGPatternRelease(pat);
- CGImageRelease(img);
- return;
- }
- }
-#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1040 */
- err = ChkErr(GetThemeColor, pixel, brush, textColor, background, &c);
- if (err == noErr) {
- double r = c.red / 65535.0;
- double g = c.green / 65535.0;
- double b = c.blue / 65535.0;
-
- CGContextSetRGBFillColor(context, r, g, b, 1.0);
- CGContextSetRGBStrokeColor(context, r, g, b, 1.0);
- }
- } else if (((pixel >> 24) & 0xff) == TRANSPARENT_PIXEL) {
- CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 0.0);
- CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 0.0);
- } else {
- TkMacOSXDbgMsg("Ignored unknown pixel value 0x%lx", pixel);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetColor --
- *
- * Allocate a new TkColor for the color with the given name.
- *
- * Results:
- * Returns a newly allocated TkColor, or NULL on failure.
- *
- * Side effects:
- * May invalidate the colormap cache associated with tkwin upon
- * allocating a new colormap entry. Allocates a new TkColor
- * structure.
- *
- *----------------------------------------------------------------------
- */
-
-TkColor *
-TkpGetColor(
- Tk_Window tkwin, /* Window in which color will be used. */
- Tk_Uid name) /* Name of color to allocated (in form
- * suitable for passing to XParseColor). */
-{
- Display *display = Tk_Display(tkwin);
- Colormap colormap = Tk_Colormap(tkwin);
- TkColor *tkColPtr;
- XColor color;
-
- /*
- * Check to see if this is a system color. Otherwise, XParseColor
- * will do all the work.
- */
- if (strncasecmp(name, "system", 6) == 0) {
- Tcl_Obj *strPtr = Tcl_NewStringObj(name+6, -1);
- int idx, result;
-
- result = Tcl_GetIndexFromObjStruct(NULL, strPtr, systemColorMap,
- sizeof(struct SystemColorMapEntry), NULL, TCL_EXACT, &idx);
- Tcl_DecrRefCount(strPtr);
- if (result == TCL_OK) {
- OSStatus err;
- RGBColor c;
- unsigned char pixelCode = idx + MIN_PIXELCODE;
- ThemeBrush brush = systemColorMap[idx].brush;
- ThemeTextColor textColor = systemColorMap[idx].textColor;
- ThemeBackgroundKind background = systemColorMap[idx].background;
-
- err = ChkErr(GetThemeColor, 0, brush, textColor, background, &c);
- if (err == noErr) {
- color.red = c.red;
- color.green = c.green;
- color.blue = c.blue;
- color.pixel = ((((((pixelCode << 8)
- | ((color.red >> 8) & 0xff)) << 8)
- | ((color.green >> 8) & 0xff)) << 8)
- | ((color.blue >> 8) & 0xff));
- goto validXColor;
- }
- }
- }
-
- if (TkParseColor(display, colormap, name, &color) == 0) {
- return NULL;
- }
-
- validXColor:
- tkColPtr = ckalloc(sizeof(TkColor));
- tkColPtr->color = color;
-
- return tkColPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetColorByValue --
- *
- * Given a desired set of red-green-blue intensities for a color,
- * locate a pixel value to use to draw that color in a given
- * window.
- *
- * Results:
- * The return value is a pointer to an TkColor structure that
- * indicates the closest red, blue, and green intensities available
- * to those specified in colorPtr, and also specifies a pixel
- * value to use to draw in that color.
- *
- * Side effects:
- * May invalidate the colormap cache for the specified window.
- * Allocates a new TkColor structure.
- *
- *----------------------------------------------------------------------
- */
-
-TkColor *
-TkpGetColorByValue(
- Tk_Window tkwin, /* Window in which color will be used. */
- XColor *colorPtr) /* Red, green, and blue fields indicate
- * desired color. */
-{
- TkColor *tkColPtr = ckalloc(sizeof(TkColor));
-
- tkColPtr->color.red = colorPtr->red;
- tkColPtr->color.green = colorPtr->green;
- tkColPtr->color.blue = colorPtr->blue;
- tkColPtr->color.pixel = TkpGetPixel(&tkColPtr->color);
- return tkColPtr;
-}
-
-#if !TK_DRAW_IN_CONTEXT
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXCompareColors --
- *
- * On Mac, color codes may specify symbolic values like "highlight
- * foreground", but we really need the actual values to compare.
- * Maybe see also: "TIP #154: Add Named Colors to Tk".
- *
- * Results:
- * Returns true if both colors are the same, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXCompareColors(
- unsigned long c1,
- unsigned long c2)
-{
- RGBColor col1, col2;
- return TkSetMacColor(c1,&col1) &&
- TkSetMacColor(c1,&col2) &&
- !memcmp(&col1,&col2,sizeof(col1));
-}
-#endif /* !TK_DRAW_IN_CONTEXT */
-
-/*
- *----------------------------------------------------------------------
- *
- * Stub functions --
- *
- * These functions are just stubs for functions that either
- * don't make sense on the Mac or have yet to be implemented.
- *
- * Results:
- * None.
- *
- * Side effects:
- * These calls do nothing - which may not be expected.
- *
- *----------------------------------------------------------------------
- */
-
-Status
-XAllocColor(
- Display *display, /* Display. */
- Colormap map, /* Not used. */
- XColor *colorPtr) /* XColor struct to modify. */
-{
- display->request++;
- colorPtr->pixel = TkpGetPixel(colorPtr);
- return 1;
-}
-
-Colormap
-XCreateColormap(
- Display *display, /* Display. */
- Window window, /* X window. */
- Visual *visual, /* Not used. */
- int alloc) /* Not used. */
-{
- static Colormap index = 1;
-
- /*
- * Just return a new value each time.
- */
- return index++;
-}
-
-int
-XFreeColormap(
- Display* display, /* Display. */
- Colormap colormap) /* Colormap. */
-{
- return Success;
-}
-
-int
-XFreeColors(
- Display* display, /* Display. */
- Colormap colormap, /* Colormap. */
- unsigned long* pixels, /* Array of pixels. */
- int npixels, /* Number of pixels. */
- unsigned long planes) /* Number of pixel planes. */
-{
- /*
- * The Macintosh version of Tk uses TrueColor. Nothing
- * needs to be done to release colors as there really is
- * no colormap in the Tk sense.
- */
- return Success;
-}
diff --git a/carbon/tkMacOSXConfig.c b/carbon/tkMacOSXConfig.c
deleted file mode 100644
index 82d3104..0000000
--- a/carbon/tkMacOSXConfig.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * tkMacOSXConfig.c --
- *
- * This module implements the Macintosh system defaults for
- * the configuration package.
- *
- * Copyright (c) 1997 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkInt.h"
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetSystemDefault --
- *
- * Given a dbName and className for a configuration option,
- * return a string representation of the option.
- *
- * Results:
- * Returns a Tk_Uid that is the string identifier that identifies
- * this option. Returns NULL if there are no system defaults
- * that match this pair.
- *
- * Side effects:
- * None, once the package is initialized.
- *
- *----------------------------------------------------------------------
- */
-
-Tcl_Obj *
-TkpGetSystemDefault(
- Tk_Window tkwin, /* A window to use. */
- const char *dbName, /* The option database name. */
- const char *className) /* The name of the option class. */
-{
- return NULL;
-}
diff --git a/carbon/tkMacOSXCursor.c b/carbon/tkMacOSXCursor.c
deleted file mode 100644
index 423b4ff..0000000
--- a/carbon/tkMacOSXCursor.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
- * tkMacOSXCursor.c --
- *
- * This file contains Macintosh specific cursor related routines.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-
-/*
- * There are three different ways to set the cursor on the Mac. The default
- * theme cursors (listed in cursorNames below), color resource cursors, &
- * normal cursors.
- */
-
-#define NONE -1 /* Hidden cursor */
-#define THEME 0 /* Theme cursors */
-#define ANIMATED 1 /* Animated theme cursors */
-#define COLOR 2 /* Cursors of type crsr. */
-#define NORMAL 3 /* Cursors of type CURS. */
-
-/*
- * The following data structure contains the system specific data necessary to
- * control Windows cursors.
- */
-
-typedef struct {
- TkCursor info; /* Generic cursor info used by tkCursor.c */
- Handle macCursor; /* Resource containing Macintosh cursor. For
- * theme cursors, this is -1. */
- int type; /* Type of Mac cursor: for theme cursors this
- * is the theme cursor constant, otherwise one
- * of crsr or CURS. */
- int count; /* For animating cursors, the count for the
- * cursor. */
-} TkMacOSXCursor;
-
-/*
- * The table below is used to map from the name of a predefined cursor
- * to its resource identifier.
- */
-
-struct CursorName {
- const char *name;
- int id;
-};
-
-static struct CursorName noneCursorName = {"none", 0};
-
-static struct CursorName themeCursorNames[] = {
- {"arrow", kThemeArrowCursor},
- {"copyarrow", kThemeCopyArrowCursor},
- {"aliasarrow", kThemeAliasArrowCursor},
- {"contextualmenuarrow", kThemeContextualMenuArrowCursor},
- {"ibeam", kThemeIBeamCursor},
- {"text", kThemeIBeamCursor},
- {"xterm", kThemeIBeamCursor},
- {"cross", kThemeCrossCursor},
- {"crosshair", kThemeCrossCursor},
- {"cross-hair", kThemeCrossCursor},
- {"plus", kThemePlusCursor},
- {"closedhand", kThemeClosedHandCursor},
- {"openhand", kThemeOpenHandCursor},
- {"pointinghand", kThemePointingHandCursor},
- {"resizeleft", kThemeResizeLeftCursor},
- {"resizeright", kThemeResizeRightCursor},
- {"resizeleftright", kThemeResizeLeftRightCursor},
- {"resizeup", kThemeResizeUpCursor},
- {"resizedown", kThemeResizeDownCursor},
- {"resizeupdown", kThemeResizeUpDownCursor},
- {"notallowed", kThemeNotAllowedCursor},
- {"poof", kThemePoofCursor},
- {NULL, 0}
-};
-
-static struct CursorName animatedThemeCursorNames[] = {
- {"watch", kThemeWatchCursor},
- {"countinguphand", kThemeCountingUpHandCursor},
- {"countingdownhand", kThemeCountingDownHandCursor},
- {"countingupanddownhand", kThemeCountingUpAndDownHandCursor},
- {"spinning", kThemeSpinningCursor},
- {NULL, 0}
-};
-
-/*
- * Declarations of static variables used in this file.
- */
-
-static TkMacOSXCursor * gCurrentCursor = NULL;
- /* A pointer to the current cursor. */
-static int gResizeOverride = false;
- /* A boolean indicating whether we should use
- * the resize cursor during installations. */
-static int gTkOwnsCursor = true;/* A boolean indicating whether Tk owns the
- * cursor. If not (for instance, in the case
- * where a Tk window is embedded in another
- * app's window, and the cursor is out of the
- * tk window, we will not attempt to adjust
- * the cursor. */
-
-/*
- * Declarations of procedures local to this file
- */
-
-static void FindCursorByName(TkMacOSXCursor *macCursorPtr, const char *string);
-
-/*
- *----------------------------------------------------------------------
- *
- * FindCursorByName --
- *
- * Retrieve a system cursor by name, and fill the macCursorPtr
- * structure. If the cursor cannot be found, the macCursor field will be
- * NULL. The function first attempts to load a color cursor. If that
- * fails it will attempt to load a black & white cursor.
- *
- * Results:
- * Fills the macCursorPtr record.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-FindCursorByName(
- TkMacOSXCursor *macCursorPtr,
- const char *string)
-{
- Handle resource;
- Str255 curName;
- int destWrote, inCurLen;
- Tcl_Encoding encoding;
-
- inCurLen = strlen(string);
- if (inCurLen > 255) {
- return;
- }
-
- /*
- * macRoman is the encoding that the resource fork uses.
- */
-
- encoding = Tcl_GetEncoding(NULL, "macRoman");
- Tcl_UtfToExternal(NULL, encoding, string, inCurLen, 0, NULL,
- (char *) &curName[1], 255, NULL, &destWrote, NULL);
- curName[0] = destWrote;
- Tcl_FreeEncoding(encoding);
-
- resource = GetNamedResource('crsr', curName);
- if (resource) {
- short id;
- Str255 theName;
- ResType theType;
-
- GetResInfo(resource, &id, &theType, theName);
- macCursorPtr->macCursor = (Handle) GetCCursor(id);
- macCursorPtr->type = COLOR;
- } else {
- macCursorPtr->macCursor = GetNamedResource('CURS', curName);
- macCursorPtr->type = NORMAL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetCursorByName --
- *
- * Retrieve a system cursor by name.
- *
- * Results:
- * Returns a new cursor, or NULL on errors.
- *
- * Side effects:
- * Allocates a new cursor.
- *
- *----------------------------------------------------------------------
- */
-
-TkCursor *
-TkGetCursorByName(
- Tcl_Interp *interp, /* Interpreter to use for error reporting. */
- Tk_Window tkwin, /* Window in which cursor will be used. */
- Tk_Uid string) /* Description of cursor. See manual entry
- * for details on legal syntax. */
-{
- struct CursorName *namePtr;
- TkMacOSXCursor *macCursorPtr;
- int count = -1;
-
- macCursorPtr = ckalloc(sizeof(TkMacOSXCursor));
- macCursorPtr->info.cursor = (Tk_Cursor) macCursorPtr;
-
- /*
- * To find a cursor we must first determine if it is one of the builtin
- * cursors or the standard arrow cursor. Otherwise, we attempt to load the
- * cursor as a named Mac resource.
- */
-
- if (strcmp(noneCursorName.name, string) == 0) {
- namePtr = &noneCursorName;
- macCursorPtr->type = NONE;
- } else {
- for (namePtr = themeCursorNames; namePtr->name != NULL; namePtr++) {
- if (strcmp(namePtr->name, string) == 0) {
- macCursorPtr->type = THEME;
- break;
- }
- }
- }
-
- if (namePtr->name == NULL) {
- for (namePtr = animatedThemeCursorNames;
- namePtr->name != NULL; namePtr++) {
- int namelen = strlen(namePtr->name);
-
- if (strncmp(namePtr->name, string, namelen) == 0) {
- const char *numPtr = string + namelen;
-
- if (*numPtr) {
- int result = Tcl_GetInt(NULL, numPtr, &count);
-
- if (result != TCL_OK) {
- continue;
- }
- }
- macCursorPtr->type = ANIMATED;
- break;
- }
- }
- }
-
- if (namePtr->name != NULL) {
- macCursorPtr->macCursor = (Handle) namePtr;
- macCursorPtr->count = count;
- } else {
- FindCursorByName(macCursorPtr, string);
-
- if (macCursorPtr->macCursor == NULL) {
- const char **argv;
- int argc;
-
- /*
- * The user may be trying to specify an XCursor with fore & back
- * colors. We don't want this to be an error, so pick off the
- * first word, and try again.
- */
-
- if (Tcl_SplitList(interp, string, &argc, &argv) == TCL_OK ) {
- if (argc > 1) {
- FindCursorByName(macCursorPtr, argv[0]);
- }
- ckfree(argv);
- }
- }
- }
-
- if (macCursorPtr->macCursor == NULL) {
- ckfree(macCursorPtr);
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "bad cursor spec \"%s\"", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "CURSOR", NULL);
- return NULL;
- }
- return (TkCursor *) macCursorPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkCreateCursorFromData --
- *
- * Creates a cursor from the source and mask bits.
- *
- * Results:
- * Returns a new cursor, or NULL on errors.
- *
- * Side effects:
- * Allocates a new cursor.
- *
- *----------------------------------------------------------------------
- */
-
-TkCursor *
-TkCreateCursorFromData(
- Tk_Window tkwin, /* Window in which cursor will be used. */
- const char *source, /* Bitmap data for cursor shape. */
- const char *mask, /* Bitmap data for cursor mask. */
- int width, int height, /* Dimensions of cursor. */
- int xHot, int yHot, /* Location of hot-spot in cursor. */
- XColor fgColor, /* Foreground color for cursor. */
- XColor bgColor) /* Background color for cursor. */
-{
- return NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpFreeCursor --
- *
- * This procedure is called to release a cursor allocated by
- * TkGetCursorByName.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The cursor data structure is deallocated.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpFreeCursor(
- TkCursor *cursorPtr)
-{
- TkMacOSXCursor *macCursorPtr = (TkMacOSXCursor *) cursorPtr;
-
- switch (macCursorPtr->type) {
- case COLOR:
- DisposeCCursor((CCrsrHandle) macCursorPtr->macCursor);
- break;
- case NORMAL:
- ReleaseResource(macCursorPtr->macCursor);
- break;
- }
-
- if (macCursorPtr == gCurrentCursor) {
- gCurrentCursor = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInstallCursor --
- *
- * Installs either the current cursor as defined by TkpSetCursor or a
- * resize cursor as the cursor the Macintosh should currently display.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the Macintosh mouse cursor.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInstallCursor(
- int resizeOverride)
-{
- TkMacOSXCursor *macCursorPtr = gCurrentCursor;
- CCrsrHandle ccursor;
- CursHandle cursor;
- static unsigned int cursorStep = 0;
- static int cursorHidden = 0;
- int cursorNone = 0;
-
- gResizeOverride = resizeOverride;
-
- if (resizeOverride) {
- cursor = (CursHandle) GetNamedResource('CURS', "\presize");
- if (cursor) {
- SetCursor(*cursor);
- } else {
- TkMacOSXDbgMsg("Resize cursor failed: %d", ResError());
- }
- } else if (macCursorPtr == NULL) {
- SetThemeCursor(kThemeArrowCursor);
- } else {
- struct CursorName *namePtr;
-
- switch (macCursorPtr->type) {
- case NONE:
- if (!cursorHidden) {
- cursorHidden = 1;
- HideCursor();
- }
- cursorNone = 1;
- break;
- case THEME:
- namePtr = (struct CursorName *) macCursorPtr->macCursor;
- SetThemeCursor(namePtr->id);
- break;
- case ANIMATED:
- namePtr = (struct CursorName *) macCursorPtr->macCursor;
- if (macCursorPtr->count == -1) {
- SetAnimatedThemeCursor(namePtr->id, cursorStep++);
- } else {
- SetAnimatedThemeCursor(namePtr->id, macCursorPtr->count);
- }
- break;
- case COLOR:
- ccursor = (CCrsrHandle) macCursorPtr->macCursor;
- SetCCursor(ccursor);
- break;
- case NORMAL:
- cursor = (CursHandle) macCursorPtr->macCursor;
- SetCursor(*cursor);
- break;
- }
- }
- if (cursorHidden && !cursorNone) {
- cursorHidden = 0;
- ShowCursor();
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetCursor --
- *
- * Set the current cursor and install it.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the current cursor.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetCursor(
- TkpCursor cursor)
-{
- int cursorChanged = 1;
-
- if (!gTkOwnsCursor) {
- return;
- }
-
- if (cursor == None) {
- /*
- * This is a little tricky. We can't really tell whether
- * gCurrentCursor is NULL because it was NULL last time around or
- * because we just freed the current cursor. So if the input cursor is
- * NULL, we always need to reset it, we can't trust the cursorChanged
- * logic.
- */
-
- gCurrentCursor = NULL;
- } else {
- if (gCurrentCursor == (TkMacOSXCursor *) cursor) {
- cursorChanged = 0;
- }
- gCurrentCursor = (TkMacOSXCursor *) cursor;
- }
-
- if (Tk_MacOSXIsAppInFront() && cursorChanged) {
- TkMacOSXInstallCursor(gResizeOverride);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXTkOwnsCursor --
- *
- * Sets whether Tk has the right to adjust the cursor.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May keep Tk from changing the cursor.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXTkOwnsCursor(
- int tkOwnsIt)
-{
- gTkOwnsCursor = tkOwnsIt;
-}
diff --git a/carbon/tkMacOSXCursors.r b/carbon/tkMacOSXCursors.r
deleted file mode 100644
index f947ddf..0000000
--- a/carbon/tkMacOSXCursors.r
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * tkMacOSXCursors.r --
- *
- * This file defines a set of Macintosh cursor resources that
- * are only available on the Macintosh platform.
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-/*
- * These are resource definitions for Macintosh cursors.
- * The are identified and loaded by the "name" of the
- * cursor. However, the ids must be unique.
- */
-
-data 'CURS' (1000, "hand") {
- $"0180 1A70 2648 264A 124D 1249 6809 9801"
- $"8802 4002 2002 2004 1004 0808 0408 0408"
- $"0180 1BF0 3FF8 3FFA 1FFF 1FFF 6FFF FFFF"
- $"FFFE 7FFE 3FFE 3FFC 1FFC 0FF8 07F8 07F8"
- $"0009 0008"
-};
-
-data 'CURS' (1002, "bucket") {
- $"0000 0000 0600 0980 0940 0B30 0D18 090C"
- $"129C 212C 104C 088C 050C 0208 0000 0000"
- $"0000 0000 0600 0980 09C0 0BF0 0FF8 0FFC"
- $"1FFC 3FEC 1FCC 0F8C 070C 0208 0000 0000"
- $"000D 000C"
-};
-
-data 'CURS' (1003, "cancel") {
- $"0000 0000 0000 0000 3180 4A40 4A40 3F80"
- $"0A00 3F80 4A40 4A46 3186 0000 0000 0000"
- $"0000 0000 0000 3180 7BC0 FFE0 FFE0 7FC0"
- $"3F80 7FC0 FFE6 FFEF 7BCF 3186 0000 0000"
- $"0008 0005"
-};
-
-data 'CURS' (1004, "resize") {
- $"FFFF 8001 BF01 A181 A1F9 A18D A18D BF8D"
- $"9F8D 880D 880D 880D 8FFD 87FD 8001 FFFF"
- $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
- $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
- $"0008 0008"
-};
-
-data 'CURS' (1005, "eyedrop") {
- $"000E 001F 001F 00FF 007E 00B8 0118 0228"
- $"0440 0880 1100 2200 4400 4800 B000 4000"
- $"000E 001F 001F 00FF 007E 00F8 01F8 03E8"
- $"07C0 0F80 1F00 3E00 7C00 7800 F000 4000"
- $"000F 0000"
-};
-
-data 'CURS' (1006, "eyedrop-full") {
- $"000E 001F 001F 00FF 007E 00B8 0118 0328"
- $"07C0 0F80 1F00 3E00 7C00 7800 F000 4000"
- $"000E 001F 001F 00FF 007E 00F8 01F8 03E8"
- $"07C0 0F80 1F00 3E00 7C00 7800 F000 4000"
- $"000F 0000"
-};
-
-data 'CURS' (1007, "zoom-in") {
- $"0780 1860 2790 5868 5028 A014 AFD4 AFD4"
- $"A014 5028 5868 2798 187C 078E 0007 0003"
- $"0780 1FE0 3FF0 7878 7038 E01C EFDC EFDC"
- $"E01C 7038 7878 3FF8 1FFC 078E 0007 0003"
- $"0007 0007"
-};
-
-data 'CURS' (1008, "zoom-out") {
- $"0780 1860 2790 5868 5328 A314 AFD4 AFD4"
- $"A314 5328 5868 2798 187C 078E 0007 0003"
- $"0780 1FE0 3FF0 7878 7338 E31C EFDC EFDC"
- $"E31C 7338 7878 3FF8 1FFC 078E 0007 0003"
- $"0007 0007"
-};
-
-/*
- * The following are resource definitions for color
- * cursors on the Macintosh. If a color cursor and
- * a black & white cursor are both defined with the
- * same name preference will be given to the color
- * cursors.
- */
-
-data 'crsr' (1000, "hand") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0180 1A70 2648 264A 124D 1249"
- $"6809 9801 8802 4002 2002 2004 1004 0808"
- $"0408 0408 0180 1BF0 3FF8 3FFA 1FFF 1FFF"
- $"6FFF FFFF FFFE 7FFE 3FFE 3FFC 1FFC 0FF8"
- $"07F8 07F8 0008 0008 0000 0000 0000 0000"
- $"0000 0000 8004 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0002 0001 0002 0000 0000 0000 00D2 0000"
- $"0000 0003 C000 03CD 7F00 0D7D 75C0 0D7D"
- $"75CC 035D 75F7 035D 75D7 3CD5 55D7 D7D5"
- $"5557 D5D5 555C 3555 555C 0D55 555C 0D55"
- $"5570 0355 5570 00D5 55C0 0035 55C0 0035"
- $"55C0 0000 0000 0000 0002 0000 FFFF FFFF"
- $"FFFF 0001 FFFF CCCC 9999 0003 0000 0000"
- $"0000"
-};
-
-data 'crsr' (1001, "fist") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0DB0 124C"
- $"100A 0802 1802 2002 2002 2004 1004 0808"
- $"0408 0408 0000 0000 0000 0000 0DB0 1FFC"
- $"1FFE 0FFE 1FFE 3FFE 3FFE 3FFC 1FFC 0FF8"
- $"07F8 07F8 0008 0008 0000 0000 0000 0000"
- $"0000 0000 8004 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0002 0001 0002 0000 0000 0000 00D2 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 00F3 CF00 035D 75F0 0355 55DC 00D5"
- $"555C 03D5 555C 0D55 555C 0D55 555C 0D55"
- $"5570 0355 5570 00D5 55C0 0035 55C0 0035"
- $"55C0 0000 0000 0000 0002 0000 FFFF FFFF"
- $"FFFF 0001 FFFF CCCC 9999 0003 0000 0000"
- $"0000"
-};
-
diff --git a/carbon/tkMacOSXDebug.c b/carbon/tkMacOSXDebug.c
deleted file mode 100644
index e007a01..0000000
--- a/carbon/tkMacOSXDebug.c
+++ /dev/null
@@ -1,643 +0,0 @@
-/*
- * tkMacOSXDebug.c --
- *
- * Implementation of Macintosh specific functions for debugging MacOS
- * events, regions, etc...
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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
- * unless explicitly disclaimed in individual files.
- *
- *
- * Apple hereby grants permission to use, copy, modify,
- * distribute, and license this software and its documentation
- * for any purpose, provided that existing copyright notices are
- * retained in all copies and that this notice is included
- * verbatim in any distributions. No written agreement, license,
- * or royalty fee is required for any of the authorized
- * uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms
- * described here, provided that the new terms are clearly
- * indicated on the first page of each file where they apply.
- *
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
- * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
- * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
- * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND
- * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
- * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
- * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf
- * of the U.S. government, the Government shall have only
- * "Restricted Rights" in the software and related documentation
- * as defined in the Federal Acquisition Regulations (FARs) in
- * Clause 52.227.19 (c) (2). If you are acquiring the software
- * on behalf of the Department of Defense, the software shall be
- * classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in
- * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
- * foregoing, the authors grant the U.S. Government and others
- * acting in its behalf permission to use and distribute the
- * software in accordance with the terms specified in this
- * license.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDebug.h"
-
-#ifdef TK_MAC_DEBUG
-
-typedef struct {
- EventKind kind;
- const char * name;
-} MyEventName;
-
-typedef struct {
- EventClass c;
- MyEventName * names;
-} MyEventNameList;
-
-static MyEventName windowEventNames [] = {
- { kEventWindowUpdate,"Update"},
- { kEventWindowDrawContent,"DrawContent"},
- { kEventWindowActivated,"Activated"},
- { kEventWindowDeactivated,"Deactivated"},
- { kEventWindowGetClickActivation,"GetClickActivation"},
- { kEventWindowShowing,"Showing"},
- { kEventWindowHiding,"Hiding"},
- { kEventWindowShown,"Shown"},
- { kEventWindowHidden,"Hidden"},
- { kEventWindowBoundsChanging,"BoundsChanging"},
- { kEventWindowBoundsChanged,"BoundsChanged"},
- { kEventWindowResizeStarted,"ResizeStarted"},
- { kEventWindowResizeCompleted,"ResizeCompleted"},
- { kEventWindowDragStarted,"DragStarted"},
- { kEventWindowDragCompleted,"DragCompleted"},
- { kEventWindowClickDragRgn,"ClickDragRgn"},
- { kEventWindowClickResizeRgn,"ClickResizeRgn"},
- { kEventWindowClickCollapseRgn,"ClickCollapseRgn"},
- { kEventWindowClickCloseRgn,"ClickCloseRgn"},
- { kEventWindowClickZoomRgn,"ClickZoomRgn"},
- { kEventWindowClickContentRgn,"ClickContentRgn"},
- { kEventWindowClickProxyIconRgn,"ClickProxyIconRgn"},
- { kEventWindowCursorChange,"CursorChange" },
- { kEventWindowCollapse,"Collapse"},
- { kEventWindowCollapsed,"Collapsed"},
- { kEventWindowCollapseAll,"CollapseAll"},
- { kEventWindowExpand,"Expand"},
- { kEventWindowExpanded,"Expanded"},
- { kEventWindowExpandAll,"ExpandAll"},
- { kEventWindowCollapse,"Collapse"},
- { kEventWindowClose,"Close"},
- { kEventWindowClosed,"Closed"},
- { kEventWindowCloseAll,"CloseAll"},
- { kEventWindowZoom,"Zoom"},
- { kEventWindowZoomed,"Zoomed"},
- { kEventWindowZoomAll,"ZoomAll"},
- { kEventWindowContextualMenuSelect,"ContextualMenuSelect"},
- { kEventWindowPathSelect,"PathSelect"},
- { kEventWindowGetIdealSize,"GetIdealSize"},
- { kEventWindowGetMinimumSize,"GetMinimumSize"},
- { kEventWindowGetMaximumSize,"GetMaximumSize"},
- { kEventWindowConstrain,"Constrain"},
- { kEventWindowHandleContentClick,"HandleContentClick"},
- { kEventWindowProxyBeginDrag,"ProxyBeginDra}"},
- { kEventWindowProxyEndDrag,"ProxyEndDrag"},
- { kEventWindowFocusAcquired,"FocusAcquired"},
- { kEventWindowFocusRelinquish,"FocusRelinquish"},
- { kEventWindowDrawFrame,"DrawFrame"},
- { kEventWindowDrawPart,"DrawPart"},
- { kEventWindowGetRegion,"GetRegion"},
- { kEventWindowHitTest,"HitTest"},
- { kEventWindowInit,"Init"},
- { kEventWindowDispose,"Dispose"},
- { kEventWindowDragHilite,"DragHilite"},
- { kEventWindowModified,"Modified"},
- { kEventWindowSetupProxyDragImage,"SetupProxyDragImage"},
- { kEventWindowStateChanged,"StateChanged"},
- { kEventWindowMeasureTitle,"MeasureTitle"},
- { kEventWindowDrawGrowBox,"DrawGrowBox"},
- { kEventWindowGetGrowImageRegion,"GetGrowImageRegion"},
- { kEventWindowPaint,"Paint"},
- { 0, NULL },
-};
-
-static MyEventName mouseEventNames [] = {
- { kEventMouseMoved, "Moved"},
- { kEventMouseUp, "Up"},
- { kEventMouseDown, "Down"},
- { kEventMouseDragged, "Dragged"},
- { kEventMouseWheelMoved, "WheelMoved"},
- { 0, NULL}
-};
-
-static MyEventName keyboardEventNames [] = {
- { kEventRawKeyDown, "Down"},
- { kEventRawKeyRepeat, "Repeat"},
- { kEventRawKeyUp, "Up"},
- { kEventRawKeyModifiersChanged, "ModifiersChanged"},
- { kEventHotKeyPressed, "HotKeyPressed"},
- { kEventHotKeyReleased, "HotKeyReleased"},
- { 0, NULL}
-};
-
-static MyEventName appEventNames [] = {
- { kEventAppActivated, "Activated"},
- { kEventAppDeactivated, "Deactivated"},
- { kEventAppQuit, "Quit"},
- { kEventAppLaunchNotification, "LaunchNotification"},
- { kEventAppLaunched, "Launched"},
- { kEventAppTerminated, "Terminated"},
- { kEventAppFrontSwitched, "FrontSwitched"},
- { 0, NULL}
-};
-
-static MyEventName menuEventNames [] = {
- { kEventMenuBeginTracking, "BeginTracking"},
- { kEventMenuEndTracking, "EndTracking"},
- { kEventMenuChangeTrackingMode, "ChangeTrackingMode"},
- { kEventMenuOpening, "Opening"},
- { kEventMenuClosed, "Closed"},
- { kEventMenuTargetItem, "TargetItem"},
- { kEventMenuMatchKey, "MatchKey"},
- { kEventMenuEnableItems, "EnableItems"},
- { kEventMenuDispose, "Dispose"},
- { 0, NULL }
-};
-
-static MyEventName controlEventNames [] = {
- { kEventControlInitialize, "Initialize" },
- { kEventControlDispose, "Dispose" },
- { kEventControlGetOptimalBounds, "GetOptimalBounds" },
- { kEventControlHit, "Hit" },
- { kEventControlSimulateHit, "SimulateHit" },
- { kEventControlHitTest, "HitTest" },
- { kEventControlDraw, "Draw" },
- { kEventControlApplyBackground, "ApplyBackground" },
- { kEventControlApplyTextColor, "ApplyTextColor" },
- { kEventControlSetFocusPart, "SetFocusPart" },
- { kEventControlGetFocusPart, "GetFocusPart" },
- { kEventControlActivate, "Activate" },
- { kEventControlDeactivate, "Deactivate" },
- { kEventControlSetCursor, "SetCursor" },
- { kEventControlContextualMenuClick, "ContextualMenuClick" },
- { kEventControlClick, "Click" },
- { kEventControlTrack, "Track" },
- { kEventControlGetScrollToHereStartPoint, "GetScrollToHereStartPoint" },
- { kEventControlGetIndicatorDragConstraint, "GetIndicatorDragConstraint" },
- { kEventControlIndicatorMoved, "IndicatorMoved" },
- { kEventControlGhostingFinished, "GhostingFinished" },
- { kEventControlGetActionProcPart, "GetActionProcPart" },
- { kEventControlGetPartRegion, "GetPartRegion" },
- { kEventControlGetPartBounds, "GetPartBounds" },
- { kEventControlSetData, "SetData" },
- { kEventControlGetData, "GetData" },
- { kEventControlValueFieldChanged, "ValueFieldChanged" },
- { kEventControlAddedSubControl, "AddedSubControl" },
- { kEventControlRemovingSubControl, "RemovingSubControl" },
- { kEventControlBoundsChanged, "BoundsChanged" },
- { kEventControlOwningWindowChanged, "OwningWindowChanged" },
- { kEventControlArbitraryMessage, "ArbitraryMessage" },
- { 0, NULL }
-};
-
-static MyEventName commandEventNames [] = {
- { kEventCommandProcess, "Process" },
- { kEventCommandUpdateStatus, "UpdateStatus" },
- { 0, NULL }
-};
-
-static MyEventNameList eventNameList [] = {
- { kEventClassWindow, windowEventNames },
- { kEventClassMouse, mouseEventNames },
- { kEventClassKeyboard, keyboardEventNames },
- { kEventClassApplication, appEventNames },
- { kEventClassMenu, menuEventNames },
- { kEventClassControl, controlEventNames },
- { kEventClassCommand, commandEventNames },
- { 0, NULL}
-};
-
-#ifdef TK_MACOSXDEBUG_UNUSED
-static MyEventName classicEventNames [] = {
- { nullEvent,"nullEvent" },
- { mouseDown,"mouseDown" },
- { mouseUp,"mouseUp" },
- { keyDown,"keyDown" },
- { keyUp,"keyUp" },
- { autoKey,"autoKey" },
- { updateEvt,"updateEvt" },
- { diskEvt,"diskEvt" },
- { activateEvt,"activateEvt" },
- { osEvt,"osEvt" },
- { kHighLevelEvent,"kHighLevelEvent" },
- { 0, NULL }
-};
-#endif /* TK_MACOSXDEBUG_UNUSED */
-
-MODULE_SCOPE char *
-TkMacOSXCarbonEventToAscii(
- EventRef eventRef)
-{
- EventClass eventClass;
- EventKind eventKind;
- MyEventNameList * list = eventNameList;
- MyEventName * names = NULL;
- static char str[256];
- char *buf = str;
- int *iPtr = (int*)str;
- int found = 0;
-
- eventClass = GetEventClass(eventRef);
- eventKind = GetEventKind(eventRef);
-
- *iPtr = eventClass;
- buf[4] = 0;
- strcat(buf, " ");
- buf += strlen(buf);
- while (list->names && (!names) ) {
- if (eventClass == list->c) {
- names = list -> names;
- } else {
- list++;
- }
- }
- while (names && names->name) {
- if (eventKind == names->kind) {
- snprintf(buf, 250, "%-20s", names->name);
- break;
- } else {
- names++;
- }
- }
- if (!found) {
- snprintf(buf, 250, "%-20d", eventKind);
- }
- return str;
-}
-
-#ifdef TK_MACOSXDEBUG_UNUSED
-MODULE_SCOPE char *
-TkMacOSXCarbonEventKindToAscii(
- EventRef eventRef,
- char *buf)
-{
- EventClass eventClass;
- EventKind eventKind;
- MyEventNameList *list = eventNameList;
- MyEventName *names = NULL;
- int found = 0;
-
- eventClass = GetEventClass(eventRef);
- eventKind = GetEventKind(eventRef);
- while (list->names && (!names) ) {
- if (eventClass == list -> c) {
- names = list -> names;
- } else {
- list++;
- }
- }
- if (names) {
- found = 0;
- while (names->name && !found) {
- if (eventKind == names->kind) {
- sprintf(buf,"%s",names->name);
- found = 1;
- } else {
- names++;
- }
- }
- }
- if (!found) {
- sprintf(buf,"%d", eventKind);
- } else {
- sprintf(buf,"%d", eventKind);
- }
- return buf;
-}
-
-MODULE_SCOPE char *
-TkMacOSXClassicEventToAscii(
- EventRecord *eventPtr,
- char *buf)
-{
- MyEventName *names = NULL;
- int found = 0;
- names = classicEventNames;
- while (names -> name && !found) {
- if (eventPtr->what == names->kind) {
- int *iPtr;
- char cBuf[8];
-
- iPtr = (int *) &cBuf;
- *iPtr = eventPtr->message;
- cBuf[4] = 0;
- sprintf(buf, "%-16s %08x %04x %s", names->name,
- (int) eventPtr->message, eventPtr->modifiers, cBuf);
- found = 1;
- } else {
- names++;
- }
- }
- if (!found) {
- sprintf(buf,"%-16d %08x %08x, %s", eventPtr->what,
- (int) eventPtr->message, eventPtr->modifiers, buf);
- }
- return buf;
-}
-
-MODULE_SCOPE void
-TkMacOSXPrintPoint(
- char *tag,
- Point *p)
-{
- TkMacOSXDbgMsg("%s %4d %4d", tag,p->h,p->v );
-}
-
-MODULE_SCOPE void
-TkMacOSXPrintRect(
- char *tag,
- Rect *r)
-{
- TkMacOSXDbgMsg("%s %4d %4d %4d %4d (%dx%d)",
- tag, r->left, r->top, r->right, r->bottom,
- r->right - r->left + 1, r->bottom - r->top + 1);
-}
-
-MODULE_SCOPE void
-TkMacOSXPrintRegion(
- char *tag,
- RgnHandle rgn)
-{
- Rect r;
-
- GetRegionBounds(rgn,&r);
- TkMacOSXPrintRect(tag,&r);
-}
-
-MODULE_SCOPE void
-TkMacOSXPrintWindowTitle(
- char *tag,
- WindowRef window)
-{
- Str255 title;
-
- GetWTitle(window, title);
- title[title[0] + 1] = 0;
- TkMacOSXDbgMsg("%s %s", tag, title+1);
-}
-
-typedef struct {
- int msg;
- char *name;
-} MsgName;
-
-static MsgName msgNames [] = {
- { kMenuDrawMsg, "Draw"},
- { kMenuSizeMsg, "Size"},
- { kMenuPopUpMsg, "PopUp"},
- { kMenuCalcItemMsg, "CalcItem" },
- { kMenuThemeSavvyMsg, "ThemeSavvy"},
- { kMenuInitMsg, "Init" },
- { kMenuDisposeMsg, "Dispose" },
- { kMenuFindItemMsg, "FindItem" },
- { kMenuHiliteItemMsg, "HiliteItem" },
- { kMenuDrawItemsMsg, "DrawItems" },
- { -1, NULL }
-};
-
-MODULE_SCOPE char *
-TkMacOSXMenuMessageToAscii(
- int msg,
- char *s)
-{
- MsgName *msgNamePtr;
-
- for (msgNamePtr=msgNames ; msgNamePtr->name ; msgNamePtr++) {
- if (msgNamePtr->msg == msg) {
- strcpy(s,msgNamePtr->name);
- return s;
- }
- }
- sprintf(s, "unknown : %d", msg);
- return s;
-}
-
-static MsgName trackingNames [] = {
- { kMouseTrackingMousePressed , "MousePressed " },
- { kMouseTrackingMouseReleased , "MouseReleased " },
- { kMouseTrackingMouseExited , "MouseExited " },
- { kMouseTrackingMouseEntered , "MouseEntered " },
- { kMouseTrackingMouseMoved , "MouseMoved " },
- { kMouseTrackingKeyModifiersChanged, "KeyModifiersChanged" },
- { kMouseTrackingUserCancelled , "UserCancelled " },
- { kMouseTrackingTimedOut , "TimedOut " },
- { -1, NULL }
-};
-
-MODULE_SCOPE char *
-TkMacOSXMouseTrackingResultToAscii(
- MouseTrackingResult r,
- char *buf)
-{
- MsgName *namePtr;
-
- for (namePtr = trackingNames; namePtr->name; namePtr++) {
- if (namePtr->msg == r) {
- strcpy(buf, namePtr->name);
- return buf;
- }
- }
- sprintf(buf, "Unknown mouse tracking result : %d", r);
- return buf;
-}
-#endif /* TK_MACOSXDEBUG_UNUSED */
-
-MODULE_SCOPE void
-TkMacOSXDebugFlashRegion(
- Drawable d,
- HIShapeRef rgn)
-{
- TkMacOSXInitNamedDebugSymbol(HIToolbox, int, QDDebugFlashRegion,
- CGrafPtr port, RgnHandle region);
- CFShow(rgn);
- if (d && rgn && QDDebugFlashRegion && !HIShapeIsEmpty(rgn)) {
- CGrafPtr port = TkMacOSXGetDrawablePort(d);
-
- if (port) {
- static RgnHandle qdRgn = NULL;
-
- if (!qdRgn) {
- qdRgn = NewRgn();
- }
- ChkErr(HIShapeGetAsQDRgn, rgn, qdRgn);
-
- /*
- * Carbon-internal region flashing SPI (c.f. Technote 2124)
- */
-
- QDDebugFlashRegion(port, qdRgn);
- SetEmptyRgn(qdRgn);
- }
- }
-}
-
-#include <mach-o/dyld.h>
-#include <mach-o/nlist.h>
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNamedDebugSymbol --
- *
- * 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. For debugging purposes, if we cannot find the symbol with
- * the usual dynamic library APIs, we manually walk the symbol table of
- * the loaded library. This allows access to unexported symbols such as
- * private_extern internal debugging functions. If module is NULL or the
- * empty string, search all loaded libraries (could be very expensive and
- * should be avoided).
- *
- * THIS FUCTION IS ONLY TO BE USED FOR DEBUGGING PURPOSES, IT MAY BREAK
- * UNEXPECTEDLY IN THE FUTURE!
- *
- * Results:
- * Address of given symbol or NULL if unavailable.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void *
-TkMacOSXGetNamedDebugSymbol(
- const char *module,
- const char *symbol)
-{
- void *addr = TkMacOSXGetNamedSymbol(module, symbol);
-
-#ifndef __LP64__
- if (!addr) {
- const struct mach_header *mh = NULL;
- uint32_t i, n = _dyld_image_count();
- size_t module_len = 0;
-
- if (module && *module) {
- module_len = strlen(module);
- }
- for (i = 0; i < n; i++) {
- if (module && *module) {
- /* Find image with given module name */
- char *name;
- const char *path = _dyld_get_image_name(i);
-
- if (!path) {
- continue;
- }
- name = strrchr(path, '/') + 1;
- if (strncmp(name, module, module_len) != 0) {
- continue;
- }
- }
- mh = _dyld_get_image_header(i);
- if (mh) {
- struct load_command *lc;
- struct symtab_command *st = NULL;
- struct segment_command *sg = NULL;
- uint32_t j, m, nsect = 0, txtsectx = 0;
-
- lc = (struct load_command*)((const char*) mh +
- sizeof(struct mach_header));
- m = mh->ncmds;
- for (j = 0; j < m; j++) {
- /* Find symbol table and index of __text section */
- if (lc->cmd == LC_SEGMENT) {
- /* Find last segment before symbol table */
- sg = (struct segment_command*) lc;
- if (!txtsectx) {
- /* Count total sections until (__TEXT, __text) */
- uint32_t k, ns = sg->nsects;
-
- if (strcmp(sg->segname, SEG_TEXT) == 0) {
- struct section *s = (struct section *)(
- (char *)sg +
- sizeof(struct segment_command));
-
- for(k = 0; k < ns; k++) {
- if (strcmp(s->sectname, SECT_TEXT) == 0) {
- txtsectx = nsect+k+1;
- break;
- }
- s++;
- }
- }
- nsect += ns;
- }
- } else if (!st && lc->cmd == LC_SYMTAB) {
- st = (struct symtab_command *) lc;
- break;
- }
- lc = (struct load_command *)((char *) lc + lc->cmdsize);
- }
- if (st && sg && txtsectx) {
- intptr_t base, slide = _dyld_get_image_vmaddr_slide(i);
- char *strings;
- struct nlist *sym;
- uint32_t strsize = st->strsize;
- int32_t strx;
-
- /*
- * Offset file positions by difference to actual position
- * in memory of last segment before symbol table:
- */
-
- base = (intptr_t) sg->vmaddr + slide - sg->fileoff;
- strings = (char *) (base + st->stroff);
- sym = (struct nlist *) (base + st->symoff);
- m = st->nsyms;
- for (j = 0; j < m; j++) {
- /* Find symbol with given name in __text section */
- strx = sym->n_un.n_strx;
- if ((sym->n_type & N_TYPE) == N_SECT &&
- sym->n_sect == txtsectx &&
- strx > 0 && (uint32_t) strx < strsize &&
- strcmp(strings + strx, symbol) == 0) {
- addr = (char*) sym->n_value + slide;
- break;
- }
- sym++;
- }
- }
- }
- if (module && *module) {
- /* If given a module name, only search corresponding image */
- break;
- }
- }
- }
-#endif /* __LP64__ */
- return addr;
-}
-#endif /* TK_MAC_DEBUG */
-
-/*
- * Local Variables:
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/carbon/tkMacOSXDebug.h b/carbon/tkMacOSXDebug.h
deleted file mode 100644
index 8dc8109..0000000
--- a/carbon/tkMacOSXDebug.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * tkMacOSXDebug.h --
- *
- * Declarations of Macintosh specific functions for debugging MacOS events,
- * regions, etc...
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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
- * unless explicitly disclaimed in individual files.
- *
- *
- * Apple hereby grants permission to use, copy, modify,
- * distribute, and license this software and its documentation
- * for any purpose, provided that existing copyright notices are
- * retained in all copies and that this notice is included
- * verbatim in any distributions. No written agreement, license,
- * or royalty fee is required for any of the authorized
- * uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms
- * described here, provided that the new terms are clearly
- * indicated on the first page of each file where they apply.
- *
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
- * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
- * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
- * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND
- * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
- * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
- * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf
- * of the U.S. government, the Government shall have only
- * "Restricted Rights" in the software and related documentation
- * as defined in the Federal Acquisition Regulations (FARs) in
- * Clause 52.227.19 (c) (2). If you are acquiring the software
- * on behalf of the Department of Defense, the software shall be
- * classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in
- * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
- * foregoing, the authors grant the U.S. Government and others
- * acting in its behalf permission to use and distribute the
- * software in accordance with the terms specified in this
- * license.
- */
-
-#ifndef _TKMACDEBUG
-#define _TKMACDEBUG
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-#ifdef TK_MAC_DEBUG
-
-MODULE_SCOPE char* TkMacOSXCarbonEventToAscii(EventRef eventRef);
-
-#ifdef TK_MACOSXDEBUG_UNUSED
-MODULE_SCOPE char* TkMacOSXCarbonEventKindToAscii(EventRef eventRef, char * buf );
-MODULE_SCOPE char* TkMacOSXClassicEventToAscii(EventRecord * eventPtr, char * buf );
-
-MODULE_SCOPE void TkMacOSXPrintRect(char * tag, Rect * r );
-MODULE_SCOPE void TkMacOSXPrintPoint(char * tag, Point * p );
-
-MODULE_SCOPE void TkMacOSXPrintRegion(char * tag, RgnHandle rgn );
-MODULE_SCOPE void TkMacOSXPrintWindowTitle(char * tag, WindowRef window );
-MODULE_SCOPE char* TkMacOSXMenuMessageToAscii(int msg, char * s);
-
-MODULE_SCOPE char* TkMacOSXMouseTrackingResultToAscii(MouseTrackingResult r, char * buf );
-#endif
-
-MODULE_SCOPE void TkMacOSXDebugFlashRegion(Drawable d, HIShapeRef rgn);
-
-MODULE_SCOPE void* TkMacOSXGetNamedDebugSymbol(const char* module, const char* symbol);
-
-/* Macro to abstract common use of TkMacOSXGetNamedDebugSymbol to initialize named symbols */
-#define TkMacOSXInitNamedDebugSymbol(module, ret, symbol, ...) \
- static ret (* symbol)(__VA_ARGS__) = (void*)(-1L); \
- if (symbol == (void*)(-1L)) { \
- symbol = TkMacOSXGetNamedDebugSymbol(STRINGIFY(module), STRINGIFY(_##symbol));\
- }
-
-#endif /* TK_MAC_DEBUG */
-
-#endif
diff --git a/carbon/tkMacOSXDefault.h b/carbon/tkMacOSXDefault.h
deleted file mode 100644
index 0cb57da..0000000
--- a/carbon/tkMacOSXDefault.h
+++ /dev/null
@@ -1,555 +0,0 @@
-/*
- * tkMacOSXDefault.h --
- *
- * This file defines the defaults for all options for all of
- * the Tk widgets.
- *
- * Copyright (c) 1991-1994 The Regents of the University of California.
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#ifndef _TKMACDEFAULT
-#define _TKMACDEFAULT
-
-/*
- * The definitions below provide symbolic names for the default colors.
- * NORMAL_BG - Normal background color.
- * ACTIVE_BG - Background color when widget is active.
- * SELECT_BG - Background color for selected text.
- * SELECT_FG - Foreground color for selected text.
- * TROUGH - Background color for troughs in scales and scrollbars.
- * INDICATOR - Color for indicator when button is selected.
- * DISABLED - Foreground color when widget is disabled.
- */
-
-#define BLACK "Black"
-#define WHITE "White"
-#define NORMAL_BG "systemWindowBody"
-#define ACTIVE_BG "systemButtonFacePressed"
-#define ACTIVE_FG "systemPushButtonPressedText"
-#define SELECT_BG "systemHighlight"
-#define SELECT_FG None
-#define INACTIVE_SELECT_BG "systemHighlightSecondary"
-#define TROUGH "#c3c3c3"
-#define INDICATOR "#b03060"
-#define DISABLED "#a3a3a3"
-
-/*
- * Defaults for labels, buttons, checkbuttons, and radiobuttons:
- */
-
-#define DEF_BUTTON_ANCHOR "center"
-#define DEF_BUTTON_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_BUTTON_ACTIVE_BG_MONO BLACK
-#define DEF_BUTTON_ACTIVE_FG_COLOR ACTIVE_FG
-#define DEF_CHKRAD_ACTIVE_FG_COLOR DEF_BUTTON_ACTIVE_FG_COLOR
-#define DEF_BUTTON_ACTIVE_FG_MONO WHITE
-/* #define DEF_BUTTON_BG_COLOR "systemButtonFace"*/
-#define DEF_BUTTON_BG_COLOR WHITE
-#define DEF_BUTTON_BG_MONO WHITE
-#define DEF_BUTTON_BITMAP ""
-#define DEF_BUTTON_BORDER_WIDTH "2"
-#define DEF_BUTTON_CURSOR ""
-#define DEF_BUTTON_COMMAND ""
-#define DEF_BUTTON_COMPOUND "none"
-#define DEF_BUTTON_DEFAULT "disabled"
-#define DEF_BUTTON_DISABLED_FG_COLOR DISABLED
-#define DEF_BUTTON_DISABLED_FG_MONO ""
-#define DEF_BUTTON_FG "systemButtonText"
-#define DEF_CHKRAD_FG DEF_BUTTON_FG
-#define DEF_BUTTON_FONT "TkDefaultFont"
-#define DEF_BUTTON_HEIGHT "0"
-#define DEF_BUTTON_HIGHLIGHT_BG_COLOR DEF_BUTTON_BG_COLOR
-#define DEF_BUTTON_HIGHLIGHT_BG_MONO DEF_BUTTON_BG_MONO
-#define DEF_BUTTON_HIGHLIGHT "systemButtonFrame"
-#define DEF_LABEL_HIGHLIGHT_WIDTH "0"
-#define DEF_BUTTON_HIGHLIGHT_WIDTH "4"
-#define DEF_BUTTON_IMAGE ((char *) NULL)
-#define DEF_BUTTON_INDICATOR "1"
-#define DEF_BUTTON_JUSTIFY "center"
-#define DEF_BUTTON_OFF_VALUE "0"
-#define DEF_BUTTON_ON_VALUE "1"
-#define DEF_BUTTON_TRISTATE_VALUE ""
-#define DEF_BUTTON_OVER_RELIEF ""
-#define DEF_BUTTON_PADX "12"
-#define DEF_LABCHKRAD_PADX "1"
-#define DEF_BUTTON_PADY "3"
-#define DEF_LABCHKRAD_PADY "1"
-#define DEF_BUTTON_RELIEF "flat"
-#define DEF_LABCHKRAD_RELIEF "flat"
-#define DEF_BUTTON_REPEAT_DELAY "0"
-#define DEF_BUTTON_REPEAT_INTERVAL "0"
-#define DEF_BUTTON_SELECT_COLOR INDICATOR
-#define DEF_BUTTON_SELECT_MONO BLACK
-#define DEF_BUTTON_SELECT_IMAGE ((char *) NULL)
-#define DEF_BUTTON_STATE "normal"
-#define DEF_LABEL_TAKE_FOCUS "0"
-#define DEF_BUTTON_TAKE_FOCUS ((char *) NULL)
-#define DEF_BUTTON_TEXT ""
-#define DEF_BUTTON_TEXT_VARIABLE ""
-#define DEF_BUTTON_UNDERLINE "-1"
-#define DEF_BUTTON_VALUE ""
-#define DEF_BUTTON_WIDTH "0"
-#define DEF_BUTTON_WRAP_LENGTH "0"
-#define DEF_RADIOBUTTON_VARIABLE "selectedButton"
-#define DEF_CHECKBUTTON_VARIABLE ""
-
-/*
- * Defaults for canvases:
- */
-
-#define DEF_CANVAS_BG_COLOR NORMAL_BG
-#define DEF_CANVAS_BG_MONO WHITE
-#define DEF_CANVAS_BORDER_WIDTH "0"
-#define DEF_CANVAS_CLOSE_ENOUGH "1"
-#define DEF_CANVAS_CONFINE "1"
-#define DEF_CANVAS_CURSOR ""
-#define DEF_CANVAS_HEIGHT "7c"
-#define DEF_CANVAS_HIGHLIGHT_BG NORMAL_BG
-#define DEF_CANVAS_HIGHLIGHT BLACK
-#define DEF_CANVAS_HIGHLIGHT_WIDTH "3"
-#define DEF_CANVAS_INSERT_BG BLACK
-#define DEF_CANVAS_INSERT_BD_COLOR "0"
-#define DEF_CANVAS_INSERT_BD_MONO "0"
-#define DEF_CANVAS_INSERT_OFF_TIME "300"
-#define DEF_CANVAS_INSERT_ON_TIME "600"
-#define DEF_CANVAS_INSERT_WIDTH "2"
-#define DEF_CANVAS_RELIEF "flat"
-#define DEF_CANVAS_SCROLL_REGION ""
-#define DEF_CANVAS_SELECT_COLOR SELECT_BG
-#define DEF_CANVAS_SELECT_MONO BLACK
-#define DEF_CANVAS_SELECT_BD_COLOR "1"
-#define DEF_CANVAS_SELECT_BD_MONO "0"
-#define DEF_CANVAS_SELECT_FG_COLOR SELECT_FG
-#define DEF_CANVAS_SELECT_FG_MONO WHITE
-#define DEF_CANVAS_TAKE_FOCUS ((char *) NULL)
-#define DEF_CANVAS_WIDTH "10c"
-#define DEF_CANVAS_X_SCROLL_CMD ""
-#define DEF_CANVAS_X_SCROLL_INCREMENT "0"
-#define DEF_CANVAS_Y_SCROLL_CMD ""
-#define DEF_CANVAS_Y_SCROLL_INCREMENT "0"
-
-/*
- * Defaults for entries:
- */
-
-/*
- * I test the following two values in TkpDrawEntryBorderAndFocus
- * to determine whether to use the native entry widget. So if
- * you change the defaults to be different from these, then you
- * won't get the native widget by default.
- */
-
-#define MAC_OSX_FOCUS_WIDTH 3
-#define MAC_OSX_ENTRY_BORDER 2
-#define MAC_OSX_ENTRY_RELIEF TK_RELIEF_SUNKEN
-#define MAC_OSX_ENTRY_SELECT_RELIEF TK_RELIEF_FLAT
-
-#define DEF_ENTRY_BG_COLOR NORMAL_BG
-#define DEF_ENTRY_BG_MONO WHITE
-#define DEF_ENTRY_BORDER_WIDTH "2"
-#define DEF_ENTRY_CURSOR "xterm"
-#define DEF_ENTRY_DISABLED_BG_COLOR NORMAL_BG
-#define DEF_ENTRY_DISABLED_BG_MONO WHITE
-#define DEF_ENTRY_DISABLED_FG DISABLED
-#define DEF_ENTRY_EXPORT_SELECTION "1"
-#define DEF_ENTRY_FONT "TkTextFont"
-#define DEF_ENTRY_FG BLACK
-#define DEF_ENTRY_HIGHLIGHT_BG NORMAL_BG
-#define DEF_ENTRY_HIGHLIGHT BLACK
-/* #define DEF_ENTRY_HIGHLIGHT_WIDTH "3" */
-#define DEF_ENTRY_HIGHLIGHT_WIDTH "3"
-#define DEF_ENTRY_INSERT_BG BLACK
-#define DEF_ENTRY_INSERT_BD_COLOR "0"
-#define DEF_ENTRY_INSERT_BD_MONO "0"
-#define DEF_ENTRY_INSERT_OFF_TIME "300"
-#define DEF_ENTRY_INSERT_ON_TIME "600"
-/* #define DEF_ENTRY_INSERT_WIDTH "2" */
-#define DEF_ENTRY_INSERT_WIDTH "1"
-#define DEF_ENTRY_JUSTIFY "left"
-#define DEF_ENTRY_READONLY_BG_COLOR NORMAL_BG
-#define DEF_ENTRY_READONLY_BG_MONO WHITE
-#define DEF_ENTRY_RELIEF "sunken"
-/* #define DEF_ENTRY_RELIEF "solid" */
-#define DEF_ENTRY_SCROLL_COMMAND ""
-#define DEF_ENTRY_SELECT_COLOR SELECT_BG
-#define DEF_ENTRY_SELECT_MONO BLACK
-#define DEF_ENTRY_SELECT_BD_COLOR "1"
-#define DEF_ENTRY_SELECT_BD_MONO "0"
-#define DEF_ENTRY_SELECT_FG_COLOR SELECT_FG
-#define DEF_ENTRY_SELECT_FG_MONO WHITE
-#define DEF_ENTRY_SHOW ((char *) NULL)
-#define DEF_ENTRY_STATE "normal"
-#define DEF_ENTRY_TAKE_FOCUS ((char *) NULL)
-#define DEF_ENTRY_TEXT_VARIABLE ""
-#define DEF_ENTRY_WIDTH "20"
-
-/*
- * Defaults for frames:
- */
-
-#define DEF_FRAME_BG_COLOR NORMAL_BG
-#define DEF_FRAME_BG_MONO WHITE
-#define DEF_FRAME_BORDER_WIDTH "0"
-#define DEF_FRAME_CLASS "Frame"
-#define DEF_FRAME_COLORMAP ""
-#define DEF_FRAME_CONTAINER "0"
-#define DEF_FRAME_CURSOR ""
-#define DEF_FRAME_HEIGHT "0"
-#define DEF_FRAME_HIGHLIGHT_BG NORMAL_BG
-#define DEF_FRAME_HIGHLIGHT BLACK
-#define DEF_FRAME_HIGHLIGHT_WIDTH "0"
-#define DEF_FRAME_PADX "0"
-#define DEF_FRAME_PADY "0"
-#define DEF_FRAME_RELIEF "flat"
-#define DEF_FRAME_TAKE_FOCUS "0"
-#define DEF_FRAME_VISUAL ""
-#define DEF_FRAME_WIDTH "0"
-
-/*
- * Defaults for labelframes:
- */
-
-#define DEF_LABELFRAME_BORDER_WIDTH "2"
-#define DEF_LABELFRAME_CLASS "Labelframe"
-#define DEF_LABELFRAME_RELIEF "groove"
-#define DEF_LABELFRAME_FG "systemButtonText"
-#define DEF_LABELFRAME_FONT "TkDefaultFont"
-#define DEF_LABELFRAME_TEXT ""
-#define DEF_LABELFRAME_LABELANCHOR "nw"
-
-/*
- * Defaults for listboxes:
- */
-
-#define DEF_LISTBOX_ACTIVE_STYLE "dotbox"
-#define DEF_LISTBOX_BG_COLOR WHITE
-#define DEF_LISTBOX_BG_MONO WHITE
-#define DEF_LISTBOX_BORDER_WIDTH "1"
-#define DEF_LISTBOX_CURSOR ""
-#define DEF_LISTBOX_DISABLED_FG DISABLED
-#define DEF_LISTBOX_EXPORT_SELECTION "1"
-#define DEF_LISTBOX_FONT "TkTextFont"
-#define DEF_LISTBOX_FG BLACK
-#define DEF_LISTBOX_HEIGHT "10"
-#define DEF_LISTBOX_HIGHLIGHT_BG NORMAL_BG
-#define DEF_LISTBOX_HIGHLIGHT BLACK
-#define DEF_LISTBOX_HIGHLIGHT_WIDTH "0"
-#define DEF_LISTBOX_RELIEF "solid"
-#define DEF_LISTBOX_SCROLL_COMMAND ""
-#define DEF_LISTBOX_LIST_VARIABLE ""
-#define DEF_LISTBOX_SELECT_COLOR SELECT_BG
-#define DEF_LISTBOX_SELECT_MONO BLACK
-#define DEF_LISTBOX_SELECT_BD "0"
-#define DEF_LISTBOX_SELECT_FG_COLOR SELECT_FG
-#define DEF_LISTBOX_SELECT_FG_MONO WHITE
-#define DEF_LISTBOX_SELECT_MODE "browse"
-#define DEF_LISTBOX_SET_GRID "0"
-#define DEF_LISTBOX_STATE "normal"
-#define DEF_LISTBOX_TAKE_FOCUS ((char *) NULL)
-#define DEF_LISTBOX_WIDTH "20"
-
-/*
- * Defaults for individual entries of menus:
- */
-
-#define DEF_MENU_ENTRY_ACTIVE_BG ((char *) NULL)
-#define DEF_MENU_ENTRY_ACTIVE_FG ((char *) NULL)
-#define DEF_MENU_ENTRY_ACCELERATOR ((char *) NULL)
-#define DEF_MENU_ENTRY_BG ((char *) NULL)
-#define DEF_MENU_ENTRY_BITMAP None
-#define DEF_MENU_ENTRY_COLUMN_BREAK "0"
-#define DEF_MENU_ENTRY_COMMAND ((char *) NULL)
-#define DEF_MENU_ENTRY_COMPOUND "none"
-#define DEF_MENU_ENTRY_FG ((char *) NULL)
-#define DEF_MENU_ENTRY_FONT ((char *) NULL)
-#define DEF_MENU_ENTRY_HIDE_MARGIN "0"
-#define DEF_MENU_ENTRY_IMAGE ((char *) NULL)
-#define DEF_MENU_ENTRY_INDICATOR "1"
-#define DEF_MENU_ENTRY_LABEL ((char *) NULL)
-#define DEF_MENU_ENTRY_MENU ((char *) NULL)
-#define DEF_MENU_ENTRY_OFF_VALUE "0"
-#define DEF_MENU_ENTRY_ON_VALUE "1"
-#define DEF_MENU_ENTRY_SELECT_IMAGE ((char *) NULL)
-#define DEF_MENU_ENTRY_STATE "normal"
-#define DEF_MENU_ENTRY_VALUE ((char *) NULL)
-#define DEF_MENU_ENTRY_CHECK_VARIABLE ((char *) NULL)
-#define DEF_MENU_ENTRY_RADIO_VARIABLE "selectedButton"
-#define DEF_MENU_ENTRY_SELECT ((char *) NULL)
-#define DEF_MENU_ENTRY_UNDERLINE "-1"
-
-/*
- * Defaults for menus overall:
- */
-
-#define DEF_MENU_ACTIVE_BG_COLOR "systemMenuActive"
-#define DEF_MENU_ACTIVE_BG_MONO BLACK
-#define DEF_MENU_ACTIVE_BORDER_WIDTH "0"
-#define DEF_MENU_ACTIVE_FG_COLOR "systemMenuActiveText"
-#define DEF_MENU_ACTIVE_FG_MONO WHITE
-#define DEF_MENU_BG_COLOR "systemMenu"
-#define DEF_MENU_BG_MONO WHITE
-#define DEF_MENU_BORDER_WIDTH "0"
-#define DEF_MENU_CURSOR "arrow"
-#define DEF_MENU_DISABLED_FG_COLOR "systemMenuDisabled"
-#define DEF_MENU_DISABLED_FG_MONO ""
-#define DEF_MENU_FONT "menu" /* special: see tkMacOSXMenu.c */
-#define DEF_MENU_FG "systemMenuText"
-#define DEF_MENU_POST_COMMAND ""
-#define DEF_MENU_RELIEF "flat"
-#define DEF_MENU_SELECT_COLOR "systemMenuActive"
-#define DEF_MENU_SELECT_MONO BLACK
-#define DEF_MENU_TAKE_FOCUS "0"
-
-/*
- * FIXME: Turn the default back to 1 when we make tearoff menus work again.
- */
-
-#define DEF_MENU_TEAROFF "0"
-#define DEF_MENU_TEAROFF_CMD ((char *) NULL)
-#define DEF_MENU_TITLE ""
-#define DEF_MENU_TYPE "normal"
-
-/*
- * Defaults for menubuttons:
- */
-
-#define DEF_MENUBUTTON_ANCHOR "center"
-#define DEF_MENUBUTTON_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_MENUBUTTON_ACTIVE_BG_MONO BLACK
-#define DEF_MENUBUTTON_ACTIVE_FG_COLOR ACTIVE_FG
-#define DEF_MENUBUTTON_ACTIVE_FG_MONO WHITE
-#define DEF_MENUBUTTON_BG_COLOR NORMAL_BG
-#define DEF_MENUBUTTON_BG_MONO WHITE
-#define DEF_MENUBUTTON_BITMAP ""
-#define DEF_MENUBUTTON_BORDER_WIDTH "2"
-#define DEF_MENUBUTTON_CURSOR ""
-#define DEF_MENUBUTTON_DIRECTION "below"
-#define DEF_MENUBUTTON_DISABLED_FG_COLOR DISABLED
-#define DEF_MENUBUTTON_DISABLED_FG_MONO ""
-#define DEF_MENUBUTTON_FONT "TkDefaultFont"
-#define DEF_MENUBUTTON_FG BLACK
-#define DEF_MENUBUTTON_HEIGHT "0"
-#define DEF_MENUBUTTON_HIGHLIGHT_BG_COLOR DEF_MENUBUTTON_BG_COLOR
-#define DEF_MENUBUTTON_HIGHLIGHT_BG_MONO DEF_MENUBUTTON_BG_MONO
-#define DEF_MENUBUTTON_HIGHLIGHT BLACK
-#define DEF_MENUBUTTON_HIGHLIGHT_WIDTH "0"
-#define DEF_MENUBUTTON_IMAGE ((char *) NULL)
-#define DEF_MENUBUTTON_INDICATOR "0"
-/* #define DEF_MENUBUTTON_JUSTIFY "center" */
-#define DEF_MENUBUTTON_JUSTIFY "left"
-#define DEF_MENUBUTTON_MENU ""
-#define DEF_MENUBUTTON_PADX "4p"
-#define DEF_MENUBUTTON_PADY "3p"
-#define DEF_MENUBUTTON_RELIEF "flat"
-#define DEF_MENUBUTTON_STATE "normal"
-#define DEF_MENUBUTTON_TAKE_FOCUS "0"
-#define DEF_MENUBUTTON_TEXT ""
-#define DEF_MENUBUTTON_TEXT_VARIABLE ""
-#define DEF_MENUBUTTON_UNDERLINE "-1"
-#define DEF_MENUBUTTON_WIDTH "0"
-#define DEF_MENUBUTTON_WRAP_LENGTH "0"
-
-/*
- * Defaults for messages:
- */
-
-#define DEF_MESSAGE_ANCHOR "center"
-#define DEF_MESSAGE_ASPECT "150"
-#define DEF_MESSAGE_BG_COLOR NORMAL_BG
-#define DEF_MESSAGE_BG_MONO WHITE
-#define DEF_MESSAGE_BORDER_WIDTH "1"
-#define DEF_MESSAGE_CURSOR ""
-#define DEF_MESSAGE_FG BLACK
-#define DEF_MESSAGE_FONT "TkDefaultFont"
-#define DEF_MESSAGE_HIGHLIGHT_BG NORMAL_BG
-#define DEF_MESSAGE_HIGHLIGHT BLACK
-#define DEF_MESSAGE_HIGHLIGHT_WIDTH "0"
-#define DEF_MESSAGE_JUSTIFY "left"
-#define DEF_MESSAGE_PADX "-1"
-#define DEF_MESSAGE_PADY "-1"
-#define DEF_MESSAGE_RELIEF "flat"
-#define DEF_MESSAGE_TAKE_FOCUS "0"
-#define DEF_MESSAGE_TEXT ""
-#define DEF_MESSAGE_TEXT_VARIABLE ""
-#define DEF_MESSAGE_WIDTH "0"
-/*
- * Defaults for panedwindows
- */
-
-#define DEF_PANEDWINDOW_BG_COLOR NORMAL_BG
-#define DEF_PANEDWINDOW_BG_MONO WHITE
-#define DEF_PANEDWINDOW_BORDERWIDTH "1"
-#define DEF_PANEDWINDOW_CURSOR ""
-#define DEF_PANEDWINDOW_HANDLEPAD "8"
-#define DEF_PANEDWINDOW_HANDLESIZE "8"
-#define DEF_PANEDWINDOW_HEIGHT ""
-#define DEF_PANEDWINDOW_OPAQUERESIZE "1"
-#define DEF_PANEDWINDOW_ORIENT "horizontal"
-#define DEF_PANEDWINDOW_RELIEF "flat"
-#define DEF_PANEDWINDOW_SASHCURSOR ""
-#define DEF_PANEDWINDOW_SASHPAD "0"
-#define DEF_PANEDWINDOW_SASHRELIEF "flat"
-#define DEF_PANEDWINDOW_SASHWIDTH "3"
-#define DEF_PANEDWINDOW_SHOWHANDLE "0"
-#define DEF_PANEDWINDOW_WIDTH ""
-
-/*
- * Defaults for panedwindow panes
- */
-
-#define DEF_PANEDWINDOW_PANE_AFTER ""
-#define DEF_PANEDWINDOW_PANE_BEFORE ""
-#define DEF_PANEDWINDOW_PANE_HEIGHT ""
-#define DEF_PANEDWINDOW_PANE_MINSIZE "0"
-#define DEF_PANEDWINDOW_PANE_PADX "0"
-#define DEF_PANEDWINDOW_PANE_PADY "0"
-#define DEF_PANEDWINDOW_PANE_STICKY "nsew"
-#define DEF_PANEDWINDOW_PANE_WIDTH ""
-#define DEF_PANEDWINDOW_PANE_HIDE "0"
-#define DEF_PANEDWINDOW_PANE_STRETCH "last"
-
-/*
- * Defaults for scales:
- */
-
-#define DEF_SCALE_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_SCALE_ACTIVE_BG_MONO BLACK
-#define DEF_SCALE_BG_COLOR NORMAL_BG
-#define DEF_SCALE_BG_MONO WHITE
-#define DEF_SCALE_BIG_INCREMENT "0"
-#define DEF_SCALE_BORDER_WIDTH "1"
-#define DEF_SCALE_COMMAND ""
-#define DEF_SCALE_CURSOR ""
-#define DEF_SCALE_DIGITS "0"
-#define DEF_SCALE_FONT "TkDefaultFont"
-#define DEF_SCALE_FG_COLOR BLACK
-#define DEF_SCALE_FG_MONO BLACK
-#define DEF_SCALE_FROM "0"
-#define DEF_SCALE_HIGHLIGHT_BG_COLOR DEF_SCALE_BG_COLOR
-#define DEF_SCALE_HIGHLIGHT_BG_MONO DEF_SCALE_BG_MONO
-#define DEF_SCALE_HIGHLIGHT BLACK
-#define DEF_SCALE_HIGHLIGHT_WIDTH "0"
-#define DEF_SCALE_LABEL ""
-#define DEF_SCALE_LENGTH "100"
-#define DEF_SCALE_ORIENT "vertical"
-#define DEF_SCALE_RELIEF "flat"
-#define DEF_SCALE_REPEAT_DELAY "300"
-#define DEF_SCALE_REPEAT_INTERVAL "100"
-#define DEF_SCALE_RESOLUTION "1"
-#define DEF_SCALE_TROUGH_COLOR TROUGH
-#define DEF_SCALE_TROUGH_MONO WHITE
-#define DEF_SCALE_SHOW_VALUE "1"
-#define DEF_SCALE_SLIDER_LENGTH "30"
-#define DEF_SCALE_SLIDER_RELIEF "raised"
-#define DEF_SCALE_STATE "normal"
-#define DEF_SCALE_TAKE_FOCUS ((char *) NULL)
-#define DEF_SCALE_TICK_INTERVAL "0"
-#define DEF_SCALE_TO "100"
-#define DEF_SCALE_VARIABLE ""
-#define DEF_SCALE_WIDTH "15"
-
-/*
- * Defaults for scrollbars:
- */
-
-#define DEF_SCROLLBAR_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_SCROLLBAR_ACTIVE_BG_MONO BLACK
-#define DEF_SCROLLBAR_ACTIVE_RELIEF "raised"
-#define DEF_SCROLLBAR_BG_COLOR NORMAL_BG
-#define DEF_SCROLLBAR_BG_MONO WHITE
-#define DEF_SCROLLBAR_BORDER_WIDTH "0"
-#define DEF_SCROLLBAR_COMMAND ""
-#define DEF_SCROLLBAR_CURSOR ""
-#define DEF_SCROLLBAR_EL_BORDER_WIDTH "-1"
-#define DEF_SCROLLBAR_HIGHLIGHT_BG NORMAL_BG
-#define DEF_SCROLLBAR_HIGHLIGHT BLACK
-#define DEF_SCROLLBAR_HIGHLIGHT_WIDTH "0"
-#define DEF_SCROLLBAR_JUMP "0"
-#define DEF_SCROLLBAR_ORIENT "vertical"
-#define DEF_SCROLLBAR_RELIEF "flat"
-#define DEF_SCROLLBAR_REPEAT_DELAY "300"
-#define DEF_SCROLLBAR_REPEAT_INTERVAL "100"
-#define DEF_SCROLLBAR_TAKE_FOCUS ((char *) NULL)
-#define DEF_SCROLLBAR_TROUGH_COLOR TROUGH
-#define DEF_SCROLLBAR_TROUGH_MONO WHITE
-#define DEF_SCROLLBAR_WIDTH "15"
-
-/*
- * Defaults for texts:
- */
-
-#define DEF_TEXT_AUTO_SEPARATORS "1"
-#define DEF_TEXT_BG_COLOR NORMAL_BG
-#define DEF_TEXT_BG_MONO WHITE
-#define DEF_TEXT_BLOCK_CURSOR "0"
-#define DEF_TEXT_BORDER_WIDTH "0"
-#define DEF_TEXT_CURSOR "xterm"
-#define DEF_TEXT_FG BLACK
-#define DEF_TEXT_EXPORT_SELECTION "1"
-#define DEF_TEXT_FONT "TkFixedFont"
-#define DEF_TEXT_HEIGHT "24"
-#define DEF_TEXT_HIGHLIGHT_BG NORMAL_BG
-#define DEF_TEXT_HIGHLIGHT BLACK
-#define DEF_TEXT_HIGHLIGHT_WIDTH "3"
-#define DEF_TEXT_INSERT_BG BLACK
-#define DEF_TEXT_INSERT_BD_COLOR "0"
-#define DEF_TEXT_INSERT_BD_MONO "0"
-#define DEF_TEXT_INSERT_OFF_TIME "300"
-#define DEF_TEXT_INSERT_ON_TIME "600"
-#define DEF_TEXT_INSERT_UNFOCUSSED "none"
-#define DEF_TEXT_INSERT_WIDTH "1"
-#define DEF_TEXT_MAX_UNDO "0"
-#define DEF_TEXT_PADX "1"
-#define DEF_TEXT_PADY "1"
-#define DEF_TEXT_RELIEF "flat"
-#define DEF_TEXT_INACTIVE_SELECT_COLOR INACTIVE_SELECT_BG
-#define DEF_TEXT_SELECT_COLOR SELECT_BG
-#define DEF_TEXT_SELECT_MONO BLACK
-#define DEF_TEXT_SELECT_BD_COLOR "1"
-#define DEF_TEXT_SELECT_BD_MONO "0"
-#define DEF_TEXT_SELECT_FG_COLOR SELECT_FG
-#define DEF_TEXT_SELECT_FG_MONO WHITE
-#define DEF_TEXT_SELECT_RELIEF "flat"
-#define DEF_TEXT_SET_GRID "0"
-#define DEF_TEXT_SPACING1 "0"
-#define DEF_TEXT_SPACING2 "0"
-#define DEF_TEXT_SPACING3 "0"
-#define DEF_TEXT_STATE "normal"
-#define DEF_TEXT_TABS ""
-#define DEF_TEXT_TABSTYLE "tabular"
-#define DEF_TEXT_TAKE_FOCUS ((char *) NULL)
-#define DEF_TEXT_UNDO "0"
-#define DEF_TEXT_WIDTH "80"
-#define DEF_TEXT_WRAP "char"
-#define DEF_TEXT_XSCROLL_COMMAND ""
-#define DEF_TEXT_YSCROLL_COMMAND ""
-
-/*
- * Defaults for canvas text:
- */
-
-#define DEF_CANVTEXT_FONT "TkDefaultFont"
-
-/*
- * Defaults for toplevels (most of the defaults for frames also apply
- * to toplevels):
- */
-
-#define DEF_TOPLEVEL_CLASS "Toplevel"
-#define DEF_TOPLEVEL_MENU ""
-#define DEF_TOPLEVEL_SCREEN ""
-#define DEF_TOPLEVEL_USE ""
-
-/*
- * Defaults for busy windows (not really used yet):
- */
-
-#define DEF_BUSY_CURSOR "watch"
-
-#endif /* _TKMACDEFAULT */
diff --git a/carbon/tkMacOSXDialog.c b/carbon/tkMacOSXDialog.c
deleted file mode 100644
index d3ea74e..0000000
--- a/carbon/tkMacOSXDialog.c
+++ /dev/null
@@ -1,2325 +0,0 @@
-/*
- * tkMacOSXDialog.c --
- *
- * Contains the Mac implementation of the common dialog boxes.
- *
- * Copyright (c) 1996-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2008 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkFileFilter.h"
-
-#ifndef StrLength
-#define StrLength(s) (*((unsigned char *) (s)))
-#endif
-#ifndef StrBody
-#define StrBody(s) ((char *) (s) + 1)
-#endif
-
-#define OPEN_POPUP_ITEM 10
-
-#define SAVE_FILE 0
-#define OPEN_FILE 1
-#define CHOOSE_FOLDER 2
-
-#define MATCHED 0
-#define UNMATCHED 1
-
-#define TK_DEFAULT_ABOUT 128
-
-/*
- * The following structures are used in the GetFileName() function. They store
- * information about the file dialog and the file filters.
- */
-
-typedef struct _OpenFileData {
- FileFilterList fl; /* List of file filters. */
- SInt16 curType; /* The filetype currently being listed. */
- short initialType; /* Type to use initially */
- short popupItem; /* Item number of the popup in the dialog. */
- short usePopup; /* True if we show the popup menu (this */
- /* is an open operation and the */
- /* -filetypes option is set). */
-} OpenFileData;
-
-typedef struct NavHandlerUserData {
- OpenFileData *ofdPtr;
- NavReplyRecord reply;
- OSStatus err;
- CFStringRef saveNameRef;
- int sheet;
- WindowRef dialogWindow, origUnavailWindow;
- WindowModality origModality;
-} NavHandlerUserData;
-
-/*
- * The following structure is used in the tk_messageBox implementation.
- */
-
-typedef struct {
- int buttonIndex;
- WindowRef dialogWindow, origUnavailWindow;
- WindowModality origModality;
- EventHandlerRef handlerRef;
-} AlertHandlerUserData;
-
-
-static OSStatus AlertHandler(EventHandlerCallRef callRef,
- EventRef eventRef, void *userData);
-static Boolean MatchOneType(StringPtr fileNamePtr, OSType fileType,
- OpenFileData *myofdPtr, FileFilter *filterPtr);
-static pascal Boolean OpenFileFilterProc(AEDesc* theItem, void* info,
- NavCallBackUserData callBackUD,
- NavFilterModes filterMode);
-static pascal void OpenEventProc(NavEventCallbackMessage callBackSelector,
- NavCBRecPtr callBackParms,
- NavCallBackUserData callBackUD);
-static void InitFileDialogs(void);
-static int NavServicesGetFile(Tcl_Interp *interp,
- OpenFileData *ofd, AEDesc *initialDescPtr,
- char *initialFile, AEDescList *selectDescPtr,
- CFStringRef title, CFStringRef message,
- const char *initialType, int multiple,
- int confirmOverwrite, int isOpen,
- Tk_Window parent);
-static int HandleInitialDirectory(Tcl_Interp *interp,
- char *initialFile, char *initialDir, FSRef *dirRef,
- AEDescList *selectDescPtr, AEDesc *dirDescPtr,
- const char *dlgType);
-
-/*
- * Have we initialized the file dialog subsystem
- */
-
-static int fileDlgInited = 0;
-
-/*
- * Filter and hook functions used by the tk_getOpenFile and tk_getSaveFile
- * commands.
- */
-
-static NavObjectFilterUPP openFileFilterUPP;
-static NavEventUPP openFileEventUPP;
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_ChooseColorObjCmd --
- *
- * This procedure implements the color dialog box for the Mac platform.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_ChooseColorObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- OSStatus err;
- int result = TCL_ERROR;
- Tk_Window parent, tkwin = clientData;
- const char *title;
- int i, srcRead, dstWrote;
- CMProfileRef prof;
- NColorPickerInfo cpinfo;
- static RGBColor color = {0xffff, 0xffff, 0xffff};
- static const char *const optionStrings[] = {
- "-initialcolor", "-parent", "-title", NULL
- };
- enum options {
- COLOR_INITIAL, COLOR_PARENT, COLOR_TITLE
- };
-
- title = "Choose a color:";
- bzero(&cpinfo, sizeof(cpinfo));
- cpinfo.theColor.color.rgb.red = color.red;
- cpinfo.theColor.color.rgb.green = color.green;
- cpinfo.theColor.color.rgb.blue = color.blue;
-
- for (i = 1; i < objc; i += 2) {
- int index;
- const char *value;
-
- if (Tcl_GetIndexFromObj(interp, objv[i], optionStrings, "option",
- TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "COLORDIALOG", "VALUE", NULL);
- goto end;
- }
- value = Tcl_GetString(objv[i + 1]);
-
- switch ((enum options) index) {
- case COLOR_INITIAL: {
- XColor *colorPtr;
-
- colorPtr = Tk_GetColor(interp, tkwin, value);
- if (colorPtr == NULL) {
- goto end;
- }
- cpinfo.theColor.color.rgb.red = colorPtr->red;
- cpinfo.theColor.color.rgb.green = colorPtr->green;
- cpinfo.theColor.color.rgb.blue = colorPtr->blue;
- Tk_FreeColor(colorPtr);
- break;
- }
- case COLOR_PARENT: {
- parent = Tk_NameToWindow(interp, value, tkwin);
- if (parent == NULL) {
- goto end;
- }
- break;
- }
- case COLOR_TITLE: {
- title = value;
- break;
- }
- }
- }
-
- ChkErr(CMGetDefaultProfileBySpace, cmRGBData, &prof);
- cpinfo.theColor.profile = prof;
- cpinfo.dstProfile = prof;
- cpinfo.flags = kColorPickerDialogIsMoveable | kColorPickerDialogIsModal;
- cpinfo.placeWhere = kCenterOnMainScreen;
- /* Currently, this does not actually change the colorpicker title */
- Tcl_UtfToExternal(NULL, TkMacOSXCarbonEncoding, title, -1, 0, NULL,
- StrBody(cpinfo.prompt), 255, &srcRead, &dstWrote, NULL);
- StrLength(cpinfo.prompt) = (unsigned char) dstWrote;
-
- TkMacOSXTrackingLoop(1);
- err = ChkErr(NPickColor, &cpinfo);
- TkMacOSXTrackingLoop(0);
- ChkErr(CMCloseProfile, prof);
- if ((err == noErr) && (cpinfo.newColorChosen != 0)) {
- char colorstr[8];
-
- color.red = cpinfo.theColor.color.rgb.red;
- color.green = cpinfo.theColor.color.rgb.green;
- color.blue = cpinfo.theColor.color.rgb.blue;
- snprintf(colorstr, 8, "#%02x%02x%02x", color.red >> 8,
- color.green >> 8, color.blue >> 8);
- Tcl_SetObjResult(interp, Tcl_NewStringObj(colorstr, 7));
- } else {
- Tcl_ResetResult(interp);
- }
- result = TCL_OK;
-
- end:
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetOpenFileObjCmd --
- *
- * This procedure implements the "open file" dialog box for the Mac
- * platform. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See user documentation.
- *----------------------------------------------------------------------
- */
-
-int
-Tk_GetOpenFileObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int i, result = TCL_ERROR, multiple = 0;
- OpenFileData ofd;
- Tk_Window parent = NULL;
- CFStringRef message = NULL, title = NULL;
- AEDesc initialDesc = {typeNull, NULL};
- FSRef dirRef;
- AEDesc *initialPtr = NULL;
- AEDescList selectDesc = {typeNull, NULL};
- char *initialFile = NULL, *initialDir = NULL;
- Tcl_Obj *typeVariablePtr = NULL;
- const char *initialtype = NULL;
- static const char *const openOptionStrings[] = {
- "-defaultextension", "-filetypes", "-initialdir", "-initialfile",
- "-message", "-multiple", "-parent", "-title", "-typevariable", NULL
- };
- enum openOptions {
- OPEN_DEFAULT, OPEN_FILETYPES, OPEN_INITDIR, OPEN_INITFILE,
- OPEN_MESSAGE, OPEN_MULTIPLE, OPEN_PARENT, OPEN_TITLE,
- OPEN_TYPEVARIABLE,
- };
-
- if (!fileDlgInited) {
- InitFileDialogs();
- }
- TkInitFileFilters(&ofd.fl);
- ofd.curType = 0;
- ofd.initialType = -1;
- ofd.popupItem = OPEN_POPUP_ITEM;
- ofd.usePopup = 1;
-
- for (i = 1; i < objc; i += 2) {
- char *choice;
- int index, choiceLen;
- Tcl_Obj *types;
-
- if (Tcl_GetIndexFromObj(interp, objv[i], openOptionStrings, "option",
- TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "FILEDIALOG", "VALUE", NULL);
- goto end;
- }
-
- switch (index) {
- case OPEN_DEFAULT:
- break;
- case OPEN_FILETYPES:
- types = objv[i + 1];
- if (TkGetFileFilters(interp, &ofd.fl, types, 0) != TCL_OK) {
- goto end;
- }
- break;
- case OPEN_INITDIR:
- initialDir = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- /* empty strings should be like no selection given */
- if (choiceLen == 0) {
- initialDir = NULL;
- }
- break;
- case OPEN_INITFILE:
- initialFile = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- /* empty strings should be like no selection given */
- if (choiceLen == 0) {
- initialFile = NULL;
- }
- break;
- case OPEN_MESSAGE:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (message) {
- CFRelease(message);
- }
- message = CFStringCreateWithBytes(NULL, (unsigned char *) choice,
- choiceLen, kCFStringEncodingUTF8, false);
- break;
- case OPEN_MULTIPLE:
- if (Tcl_GetBooleanFromObj(interp, objv[i + 1],
- &multiple) != TCL_OK) {
- goto end;
- }
- break;
- case OPEN_PARENT:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- parent = Tk_NameToWindow(interp, choice, clientData);
- if (parent == NULL) {
- goto end;
- }
- break;
- case OPEN_TITLE:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (title) {
- CFRelease(title);
- }
- title = CFStringCreateWithBytes(NULL, (unsigned char *) choice,
- choiceLen, kCFStringEncodingUTF8, false);
- break;
- case OPEN_TYPEVARIABLE:
- typeVariablePtr = objv[i + 1];
- break;
- }
- }
-
- if (HandleInitialDirectory(interp, initialFile, initialDir, &dirRef,
- &selectDesc, &initialDesc, "FILEDIALOG") != TCL_OK) {
- goto end;
- }
- if (initialDesc.descriptorType == typeFSRef) {
- initialPtr = &initialDesc;
- }
- if (typeVariablePtr) {
- initialtype = Tcl_GetVar(interp, Tcl_GetString(typeVariablePtr), 0);
- }
- result = NavServicesGetFile(interp, &ofd, initialPtr, NULL, &selectDesc,
- title, message, initialtype, multiple, false, OPEN_FILE, parent);
-
- if (typeVariablePtr) {
- FileFilter *filterPtr = ofd.fl.filters;
- int i = ofd.curType;
-
- while (filterPtr && i-- > 0) {
- filterPtr = filterPtr->next;
- }
- Tcl_SetVar(interp, Tcl_GetString(typeVariablePtr), filterPtr ?
- filterPtr->name : "", 0);
- }
-
- end:
- TkFreeFileFilters(&ofd.fl);
- if (initialDesc.dataHandle) {
- ChkErr(AEDisposeDesc, &initialDesc);
- }
- if (selectDesc.dataHandle) {
- ChkErr(AEDisposeDesc, &selectDesc);
- }
- if (title) {
- CFRelease(title);
- }
- if (message) {
- CFRelease(message);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetSaveFileObjCmd --
- *
- * Same as Tk_GetOpenFileCmd but opens a "save file" dialog box instead.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See user documentation.
- *----------------------------------------------------------------------
- */
-
-int
-Tk_GetSaveFileObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int i, result = TCL_ERROR;
- int confirmOverwrite = 1;
- char *initialFile = NULL;
- Tk_Window parent = NULL;
- AEDesc initialDesc = {typeNull, NULL};
- AEDesc *initialPtr = NULL;
- FSRef dirRef;
- CFStringRef title = NULL, message = NULL;
- OpenFileData ofd;
- static const char *const saveOptionStrings[] = {
- "-defaultextension", "-filetypes", "-initialdir", "-initialfile",
- "-message", "-parent", "-title", "-typevariable",
- "-confirmoverwrite", NULL
- };
- enum saveOptions {
- SAVE_DEFAULT, SAVE_FILETYPES, SAVE_INITDIR, SAVE_INITFILE,
- SAVE_MESSAGE, SAVE_PARENT, SAVE_TITLE, SAVE_TYPEVARIABLE,
- SAVE_CONFIRMOW
- };
-
- if (!fileDlgInited) {
- InitFileDialogs();
- }
-
- TkInitFileFilters(&ofd.fl);
- ofd.curType = 0;
- ofd.usePopup = 0;
-
- for (i = 1; i < objc; i += 2) {
- char *choice;
- int index, choiceLen;
- Tcl_Obj *types;
-
- if (Tcl_GetIndexFromObj(interp, objv[i], saveOptionStrings, "option",
- TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "FILEDIALOG", "VALUE", NULL);
- goto end;
- }
- switch (index) {
- case SAVE_DEFAULT:
- break;
- case SAVE_FILETYPES:
- types = objv[i + 1];
- if (TkGetFileFilters(interp, &ofd.fl, types, 0) != TCL_OK) {
- goto end;
- }
- break;
- case SAVE_INITDIR:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- /* empty strings should be like no selection given */
- if (choiceLen && HandleInitialDirectory(interp, NULL, choice,
- &dirRef, NULL, &initialDesc, "FILEDIALOG") != TCL_OK) {
- goto end;
- }
- break;
- case SAVE_INITFILE:
- initialFile = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- /* empty strings should be like no selection given */
- if (choiceLen == 0) {
- initialFile = NULL;
- }
- break;
- case SAVE_MESSAGE:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (message) {
- CFRelease(message);
- }
- message = CFStringCreateWithBytes(NULL, (unsigned char *) choice,
- choiceLen, kCFStringEncodingUTF8, false);
- break;
- case SAVE_PARENT:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- parent = Tk_NameToWindow(interp, choice, (Tk_Window) clientData);
- if (parent == NULL) {
- goto end;
- }
- break;
- case SAVE_TITLE:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (title) {
- CFRelease(title);
- }
- title = CFStringCreateWithBytes(NULL, (unsigned char *) choice,
- choiceLen, kCFStringEncodingUTF8, false);
- break;
- case SAVE_CONFIRMOW:
- if (Tcl_GetBooleanFromObj(interp, objv[i + 1], &confirmOverwrite)
- != TCL_OK) {
- return TCL_ERROR;
- }
- }
- }
-
- if (initialDesc.descriptorType == typeFSRef) {
- initialPtr = &initialDesc;
- }
- result = NavServicesGetFile(interp, &ofd, initialPtr, initialFile, NULL,
- title, message, NULL, false, confirmOverwrite, SAVE_FILE, parent);
- TkFreeFileFilters(&ofd.fl);
- end:
- if (initialDesc.dataHandle) {
- ChkErr(AEDisposeDesc, &initialDesc);
- }
- if (title) {
- CFRelease(title);
- }
- if (message) {
- CFRelease(message);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_ChooseDirectoryObjCmd --
- *
- * This procedure implements the "tk_chooseDirectory" dialog box for the
- * MacOS X platform. See the user documentation for details on what it
- * does.
- *
- * Results:
- * See user documentation.
- *
- * Side effects:
- * A modal dialog window is created.
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_ChooseDirectoryObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int i, result = TCL_ERROR;
- Tk_Window parent = NULL;
- AEDesc initialDesc = {typeNull, NULL}, *initialPtr = NULL;
- FSRef dirRef;
- CFStringRef message = NULL, title = NULL;
- OpenFileData ofd;
- static const char *const chooseOptionStrings[] = {
- "-initialdir", "-message", "-mustexist", "-parent", "-title", NULL
- };
- enum chooseOptions {
- CHOOSE_INITDIR, CHOOSE_MESSAGE, CHOOSE_MUSTEXIST, CHOOSE_PARENT,
- CHOOSE_TITLE
- };
-
- if (!fileDlgInited) {
- InitFileDialogs();
- }
-
- for (i = 1; i < objc; i += 2) {
- char *choice;
- int index, choiceLen;
-
- if (Tcl_GetIndexFromObj(interp, objv[i], chooseOptionStrings, "option",
- TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "DIRDIALOG", "VALUE", NULL);
- goto end;
- }
- switch (index) {
- case CHOOSE_INITDIR:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (choiceLen && HandleInitialDirectory(interp, NULL, choice,
- &dirRef, NULL, &initialDesc, "DIRDIALOG") != TCL_OK) {
- goto end;
- }
- break;
- case CHOOSE_MESSAGE:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (message) {
- CFRelease(message);
- }
- message = CFStringCreateWithBytes(NULL, (unsigned char *) choice,
- choiceLen, kCFStringEncodingUTF8, false);
- break;
- case CHOOSE_PARENT:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- parent = Tk_NameToWindow(interp, choice, clientData);
- if (parent == NULL) {
- goto end;
- }
- break;
- case CHOOSE_TITLE:
- choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen);
- if (title) {
- CFRelease(title);
- }
- title = CFStringCreateWithBytes(NULL, (unsigned char *) choice,
- choiceLen, kCFStringEncodingUTF8, false);
- break;
- }
- }
-
- TkInitFileFilters(&ofd.fl);
- ofd.usePopup = 0;
- if (initialDesc.descriptorType == typeFSRef) {
- initialPtr = &initialDesc;
- }
- result = NavServicesGetFile(interp, &ofd, initialPtr, NULL, NULL, title,
- message, NULL, false, false, CHOOSE_FOLDER, parent);
- TkFreeFileFilters(&ofd.fl);
- end:
- if (initialDesc.dataHandle) {
- ChkErr(AEDisposeDesc, &initialDesc);
- }
- if (title) {
- CFRelease(title);
- }
- if (message) {
- CFRelease(message);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleInitialDirectory --
- *
- * Helper for -initialdir setup.
- *
- * Results:
- * Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-HandleInitialDirectory(
- Tcl_Interp *interp,
- char *initialFile,
- char *initialDir,
- FSRef *dirRef,
- AEDescList *selectDescPtr,
- AEDesc *dirDescPtr,
- const char *dlgType)
-{
- Tcl_DString ds;
- OSStatus err;
- Boolean isDirectory;
- char *dirName = NULL;
- int result = TCL_ERROR;
-
- if (initialDir) {
- dirName = Tcl_TranslateFileName(interp, initialDir, &ds);
- if (dirName == NULL) {
- goto end;
- }
- err = ChkErr(FSPathMakeRef, (unsigned char *) dirName, dirRef,
- &isDirectory);
- if (err != noErr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "bad directory \"%s\"", initialDir));
- Tcl_SetErrorCode(interp, "TK", dlgType, "NO_INITDIR", NULL);
- goto end;
- }
- if (!isDirectory) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "-intialdir \"%s\" is a file, not a directory.",
- initialDir));
- Tcl_SetErrorCode(interp, "TK", dlgType, "BAD_INITDIR", NULL);
- goto end;
- }
- ChkErr(AECreateDesc, typeFSRef, dirRef, sizeof(*dirRef), dirDescPtr);
- }
-
- if (initialFile && selectDescPtr) {
- FSRef fileRef;
- AEDesc fileDesc;
- char *namePtr;
-
- if (initialDir) {
- Tcl_DStringAppend(&ds, "/", 1);
- Tcl_DStringAppend(&ds, initialFile, -1);
- namePtr = Tcl_DStringValue(&ds);
- } else {
- namePtr = initialFile;
- }
-
- ChkErr(AECreateList, NULL, 0, false, selectDescPtr);
-
- err = ChkErr(FSPathMakeRef, (unsigned char *) namePtr, &fileRef,
- &isDirectory);
- if (err != noErr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "bad initialfile \"%s\" file does not exist.",
- initialFile));
- Tcl_SetErrorCode(interp, "TK", dlgType, "NO_INITFILE", NULL);
- goto end;
- }
- ChkErr(AECreateDesc, typeFSRef, &fileRef, sizeof(fileRef), &fileDesc);
- ChkErr(AEPutDesc, selectDescPtr, 1, &fileDesc);
- ChkErr(AEDisposeDesc, &fileDesc);
- }
- result = TCL_OK;
- end:
- if (dirName) {
- Tcl_DStringFree(&ds);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitFileDialogs --
- *
- * Initialize file dialog subsystem.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-InitFileDialogs(void)
-{
- fileDlgInited = 1;
- openFileFilterUPP = NewNavObjectFilterUPP(OpenFileFilterProc);
- openFileEventUPP = NewNavEventUPP(OpenEventProc);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * NavServicesGetFile --
- *
- * Common wrapper for NavServices API.
- *
- * Results:
- * Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-NavServicesGetFile(
- Tcl_Interp *interp,
- OpenFileData *ofdPtr,
- AEDesc *initialDescPtr,
- char *initialFile,
- AEDescList *selectDescPtr,
- CFStringRef title,
- CFStringRef message,
- const char *initialtype,
- int multiple,
- int confirmOverwrite,
- int isOpen,
- Tk_Window parent)
-{
- NavHandlerUserData data;
- NavDialogCreationOptions options;
- NavDialogRef dialogRef = NULL;
- CFStringRef *menuItemNames = NULL;
- OSStatus err;
- Tcl_Obj *theResult = NULL;
- int result = TCL_ERROR;
-
- bzero(&data, sizeof(data));
- err = NavGetDefaultDialogCreationOptions(&options);
- if (err != noErr) {
- return result;
- }
- options.optionFlags = kNavDontAutoTranslate | kNavDontAddTranslateItems
- | kNavSupportPackages | kNavAllFilesInPopup;
- if (multiple) {
- options.optionFlags |= kNavAllowMultipleFiles;
- }
- if (!confirmOverwrite) {
- options.optionFlags |= kNavDontConfirmReplacement;
- }
- options.modality = kWindowModalityAppModal;
- if (parent && ((TkWindow *) parent)->window != None &&
- TkMacOSXHostToplevelExists(parent)) {
- options.parentWindow = TkMacOSXDrawableWindow(Tk_WindowId(parent));
- TK_IF_HI_TOOLBOX (5,
- /*
- * Impossible to modify dialog modality with the Cocoa-based
- * NavServices implementation.
- */
- ) TK_ELSE_HI_TOOLBOX (5,
- if (options.parentWindow) {
- options.modality = kWindowModalityWindowModal;
- data.sheet = 1;
- }
- ) TK_ENDIF
- }
-
- /*
- * Now process the selection list. We have to use the popupExtension
- * to fill the menu.
- */
-
- if (ofdPtr && ofdPtr->usePopup) {
- FileFilter *filterPtr = ofdPtr->fl.filters;
-
- if (filterPtr == NULL) {
- ofdPtr->usePopup = 0;
- }
- }
- if (ofdPtr && ofdPtr->usePopup) {
- FileFilter *filterPtr;
- int index = 0;
- ofdPtr->curType = 0;
-
- menuItemNames =
- ckalloc(ofdPtr->fl.numFilters * sizeof(CFStringRef));
-
- for (filterPtr = ofdPtr->fl.filters; filterPtr != NULL;
- filterPtr = filterPtr->next, index++) {
- menuItemNames[index] = CFStringCreateWithCString(NULL,
- filterPtr->name, kCFStringEncodingUTF8);
- if (initialtype && strcmp(filterPtr->name, initialtype) == 0) {
- ofdPtr->initialType = index;
- }
- }
- options.popupExtension = CFArrayCreate(NULL,
- (const void **) menuItemNames, ofdPtr->fl.numFilters, NULL);
- } else {
- options.optionFlags |= kNavNoTypePopup;
- options.popupExtension = NULL;
- }
- options.clientName = CFSTR("Wish");
- options.message = message;
- options.windowTitle = title;
- if (initialFile) {
- options.saveFileName = CFStringCreateWithCString(NULL, initialFile,
- kCFStringEncodingUTF8);
- } else {
- options.saveFileName = NULL;
- }
- if (isOpen == OPEN_FILE) {
- data.ofdPtr = ofdPtr;
- err = ChkErr(NavCreateGetFileDialog, &options, NULL,
- openFileEventUPP, NULL, openFileFilterUPP, &data, &dialogRef);
- } else if (isOpen == SAVE_FILE) {
- err = ChkErr(NavCreatePutFileDialog, &options, 'TEXT', 'WIsH',
- openFileEventUPP, &data, &dialogRef);
- } else if (isOpen == CHOOSE_FOLDER) {
- err = ChkErr(NavCreateChooseFolderDialog, &options,
- openFileEventUPP, openFileFilterUPP, &data, &dialogRef);
- }
- if (err == noErr && dialogRef) {
- if (initialDescPtr) {
- ChkErr(NavCustomControl, dialogRef, kNavCtlSetLocation,
- initialDescPtr);
- }
- if (selectDescPtr && selectDescPtr->descriptorType != typeNull) {
- ChkErr(NavCustomControl, dialogRef, kNavCtlSetSelection,
- selectDescPtr);
- }
- TkMacOSXTrackingLoop(1);
- err = ChkErr(NavDialogRun, dialogRef);
- if (err == noErr) {
- if (data.sheet) {
- data.dialogWindow = NavDialogGetWindow(dialogRef);
- ChkErr(GetWindowModality, data.dialogWindow,
- &data.origModality, &data.origUnavailWindow);
- ChkErr(SetWindowModality, data.dialogWindow,
- kWindowModalityAppModal, NULL);
- ChkErr(RunAppModalLoopForWindow, data.dialogWindow);
- }
- err = data.err;
- }
- TkMacOSXTrackingLoop(0);
- }
-
- /*
- * Most commands assume that the file dialogs return a single item, not a
- * list. So only build a list if multiple is true...
- */
-
- if (err == noErr) {
- if (multiple) {
- theResult = Tcl_NewListObj(0, NULL);
- } else {
- theResult = Tcl_NewObj();
- }
- if (!theResult) {
- err = memFullErr;
- }
- }
- if (err == noErr && data.reply.validRecord) {
- AEDesc resultDesc;
- long count, i;
- FSRef fsRef;
- char pathPtr[PATH_MAX + 1];
- char saveName[PATH_MAX + 1];
-
- err = ChkErr(AECountItems, &data.reply.selection, &count);
- if (err != noErr) {
- /*
- * There was an error when counting the items? Treat as if no
- * items were chosen.
- */
-
- goto installResult;
- }
-
- /*
- * Process the chosen files. This will be one unless -multiple was
- * specified.
- */
-
- for (i = 1; i <= count; i++) {
- /*
- * Get the name of the selected file.
- */
-
- err = ChkErr(AEGetNthDesc, &data.reply.selection, i,
- typeFSRef, NULL, &resultDesc);
- if (err != noErr) {
- continue;
- }
- err = ChkErr(AEGetDescData, &resultDesc, &fsRef, sizeof(fsRef));
- if (err != noErr) {
- goto nextFilename;
- }
- err = ChkErr(FSRefMakePath, &fsRef, (unsigned char *) pathPtr,
- PATH_MAX + 1);
- if (err != noErr) {
- goto nextFilename;
- }
-
- /*
- * If we're saving the file, we're creating a new filename and
- * must therefore check whether it is a legal filename (not
- * exceeding path length limits, etc.)
- */
-
- if (isOpen == SAVE_FILE) {
- if (!data.saveNameRef) {
- TkMacOSXDbgMsg("NavDialogGetSaveFileName failed");
- goto nextFilename;
- }
-
- if (!CFStringGetCString(data.saveNameRef, saveName,
- PATH_MAX + 1, kCFStringEncodingUTF8)) {
- TkMacOSXDbgMsg("CFStringGetCString failed");
- goto nextFilename;
- }
-
- if (strlen(pathPtr) + strlen(saveName) >= PATH_MAX) {
- TkMacOSXDbgMsg("Path name too long");
- goto nextFilename;
- }
-
- strcat(pathPtr, "/");
- strcat(pathPtr, saveName);
- }
-
- /*
- * Got a valid file name; put it in the result object.
- */
-
- if (multiple) {
- Tcl_ListObjAppendElement(interp, theResult,
- Tcl_NewStringObj(pathPtr, -1));
- } else {
- Tcl_SetStringObj(theResult, pathPtr, -1);
- }
-
- nextFilename:
- ChkErr(AEDisposeDesc, &resultDesc);
- }
-
- installResult:
- Tcl_SetObjResult(interp, theResult);
- result = TCL_OK;
- } else if (err == userCanceledErr) {
- Tcl_ResetResult(interp);
- result = TCL_OK;
- }
-
- /*
- * Clean up any allocated memory.
- */
-
- if (data.reply.validRecord) {
- ChkErr(NavDisposeReply, &data.reply);
- }
- if (data.saveNameRef) {
- CFRelease(data.saveNameRef);
- }
- if (options.saveFileName) {
- CFRelease(options.saveFileName);
- }
- if (options.clientName) {
- CFRelease(options.clientName);
- }
- if (menuItemNames) {
- int i;
-
- for (i = 0; i < ofdPtr->fl.numFilters; i++) {
- CFRelease(menuItemNames[i]);
- }
- ckfree(menuItemNames);
- }
- if (options.popupExtension) {
- CFRelease(options.popupExtension);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * OpenEventProc --
- *
- * NavServices event handling callback.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-pascal void
-OpenEventProc(
- NavEventCallbackMessage callBackSelector,
- NavCBRecPtr callBackParams,
- NavCallBackUserData callBackUD)
-{
- NavHandlerUserData *data = (NavHandlerUserData*) callBackUD;
- OpenFileData *ofd = data->ofdPtr;
-
- switch (callBackSelector) {
- case kNavCBStart:
- if (ofd && ofd->initialType >= 0) {
- /* Select initial filter */
- FileFilter *filterPtr = ofd->fl.filters;
- int i = ofd->initialType;
-
- while (filterPtr && i-- > 0) {
- filterPtr = filterPtr->next;
- }
- if (filterPtr) {
- NavMenuItemSpec selectItem;
-
- selectItem.version = kNavMenuItemSpecVersion;
- selectItem.menuCreator = 0;
- selectItem.menuType = ofd->initialType;
- selectItem.menuItemName[0] = strlen(filterPtr->name);
- strncpy((char *) &selectItem.menuItemName[1],
- filterPtr->name, 255);
- ChkErr(NavCustomControl, callBackParams->context,
- kNavCtlSelectCustomType, &selectItem);
- }
- }
- break;
- case kNavCBPopupMenuSelect:
- ofd->curType = ((NavMenuItemSpec *)
- callBackParams->eventData.eventDataParms.param)->menuType;
- break;
- case kNavCBAccept:
- case kNavCBCancel:
- if (data->sheet) {
- ChkErr(QuitAppModalLoopForWindow, data->dialogWindow);
- ChkErr(SetWindowModality, data->dialogWindow,
- data->origModality, data->origUnavailWindow);
- }
- break;
- case kNavCBUserAction:
- if (data->reply.validRecord) {
- ChkErr(NavDisposeReply, &data->reply);
- data->reply.validRecord = 0;
- }
- data->err = NavDialogGetReply(callBackParams->context,
- &data->reply);
- if (callBackParams->userAction == kNavUserActionSaveAs) {
- data->saveNameRef = NavDialogGetSaveFileName(
- callBackParams->context);
- if (data->saveNameRef) {
- CFRetain(data->saveNameRef);
- }
- }
- break;
- case kNavCBTerminate:
- NavDialogDispose(callBackParams->context);
- break;
- case kNavCBEvent:
- TkMacOSXRunTclEventLoop();
- break;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * OpenFileFilterProc --
- *
- * NavServices file filter callback.
- *
- * Results:
- * Whether to use the file in question.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-pascal Boolean
-OpenFileFilterProc(
- AEDesc *theItem,
- void *info,
- NavCallBackUserData callBackUD,
- NavFilterModes filterMode)
-{
- OpenFileData *ofdPtr = ((NavHandlerUserData *) callBackUD)->ofdPtr;
- int result = MATCHED;
-
- if (ofdPtr && ofdPtr->usePopup && ofdPtr->fl.numFilters > 0 &&
- ((theItem->descriptorType == typeFSS)
- || (theItem->descriptorType == typeFSRef))) {
- NavFileOrFolderInfo *theInfo = info;
- char fileName[256];
- OSType fileType;
- StringPtr fileNamePtr = NULL;
- Tcl_DString fileNameDString;
- int i;
- FileFilter *filterPtr;
-
- if (!theInfo->isFolder) {
- fileType = theInfo->fileAndFolder.fileInfo.finderInfo.fdType;
- Tcl_DStringInit(&fileNameDString);
-
- if (theItem->descriptorType == typeFSS) {
- int len;
-
- fileNamePtr = ((FSSpec *) *theItem->dataHandle)->name;
- len = fileNamePtr[0];
- strncpy(fileName, (char *) fileNamePtr + 1, len);
- fileName[len] = '\0';
- fileNamePtr = (unsigned char *) fileName;
- } else if ((theItem->descriptorType == typeFSRef)) {
- OSStatus err;
- FSRef *theRef = (FSRef *) *theItem->dataHandle;
- HFSUniStr255 uniFileName;
-
- err = ChkErr(FSGetCatalogInfo, theRef, kFSCatInfoNone,
- NULL, &uniFileName, NULL, NULL);
-
- if (err == noErr) {
- Tcl_UniCharToUtfDString((Tcl_UniChar *)uniFileName.unicode,
- uniFileName.length, &fileNameDString);
- fileNamePtr = (unsigned char *)
- Tcl_DStringValue(&fileNameDString);
- }
- }
- if (ofdPtr->usePopup) {
- i = ofdPtr->curType;
- for (filterPtr = ofdPtr->fl.filters; filterPtr && i>0; i--) {
- filterPtr = filterPtr->next;
- }
- if (filterPtr) {
- result = MatchOneType(fileNamePtr, fileType, ofdPtr,
- filterPtr);
- } else {
- result = UNMATCHED;
- }
- } else {
- /*
- * We are not using the popup menu. In this case, the file is
- * considered matched if it matches any of the file filters.
- */
-
- result = UNMATCHED;
- for (filterPtr = ofdPtr->fl.filters; filterPtr;
- filterPtr = filterPtr->next) {
- if (MatchOneType(fileNamePtr, fileType, ofdPtr,
- filterPtr) == MATCHED) {
- result = MATCHED;
- break;
- }
- }
- }
- Tcl_DStringFree(&fileNameDString);
- }
- }
- return (result == MATCHED);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MatchOneType --
- *
- * Match a file with one file type in the list of file types.
- *
- * Results:
- * Returns MATCHED if the file matches with the file type; returns
- * UNMATCHED otherwise.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-Boolean
-MatchOneType(
- StringPtr fileNamePtr, /* Name of the file */
- OSType fileType, /* Type of the file, 0 means there was no
- * specified type. */
- OpenFileData *ofdPtr, /* Information about this file dialog */
- FileFilter *filterPtr) /* Match the file described by pb against this
- * filter */
-{
- FileFilterClause *clausePtr;
-
- /*
- * A file matches with a file type if it matches with at least one clause
- * of the type.
- *
- * If the clause has both glob patterns and ostypes, the file must match
- * with at least one pattern AND at least one ostype.
- *
- * If the clause has glob patterns only, the file must match with at least
- * one pattern.
- *
- * If the clause has mac types only, the file must match with at least one
- * mac type.
- *
- * If the clause has neither glob patterns nor mac types, it's considered
- * an error.
- */
-
- for (clausePtr = filterPtr->clauses; clausePtr;
- clausePtr = clausePtr->next) {
- int macMatched = 0;
- int globMatched = 0;
- GlobPattern *globPtr;
- MacFileType *mfPtr;
-
- if (clausePtr->patterns == NULL) {
- globMatched = 1;
- }
- if (clausePtr->macTypes == NULL) {
- macMatched = 1;
- }
-
- for (globPtr = clausePtr->patterns; globPtr;
- globPtr = globPtr->next) {
- char *q, *ext;
-
- if (fileNamePtr == NULL) {
- continue;
- }
- ext = globPtr->pattern;
-
- if (ext[0] == '\0') {
- /*
- * We don't want any extensions: OK if the filename doesn't
- * have "." in it
- */
-
- for (q = (char*) fileNamePtr; *q; q++) {
- if (*q == '.') {
- goto glob_unmatched;
- }
- }
- goto glob_matched;
- }
-
- if (Tcl_StringMatch((char*) fileNamePtr, ext)) {
- goto glob_matched;
- }
- glob_unmatched:
- continue;
-
- glob_matched:
- globMatched = 1;
- break;
- }
-
- for (mfPtr = clausePtr->macTypes; mfPtr; mfPtr = mfPtr->next) {
- if (fileType == mfPtr->type) {
- macMatched = 1;
- break;
- }
- }
-
- /*
- * On Mac OS X, it is not uncommon for files to have NO file type. But
- * folks with Tcl code on Classic MacOS pretty much assume that a
- * generic file will have type TEXT. So if we were strict about
- * matching types when the source file had NO type set, they would
- * have to add another rule always with no fileType. To avoid that, we
- * pass the macMatch side of the test if no fileType is set.
- */
-
- if (globMatched && (macMatched || (fileType == 0))) {
- return MATCHED;
- }
- }
-
- return UNMATCHED;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkAboutDlg --
- *
- * Displays the default Tk About box. This code uses Macintosh resources
- * to define the content of the About Box.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkAboutDlg(void)
-{
- DialogPtr aboutDlog;
- WindowRef windowRef;
- short itemHit = -9;
-
- aboutDlog = GetNewDialog(TK_DEFAULT_ABOUT, NULL, (void *) (-1));
- if (!aboutDlog) {
- return;
- }
- windowRef = GetDialogWindow(aboutDlog);
- SelectWindow(windowRef);
- TkMacOSXTrackingLoop(1);
- while (itemHit != 1) {
- ModalDialog(NULL, &itemHit);
- }
- TkMacOSXTrackingLoop(0);
- DisposeDialog(aboutDlog);
- SelectWindow(ActiveNonFloatingWindow());
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MessageBoxObjCmd --
- *
- * Implements the tk_messageBox in native Mac OS X style.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * none
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_MessageBoxObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = clientData;
- AlertStdCFStringAlertParamRec paramCFStringRec;
- AlertType alertType;
- DialogRef dialogRef;
- CFStringRef messageTextCF = NULL, finemessageTextCF = NULL;
- OSStatus err;
- SInt16 itemHit;
- Boolean haveDefaultOption = false, haveParentOption = false;
- char *str;
- int index, defaultButtonIndex;
- int defaultNativeButtonIndex; /* 1, 2, 3: right to left */
- int typeIndex, i, indexDefaultOption = 0, result = TCL_ERROR;
-
- static const char *const movableAlertStrings[] = {
- "-default", "-detail", "-icon", "-message", "-parent", "-title",
- "-type", NULL
- };
- static const char *const movableTypeStrings[] = {
- "abortretryignore", "ok", "okcancel", "retrycancel", "yesno",
- "yesnocancel", NULL
- };
- static const char *const movableButtonStrings[] = {
- "abort", "retry", "ignore", "ok", "cancel", "yes", "no", NULL
- };
- static const char *const movableIconStrings[] = {
- "error", "info", "question", "warning", NULL
- };
- enum movableAlertOptions {
- ALERT_DEFAULT, ALERT_DETAIL, ALERT_ICON, ALERT_MESSAGE, ALERT_PARENT,
- ALERT_TITLE, ALERT_TYPE
- };
- enum movableTypeOptions {
- TYPE_ABORTRETRYIGNORE, TYPE_OK, TYPE_OKCANCEL, TYPE_RETRYCANCEL,
- TYPE_YESNO, TYPE_YESNOCANCEL
- };
- enum movableButtonOptions {
- TEXT_ABORT, TEXT_RETRY, TEXT_IGNORE, TEXT_OK, TEXT_CANCEL, TEXT_YES,
- TEXT_NO
- };
- enum movableIconOptions {
- ICON_ERROR, ICON_INFO, ICON_QUESTION, ICON_WARNING
- };
-
- /*
- * Need to map from 'movableButtonStrings' and its corresponding integer,
- * index to the native button index, which is 1, 2, 3, from right to left.
- * This is necessary to do for each separate '-type' of button sets.
- */
-
- short buttonIndexAndTypeToNativeButtonIndex[][7] = {
- /* abort retry ignore ok cancel yes no */
- {1, 2, 3, 0, 0, 0, 0}, /* abortretryignore */
- {0, 0, 0, 1, 0, 0, 0}, /* ok */
- {0, 0, 0, 1, 2, 0, 0}, /* okcancel */
- {0, 1, 0, 0, 2, 0, 0}, /* retrycancel */
- {0, 0, 0, 0, 0, 1, 2}, /* yesno */
- {0, 0, 0, 0, 3, 1, 2}, /* yesnocancel */
- };
-
- /*
- * Need also the inverse mapping, from native button (1, 2, 3) to the
- * descriptive button text string index.
- */
-
- short nativeButtonIndexAndTypeToButtonIndex[][4] = {
- {-1, 0, 1, 2}, /* abortretryignore */
- {-1, 3, 0, 0}, /* ok */
- {-1, 3, 4, 0}, /* okcancel */
- {-1, 1, 4, 0}, /* retrycancel */
- {-1, 5, 6, 0}, /* yesno */
- {-1, 5, 6, 4}, /* yesnocancel */
- };
-
- alertType = kAlertPlainAlert;
- typeIndex = TYPE_OK;
-
- ChkErr(GetStandardAlertDefaultParams, &paramCFStringRec,
- kStdCFStringAlertVersionOne);
- paramCFStringRec.movable = true;
- paramCFStringRec.helpButton = false;
- paramCFStringRec.defaultButton = kAlertStdAlertOKButton;
- paramCFStringRec.cancelButton = kAlertStdAlertCancelButton;
-
- for (i = 1; i < objc; i += 2) {
- int iconIndex;
-
- if (Tcl_GetIndexFromObj(interp, objv[i], movableAlertStrings, "option",
- TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "MSGBOX", "VALUE", NULL);
- goto end;
- }
-
- switch (index) {
- case ALERT_DEFAULT:
- /*
- * Need to postpone processing of this option until we are sure to
- * know the '-type' as well.
- */
-
- haveDefaultOption = true;
- indexDefaultOption = i;
- break;
-
- case ALERT_DETAIL:
- str = Tcl_GetString(objv[i + 1]);
- if (finemessageTextCF) {
- CFRelease(finemessageTextCF);
- }
- finemessageTextCF = CFStringCreateWithCString(NULL, str,
- kCFStringEncodingUTF8);
- break;
-
- case ALERT_ICON:
- if (Tcl_GetIndexFromObj(interp, objv[i + 1], movableIconStrings,
- "value", TCL_EXACT, &iconIndex) != TCL_OK) {
- goto end;
- }
- switch (iconIndex) {
- case ICON_ERROR:
- alertType = kAlertStopAlert;
- break;
- case ICON_INFO:
- alertType = kAlertNoteAlert;
- break;
- case ICON_QUESTION:
- alertType = kAlertCautionAlert;
- break;
- case ICON_WARNING:
- alertType = kAlertCautionAlert;
- break;
- }
- break;
-
- case ALERT_MESSAGE:
- str = Tcl_GetString(objv[i + 1]);
- if (messageTextCF) {
- CFRelease(messageTextCF);
- }
- messageTextCF = CFStringCreateWithCString(NULL, str,
- kCFStringEncodingUTF8);
- break;
-
- case ALERT_PARENT:
- str = Tcl_GetString(objv[i + 1]);
- tkwin = Tk_NameToWindow(interp, str, tkwin);
- if (tkwin == NULL) {
- goto end;
- }
- if (((TkWindow *) tkwin)->window != None &&
- TkMacOSXHostToplevelExists(tkwin)) {
- haveParentOption = true;
- }
- break;
-
- case ALERT_TITLE:
- /* TODO: message box title missing? */
- break;
-
- case ALERT_TYPE:
- if (Tcl_GetIndexFromObj(interp, objv[i + 1], movableTypeStrings,
- "value", TCL_EXACT, &typeIndex) != TCL_OK) {
- goto end;
- }
- switch (typeIndex) {
- case TYPE_ABORTRETRYIGNORE:
- paramCFStringRec.defaultText = CFSTR("Abort");
- paramCFStringRec.cancelText = CFSTR("Retry");
- paramCFStringRec.otherText = CFSTR("Ignore");
- paramCFStringRec.cancelButton = kAlertStdAlertOtherButton;
- break;
- case TYPE_OK:
- paramCFStringRec.defaultText = CFSTR("OK");
- break;
- case TYPE_OKCANCEL:
- paramCFStringRec.defaultText = CFSTR("OK");
- paramCFStringRec.cancelText = CFSTR("Cancel");
- break;
- case TYPE_RETRYCANCEL:
- paramCFStringRec.defaultText = CFSTR("Retry");
- paramCFStringRec.cancelText = CFSTR("Cancel");
- break;
- case TYPE_YESNO:
- paramCFStringRec.defaultText = CFSTR("Yes");
- paramCFStringRec.cancelText = CFSTR("No");
- break;
- case TYPE_YESNOCANCEL:
- paramCFStringRec.defaultText = CFSTR("Yes");
- paramCFStringRec.cancelText = CFSTR("No");
- paramCFStringRec.otherText = CFSTR("Cancel");
- paramCFStringRec.cancelButton = kAlertStdAlertOtherButton;
- break;
- }
- break;
- }
- }
-
- if (haveDefaultOption) {
- /*
- * Any '-default' option needs to know the '-type' option, which is why
- * we do this here.
- */
-
- if (Tcl_GetIndexFromObj(interp, objv[indexDefaultOption + 1],
- movableButtonStrings, "value", TCL_EXACT, &defaultButtonIndex)
- != TCL_OK) {
- goto end;
- }
-
- /*
- * Need to map from "ok" etc. to 1, 2, 3, right to left.
- */
-
- defaultNativeButtonIndex =
- buttonIndexAndTypeToNativeButtonIndex[typeIndex][defaultButtonIndex];
- if (defaultNativeButtonIndex == 0) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj("Illegal default option", -1));
- Tcl_SetErrorCode(interp, "TK", "MSGBOX", "DEFAULT", NULL);
- goto end;
- }
- paramCFStringRec.defaultButton = defaultNativeButtonIndex;
- if (paramCFStringRec.cancelButton == defaultNativeButtonIndex) {
- paramCFStringRec.cancelButton = 0;
- }
- }
- ChkErr(SetThemeCursor, kThemeArrowCursor);
-
- if (haveParentOption) {
- AlertHandlerUserData data;
- static EventHandlerUPP handler = NULL;
- WindowRef windowRef;
- const EventTypeSpec kEvents[] = {
- {kEventClassCommand, kEventProcessCommand}
- };
-
- bzero(&data, sizeof(data));
- if (!handler) {
- handler = NewEventHandlerUPP(AlertHandler);
- }
- windowRef = TkMacOSXDrawableWindow(Tk_WindowId(tkwin));
- if (!windowRef) {
- goto end;
- }
- err = ChkErr(CreateStandardSheet, alertType, messageTextCF,
- finemessageTextCF, &paramCFStringRec, NULL, &dialogRef);
- if(err != noErr) {
- goto end;
- }
- data.dialogWindow = GetDialogWindow(dialogRef);
- err = ChkErr(ShowSheetWindow, data.dialogWindow, windowRef);
- if(err != noErr) {
- DisposeDialog(dialogRef);
- goto end;
- }
- ChkErr(GetWindowModality, data.dialogWindow, &data.origModality,
- &data.origUnavailWindow);
- ChkErr(SetWindowModality, data.dialogWindow, kWindowModalityAppModal,
- NULL);
- ChkErr(InstallEventHandler, GetWindowEventTarget(data.dialogWindow),
- handler, GetEventTypeCount(kEvents), kEvents, &data,
- &data.handlerRef);
- TkMacOSXTrackingLoop(1);
- ChkErr(RunAppModalLoopForWindow, data.dialogWindow);
- TkMacOSXTrackingLoop(0);
- itemHit = data.buttonIndex;
- } else {
- err = ChkErr(CreateStandardAlert, alertType, messageTextCF,
- finemessageTextCF, &paramCFStringRec, &dialogRef);
- if(err != noErr) {
- goto end;
- }
- TkMacOSXTrackingLoop(1);
- err = ChkErr(RunStandardAlert, dialogRef, NULL, &itemHit);
- TkMacOSXTrackingLoop(0);
- if (err != noErr) {
- goto end;
- }
- }
- if (err == noErr) {
- /*
- * Map 'itemHit' (1, 2, 3) to descriptive text string.
- */
-
- int ind = nativeButtonIndexAndTypeToButtonIndex[typeIndex][itemHit];
-
- Tcl_SetObjResult(interp, Tcl_NewStringObj(movableButtonStrings[ind],
- -1));
- result = TCL_OK;
- }
-
- end:
- if (finemessageTextCF) {
- CFRelease(finemessageTextCF);
- }
- if (messageTextCF) {
- CFRelease(messageTextCF);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * AlertHandler --
- *
- * Carbon event handler for the Standard Sheet dialog.
- *
- * Results:
- * OSStatus if event handled or not.
- *
- * Side effects:
- * May set userData.
- *
- *----------------------------------------------------------------------
- */
-
-OSStatus
-AlertHandler(
- EventHandlerCallRef callRef,
- EventRef eventRef,
- void *userData)
-{
- AlertHandlerUserData *data = userData;
- HICommand cmd;
-
- ChkErr(GetEventParameter,eventRef, kEventParamDirectObject, typeHICommand,
- NULL, sizeof(cmd), NULL, &cmd);
- switch (cmd.commandID) {
- case kHICommandOK:
- data->buttonIndex = 1;
- break;
- case kHICommandCancel:
- data->buttonIndex = 2;
- break;
- case kHICommandOther:
- data->buttonIndex = 3;
- break;
- }
- if (data->buttonIndex) {
- ChkErr(QuitAppModalLoopForWindow, data->dialogWindow);
- ChkErr(RemoveEventHandler, data->handlerRef);
- ChkErr(SetWindowModality, data->dialogWindow,
- data->origModality, data->origUnavailWindow);
- }
- return eventNotHandledErr;
-}
-
-/*
- *----------------------------------------------------------------------
- */
-#pragma mark [tk fontchooser] implementation (TIP 324)
-/*
- *----------------------------------------------------------------------
- */
-
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXFont.h"
-
-typedef struct FontchooserData {
- Tcl_Obj *titleObj;
- Tcl_Obj *cmdObj;
- Tk_Window parent;
-} FontchooserData;
-
-static Tcl_Obj *FontchooserCget(FontchooserData *fcdPtr, int optionIndex);
-static int FontchooserConfigureCmd(ClientData clientData, Tcl_Interp *interp,
- int objc, Tcl_Obj *const objv[]);
-static int FontchooserShowCmd(ClientData clientData, Tcl_Interp *interp,
- int objc, Tcl_Obj *const objv[]);
-static int FontchooserHideCmd(ClientData clientData, Tcl_Interp *interp,
- int objc, Tcl_Obj *const objv[]);
-static void FontchooserParentEventHandler(ClientData clientData,
- XEvent *eventPtr);
-static void DeleteFontchooserData(ClientData clientData, Tcl_Interp *interp);
-
-MODULE_SCOPE const TkEnsemble tkFontchooserEnsemble[];
-const TkEnsemble tkFontchooserEnsemble[] = {
- { "configure", FontchooserConfigureCmd, NULL },
- { "show", FontchooserShowCmd, NULL },
- { "hide", FontchooserHideCmd, NULL },
- { NULL, NULL, NULL }
-};
-
-static Tcl_Interp *fontchooserInterp = NULL;
-static FMFontFamily fontPanelFontFamily = kInvalidFontFamily;
-static FMFontStyle fontPanelFontStyle = -1;
-static FMFontSize fontPanelFontSize = 0;
-static FMFont fontPanelFontID = kInvalidFont;
-
-static const char *const fontchooserOptionStrings[] = {
- "-parent", "-title", "-font", "-command",
- "-visible", NULL
-};
-enum FontchooserOption {
- FontchooserParent, FontchooserTitle, FontchooserFont, FontchooserCmd,
- FontchooserVisible
-};
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessFontEvent --
- *
- * This processes events generated by user interaction with the
- * font panel.
- *
- * Results:
- * True if Tk events are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessFontEvent(
- TkMacOSXEvent * eventPtr,
- MacEventStatus * statusPtr)
-{
- OSStatus err;
- int eventGenerated = 0;
- FontchooserData *fcdPtr;
-
- switch (eventPtr->eKind) {
- case kEventFontPanelClosed:
- case kEventFontSelection:
- break;
- default:
- goto done;
- }
- if (!fontchooserInterp) {
- goto done;
- }
- fcdPtr = Tcl_GetAssocData(fontchooserInterp, "::tk::fontchooser", NULL);
- switch (eventPtr->eKind) {
- case kEventFontPanelClosed:
- if (!FPIsFontPanelVisible() && fcdPtr->parent != None) {
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserVisibility");
- fontchooserInterp = NULL;
- eventGenerated = 1;
- }
- break;
- case kEventFontSelection: {
- Tcl_Obj *fontObj = NULL;
-
- fontPanelFontFamily = kInvalidFontFamily;
- fontPanelFontStyle = -1;
- fontPanelFontSize = 0;
- fontPanelFontID = kInvalidFont;
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamFMFontFamily, typeFMFontFamily, NULL,
- sizeof(FMFontFamily), NULL, &fontPanelFontFamily);
- err |= ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamFMFontStyle, typeFMFontStyle, NULL,
- sizeof(FMFontStyle), NULL, &fontPanelFontStyle);
- err |= ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamFMFontSize, typeFMFontSize, NULL,
- sizeof(FMFontSize), NULL, &fontPanelFontSize);
- if (err != noErr) {
- /*
- * No/incomplete QD font spec, use ATSUI font ID
- */
- Fixed fontFixedSize;
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamATSUFontID, typeATSUFontID, NULL,
- sizeof(ATSUFontID), NULL, &fontPanelFontID);
- if (err == noErr) {
- ChkErr(FMGetFontFamilyInstanceFromFont, fontPanelFontID,
- &fontPanelFontFamily, &fontPanelFontStyle);
- }
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamATSUFontSize, typeATSUSize, NULL,
- sizeof(Fixed), NULL, &fontFixedSize);
- if (err == noErr) {
- fontPanelFontSize = FixedToInt(fontFixedSize);
- }
- }
- fontObj = TkMacOSXFontDescriptionForFMFontInfo(
- fontPanelFontFamily, fontPanelFontStyle,
- fontPanelFontSize, fontPanelFontID);
- if (fontObj) {
- if (fcdPtr->cmdObj) {
- int objc, result;
- Tcl_Obj **objv, **tmpv;
-
- result = Tcl_ListObjGetElements(fontchooserInterp,
- fcdPtr->cmdObj, &objc, &objv);
- if (result == TCL_OK) {
- tmpv = ckalloc(sizeof(Tcl_Obj *) * (objc + 2));
- memcpy(tmpv, objv, sizeof(Tcl_Obj *) * objc);
- tmpv[objc] = fontObj;
- result = TkBackgroundEvalObjv(fontchooserInterp,
- objc + 1, tmpv, TCL_EVAL_GLOBAL);
- ckfree(tmpv);
- }
- }
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserFontChanged");
- }
- break;
- }
- }
-done:
- return eventGenerated;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * FontchooserCget --
- *
- * Helper for the FontchooserConfigure command to return the
- * current value of any of the options (which may be NULL in
- * the structure)
- *
- * Results:
- * Tcl object of option value.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-FontchooserCget(
- FontchooserData *fcdPtr,
- int optionIndex)
-{
- Tcl_Obj *resObj = NULL;
-
- switch(optionIndex) {
- case FontchooserParent: {
- if (fcdPtr->parent != None) {
- resObj = Tcl_NewStringObj(
- ((TkWindow*)fcdPtr->parent)->pathName, -1);
- } else {
- resObj = Tcl_NewStringObj(".", 1);
- }
- break;
- }
- case FontchooserTitle: {
- if (fcdPtr->titleObj) {
- resObj = fcdPtr->titleObj;
- } else {
- resObj = Tcl_NewObj();
- }
- break;
- }
- case FontchooserFont: {
- resObj = TkMacOSXFontDescriptionForFMFontInfo(
- fontPanelFontFamily, fontPanelFontStyle,
- fontPanelFontSize, fontPanelFontID);
- if (!resObj) {
- resObj = Tcl_NewObj();
- }
- break;
- }
- case FontchooserCmd: {
- if (fcdPtr->cmdObj) {
- resObj = fcdPtr->cmdObj;
- } else {
- resObj = Tcl_NewObj();
- }
- break;
- }
- case FontchooserVisible: {
- resObj = Tcl_NewBooleanObj(FPIsFontPanelVisible());
- break;
- }
- default: {
- resObj = Tcl_NewObj();
- }
- }
- return resObj;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserConfigureCmd --
- *
- * Implementation of the 'tk fontchooser configure' ensemble command.
- * See the user documentation for what it does.
- *
- * Results:
- * See the user documentation.
- *
- * Side effects:
- * Per-interp data structure may be modified
- *
- * ----------------------------------------------------------------------
- */
-
-static int
-FontchooserConfigureCmd(
- ClientData clientData, /* Main window */
- Tcl_Interp *interp,
- int objc,
- Tcl_Obj *const objv[])
-{
- Tk_Window tkwin = (Tk_Window)clientData;
- FontchooserData *fcdPtr = Tcl_GetAssocData(interp, "::tk::fontchooser",
- NULL);
- int i, r = TCL_OK;
-
- /*
- * With no arguments we return all the options in a dict
- */
-
- if (objc == 1) {
- Tcl_Obj *keyObj, *valueObj;
- Tcl_Obj *dictObj = Tcl_NewDictObj();
- for (i = 0; r == TCL_OK && fontchooserOptionStrings[i] != NULL; ++i) {
- keyObj = Tcl_NewStringObj(fontchooserOptionStrings[i], -1);
- valueObj = FontchooserCget(fcdPtr, i);
- r = Tcl_DictObjPut(interp, dictObj, keyObj, valueObj);
- }
- if (r == TCL_OK) {
- Tcl_SetObjResult(interp, dictObj);
- }
- return r;
- }
-
- for (i = 1; i < objc; i += 2) {
- int optionIndex, len;
-
- if (Tcl_GetIndexFromObj(interp, objv[i], fontchooserOptionStrings,
- "option", 0, &optionIndex) != TCL_OK) {
- return TCL_ERROR;
- }
- if (objc == 2) {
- /* With one option and no arg, return the current value */
- Tcl_SetObjResult(interp, FontchooserCget(fcdPtr, optionIndex));
- return TCL_OK;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "FONTDIALOG", "VALUE", NULL);
- return TCL_ERROR;
- }
- switch (optionIndex) {
- case FontchooserVisible: {
- const char *msg = "cannot change read-only option "
- "\"-visible\": use the show or hide command";
-
- Tcl_SetObjResult(interp, Tcl_NewStringObj(msg, -1));
- Tcl_SetErrorCode(interp, "TK", "FONTDIALOG", "READONLY", NULL);
- return TCL_ERROR;
- }
- case FontchooserParent: {
- Tk_Window parent = Tk_NameToWindow(interp,
- Tcl_GetString(objv[i+1]), tkwin);
-
- if (parent == None) {
- return TCL_ERROR;
- }
- if (fcdPtr->parent) {
- Tk_DeleteEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- }
- fcdPtr->parent = parent;
- Tk_CreateEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- break;
- }
- case FontchooserTitle:
- if (fcdPtr->titleObj) {
- Tcl_DecrRefCount(fcdPtr->titleObj);
- }
- Tcl_GetStringFromObj(objv[i+1], &len);
- if (len) {
- fcdPtr->titleObj = objv[i+1];
- if (Tcl_IsShared(fcdPtr->titleObj)) {
- fcdPtr->titleObj = Tcl_DuplicateObj(fcdPtr->titleObj);
- }
- Tcl_IncrRefCount(fcdPtr->titleObj);
- } else {
- fcdPtr->titleObj = NULL;
- }
- break;
- case FontchooserFont:
- Tcl_GetStringFromObj(objv[i+1], &len);
- if (len) {
- Tk_Font f = Tk_AllocFontFromObj(interp, tkwin, objv[i+1]);
-
- if (f) {
- ATSUStyle atsuStyle;
-
- TkMacOSXFMFontInfoForFont(f, &fontPanelFontFamily,
- &fontPanelFontStyle, &fontPanelFontSize,
- &atsuStyle);
- ChkErr(SetFontInfoForSelection, kFontSelectionATSUIType,
- 1, &atsuStyle, NULL);
- Tk_FreeFont(f);
- } else {
- return TCL_ERROR;
- }
- } else {
- fontPanelFontFamily = kInvalidFontFamily;
- ChkErr(SetFontInfoForSelection, kFontSelectionATSUIType, 0,
- NULL, NULL);
- }
- if (FPIsFontPanelVisible()) {
- TkSendVirtualEvent(fcdPtr->parent,
- "TkFontchooserFontChanged");
- }
- break;
- case FontchooserCmd:
- if (fcdPtr->cmdObj) {
- Tcl_DecrRefCount(fcdPtr->cmdObj);
- }
- Tcl_GetStringFromObj(objv[i+1], &len);
- if (len) {
- fcdPtr->cmdObj = objv[i+1];
- if (Tcl_IsShared(fcdPtr->cmdObj)) {
- fcdPtr->cmdObj = Tcl_DuplicateObj(fcdPtr->cmdObj);
- }
- Tcl_IncrRefCount(fcdPtr->cmdObj);
- } else {
- fcdPtr->cmdObj = NULL;
- }
- break;
- }
- }
- return TCL_OK;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserShowCmd --
- *
- * Implements the 'tk fontchooser show' ensemble command. The
- * per-interp configuration data for the dialog is held in an interp
- * associated structure.
- *
- * Results:
- * See the user documentation.
- *
- * Side effects:
- * Font Panel may be shown.
- *
- * ----------------------------------------------------------------------
- */
-
-static int
-FontchooserShowCmd(
- ClientData clientData, /* Main window */
- Tcl_Interp *interp,
- int objc,
- Tcl_Obj *const objv[])
-{
- FontchooserData *fcdPtr = Tcl_GetAssocData(interp, "::tk::fontchooser",
- NULL);
-
- if (fcdPtr->parent == None) {
- fcdPtr->parent = (Tk_Window) clientData;
- Tk_CreateEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- }
- if (!FPIsFontPanelVisible()) {
- ChkErr(FPShowHideFontPanel);
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserVisibility");
- }
- fontchooserInterp = interp;
-
- return TCL_OK;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserHideCmd --
- *
- * Implementation of the 'tk fontchooser hide' ensemble. See the
- * user documentation for details.
- *
- * Results:
- * See the user documentation.
- *
- * Side effects:
- * Font Panel may be hidden.
- *
- * ----------------------------------------------------------------------
- */
-
-static int
-FontchooserHideCmd(
- ClientData clientData, /* Main window */
- Tcl_Interp *interp,
- int objc,
- Tcl_Obj *const objv[])
-{
- if (FPIsFontPanelVisible()) {
- ChkErr(FPShowHideFontPanel);
- }
- return TCL_OK;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserParentEventHandler --
- *
- * Event handler for StructureNotify events on the font chooser's
- * parent window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Font chooser parent info is cleared and font panel is hidden.
- *
- * ----------------------------------------------------------------------
- */
-
-static void
-FontchooserParentEventHandler(
- ClientData clientData,
- XEvent *eventPtr)
-{
- FontchooserData *fcdPtr = clientData;
-
- if (eventPtr->type == DestroyNotify) {
- Tk_DeleteEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- fcdPtr->parent = None;
- if (FPIsFontPanelVisible()) {
- ChkErr(FPShowHideFontPanel);
- }
- }
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * DeleteFontchooserData --
- *
- * Clean up the font chooser configuration data when the interp
- * is destroyed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * per-interp configuration data is destroyed.
- *
- * ----------------------------------------------------------------------
- */
-
-static void
-DeleteFontchooserData(
- ClientData clientData,
- Tcl_Interp *interp)
-{
- FontchooserData *fcdPtr = clientData;
-
- if (fcdPtr->titleObj) {
- Tcl_DecrRefCount(fcdPtr->titleObj);
- }
- if (fcdPtr->cmdObj) {
- Tcl_DecrRefCount(fcdPtr->cmdObj);
- }
- ckfree(fcdPtr);
-
- if (fontchooserInterp == interp) {
- fontchooserInterp = NULL;
- }
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * TkInitFontchooser --
- *
- * Associate the font chooser configuration data with the Tcl
- * interpreter. There is one font chooser per interp.
- *
- * Results:
- * None.
- *
- * Side effects:
- * per-interp configuration data is destroyed.
- *
- * ----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkInitFontchooser(
- Tcl_Interp *interp,
- ClientData clientData)
-{
- FontchooserData *fcdPtr = ckalloc(sizeof(FontchooserData));
-
- bzero(fcdPtr, sizeof(FontchooserData));
- Tcl_SetAssocData(interp, "::tk::fontchooser", DeleteFontchooserData,
- fcdPtr);
- return TCL_OK;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXDraw.c b/carbon/tkMacOSXDraw.c
deleted file mode 100644
index 6f40e5d..0000000
--- a/carbon/tkMacOSXDraw.c
+++ /dev/null
@@ -1,2117 +0,0 @@
-/*
- * tkMacOSXDraw.c --
- *
- * This file contains functions that perform drawing to
- * Xlib windows. Most of the functions simple emulate
- * Xlib functions.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDebug.h"
-#include "xbytes.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_DRAWING
-#endif
-*/
-
-#define radians(d) ((d) * (M_PI/180.0))
-
-/*
- * Non-antialiased CG drawing looks better and more like X11 drawing when using
- * very fine lines, so decrease all linewidths by the following constant.
- */
-#define NON_AA_CG_OFFSET .999
-
-/*
- * Temporary region that can be reused.
- */
-
-RgnHandle tkMacOSXtmpQdRgn = NULL;
-
-int tkMacOSXUseCGDrawing = 1;
-
-int tkPictureIsOpen;
-
-static PixPatHandle penPat = NULL, tmpPixPat = NULL;
-
-static int cgAntiAliasLimit = 0;
-#define notAA(w) ((w) < cgAntiAliasLimit)
-
-static int useThemedToplevel = 0;
-static int useThemedFrame = 0;
-
-/*
- * Prototypes for functions used only in this file.
- */
-
-static void ClipToGC(Drawable d, GC gc, HIShapeRef *clipRgnPtr);
-static void NoQDClip(CGrafPtr port);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitCGDrawing --
- *
- * Initializes link vars that control CG drawing.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXInitCGDrawing(
- Tcl_Interp *interp,
- int enable,
- int limit)
-{
- static Boolean initialized = FALSE;
-
- if (!initialized) {
- initialized = TRUE;
-
- if (Tcl_CreateNamespace(interp, "::tk::mac", NULL, NULL) == NULL) {
- Tcl_ResetResult(interp);
- }
- if (Tcl_LinkVar(interp, "::tk::mac::useCGDrawing",
- (char *) &tkMacOSXUseCGDrawing, TCL_LINK_BOOLEAN) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- tkMacOSXUseCGDrawing = enable;
-
- if (Tcl_LinkVar(interp, "::tk::mac::CGAntialiasLimit",
- (char *) &cgAntiAliasLimit, TCL_LINK_INT) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- cgAntiAliasLimit = limit;
-
- /*
- * Piggy-back the themed drawing var init here.
- */
-
- if (Tcl_LinkVar(interp, "::tk::mac::useThemedToplevel",
- (char *) &useThemedToplevel, TCL_LINK_BOOLEAN) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- if (Tcl_LinkVar(interp, "::tk::mac::useThemedFrame",
- (char *) &useThemedFrame, TCL_LINK_BOOLEAN) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
-
- if (tkMacOSXtmpQdRgn == NULL) {
- tkMacOSXtmpQdRgn = NewRgn();
- }
- }
-#ifdef TK_MAC_DEBUG_DRAWING
- TkMacOSXInitNamedDebugSymbol(QD, void, QD_DebugPrint, char*);
- if (QD_DebugPrint) {
- ; /* gdb: b *QD_DebugPrint */
- }
-#endif /* TK_MAC_DEBUG_WINDOWS */
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XCopyArea --
- *
- * Copies data from one drawable to another using block transfer
- * routines.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Data is moved from a window or bitmap to a second window or
- * bitmap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XCopyArea(
- Display *display, /* Display. */
- Drawable src, /* Source drawable. */
- Drawable dst, /* Destination drawable. */
- GC gc, /* GC to use. */
- int src_x, /* X & Y, width & height */
- int src_y, /* define the source rectangle */
- unsigned int width, /* that will be copied. */
- unsigned int height,
- int dest_x, /* Dest X & Y on dest rect. */
- int dest_y)
-{
- TkMacOSXDrawingContext dc;
- MacDrawable *srcDraw = (MacDrawable *) src, *dstDraw = (MacDrawable *) dst;
-
- display->request++;
- if (!width || !height) {
- /* TkMacOSXDbgMsg("Drawing of emtpy area requested"); */
- return;
- }
- {
- CGrafPtr srcPort;
-
- srcPort = TkMacOSXGetDrawablePort(src);
- if (srcPort) {
- Rect srcRect, dstRect, *srcPtr = &srcRect, *dstPtr = &dstRect;
- const BitMap *srcBit, *dstBit;
- RGBColor black = {0, 0, 0}, white = {0xffff, 0xffff, 0xffff};
-
- if (!TkMacOSXSetupDrawingContext(dst, gc, 0, &dc)) {
- return;
- }
- if (dc.context) {
- TkMacOSXDbgMsg("Ignored CG drawing of QD drawable");
- goto end;
- }
- if (!dc.port) {
- TkMacOSXDbgMsg("Invalid destination drawable");
- goto end;
- }
- srcBit = GetPortBitMapForCopyBits(srcPort);
- dstBit = GetPortBitMapForCopyBits(dc.port);
- SetRect(srcPtr, srcDraw->xOff + src_x, srcDraw->yOff + src_y,
- srcDraw->xOff + src_x + width,
- srcDraw->yOff + src_y + height);
- if (tkPictureIsOpen) {
- dstPtr = srcPtr;
- } else {
- SetRect(dstPtr, dstDraw->xOff + dest_x, dstDraw->yOff + dest_y,
- dstDraw->xOff + dest_x + width,
- dstDraw->yOff + dest_y + height);
- }
- RGBForeColor(&black);
- RGBBackColor(&white);
- CopyBits(srcBit, dstBit, srcPtr, dstPtr, srcCopy, NULL);
-end:
- TkMacOSXRestoreDrawingContext(&dc);
- } else {
- TkMacOSXDbgMsg("Invalid source drawable");
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XCopyPlane --
- *
- * Copies a bitmap from a source drawable to a destination
- * drawable. The plane argument specifies which bit plane of
- * the source contains the bitmap. Note that this implementation
- * ignores the gc->function.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the destination drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XCopyPlane(
- Display *display, /* Display. */
- Drawable src, /* Source drawable. */
- Drawable dst, /* Destination drawable. */
- GC gc, /* GC to use. */
- int src_x, /* X & Y, width & height */
- int src_y, /* define the source rectangle */
- unsigned int width, /* that will be copied. */
- unsigned int height,
- int dest_x, /* Dest X & Y on dest rect. */
- int dest_y,
- unsigned long plane) /* Which plane to copy. */
-{
- TkMacOSXDrawingContext dc;
- MacDrawable *srcDraw = (MacDrawable *) src, *dstDraw = (MacDrawable *) dst;
-
- display->request++;
- if (!width || !height) {
- /* TkMacOSXDbgMsg("Drawing of emtpy area requested"); */
- return;
- }
- if (plane != 1) {
- Tcl_Panic("Unexpected plane specified for XCopyPlane");
- }
- {
- CGrafPtr srcPort;
-
- srcPort = TkMacOSXGetDrawablePort(src);
- if (srcPort) {
- Rect srcRect, dstRect, *srcPtr = &srcRect, *dstPtr = &dstRect;
- const BitMap *srcBit, *dstBit;
- TkpClipMask *clipPtr = (TkpClipMask *) gc->clip_mask;
-
- if (!TkMacOSXSetupDrawingContext(dst, gc, 0, &dc)) {
- return;
- }
- if (dc.context) {
- TkMacOSXDbgMsg("Ignored CG drawing of QD drawable");
- goto end;
- }
- if (!dc.port) {
- TkMacOSXDbgMsg("Invalid destination drawable");
- goto end;
- }
- srcBit = GetPortBitMapForCopyBits(srcPort);
- dstBit = GetPortBitMapForCopyBits(dc.port);
- SetRect(srcPtr, srcDraw->xOff + src_x, srcDraw->yOff + src_y,
- srcDraw->xOff + src_x + width,
- srcDraw->yOff + src_y + height);
- if (tkPictureIsOpen) {
- dstPtr = srcPtr;
- } else {
- SetRect(dstPtr, dstDraw->xOff + dest_x, dstDraw->yOff + dest_y,
- dstDraw->xOff + dest_x + width,
- dstDraw->yOff + dest_y + height);
- }
- TkMacOSXSetColorInPort(gc->foreground, 1, NULL, dc.port);
- if (!clipPtr || clipPtr->type == TKP_CLIP_REGION) {
- /*
- * Opaque bitmaps.
- */
-
- TkMacOSXSetColorInPort(gc->background, 0, NULL, dc.port);
- CopyBits(srcBit, dstBit, srcPtr, dstPtr, srcCopy, NULL);
- } else if (clipPtr->type == TKP_CLIP_PIXMAP) {
- if (clipPtr->value.pixmap == src) {
- /*
- * Transparent bitmaps. If it's color ignore the forecolor.
- */
- short tmode = GetPixDepth(GetPortPixMap(srcPort)) == 1 ?
- srcOr : transparent;
-
- CopyBits(srcBit, dstBit, srcPtr, dstPtr, tmode, NULL);
- } else {
- /*
- * Two arbitrary bitmaps.
- */
-
- CGrafPtr mskPort = TkMacOSXGetDrawablePort(
- clipPtr->value.pixmap);
- const BitMap *mskBit = GetPortBitMapForCopyBits(mskPort);
-
- CopyDeepMask(srcBit, mskBit, dstBit, srcPtr, srcPtr,
- dstPtr, srcCopy, NULL);
- }
- }
-end:
- TkMacOSXRestoreDrawingContext(&dc);
- } else {
- TkMacOSXDbgMsg("Invalid source drawable");
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkPutImage --
- *
- * Copies a subimage from an in-memory image to a rectangle of
- * of the specified drawable.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws the image on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkPutImage(
- unsigned long *colors, /* Unused on Macintosh. */
- int ncolors, /* Unused on Macintosh. */
- Display* display, /* Display. */
- Drawable d, /* Drawable to place image on. */
- GC gc, /* GC to use. */
- XImage* image, /* Image to place. */
- int src_x, /* Source X & Y. */
- int src_y,
- int dest_x, /* Destination X & Y. */
- int dest_y,
- unsigned int width, /* Same width & height for both */
- unsigned int height) /* distination and source. */
-{
- TkMacOSXDrawingContext dc;
- MacDrawable *dstDraw = (MacDrawable *) d;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 0, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- TkMacOSXDbgMsg("Ignored CG drawing of XImage");
- } else {
- Rect srcRect, dstRect, *srcPtr = &srcRect, *dstPtr = &dstRect;
- const BitMap *dstBit;
- RGBColor black = {0, 0, 0}, white = {0xffff, 0xffff, 0xffff};
- int i, j;
- char *newData = NULL;
- char *dataPtr, *newPtr, *oldPtr;
- int rowBytes = image->bytes_per_line, sliceRowBytes, lastSliceRowBytes;
- int slices, sliceWidth, lastSliceWidth;
-
- dstBit = GetPortBitMapForCopyBits(dc.port);
- SetRect(srcPtr, src_x, src_y, src_x + width, src_y + height);
- if (tkPictureIsOpen) {
- dstPtr = srcPtr;
- } else {
- SetRect(dstPtr, dstDraw->xOff + dest_x, dstDraw->yOff + dest_y,
- dstDraw->xOff + dest_x + width,
- dstDraw->yOff + dest_y + height);
- }
- RGBForeColor(&black);
- RGBBackColor(&white);
- if (image->obdata) {
- /*
- * Image from XGetImage, copy from containing GWorld directly.
- */
-
- CopyBits(GetPortBitMapForCopyBits(TkMacOSXGetDrawablePort(
- (Drawable)image->obdata)), dstBit,
- srcPtr, dstPtr, srcCopy, NULL);
- } else if (image->depth == 1) {
- /*
- * BW image
- */
-
- const int maxRowBytes = 0x3ffe;
- BitMap bitmap;
- int odd;
-
- if (rowBytes > maxRowBytes) {
- slices = rowBytes / maxRowBytes;
- sliceRowBytes = maxRowBytes;
- lastSliceRowBytes = rowBytes - (slices * maxRowBytes);
- if (!lastSliceRowBytes) {
- slices--;
- lastSliceRowBytes = maxRowBytes;
- }
- sliceWidth = (long) image->width * maxRowBytes / rowBytes;
- lastSliceWidth = image->width - (sliceWidth * slices);
- } else {
- slices = 0;
- sliceRowBytes = lastSliceRowBytes = rowBytes;
- sliceWidth = lastSliceWidth = image->width;
- }
- bitmap.bounds.top = bitmap.bounds.left = 0;
- bitmap.bounds.bottom = (short) image->height;
- dataPtr = image->data + image->xoffset;
- do {
- if (slices) {
- bitmap.bounds.right = bitmap.bounds.left + sliceWidth;
- } else {
- sliceRowBytes = lastSliceRowBytes;
- bitmap.bounds.right = bitmap.bounds.left + lastSliceWidth;
- }
- oldPtr = dataPtr;
- odd = sliceRowBytes % 2;
- if (!newData) {
- newData = ckalloc(image->height * (sliceRowBytes+odd));
- }
- newPtr = newData;
- if (image->bitmap_bit_order != MSBFirst) {
- for (i = 0; i < image->height; i++) {
- for (j = 0; j < sliceRowBytes; j++) {
- *newPtr = xBitReverseTable[(unsigned char)*oldPtr];
- newPtr++; oldPtr++;
- }
- if (odd) {
- *newPtr++ = 0;
- }
- oldPtr += rowBytes - sliceRowBytes;
- }
- } else {
- for (i = 0; i < image->height; i++) {
- memcpy(newPtr, oldPtr, sliceRowBytes);
- newPtr += sliceRowBytes;
- if (odd) {
- *newPtr++ = 0;
- }
- oldPtr += rowBytes;
- }
- }
- bitmap.baseAddr = newData;
- bitmap.rowBytes = sliceRowBytes + odd;
- CopyBits(&bitmap, dstBit, srcPtr, dstPtr, srcCopy, NULL);
- if (slices) {
- bitmap.bounds.left = bitmap.bounds.right;
- dataPtr += sliceRowBytes;
- }
- } while (slices--);
- ckfree(newData);
- } else {
- /*
- * Color image
- */
-
- const int maxRowBytes = 0x3ffc;
- PixMap pixmap;
-
- pixmap.bounds.left = 0;
- pixmap.bounds.top = 0;
- pixmap.bounds.bottom = (short) image->height;
- pixmap.pixelType = RGBDirect;
- pixmap.pmVersion = baseAddr32; /* 32bit clean */
- pixmap.packType = 0;
- pixmap.packSize = 0;
- pixmap.hRes = 0x00480000;
- pixmap.vRes = 0x00480000;
- pixmap.pixelSize = 32;
- pixmap.cmpCount = 3;
- pixmap.cmpSize = 8;
- pixmap.pixelFormat = image->byte_order == MSBFirst ?
- k32ARGBPixelFormat : k32BGRAPixelFormat;
- pixmap.pmTable = NULL;
- pixmap.pmExt = 0;
- if (rowBytes > maxRowBytes) {
- slices = rowBytes / maxRowBytes;
- sliceRowBytes = maxRowBytes;
- lastSliceRowBytes = rowBytes - (slices * maxRowBytes);
- if (!lastSliceRowBytes) {
- slices--;
- lastSliceRowBytes = maxRowBytes;
- }
- sliceWidth = (long) image->width * maxRowBytes / rowBytes;
- lastSliceWidth = image->width - (sliceWidth * slices);
- dataPtr = image->data + image->xoffset;
- newData = ckalloc(image->height * sliceRowBytes);
- do {
- if (slices) {
- pixmap.bounds.right = pixmap.bounds.left + sliceWidth;
- } else {
- sliceRowBytes = lastSliceRowBytes;
- pixmap.bounds.right = pixmap.bounds.left + lastSliceWidth;
- }
- oldPtr = dataPtr;
- newPtr = newData;
- for (i = 0; i < image->height; i++) {
- memcpy(newPtr, oldPtr, sliceRowBytes);
- oldPtr += rowBytes;
- newPtr += sliceRowBytes;
- }
- pixmap.baseAddr = newData;
- pixmap.rowBytes = sliceRowBytes | 0x8000;
- CopyBits((BitMap*) &pixmap, dstBit, srcPtr, dstPtr, srcCopy,
- NULL);
- if (slices) {
- pixmap.bounds.left = pixmap.bounds.right;
- dataPtr += sliceRowBytes;
- }
- } while (slices--);
- ckfree(newData);
- } else {
- pixmap.bounds.right = (short) image->width;
- pixmap.baseAddr = image->data + image->xoffset;
- pixmap.rowBytes = rowBytes | 0x8000;
- CopyBits((BitMap*) &pixmap, dstBit, srcPtr, dstPtr, srcCopy, NULL);
- }
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawLines --
- *
- * Draw connected lines.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Renders a series of connected lines.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XDrawLines(
- Display *display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- XPoint *points, /* Array of points. */
- int npoints, /* Number of points. */
- int mode) /* Line drawing mode. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int i, lw = gc->line_width;
-
- if (npoints < 2) {
- return BadValue;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- double prevx, prevy;
- double o = (lw % 2) ? .5 : 0;
-
- CGContextBeginPath(dc.context);
- prevx = macWin->xOff + points[0].x + o;
- prevy = macWin->yOff + points[0].y + o;
- CGContextMoveToPoint(dc.context, prevx, prevy);
- for (i = 1; i < npoints; i++) {
- if (mode == CoordModeOrigin) {
- CGContextAddLineToPoint(dc.context,
- macWin->xOff + points[i].x + o,
- macWin->yOff + points[i].y + o);
- } else {
- prevx += points[i].x;
- prevy += points[i].y;
- CGContextAddLineToPoint(dc.context, prevx, prevy);
- }
- }
- CGContextStrokePath(dc.context);
- } else {
- int o = -lw/2;
-
- /* This is broken for fat lines, it is not possible to correctly
- * imitate X11 drawing of oblique fat lines with QD line drawing,
- * we should draw a filled polygon instead. */
-
- MoveTo((short) (macWin->xOff + points[0].x + o),
- (short) (macWin->yOff + points[0].y + o));
- for (i = 1; i < npoints; i++) {
- if (mode == CoordModeOrigin) {
- LineTo((short) (macWin->xOff + points[i].x + o),
- (short) (macWin->yOff + points[i].y + o));
- } else {
- Line((short) points[i].x, (short) points[i].y);
- }
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawSegments --
- *
- * Draw unconnected lines.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Renders a series of unconnected lines.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawSegments(
- Display *display,
- Drawable d,
- GC gc,
- XSegment *segments,
- int nsegments)
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- double o = (lw % 2) ? .5 : 0;
-
- for (i = 0; i < nsegments; i++) {
- CGContextBeginPath(dc.context);
- CGContextMoveToPoint(dc.context,
- macWin->xOff + segments[i].x1 + o,
- macWin->yOff + segments[i].y1 + o);
- CGContextAddLineToPoint(dc.context,
- macWin->xOff + segments[i].x2 + o,
- macWin->yOff + segments[i].y2 + o);
- CGContextStrokePath(dc.context);
- }
- } else {
- int o = -lw/2;
-
- /* This is broken for fat lines, it is not possible to correctly
- * imitate X11 drawing of oblique fat lines with QD line drawing,
- * we should draw a filled polygon instead. */
-
- for (i = 0; i < nsegments; i++) {
- MoveTo((short) (macWin->xOff + segments[i].x1 + o),
- (short) (macWin->yOff + segments[i].y1 + o));
- LineTo((short) (macWin->xOff + segments[i].x2 + o),
- (short) (macWin->yOff + segments[i].y2 + o));
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XFillPolygon --
- *
- * Draws a filled polygon.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a filled polygon on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XFillPolygon(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- XPoint* points, /* Array of points. */
- int npoints, /* Number of points. */
- int shape, /* Shape to draw. */
- int mode) /* Drawing mode. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int i;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- double prevx, prevy;
- double o = (gc->line_width % 2) ? .5 : 0;
-
- CGContextBeginPath(dc.context);
- prevx = macWin->xOff + points[0].x + o;
- prevy = macWin->yOff + points[0].y + o;
- CGContextMoveToPoint(dc.context, prevx, prevy);
- for (i = 1; i < npoints; i++) {
- if (mode == CoordModeOrigin) {
- CGContextAddLineToPoint(dc.context,
- macWin->xOff + points[i].x + o,
- macWin->yOff + points[i].y + o);
- } else {
- prevx += points[i].x;
- prevy += points[i].y;
- CGContextAddLineToPoint(dc.context, prevx, prevy);
- }
- }
- CGContextEOFillPath(dc.context);
- } else {
- PolyHandle polygon;
-
- polygon = OpenPoly();
- MoveTo((short) (macWin->xOff + points[0].x),
- (short) (macWin->yOff + points[0].y));
- for (i = 1; i < npoints; i++) {
- if (mode == CoordModeOrigin) {
- LineTo((short) (macWin->xOff + points[i].x),
- (short) (macWin->yOff + points[i].y));
- } else {
- Line((short) points[i].x, (short) points[i].y);
- }
- }
- ClosePoly();
- FillCPoly(polygon, dc.penPat);
- KillPoly(polygon);
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawRectangle --
- *
- * Draws a rectangle.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a rectangle on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawRectangle(
- Display *display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- int x, int y, /* Upper left corner. */
- unsigned int width, /* Width & height of rect. */
- unsigned int height)
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int lw = gc->line_width;
-
- if (width == 0 || height == 0) {
- return;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- rect = CGRectMake(
- macWin->xOff + x + o,
- macWin->yOff + y + o,
- width, height);
- CGContextStrokeRect(dc.context, rect);
- } else {
- Rect theRect;
- int o = -lw/2;
-
- theRect.left = (short) (macWin->xOff + x + o);
- theRect.top = (short) (macWin->yOff + y + o);
- theRect.right = (short) (theRect.left + width + lw);
- theRect.bottom = (short) (theRect.top + height + lw);
- FrameRect(&theRect);
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XDrawRectangles --
- *
- * Draws the outlines of the specified rectangles as if a
- * five-point PolyLine protocol request were specified for each
- * rectangle:
- *
- * [x,y] [x+width,y] [x+width,y+height] [x,y+height] [x,y]
- *
- * For the specified rectangles, these functions do not draw a
- * pixel more than once. XDrawRectangles draws the rectangles in
- * the order listed in the array. If rectangles intersect, the
- * intersecting pixels are drawn multiple times. Draws a
- * rectangle.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws rectangles on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawRectangles(
- Display *display,
- Drawable drawable,
- GC gc,
- XRectangle *rectArr,
- int nRects)
-{
- MacDrawable *macWin = (MacDrawable *) drawable;
- TkMacOSXDrawingContext dc;
- XRectangle * rectPtr;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- for (i = 0, rectPtr = rectArr; i < nRects; i++, rectPtr++) {
- if (rectPtr->width == 0 || rectPtr->height == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + rectPtr->x + o,
- macWin->yOff + rectPtr->y + o,
- rectPtr->width, rectPtr->height);
- CGContextStrokeRect(dc.context, rect);
- }
- } else {
- Rect theRect;
- int o = -lw/2;
-
- for (i = 0, rectPtr = rectArr; i < nRects;i++, rectPtr++) {
- theRect.left = (short) (macWin->xOff + rectPtr->x + o);
- theRect.top = (short) (macWin->yOff + rectPtr->y + o);
- theRect.right = (short) (theRect.left + rectPtr->width + lw);
- theRect.bottom = (short) (theRect.top + rectPtr->height + lw);
- FrameRect(&theRect);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XFillRectangles --
- *
- * Fill multiple rectangular areas in the given drawable.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws onto the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XFillRectangles(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- XRectangle *rectangles, /* Rectangle array. */
- int n_rectangles) /* Number of rectangles. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- XRectangle * rectPtr;
- int i;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- CGRect rect;
-
- for (i = 0, rectPtr = rectangles; i < n_rectangles; i++, rectPtr++) {
- if (rectPtr->width == 0 || rectPtr->height == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + rectPtr->x,
- macWin->yOff + rectPtr->y,
- rectPtr->width, rectPtr->height);
- CGContextFillRect(dc.context, rect);
- }
- } else {
- Rect theRect;
-
- for (i = 0, rectPtr = rectangles; i < n_rectangles; i++, rectPtr++) {
- theRect.left = (short) (macWin->xOff + rectPtr->x);
- theRect.top = (short) (macWin->yOff + rectPtr->y);
- theRect.right = (short) (theRect.left + rectPtr->width);
- theRect.bottom = (short) (theRect.top + rectPtr->height);
- FillCRect(&theRect, dc.penPat);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawArc --
- *
- * Draw an arc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws an arc on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawArc(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- int x, int y, /* Upper left of bounding rect. */
- unsigned int width, /* Width & height. */
- unsigned int height,
- int angle1, /* Staring angle of arc. */
- int angle2) /* Extent of arc. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int lw = gc->line_width;
-
- if (width == 0 || height == 0 || angle2 == 0) {
- return;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- rect = CGRectMake(
- macWin->xOff + x + o,
- macWin->yOff + y + o,
- width, height);
- TK_IF_MAC_OS_X_API_COND (4, CGContextStrokeEllipseInRect,
- angle1 == 0 && angle2 == 23040,
- CGContextStrokeEllipseInRect(dc.context, rect);
- ) TK_ELSE (
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (width != height) {
- t = CGAffineTransformMakeScale(1.0, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c, CGAffineTransformInvert(t));
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2, radians(-angle1/64.0),
- radians(-(angle1 + angle2)/64.0), angle2 > 0);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextStrokePath(dc.context);
- ) TK_ENDIF
- } else {
- Rect theRect;
- short start, extent;
- int o = -lw/2;
-
- theRect.left = (short) (macWin->xOff + x + o);
- theRect.top = (short) (macWin->yOff + y + o);
- theRect.right = (short) (theRect.left + width + lw);
- theRect.bottom = (short) (theRect.top + height + lw);
- start = (short) (90 - (angle1/64));
- extent = (short) (-(angle2/64));
- FrameArc(&theRect, start, extent);
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XDrawArcs --
- *
- * Draws multiple circular or elliptical arcs. Each arc is
- * specified by a rectangle and two angles. The center of the
- * circle or ellipse is the center of the rect- angle, and the
- * major and minor axes are specified by the width and height.
- * Positive angles indicate counterclock- wise motion, and
- * negative angles indicate clockwise motion. If the magnitude
- * of angle2 is greater than 360 degrees, XDrawArcs truncates it
- * to 360 degrees.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws an arc for each array element on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawArcs(
- Display *display,
- Drawable d,
- GC gc,
- XArc *arcArr,
- int nArcs)
-{
-
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- XArc *arcPtr;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- for (i=0, arcPtr = arcArr; i < nArcs; i++, arcPtr++) {
- if (arcPtr->width == 0 || arcPtr->height == 0
- || arcPtr->angle2 == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + arcPtr->x + o,
- macWin->yOff + arcPtr->y + o,
- arcPtr->width, arcPtr->height);
-
- TK_IF_MAC_OS_X_API_COND (4, CGContextStrokeEllipseInRect,
- arcPtr->angle1 == 0 && arcPtr->angle2 == 23040,
- CGContextStrokeEllipseInRect(dc.context, rect);
- ) TK_ELSE (
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect),
- CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (arcPtr->width != arcPtr->height) {
- t = CGAffineTransformMakeScale(1, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c,
- CGAffineTransformInvert(t));
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2,
- radians(-arcPtr->angle1/64.0),
- radians(-(arcPtr->angle1 + arcPtr->angle2)/64.0),
- arcPtr->angle2 > 0);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextStrokePath(dc.context);
- ) TK_ENDIF
- }
- } else {
- Rect theRect;
- short start, extent;
- int o = -lw/2;
-
- for (i = 0, arcPtr = arcArr;i < nArcs;i++, arcPtr++) {
- theRect.left = (short) (macWin->xOff + arcPtr->x + o);
- theRect.top = (short) (macWin->yOff + arcPtr->y + o);
- theRect.right = (short) (theRect.left + arcPtr->width + lw);
- theRect.bottom = (short) (theRect.top + arcPtr->height + lw);
- start = (short) (90 - (arcPtr->angle1/64));
- extent = (short) (-(arcPtr->angle2/64));
- FrameArc(&theRect, start, extent);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XFillArc --
- *
- * Draw a filled arc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a filled arc on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XFillArc(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- int x, int y, /* Upper left of bounding rect. */
- unsigned int width, /* Width & height. */
- unsigned int height,
- int angle1, /* Staring angle of arc. */
- int angle2) /* Extent of arc. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int lw = gc->line_width;
-
- if (width == 0 || height == 0 || angle2 == 0) {
- return;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0, u = 0;
-
- if (notAA(lw)) {
- o += NON_AA_CG_OFFSET/2;
- u += NON_AA_CG_OFFSET;
- }
- rect = CGRectMake(
- macWin->xOff + x + o,
- macWin->yOff + y + o,
- width - u, height - u);
-
- TK_IF_MAC_OS_X_API_COND (4, CGContextFillEllipseInRect,
- angle1 == 0 && angle2 == 23040,
- CGContextFillEllipseInRect(dc.context, rect);
- ) TK_ELSE (
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (width != height) {
- t = CGAffineTransformMakeScale(1, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c, CGAffineTransformInvert(t));
- }
- if (gc->arc_mode == ArcPieSlice) {
- CGPathMoveToPoint(p, &t, c.x, c.y);
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2, radians(-angle1/64.0),
- radians(-(angle1 + angle2)/64.0), angle2 > 0);
- CGPathCloseSubpath(p);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextFillPath(dc.context);
- ) TK_ENDIF
- } else {
- Rect theRect;
- short start, extent;
- int o = -lw/2;
- PolyHandle polygon;
- double sin1, cos1, sin2, cos2, angle;
- double boxWidth, boxHeight;
- double vertex[2], center1[2], center2[2];
-
- theRect.left = (short) (macWin->xOff + x + o);
- theRect.top = (short) (macWin->yOff + y + o);
- theRect.right = (short) (theRect.left + width + lw);
- theRect.bottom = (short) (theRect.top + height + lw);
- start = (short) (90 - (angle1/64));
- extent = (short) (-(angle2/64));
- if (gc->arc_mode == ArcChord) {
- boxWidth = theRect.right - theRect.left;
- boxHeight = theRect.bottom - theRect.top;
- angle = radians(-angle1/64.0);
- sin1 = sin(angle);
- cos1 = cos(angle);
- angle -= radians(angle2/64.0);
- sin2 = sin(angle);
- cos2 = cos(angle);
- vertex[0] = (theRect.left + theRect.right)/2.0;
- vertex[1] = (theRect.top + theRect.bottom)/2.0;
- center1[0] = vertex[0] + cos1*boxWidth/2.0;
- center1[1] = vertex[1] + sin1*boxHeight/2.0;
- center2[0] = vertex[0] + cos2*boxWidth/2.0;
- center2[1] = vertex[1] + sin2*boxHeight/2.0;
-
- polygon = OpenPoly();
- MoveTo((short) ((theRect.left + theRect.right)/2),
- (short) ((theRect.top + theRect.bottom)/2));
- LineTo((short) (center1[0] + .5), (short) (center1[1] + .5));
- LineTo((short) (center2[0] + .5), (short) (center2[1] + .5));
- ClosePoly();
- FillCArc(&theRect, start, extent, dc.penPat);
- FillCPoly(polygon, dc.penPat);
- KillPoly(polygon);
- } else {
- FillCArc(&theRect, start, extent, dc.penPat);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XFillArcs --
- *
- * Draw a filled arc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a filled arc for each array element on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XFillArcs(
- Display *display,
- Drawable d,
- GC gc,
- XArc *arcArr,
- int nArcs)
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- XArc * arcPtr;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, tkMacOSXUseCGDrawing, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0, u = 0;
-
- if (notAA(lw)) {
- o += NON_AA_CG_OFFSET/2;
- u += NON_AA_CG_OFFSET;
- }
- for (i = 0, arcPtr = arcArr; i < nArcs; i++, arcPtr++) {
- if (arcPtr->width == 0 || arcPtr->height == 0
- || arcPtr->angle2 == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + arcPtr->x + o,
- macWin->yOff + arcPtr->y + o,
- arcPtr->width - u, arcPtr->height - u);
- TK_IF_MAC_OS_X_API_COND (4, CGContextFillEllipseInRect,
- arcPtr->angle1 == 0 && arcPtr->angle2 == 23040,
- CGContextFillEllipseInRect(dc.context, rect);
- ) TK_ELSE (
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect),
- CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (arcPtr->width != arcPtr->height) {
- t = CGAffineTransformMakeScale(1, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c,
- CGAffineTransformInvert(t));
- }
- if (gc->arc_mode == ArcPieSlice) {
- CGPathMoveToPoint(p, &t, c.x, c.y);
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2,
- radians(-arcPtr->angle1/64.0),
- radians(-(arcPtr->angle1 + arcPtr->angle2)/64.0),
- arcPtr->angle2 > 0);
- CGPathCloseSubpath(p);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextFillPath(dc.context);
- ) TK_ENDIF
- }
- } else {
- Rect theRect;
- short start, extent;
- int o = -lw/2;
- PolyHandle polygon;
- double sin1, cos1, sin2, cos2, angle;
- double boxWidth, boxHeight;
- double vertex[2], center1[2], center2[2];
-
- for (i = 0, arcPtr = arcArr;i<nArcs;i++, arcPtr++) {
- theRect.left = (short) (macWin->xOff + arcPtr->x + o);
- theRect.top = (short) (macWin->yOff + arcPtr->y + o);
- theRect.right = (short) (theRect.left + arcPtr->width + lw);
- theRect.bottom = (short) (theRect.top + arcPtr->height + lw);
- start = (short) (90 - (arcPtr->angle1/64));
- extent = (short) (- (arcPtr->angle2/64));
-
- if (gc->arc_mode == ArcChord) {
- boxWidth = theRect.right - theRect.left;
- boxHeight = theRect.bottom - theRect.top;
- angle = radians(-arcPtr->angle1/64.0);
- sin1 = sin(angle);
- cos1 = cos(angle);
- angle -= radians(arcPtr->angle2/64.0);
- sin2 = sin(angle);
- cos2 = cos(angle);
- vertex[0] = (theRect.left + theRect.right)/2.0;
- vertex[1] = (theRect.top + theRect.bottom)/2.0;
- center1[0] = vertex[0] + cos1*boxWidth/2.0;
- center1[1] = vertex[1] + sin1*boxHeight/2.0;
- center2[0] = vertex[0] + cos2*boxWidth/2.0;
- center2[1] = vertex[1] + sin2*boxHeight/2.0;
-
- polygon = OpenPoly();
- MoveTo((short) ((theRect.left + theRect.right)/2),
- (short) ((theRect.top + theRect.bottom)/2));
- LineTo((short) (center1[0] + .5), (short) (center1[1] + .5));
- LineTo((short) (center2[0] + .5), (short) (center2[1] + .5));
- ClosePoly();
- FillCArc(&theRect, start, extent, dc.penPat);
- FillCPoly(polygon, dc.penPat);
- KillPoly(polygon);
- } else {
- FillCArc(&theRect, start, extent, dc.penPat);
- }
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-#endif
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XMaxRequestSize --
- *
- *----------------------------------------------------------------------
- */
-
-long
-XMaxRequestSize(
- Display *display)
-{
- return (SHRT_MAX / 4);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkScrollWindow --
- *
- * Scroll a rectangle of the specified window and accumulate
- * a damage region.
- *
- * Results:
- * Returns 0 if the scroll genereated no additional damage.
- * Otherwise, sets the region that needs to be repainted after
- * scrolling and returns 1.
- *
- * Side effects:
- * Scrolls the bits in the window.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkScrollWindow(
- Tk_Window tkwin, /* The window to be scrolled. */
- GC gc, /* GC for window to be scrolled. */
- int x, int y, /* Position rectangle to be scrolled. */
- int width, int height,
- int dx, int dy, /* Distance rectangle should be moved. */
- TkRegion damageRgn) /* Region to accumulate damage in. */
-{
- MacDrawable *destDraw = (MacDrawable *) Tk_WindowId(tkwin);
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- Rect scrollRect;
- int result;
- HIShapeRef dmgRgn;
-
- /*
- * Due to the implementation below the behavior may be differnt
- * than X in certain cases that should never occur in Tk. The
- * scrollRect is the source rect extended by the offset (the union
- * of the source rect and the offset rect). Everything
- * in the extended scrollRect is scrolled. On X, it's possible
- * to "skip" over an area if the offset makes the source and
- * destination rects disjoint and non-aligned.
- */
-
- scrollRect.left = destDraw->xOff + x;
- scrollRect.top = destDraw->yOff + y;
- scrollRect.right = scrollRect.left + width;
- scrollRect.bottom = scrollRect.top + height;
- if (dx < 0) {
- scrollRect.left += dx;
- } else {
- scrollRect.right += dx;
- }
- if (dy < 0) {
- scrollRect.top += dy;
- } else {
- scrollRect.bottom += dy;
- }
-
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(tkwin));
- TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));
- TkMacOSXCheckTmpQdRgnEmpty();
- portChanged = QDSwapPort(destPort, &savePort);
- ScrollRect(&scrollRect, dx, dy, tkMacOSXtmpQdRgn);
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-
- /*
- * Fortunately, the region returned by ScrollRect is semantically
- * the same as what we need to return in this function. If the
- * region is empty we return zero to denote that no damage was
- * created.
- */
-
- dmgRgn = HIShapeCreateWithQDRgn(tkMacOSXtmpQdRgn);
- SetEmptyRgn(tkMacOSXtmpQdRgn);
- TkMacOSXSetWithNativeRegion(damageRgn, dmgRgn);
- result = HIShapeIsEmpty(dmgRgn) ? 0 : 1;
- CFRelease(dmgRgn);
-
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetUpGraphicsPort --
- *
- * Set up the graphics port from the given GC.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The current port is adjusted.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetUpGraphicsPort(
- GC gc, /* GC to apply to current port. */
- void *destPort)
-{
- CGrafPtr savePort;
- Boolean portChanged;
-
- portChanged = QDSwapPort(destPort, &savePort);
- PenNormal();
- if (gc) {
- if (!penPat) {
- if (!tmpPixPat) {
- penPat = NewPixPat();
- } else {
- penPat = tmpPixPat;
- tmpPixPat = NULL;
- }
- }
- TkMacOSXSetColorInPort(gc->foreground, 1, penPat, destPort);
- PenPixPat(penPat);
- if(gc->function == GXxor) {
- PenMode(patXor);
- }
- if (gc->line_width > 1) {
- PenSize(gc->line_width, gc->line_width);
- }
- if (gc->line_style != LineSolid) {
- /*
- * FIXME: Here the dash pattern should be set in the drawing
- * environment. This is not possible with QuickDraw line drawing.
- */
- }
- }
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetUpDrawingContext --
- *
- * Set up a drawing context for the given drawable and GC.
- *
- * Results:
- * Boolean indicating whether it is ok to draw; if false, drawing
- * context was not setup, so do not attempt to draw and do not call
- * TkMacOSXRestoreDrawingContext().
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXSetupDrawingContext(
- Drawable d,
- GC gc,
- int useCG, /* advisory only ! */
- TkMacOSXDrawingContext *dcPtr)
-{
- MacDrawable *macDraw = ((MacDrawable*)d);
- int dontDraw = 0;
- TkMacOSXDrawingContext dc = {NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- {SHRT_MIN, SHRT_MIN, SHRT_MAX, SHRT_MAX}, false};
-
- if (tkPictureIsOpen) {
- if (useCG) {
- TkMacOSXDbgMsg("Ignored CG Drawing with QD Picture open");
- dontDraw = 1;
- }
- } else {
- dc.clipRgn = TkMacOSXGetClipRgn(d);
- }
- if (!dontDraw) {
- ClipToGC(d, gc, &dc.clipRgn);
- dontDraw = dc.clipRgn ? HIShapeIsEmpty(dc.clipRgn) : 0;
- }
- if (dontDraw) {
- if (dc.clipRgn) {
- CFRelease(dc.clipRgn);
- dc.clipRgn = NULL;
- }
- goto end;
- }
- if (useCG) {
- dc.context = macDraw->context;
- }
- if (!dc.context || !(macDraw->flags & TK_IS_PIXMAP)) {
- dc.port = TkMacOSXGetDrawablePort(d);
- if (dc.port) {
- GetPortBounds(dc.port, &dc.portBounds);
- }
- }
- if (dc.context) {
- if (!dc.port) {
- CGRect r;
-
- TK_IF_MAC_OS_X_API (3, CGContextGetClipBoundingBox,
- r = CGContextGetClipBoundingBox(dc.context);
- ) TK_ELSE_MAC_OS_X (3,
- r.origin = CGPointZero;
- r.size = macDraw->size;
- ) TK_ENDIF
- SetRect(&dc.portBounds, r.origin.x + macDraw->xOff,
- r.origin.y + macDraw->yOff,
- r.origin.x + r.size.width + macDraw->xOff,
- r.origin.y + r.size.height + macDraw->yOff);
- }
- CGContextSaveGState(dc.context);
- dc.saveState = (void*)1;
- dc.port = NULL;
- } else if (dc.port) {
- dc.portChanged = QDSwapPort(dc.port, &dc.savePort);
- if (useCG && ChkErr(QDBeginCGContext, dc.port, &dc.context) == noErr) {
- SyncCGContextOriginWithPort(dc.context, dc.port);
- } else {
- dc.context = NULL;
- }
- } else {
- Tcl_Panic("TkMacOSXSetupDrawingContext(): "
- "no port or context to draw into !");
- }
- if (dc.context) {
- CGContextConcatCTM(dc.context, CGAffineTransformMake(1.0, 0.0, 0.0,
- -1.0, 0.0, dc.portBounds.bottom - dc.portBounds.top));
- if (dc.clipRgn) {
-#ifdef TK_MAC_DEBUG_DRAWING
- CGContextSaveGState(dc.context);
- ChkErr(HIShapeReplacePathInCGContext, dc.clipRgn, dc.context);
- CGContextSetRGBFillColor(dc.context, 1.0, 0.0, 0.0, 0.2);
- CGContextEOFillPath(dc.context);
- CGContextRestoreGState(dc.context);
-#endif /* TK_MAC_DEBUG_DRAWING */
- ChkErr(HIShapeReplacePathInCGContext, dc.clipRgn, dc.context);
- CGContextEOClip(dc.context);
- }
- if (gc) {
- static const CGLineCap cgCap[] = {
- [CapNotLast] = kCGLineCapButt,
- [CapButt] = kCGLineCapButt,
- [CapRound] = kCGLineCapRound,
- [CapProjecting] = kCGLineCapSquare,
- };
- static const CGLineJoin cgJoin[] = {
- [JoinMiter] = kCGLineJoinMiter,
- [JoinRound] = kCGLineJoinRound,
- [JoinBevel] = kCGLineJoinBevel,
- };
- bool shouldAntialias;
- double w = gc->line_width;
-
- TkMacOSXSetColorInContext(gc->foreground, dc.context);
- if (dc.port) {
- CGContextSetPatternPhase(dc.context, CGSizeMake(
- dc.portBounds.right - dc.portBounds.left,
- dc.portBounds.bottom - dc.portBounds.top));
- }
- if(gc->function != GXcopy) {
- TkMacOSXDbgMsg("Logical functions other than GXcopy are "
- "not supported for CG drawing!");
- }
- /* When should we antialias? */
- shouldAntialias = !notAA(gc->line_width);
- if (!shouldAntialias) {
- /* Make non-antialiased CG drawing look more like X11 */
- w -= (gc->line_width ? NON_AA_CG_OFFSET : 0);
- }
- CGContextSetShouldAntialias(dc.context, shouldAntialias);
- CGContextSetLineWidth(dc.context, w);
- if (gc->line_style != LineSolid) {
- int num = 0;
- char *p = &(gc->dashes);
- double dashOffset = gc->dash_offset;
- float lengths[10];
-
- while (p[num] != '\0' && num < 10) {
- lengths[num] = p[num];
- num++;
- }
- CGContextSetLineDash(dc.context, dashOffset, lengths, num);
- }
- if ((unsigned)gc->cap_style < sizeof(cgCap)/sizeof(CGLineCap)) {
- CGContextSetLineCap(dc.context,
- cgCap[(unsigned)gc->cap_style]);
- }
- if ((unsigned)gc->join_style < sizeof(cgJoin)/sizeof(CGLineJoin)) {
- CGContextSetLineJoin(dc.context,
- cgJoin[(unsigned)gc->join_style]);
- }
- }
- } else if (dc.port) {
- PixPatHandle savePat = penPat;
-
- ChkErr(GetThemeDrawingState, &dc.saveState);
- penPat = NULL;
- TkMacOSXSetUpGraphicsPort(gc, dc.port);
- dc.penPat = penPat;
- penPat = savePat;
- dc.saveClip = NewRgn();
- GetPortClipRegion(dc.port, dc.saveClip);
- if (dc.clipRgn) {
- ChkErr(HIShapeSetQDClip, dc.clipRgn, dc.port);
- } else {
- NoQDClip(dc.port);
- }
- if (!tkPictureIsOpen) {
- ShowPen();
- }
- }
-end:
- *dcPtr = dc;
- return !dontDraw;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXRestoreDrawingContext --
- *
- * Restore drawing context.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXRestoreDrawingContext(
- TkMacOSXDrawingContext *dcPtr)
-{
- if (dcPtr->context) {
- CGContextSynchronize(dcPtr->context);
- if (dcPtr->saveState) {
- CGContextRestoreGState(dcPtr->context);
- }
- if (dcPtr->port) {
- ChkErr(QDEndCGContext, dcPtr->port, &(dcPtr->context));
- }
- } else if (dcPtr->port) {
- if (!tkPictureIsOpen) {
- HidePen();
- }
- PenNormal();
- if (dcPtr->saveClip) {
- SetPortClipRegion(dcPtr->port, dcPtr->saveClip);
- DisposeRgn(dcPtr->saveClip);
- }
- if (dcPtr->penPat) {
- if (!tmpPixPat) {
- tmpPixPat = dcPtr->penPat;
- } else {
- DisposePixPat(dcPtr->penPat);
- }
- }
- if (dcPtr->saveState) {
- ChkErr(SetThemeDrawingState, dcPtr->saveState, true);
- }
- }
- if (dcPtr->clipRgn) {
- CFRelease(dcPtr->clipRgn);
- }
- if (dcPtr->portChanged) {
- QDSwapPort(dcPtr->savePort, NULL);
- }
-#ifdef TK_MAC_DEBUG
- bzero(dcPtr, sizeof(TkMacOSXDrawingContext));
-#endif /* TK_MAC_DEBUG */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetClipRgn --
- *
- * Get the clipping region needed to restrict drawing to the given
- * drawable.
- *
- * Results:
- * Clipping region. If non-NULL, CFRelease it when done.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-HIShapeRef
-TkMacOSXGetClipRgn(
- Drawable drawable) /* Drawable. */
-{
- MacDrawable *macDraw = (MacDrawable *) drawable;
- HIShapeRef clipRgn = NULL;
- CGRect r;
-
- if (macDraw->winPtr && macDraw->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(macDraw->winPtr);
-#ifdef TK_MAC_DEBUG_DRAWING
- TkMacOSXDbgMsg("%s visRgn ", macDraw->winPtr->pathName);
- TkMacOSXDebugFlashRegion(drawable, macDraw->visRgn);
-#endif /* TK_MAC_DEBUG_DRAWING */
- }
-
- if (macDraw->flags & TK_CLIPPED_DRAW) {
- r = CGRectOffset(macDraw->drawRect, macDraw->xOff, macDraw->yOff);
- }
- if (macDraw->visRgn) {
- if (macDraw->flags & TK_CLIPPED_DRAW) {
- HIShapeRef rgn = HIShapeCreateWithRect(&r);
-
- clipRgn = HIShapeCreateIntersection(macDraw->visRgn, rgn);
- CFRelease(rgn);
- } else {
- clipRgn = HIShapeCreateCopy(macDraw->visRgn);
- }
- } else if (macDraw->flags & TK_CLIPPED_DRAW) {
- clipRgn = HIShapeCreateWithRect(&r);
- }
-#ifdef TK_MAC_DEBUG_DRAWING
- TkMacOSXDbgMsg("%s clipRgn ", macDraw->winPtr->pathName);
- TkMacOSXDebugFlashRegion(drawable, clipRgn);
-#endif /* TK_MAC_DEBUG_DRAWING */
-
- return clipRgn;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetUpClippingRgn --
- *
- * Set up the clipping region so that drawing only occurs on the
- * specified X subwindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The clipping region in the current port is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetUpClippingRgn(
- Drawable drawable) /* Drawable to update. */
-{
- CGrafPtr port = TkMacOSXGetDrawablePort(drawable);
-
- if (port) {
- HIShapeRef clipRgn = TkMacOSXGetClipRgn(drawable);
-
- if (clipRgn) {
- ChkErr(HIShapeSetQDClip, clipRgn, port);
- CFRelease(clipRgn);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpClipDrawableToRect --
- *
- * Clip all drawing into the drawable d to the given rectangle.
- * If width and height are negative, reset to no clipping.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Subsequent drawing into d is offset and clipped as specified.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpClipDrawableToRect(
- Display *display,
- Drawable d,
- int x, int y,
- int width, int height)
-{
- MacDrawable *macDraw = (MacDrawable *) d;
-
- if (width < 0 && height < 0) {
- macDraw->drawRect = CGRectNull;
- macDraw->flags &= ~TK_CLIPPED_DRAW;
- } else {
- macDraw->drawRect = CGRectMake(x, y, width, height);
- macDraw->flags |= TK_CLIPPED_DRAW;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ClipToGC --
- *
- * Helper function to intersect given region with gc clip region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ClipToGC(
- Drawable d,
- GC gc,
- HIShapeRef *clipRgnPtr) /* must point to initialized variable */
-{
- if (gc && gc->clip_mask &&
- ((TkpClipMask*)gc->clip_mask)->type == TKP_CLIP_REGION) {
- TkRegion gcClip = ((TkpClipMask*)gc->clip_mask)->value.region;
- int xOffset = ((MacDrawable *) d)->xOff + gc->clip_x_origin;
- int yOffset = ((MacDrawable *) d)->yOff + gc->clip_y_origin;
- HIShapeRef clipRgn = *clipRgnPtr, gcClipRgn;
-
- if (!tkPictureIsOpen) {
- TkMacOSXOffsetRegion(gcClip, xOffset, yOffset);
- }
- gcClipRgn = TkMacOSXGetNativeRegion(gcClip);
- if (clipRgn) {
- *clipRgnPtr = HIShapeCreateIntersection(gcClipRgn, clipRgn);
- CFRelease(clipRgn);
- } else {
- *clipRgnPtr = HIShapeCreateCopy(gcClipRgn);
- }
- CFRelease(gcClipRgn);
- if (!tkPictureIsOpen) {
- TkMacOSXOffsetRegion(gcClip, -xOffset, -yOffset);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * NoQDClip --
- *
- * Helper function to setup a QD port to not clip anything.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-NoQDClip(
- CGrafPtr port)
-{
- static RgnHandle noClipRgn = NULL;
-
- if (!noClipRgn) {
- noClipRgn = NewRgn();
- SetRectRgn(noClipRgn, SHRT_MIN, SHRT_MIN, SHRT_MAX, SHRT_MAX);
- }
- SetPortClipRegion(port, noClipRgn);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMakeStippleMap --
- *
- * Given a drawable and a stipple pattern this function draws the
- * pattern repeatedly over the drawable. The drawable can then
- * be used as a mask for bit-bliting a stipple pattern over an
- * object.
- *
- * Results:
- * A BitMap data structure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void *
-TkMacOSXMakeStippleMap(
- Drawable drawable, /* Window to apply stipple. */
- Drawable stipple) /* The stipple pattern. */
-{
- CGrafPtr stipplePort;
- BitMapPtr bitmapPtr;
- const BitMap *stippleBitmap;
- Rect portRect;
- int width, height, stippleHeight, stippleWidth, i, j;
- Rect bounds;
-
- GetPortBounds(TkMacOSXGetDrawablePort(drawable), &portRect);
- width = portRect.right - portRect.left;
- height = portRect.bottom - portRect.top;
- bitmapPtr = ckalloc(sizeof(BitMap));
- bitmapPtr->bounds.top = bitmapPtr->bounds.left = 0;
- bitmapPtr->bounds.right = (short) width;
- bitmapPtr->bounds.bottom = (short) height;
- bitmapPtr->rowBytes = (width / 8) + 1;
- bitmapPtr->baseAddr = ckalloc(height * bitmapPtr->rowBytes);
-
- stipplePort = TkMacOSXGetDrawablePort(stipple);
- stippleBitmap = GetPortBitMapForCopyBits(stipplePort);
- GetPortBounds(stipplePort, &portRect);
- stippleWidth = portRect.right - portRect.left;
- stippleHeight = portRect.bottom - portRect.top;
-
- for (i = 0; i < height; i += stippleHeight) {
- for (j = 0; j < width; j += stippleWidth) {
- bounds.left = j;
- bounds.top = i;
- bounds.right = j + stippleWidth;
- bounds.bottom = i + stippleHeight;
- CopyBits(stippleBitmap, bitmapPtr, &portRect, &bounds, srcCopy,
- NULL);
- }
- }
- return bitmapPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDrawHighlightBorder --
- *
- * This procedure draws a rectangular ring around the outside of
- * a widget to indicate that it has received the input focus.
- *
- * On the Macintosh, this puts a 1 pixel border in the bgGC color
- * between the widget and the focus ring, except in the case where
- * highlightWidth is 1, in which case the border is left out.
- *
- * For proper Mac L&F, use highlightWidth of 3.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A rectangle "width" pixels wide is drawn in "drawable",
- * corresponding to the outer area of "tkwin".
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDrawHighlightBorder (
- Tk_Window tkwin,
- GC fgGC,
- GC bgGC,
- int highlightWidth,
- Drawable drawable)
-{
- if (highlightWidth == 1) {
- TkDrawInsetFocusHighlight (tkwin, fgGC, highlightWidth, drawable, 0);
- } else {
- TkDrawInsetFocusHighlight (tkwin, bgGC, highlightWidth, drawable, 0);
- if (fgGC != bgGC) {
- TkDrawInsetFocusHighlight (tkwin, fgGC, highlightWidth - 1,
- drawable, 0);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDrawFrame --
- *
- * This procedure draws the rectangular frame area. If the user
- * has request themeing, it draws with a the background theme.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws inside the tkwin area.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDrawFrame(
- Tk_Window tkwin,
- Tk_3DBorder border,
- int highlightWidth,
- int borderWidth,
- int relief)
-{
- if (useThemedToplevel && Tk_IsTopLevel(tkwin)) {
- static Tk_3DBorder themedBorder = NULL;
-
- if (!themedBorder) {
- themedBorder = Tk_Get3DBorder(NULL, tkwin,
- "systemWindowHeaderBackground");
- }
- if (themedBorder) {
- border = themedBorder;
- }
- }
- Tk_Fill3DRectangle(tkwin, Tk_WindowId(tkwin),
- border, highlightWidth, highlightWidth,
- Tk_Width(tkwin) - 2 * highlightWidth,
- Tk_Height(tkwin) - 2 * highlightWidth,
- borderWidth, relief);
-}
diff --git a/carbon/tkMacOSXEmbed.c b/carbon/tkMacOSXEmbed.c
deleted file mode 100644
index 39e9aaa..0000000
--- a/carbon/tkMacOSXEmbed.c
+++ /dev/null
@@ -1,1184 +0,0 @@
-/*
- * tkMacOSXEmbed.c --
- *
- * This file contains platform-specific procedures for theMac to provide
- * basic operations needed for application embedding (where one
- * application can use as its main window an internal window from some
- * other application). Currently only Toplevel embedding within the same
- * Tk application is allowed on the Macintosh.
- *
- * Copyright (c) 1996-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2008 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.
- */
-
-#include "tkMacOSXInt.h"
-#include "tkBusy.h"
-
-/*
- * One of the following structures exists for each container in this
- * application. It keeps track of the container window and its associated
- * embedded window.
- */
-
-typedef struct Container {
- Window parent; /* The Mac Drawable for the parent of the pair
- * (the container). */
- TkWindow *parentPtr; /* Tk's information about the container, or
- * NULL if the container isn't in this
- * process. */
- Window embedded; /* The MacDrawable for the embedded window.
- * Starts off as None, but gets filled in when
- * the window is eventually created. */
- TkWindow *embeddedPtr; /* Tk's information about the embedded window,
- * or NULL if the embedded application isn't
- * in this process. */
- struct Container *nextPtr; /* Next in list of all containers in this
- * process. */
-} Container;
-
-static Container *firstContainerPtr = NULL;
- /* First in list of all containers managed by
- * this process. */
-/*
- * Globals defined in this file:
- */
-
-TkMacOSXEmbedHandler *tkMacOSXEmbedHandler = NULL;
-
-/*
- * Prototypes for static procedures defined in this file:
- */
-
-static void ContainerEventProc(ClientData clientData, XEvent *eventPtr);
-static void EmbeddedEventProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedActivateProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedFocusProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedGeometryRequest(Container *containerPtr, int width,
- int height);
-static void EmbedSendConfigure(Container *containerPtr);
-static void EmbedStructureProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedWindowDeleted(TkWindow *winPtr);
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXSetEmbedHandler --
- *
- * Registers a handler for an in process form of embedding, like Netscape
- * plugins, where Tk is loaded into the process, but does not control the
- * main window
- *
- * Results:
- * None
- *
- * Side effects:
- * The embed handler is set.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXSetEmbedHandler(
- Tk_MacOSXEmbedRegisterWinProc *registerWinProc,
- Tk_MacOSXEmbedGetGrafPortProc *getPortProc,
- Tk_MacOSXEmbedMakeContainerExistProc *containerExistProc,
- Tk_MacOSXEmbedGetClipProc *getClipProc,
- Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc)
-{
- if (tkMacOSXEmbedHandler == NULL) {
- tkMacOSXEmbedHandler = ckalloc(sizeof(TkMacOSXEmbedHandler));
- }
- tkMacOSXEmbedHandler->registerWinProc = registerWinProc;
- tkMacOSXEmbedHandler->getPortProc = getPortProc;
- tkMacOSXEmbedHandler->containerExistProc = containerExistProc;
- tkMacOSXEmbedHandler->getClipProc = getClipProc;
- tkMacOSXEmbedHandler->getOffsetProc = getOffsetProc;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMakeWindow --
- *
- * Creates an X Window (Mac subwindow).
- *
- * Results:
- * The window id is returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Window
-TkpMakeWindow(
- TkWindow *winPtr,
- Window parent)
-{
- MacDrawable *macWin;
-
- /*
- * If this window is marked as embedded then the window structure should
- * have already been created in the TkpUseWindow function.
- */
-
- if (Tk_IsEmbedded(winPtr)) {
- macWin = winPtr->privatePtr;
- } else {
- /*
- * Allocate sub window
- */
-
- macWin = ckalloc(sizeof(MacDrawable));
- if (macWin == NULL) {
- winPtr->privatePtr = NULL;
- return None;
- }
- macWin->winPtr = winPtr;
- winPtr->privatePtr = macWin;
- macWin->visRgn = NULL;
- macWin->aboveVisRgn = NULL;
- macWin->drawRect = CGRectNull;
- macWin->referenceCount = 0;
- macWin->flags = TK_CLIP_INVALID;
- macWin->grafPtr = NULL;
- macWin->context = NULL;
- macWin->size = CGSizeZero;
- if (Tk_IsTopLevel(macWin->winPtr)) {
- /*
- * This will be set when we are mapped.
- */
-
- macWin->xOff = 0;
- macWin->yOff = 0;
- macWin->toplevel = macWin;
- } else {
- macWin->xOff = winPtr->parentPtr->privatePtr->xOff +
- winPtr->parentPtr->changes.border_width +
- winPtr->changes.x;
- macWin->yOff = winPtr->parentPtr->privatePtr->yOff +
- winPtr->parentPtr->changes.border_width +
- winPtr->changes.y;
- macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;
- }
- macWin->toplevel->referenceCount++;
- }
- return (Window) macWin;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpUseWindow --
- *
- * This procedure causes a Tk window to use a given X window as its
- * parent window, rather than the root window for the screen. It is
- * invoked by an embedded application to specify the window in which it
- * is embedded.
- *
- * Results:
- * The return value is normally TCL_OK. If an error occurs (such as
- * string not being a valid window spec), then the return value is
- * TCL_ERROR and an error message is left in the interp's result if
- * interp is non-NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpUseWindow(
- Tcl_Interp *interp, /* If not NULL, used for error reporting if
- * string is bogus. */
- Tk_Window tkwin, /* Tk window that does not yet have an
- * associated X window. */
- const char *string) /* String identifying an X window to use for
- * tkwin; must be an integer value. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- TkWindow *usePtr;
- MacDrawable *parent, *macWin;
- Container *containerPtr;
-
- if (winPtr->window != None) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "can't modify container after widget is created", -1));
- Tcl_SetErrorCode(interp, "TK", "EMBED", "POST_CREATE", NULL);
- return TCL_ERROR;
- }
-
- /*
- * Decode the container pointer, and look for it among the list of
- * available containers.
- *
- * N.B. For now, we are limiting the containers to be in the same Tk
- * application as tkwin, since otherwise they would not be in our list of
- * containers.
- */
-
- if (Tcl_GetInt(interp, string, (int*) &parent) != TCL_OK) {
- return TCL_ERROR;
- }
-
- usePtr = (TkWindow *) Tk_IdToWindow(winPtr->display, (Window) parent);
- if (usePtr != NULL && !(usePtr->flags & TK_CONTAINER)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" doesn't have -container option set",
- usePtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "EMBED", "CONTAINER", NULL);
- return TCL_ERROR;
- }
-
- /*
- * The code below can probably be simplified given we have already
- * discovered 'usePtr' above.
- */
-
- /*
- * Save information about the container and the embedded window in a
- * Container structure. Currently, there must already be an existing
- * Container structure, since we only allow the case where both container
- * and embedded app. are in the same process.
- */
-
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr->parent == (Window) parent) {
- winPtr->flags |= TK_BOTH_HALVES;
- containerPtr->parentPtr->flags |= TK_BOTH_HALVES;
- break;
- }
- }
-
- /*
- * Make the embedded window.
- */
-
- macWin = ckalloc(sizeof(MacDrawable));
- if (macWin == NULL) {
- winPtr->privatePtr = NULL;
- return TCL_ERROR;
- }
-
- macWin->winPtr = winPtr;
- winPtr->privatePtr = macWin;
-
- /*
- * The grafPtr will be NULL for a Tk in Tk embedded window. It is none of
- * our business what it is for a Tk not in Tk embedded window, but we will
- * initialize it to NULL, and let the registerWinProc set it. In any case,
- * you must always use TkMacOSXGetDrawablePort to get the portPtr. It will
- * correctly find the container's port.
- */
-
- macWin->grafPtr = NULL;
- macWin->context = NULL;
- macWin->size = CGSizeZero;
- macWin->visRgn = NULL;
- macWin->aboveVisRgn = NULL;
- macWin->drawRect = CGRectNull;
- macWin->referenceCount = 0;
- macWin->flags = TK_CLIP_INVALID;
- macWin->toplevel = macWin;
- macWin->toplevel->referenceCount++;
-
- winPtr->flags |= TK_EMBEDDED;
-
- /*
- * Make a copy of the TK_EMBEDDED flag, since sometimes we need this to
- * get the port after the TkWindow structure has been freed.
- */
-
- macWin->flags |= TK_EMBEDDED;
-
- /*
- * Now check whether it is embedded in another Tk widget. If not (the
- * first case below) we see if there is an in-process embedding handler
- * registered, and if so, let that fill in the rest of the macWin.
- */
-
- if (containerPtr == NULL) {
- /*
- * If someone has registered an in process embedding handler, then
- * see if it can handle this window...
- */
-
- if (tkMacOSXEmbedHandler == NULL ||
- tkMacOSXEmbedHandler->registerWinProc((int) parent,
- (Tk_Window) winPtr) != TCL_OK) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "The window ID %s does not correspond to a valid Tk Window",
- string));
- Tcl_SetErrorCode(interp, "TK", "EMBED", "HANDLE", NULL);
- return TCL_ERROR;
- } else {
- containerPtr = ckalloc(sizeof(Container));
-
- containerPtr->parentPtr = NULL;
- containerPtr->embedded = (Window) macWin;
- containerPtr->embeddedPtr = macWin->winPtr;
- containerPtr->nextPtr = firstContainerPtr;
- firstContainerPtr = containerPtr;
- }
- } else {
- /*
- * The window is embedded in another Tk window.
- */
-
- macWin->xOff = parent->winPtr->privatePtr->xOff +
- parent->winPtr->changes.border_width +
- winPtr->changes.x;
- macWin->yOff = parent->winPtr->privatePtr->yOff +
- parent->winPtr->changes.border_width +
- winPtr->changes.y;
-
- /*
- * Finish filling up the container structure with the embedded
- * window's information.
- */
-
- containerPtr->embedded = (Window) macWin;
- containerPtr->embeddedPtr = macWin->winPtr;
-
- /*
- * Create an event handler to clean up the Container structure when
- * tkwin is eventually deleted.
- */
-
- Tk_CreateEventHandler(tkwin, StructureNotifyMask, EmbeddedEventProc,
- winPtr);
- }
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMakeContainer --
- *
- * This procedure is called to indicate that a particular window will be
- * a container for an embedded application. This changes certain aspects
- * of the window's behavior, such as whether it will receive events
- * anymore.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMakeContainer(
- Tk_Window tkwin) /* Token for a window that is about to become
- * a container. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- Container *containerPtr;
-
- /*
- * Register the window as a container so that, for example, we can make
- * sure the argument to -use is valid.
- */
-
- Tk_MakeWindowExist(tkwin);
- containerPtr = ckalloc(sizeof(Container));
- containerPtr->parent = Tk_WindowId(tkwin);
- containerPtr->parentPtr = winPtr;
- containerPtr->embedded = None;
- containerPtr->embeddedPtr = NULL;
- containerPtr->nextPtr = firstContainerPtr;
- firstContainerPtr = containerPtr;
- winPtr->flags |= TK_CONTAINER;
-
- /*
- * Request SubstructureNotify events so that we can find out when the
- * embedded application creates its window or attempts to resize it. Also
- * watch Configure events on the container so that we can resize the child
- * to match. Also, pass activate events from the container down to the
- * embedded toplevel.
- */
-
- Tk_CreateEventHandler(tkwin,
- SubstructureNotifyMask|SubstructureRedirectMask,
- ContainerEventProc, winPtr);
- Tk_CreateEventHandler(tkwin, StructureNotifyMask, EmbedStructureProc,
- containerPtr);
- Tk_CreateEventHandler(tkwin, ActivateMask, EmbedActivateProc,
- containerPtr);
- Tk_CreateEventHandler(tkwin, FocusChangeMask, EmbedFocusProc,
- containerPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXContainerId --
- *
- * Given an embedded window, this procedure returns the MacDrawable
- * identifier for the associated container window.
- *
- * Results:
- * The return value is the MacDrawable for winPtr's container window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MacDrawable *
-TkMacOSXContainerId(
- TkWindow *winPtr) /* Tk's structure for an embedded window. */
-{
- Container *containerPtr;
-
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr->embeddedPtr == winPtr) {
- return (MacDrawable *) containerPtr->parent;
- }
- }
- Tcl_Panic("TkMacOSXContainerId couldn't find window");
- return None;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetHostToplevel --
- *
- * Given the TkWindow, return the MacDrawable for the outermost toplevel
- * containing it. This will be a real Macintosh window.
- *
- * Results:
- * Returns a MacDrawable corresponding to a Macintosh Toplevel
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MacDrawable *
-TkMacOSXGetHostToplevel(
- TkWindow *winPtr) /* Tk's structure for a window. */
-{
- TkWindow *contWinPtr, *topWinPtr;
-
- topWinPtr = winPtr->privatePtr->toplevel->winPtr;
- if (!Tk_IsEmbedded(topWinPtr)) {
- return winPtr->privatePtr->toplevel;
- }
- contWinPtr = TkpGetOtherWindow(topWinPtr);
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
-
- if (contWinPtr == NULL) {
- return None;
- }
- return TkMacOSXGetHostToplevel(contWinPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpClaimFocus --
- *
- * This procedure is invoked when someone asks for the input focus to be
- * put on a window in an embedded application, but the application
- * doesn't currently have the focus. It requests the input focus from the
- * container application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The input focus may change.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpClaimFocus(
- TkWindow *topLevelPtr, /* Top-level window containing desired focus
- * window; should be embedded. */
- int force) /* One means that the container should claim
- * the focus if it doesn't currently have
- * it. */
-{
- XEvent event;
- Container *containerPtr;
-
- if (!(topLevelPtr->flags & TK_EMBEDDED)) {
- return;
- }
-
- for (containerPtr = firstContainerPtr;
- containerPtr->embeddedPtr != topLevelPtr;
- containerPtr = containerPtr->nextPtr) {
- /* Empty loop body. */
- }
-
- event.xfocus.type = FocusIn;
- event.xfocus.serial = LastKnownRequestProcessed(topLevelPtr->display);
- event.xfocus.send_event = 1;
- event.xfocus.display = topLevelPtr->display;
- event.xfocus.window = containerPtr->parent;
- event.xfocus.mode = EMBEDDED_APP_WANTS_FOCUS;
- event.xfocus.detail = force;
- Tk_QueueWindowEvent(&event,TCL_QUEUE_TAIL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpTestembedCmd --
- *
- * This procedure implements the "testembed" command. It returns some or
- * all of the information in the list pointed to by firstContainerPtr.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpTestembedCmd(
- ClientData clientData, /* Main window for application. */
- Tcl_Interp *interp, /* Current interpreter. */
- int argc, /* Number of arguments. */
- const char **argv) /* Argument strings. */
-{
- int all;
- Container *containerPtr;
- Tcl_DString dString;
- char buffer[50];
-
- if ((argc > 1) && (strcmp(argv[1], "all") == 0)) {
- all = 1;
- } else {
- all = 0;
- }
- Tcl_DStringInit(&dString);
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- Tcl_DStringStartSublist(&dString);
- if (containerPtr->parent == None) {
- Tcl_DStringAppendElement(&dString, "");
- } else if (all) {
- sprintf(buffer, "0x%x", (int) containerPtr->parent);
- Tcl_DStringAppendElement(&dString, buffer);
- } else {
- Tcl_DStringAppendElement(&dString, "XXX");
- }
- if (containerPtr->parentPtr == NULL) {
- Tcl_DStringAppendElement(&dString, "");
- } else {
- Tcl_DStringAppendElement(&dString,
- containerPtr->parentPtr->pathName);
- }
- if (containerPtr->embedded == None) {
- Tcl_DStringAppendElement(&dString, "");
- } else if (all) {
- sprintf(buffer, "0x%x", (int) containerPtr->embedded);
- Tcl_DStringAppendElement(&dString, buffer);
- } else {
- Tcl_DStringAppendElement(&dString, "XXX");
- }
- if (containerPtr->embeddedPtr == NULL) {
- Tcl_DStringAppendElement(&dString, "");
- } else {
- Tcl_DStringAppendElement(&dString,
- containerPtr->embeddedPtr->pathName);
- }
- Tcl_DStringEndSublist(&dString);
- }
- Tcl_DStringResult(interp, &dString);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpRedirectKeyEvent --
- *
- * This procedure is invoked when a key press or release event arrives
- * for an application that does not believe it owns the input focus. This
- * can happen because of embedding; for example, X can send an event to
- * an embedded application when the real focus window is in the container
- * application and is an ancestor of the container. This procedure's job
- * is to forward the event back to the application where it really
- * belongs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The event may get sent to a different application.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpRedirectKeyEvent(
- TkWindow *winPtr, /* Window to which the event was originally
- * reported. */
- XEvent *eventPtr) /* X event to redirect (should be KeyPress or
- * KeyRelease). */
-{
- /* TODO: Implement this or decide it definitely needs no implementation */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetOtherWindow --
- *
- * If both the container and embedded window are in the same process,
- * this procedure will return either one, given the other.
- *
- * Results:
- * If winPtr is a container, the return value is the token for the
- * embedded window, and vice versa. If the "other" window isn't in this
- * process, NULL is returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow *
-TkpGetOtherWindow(
- TkWindow *winPtr) /* Tk's structure for a container or embedded
- * window. */
-{
- Container *containerPtr;
-
- /*
- * TkpGetOtherWindow returns NULL if both windows are not in the same
- * process...
- */
-
- if (!(winPtr->flags & TK_BOTH_HALVES)) {
- return NULL;
- }
-
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr->embeddedPtr == winPtr) {
- return containerPtr->parentPtr;
- } else if (containerPtr->parentPtr == winPtr) {
- return containerPtr->embeddedPtr;
- }
- }
- return NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbeddedEventProc --
- *
- * This procedure is invoked by the Tk event dispatcher when various
- * useful events are received for a window that is embedded in
- * another application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Our internal state gets cleaned up when an embedded window is
- * destroyed.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbeddedEventProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- TkWindow *winPtr = clientData;
-
- if (eventPtr->type == DestroyNotify) {
- EmbedWindowDeleted(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ContainerEventProc --
- *
- * This procedure is invoked by the Tk event dispatcher when various
- * useful events are received for the children of a container window. It
- * forwards relevant information, such as geometry requests, from the
- * events into the container's application.
- *
- * NOTE: on the Mac, only the DestroyNotify branch is ever taken. We
- * don't synthesize the other events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Depends on the event. For example, when ConfigureRequest events occur,
- * geometry information gets set for the container window.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ContainerEventProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- TkWindow *winPtr = clientData;
- Container *containerPtr;
- Tk_ErrorHandler errHandler;
-
- /*
- * Ignore any X protocol errors that happen in this procedure (almost any
- * operation could fail, for example, if the embedded application has
- * deleted its window).
- */
-
- errHandler = Tk_CreateErrorHandler(eventPtr->xfocus.display, -1,
- -1, -1, NULL, NULL);
-
- /*
- * Find the Container structure associated with the parent window.
- */
-
- for (containerPtr = firstContainerPtr;
- containerPtr->parent != eventPtr->xmaprequest.parent;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr == NULL) {
- Tcl_Panic("ContainerEventProc couldn't find Container record");
- }
- }
-
- if (eventPtr->type == CreateNotify) {
- /*
- * A new child window has been created in the container. Record its id
- * in the Container structure (if more than one child is created, just
- * remember the last one and ignore the earlier ones).
- */
-
- containerPtr->embedded = eventPtr->xcreatewindow.window;
- } else if (eventPtr->type == ConfigureRequest) {
- if ((eventPtr->xconfigurerequest.x != 0)
- || (eventPtr->xconfigurerequest.y != 0)) {
- /*
- * The embedded application is trying to move itself, which isn't
- * legal. At this point, the window hasn't actually moved, but we
- * need to send it a ConfigureNotify event to let it know that its
- * request has been denied. If the embedded application was also
- * trying to resize itself, a ConfigureNotify will be sent by the
- * geometry management code below, so we don't need to do
- * anything. Otherwise, generate a synthetic event.
- */
-
- if ((eventPtr->xconfigurerequest.width == winPtr->changes.width)
- && (eventPtr->xconfigurerequest.height
- == winPtr->changes.height)) {
- EmbedSendConfigure(containerPtr);
- }
- }
- EmbedGeometryRequest(containerPtr,
- eventPtr->xconfigurerequest.width,
- eventPtr->xconfigurerequest.height);
- } else if (eventPtr->type == MapRequest) {
- /*
- * The embedded application's map request was ignored and simply
- * passed on to us, so we have to map the window for it to appear on
- * the screen.
- */
-
- XMapWindow(eventPtr->xmaprequest.display,
- eventPtr->xmaprequest.window);
- } else if (eventPtr->type == DestroyNotify) {
- /*
- * The embedded application is gone. Destroy the container window.
- */
-
- Tk_DestroyWindow((Tk_Window) winPtr);
- }
- Tk_DeleteErrorHandler(errHandler);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedStructureProc --
- *
- * This procedure is invoked by the Tk event dispatcher when a container
- * window owned by this application gets resized (and also at several
- * other times that we don't care about). This procedure reflects the
- * size change in the embedded window that corresponds to the container.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The embedded window gets resized to match the container.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedStructureProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- Container *containerPtr = clientData;
- Tk_ErrorHandler errHandler;
-
- if (eventPtr->type == ConfigureNotify) {
- if (containerPtr->embedded != None) {
- /*
- * Ignore errors, since the embedded application could have
- * deleted its window.
- */
-
- errHandler = Tk_CreateErrorHandler(eventPtr->xfocus.display, -1,
- -1, -1, NULL, NULL);
- Tk_MoveResizeWindow((Tk_Window) containerPtr->embeddedPtr, 0, 0,
- (unsigned) Tk_Width((Tk_Window) containerPtr->parentPtr),
- (unsigned) Tk_Height((Tk_Window)containerPtr->parentPtr));
- Tk_DeleteErrorHandler(errHandler);
- }
- } else if (eventPtr->type == DestroyNotify) {
- EmbedWindowDeleted(containerPtr->parentPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedActivateProc --
- *
- * This procedure is invoked by the Tk event dispatcher when Activate and
- * Deactivate events occur for a container window owned by this
- * application. It is responsible for forwarding an activate event down
- * into the embedded toplevel.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The X focus may change.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedActivateProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- Container *containerPtr = clientData;
-
- if (containerPtr->embeddedPtr != NULL) {
- if (eventPtr->type == ActivateNotify) {
- TkGenerateActivateEvents(containerPtr->embeddedPtr,1);
- } else if (eventPtr->type == DeactivateNotify) {
- TkGenerateActivateEvents(containerPtr->embeddedPtr,0);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedFocusProc --
- *
- * This procedure is invoked by the Tk event dispatcher when FocusIn and
- * FocusOut events occur for a container window owned by this
- * application. It is responsible for moving the focus back and forth
- * between a container application and an embedded application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The X focus may change.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedFocusProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- Container *containerPtr = clientData;
- Display *display;
- XEvent event;
-
- if (containerPtr->embeddedPtr != NULL) {
- display = Tk_Display(containerPtr->parentPtr);
- event.xfocus.serial = LastKnownRequestProcessed(display);
- event.xfocus.send_event = false;
- event.xfocus.display = display;
- event.xfocus.mode = NotifyNormal;
- event.xfocus.window = containerPtr->embedded;
-
- if (eventPtr->type == FocusIn) {
- /*
- * The focus just arrived at the container. Change the X focus to
- * move it to the embedded application, if there is one. Ignore X
- * errors that occur during this operation (it's possible that the
- * new focus window isn't mapped).
- */
-
- event.xfocus.detail = NotifyNonlinear;
- event.xfocus.type = FocusIn;
- } else if (eventPtr->type == FocusOut) {
- /*
- * When the container gets a FocusOut event, it has to tell the
- * embedded app that it has lost the focus.
- */
-
- event.xfocus.type = FocusOut;
- event.xfocus.detail = NotifyNonlinear;
- }
-
- Tk_QueueWindowEvent(&event, TCL_QUEUE_MARK);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedGeometryRequest --
- *
- * This procedure is invoked when an embedded application requests a
- * particular size. It processes the request (which may or may not
- * actually honor the request) and reflects the results back to the
- * embedded application.
- *
- * NOTE: On the Mac, this is a stub, since we don't synthesize
- * ConfigureRequest events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If we deny the child's size change request, a Configure event is
- * synthesized to let the child know how big it ought to be. Events get
- * processed while we're waiting for the geometry managers to do their
- * thing.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedGeometryRequest(
- Container *containerPtr, /* Information about the embedding. */
- int width, int height) /* Size that the child has requested. */
-{
- TkWindow *winPtr = containerPtr->parentPtr;
-
- /*
- * Forward the requested size into our geometry management hierarchy via
- * the container window. We need to send a Configure event back to the
- * embedded application if we decide not to honor its request; to make
- * this happen, process all idle event handlers synchronously here (so
- * that the geometry managers have had a chance to do whatever they want
- * to do), and if the window's size didn't change then generate a
- * configure event.
- */
-
- Tk_GeometryRequest((Tk_Window) winPtr, width, height);
- while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) {
- /* Empty loop body. */
- }
- if ((winPtr->changes.width != width)
- || (winPtr->changes.height != height)) {
- EmbedSendConfigure(containerPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedSendConfigure --
- *
- * This is currently a stub. It is called to notify an embedded
- * application of its current size and location. This procedure is called
- * when the embedded application made a geometry request that we did not
- * grant, so that the embedded application knows that its geometry didn't
- * change after all. It is a response to ConfigureRequest events, which
- * we do not currently synthesize on the Mac
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedSendConfigure(
- Container *containerPtr) /* Information about the embedding. */
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedWindowDeleted --
- *
- * This procedure is invoked when a window involved in embedding (as
- * either the container or the embedded application) is destroyed. It
- * cleans up the Container structure for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A Container structure may be freed.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedWindowDeleted(
- TkWindow *winPtr) /* Tk's information about window that
- * was deleted. */
-{
- Container *containerPtr, *prevPtr;
-
- /*
- * Find the Container structure for this window. Delete the information
- * about the embedded application and free the container's record.
- */
-
- prevPtr = NULL;
- containerPtr = firstContainerPtr;
- while (1) {
- if (containerPtr->embeddedPtr == winPtr) {
- /*
- * We also have to destroy our parent, to clean up the container.
- * Fabricate an event to do this.
- */
-
- if (containerPtr->parentPtr != NULL &&
- containerPtr->parentPtr->flags & TK_BOTH_HALVES) {
- XEvent event;
-
- event.xany.serial =
- Tk_Display(containerPtr->parentPtr)->request;
- event.xany.send_event = False;
- event.xany.display = Tk_Display(containerPtr->parentPtr);
-
- event.xany.type = DestroyNotify;
- event.xany.window = containerPtr->parent;
- event.xdestroywindow.event = containerPtr->parent;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_HEAD);
- }
-
- containerPtr->embedded = None;
- containerPtr->embeddedPtr = NULL;
- break;
- }
- if (containerPtr->parentPtr == winPtr) {
- containerPtr->parentPtr = NULL;
- break;
- }
- prevPtr = containerPtr;
- containerPtr = containerPtr->nextPtr;
- }
- if ((containerPtr->embeddedPtr == NULL)
- && (containerPtr->parentPtr == NULL)) {
- if (prevPtr == NULL) {
- firstContainerPtr = containerPtr->nextPtr;
- } else {
- prevPtr->nextPtr = containerPtr->nextPtr;
- }
- ckfree(containerPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpShowBusyWindow, TkpHideBusyWindow, TkpMakeTransparentWindowExist,
- * TkpCreateBusy --
- *
- * Portability layer for busy windows. Holds platform-specific gunk for
- * the [tk busy] command, which is currently a dummy implementation for
- * OSX/Aqua. The individual functions are supposed to do the following:
- *
- * TkpShowBusyWindow --
- * Make the busy window appear.
- *
- * TkpHideBusyWindow --
- * Make the busy window go away.
- *
- * TkpMakeTransparentWindowExist --
- * Actually make a transparent window.
- *
- * TkpCreateBusy --
- * Creates the platform-specific part of a busy window structure.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpShowBusyWindow(
- TkBusy busy)
-{
-}
-
-void
-TkpHideBusyWindow(
- TkBusy busy)
-{
-}
-
-void
-TkpMakeTransparentWindowExist(
- Tk_Window tkwin, /* Token for window. */
- Window parent) /* Parent window. */
-{
-}
-
-void
-TkpCreateBusy(
- Tk_FakeWin *winPtr,
- Tk_Window tkRef,
- Window* parentPtr,
- Tk_Window tkParent,
- TkBusy busy)
-{
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/carbon/tkMacOSXEntry.c b/carbon/tkMacOSXEntry.c
deleted file mode 100644
index 0c4211e..0000000
--- a/carbon/tkMacOSXEntry.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * tkMacOSXEntry.c --
- *
- * This file implements the native aqua entry widget.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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
- * unless explicitly disclaimed in individual files.
- *
- *
- * Apple hereby grants permission to use, copy, modify,
- * distribute, and license this software and its documentation
- * for any purpose, provided that existing copyright notices are
- * retained in all copies and that this notice is included
- * verbatim in any distributions. No written agreement, license,
- * or royalty fee is required for any of the authorized
- * uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms
- * described here, provided that the new terms are clearly
- * indicated on the first page of each file where they apply.
- *
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
- * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
- * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
- * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND
- * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
- * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
- * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf
- * of the U.S. government, the Government shall have only
- * "Restricted Rights" in the software and related documentation
- * as defined in the Federal Acquisition Regulations (FARs) in
- * Clause 52.227.19 (c) (2). If you are acquiring the software
- * on behalf of the Department of Defense, the software shall be
- * classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in
- * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
- * foregoing, the authors grant the U.S. Government and others
- * acting in its behalf permission to use and distribute the
- * software in accordance with the terms specified in this
- * license.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDefault.h"
-#include "tkEntry.h"
-
-static ThemeButtonKind ComputeIncDecParameters(int height, int *width);
-
-/*
- *--------------------------------------------------------------
- *
- * ComputeIncDecParameters --
- *
- * This procedure figures out which of the kThemeIncDec buttons to use.
- * It also sets width to the width of the IncDec button.
- *
- * Results:
- * The ThemeButtonKind of the button we should use.
- *
- * Side effects:
- * May draw the entry border into pixmap.
- *
- *--------------------------------------------------------------
- */
-
-static ThemeButtonKind
-ComputeIncDecParameters(
- int height,
- int *width)
-{
- ThemeButtonKind kind;
-
- TK_IF_HI_TOOLBOX (3,
- if (height < 11 || height > 28) {
- *width = 0;
- kind = (ThemeButtonKind) 0;
- } else {
- if (height >= 21) {
- *width = 13;
- kind = kThemeIncDecButton;
- } else if (height >= 18) {
- *width = 12;
- kind = kThemeIncDecButtonSmall;
- } else {
- *width = 11;
- kind = kThemeIncDecButtonMini;
- }
- }
- ) TK_ELSE_HI_TOOLBOX (3,
- if (height < 21 || height > 28) {
- *width = 0;
- kind = (ThemeButtonKind) 0;
- } else {
- *width = 13;
- kind = kThemeIncDecButton;
- }
- ) TK_ENDIF
-
- return kind;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpDrawEntryBorderAndFocus --
- *
- * This procedure redraws the border of an entry window. It overrides the
- * generic border drawing code if the entry widget parameters are such
- * that the native widget drawing is a good fit. This version just
- * returns 1, so platforms that don't do special native drawing don't
- * have to implement it.
- *
- * Results:
- * 1 if it has drawn the border, 0 if not.
- *
- * Side effects:
- * May draw the entry border into pixmap.
- *
- *--------------------------------------------------------------
- */
-
-int
-TkpDrawEntryBorderAndFocus(
- Entry *entryPtr,
- Drawable d,
- int isSpinbox)
-{
- Rect bounds;
- TkMacOSXDrawingContext dc;
- GC bgGC;
- Tk_Window tkwin = entryPtr->tkwin;
- ThemeDrawState drawState;
- int oldWidth = 0;
- MacDrawable *macDraw = (MacDrawable *) d;
-
- /*
- * I use 6 as the borderwidth. 2 of the 5 go into the actual frame the 3
- * are because the Mac OS Entry widgets leave more space around the Text
- * than Tk does on X11.
- */
-
- if (entryPtr->borderWidth != MAC_OSX_ENTRY_BORDER
- || entryPtr->highlightWidth != MAC_OSX_FOCUS_WIDTH
- || entryPtr->relief != MAC_OSX_ENTRY_RELIEF) {
- return 0;
- }
-
- /*
- * For the spinbox, we have to make the entry part smaller by the size of
- * the buttons. We also leave 2 pixels to the left (as per the HIG) and
- * space for one pixel to the right, 'cause it makes the buttons look
- * nicer.
- */
-
- if (isSpinbox) {
- ThemeButtonKind buttonKind;
- int incDecWidth;
-
- oldWidth = Tk_Width(tkwin);
-
- buttonKind = ComputeIncDecParameters(Tk_Height(tkwin)
- - 2 * MAC_OSX_FOCUS_WIDTH, &incDecWidth);
- Tk_Width(tkwin) -= incDecWidth + 1;
- }
-
- /*
- * The focus ring is drawn with an Alpha at the outside part of the ring,
- * so we have to draw over the edges of the ring before drawing the focus
- * or the text will peep through.
- */
-
- bgGC = Tk_GCForColor(entryPtr->highlightBgColorPtr, d);
- TkDrawInsetFocusHighlight(entryPtr->tkwin, bgGC, MAC_OSX_FOCUS_WIDTH, d, 0);
-
- /*
- * Inset the entry Frame by the maximum width of the focus rect, which is
- * 3 according to the Carbon docs.
- */
-
- bounds.left = macDraw->xOff + MAC_OSX_FOCUS_WIDTH;
- bounds.top = macDraw->yOff + MAC_OSX_FOCUS_WIDTH;
- bounds.right = macDraw->xOff + Tk_Width(tkwin) - MAC_OSX_FOCUS_WIDTH;
- bounds.bottom = macDraw->yOff + Tk_Height(tkwin) - MAC_OSX_FOCUS_WIDTH;
- if (entryPtr->state == STATE_DISABLED) {
- drawState = kThemeStateInactive;
- } else {
- drawState = kThemeStateActive;
- }
- if (!TkMacOSXSetupDrawingContext(d, NULL, 0, &dc)) {
- return 0;
- }
- DrawThemeEditTextFrame(&bounds, drawState);
- if (entryPtr->flags & GOT_FOCUS) {
- /*
- * Don't call this if we don't have the focus, because then it erases
- * the focus rect to white, but we've already drawn the
- * highlightbackground above.
- */
-
- DrawThemeFocusRect(&bounds, (entryPtr->flags & GOT_FOCUS) != 0);
- }
- if (isSpinbox) {
- Tk_Width(tkwin) = oldWidth;
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return 1;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpDrawSpinboxButtons --
- *
- * This procedure redraws the buttons of an spinbox widget. It overrides
- * the generic button drawing code if the spinbox widget parameters are
- * such that the native widget drawing is a good fit. This version just
- * returns 0, so platforms that don't do special native drawing don't
- * have to implement it.
- *
- * Results:
- * 1 if it has drawn the border, 0 if not.
- *
- * Side effects:
- * May draw the entry border into pixmap.
- *
- *--------------------------------------------------------------
- */
-
-int
-TkpDrawSpinboxButtons(
- Spinbox *sbPtr,
- Drawable d)
-{
- Rect inBounds;
- ThemeButtonKind inKind;
- ThemeButtonDrawInfo inNewInfo;
- ThemeButtonDrawInfo * inPrevInfo = NULL;
- ThemeEraseUPP inEraseProc = NULL;
- ThemeButtonDrawUPP inLabelProc = NULL;
- UInt32 inUserData = 0;
- Tk_Window tkwin = sbPtr->entry.tkwin;
- int height = Tk_Height(tkwin);
- int buttonHeight = height - 2 * MAC_OSX_FOCUS_WIDTH;
- int incDecWidth;
- TkMacOSXDrawingContext dc;
- XRectangle rects[1];
- GC bgGC;
- MacDrawable *macDraw = (MacDrawable *) d;
-
- /*
- * FIXME: RAISED really makes more sense
- */
-
- if (sbPtr->buRelief != TK_RELIEF_FLAT) {
- return 0;
- }
-
- /*
- * The actual sizes of the IncDec button are 21 for the normal, 18 for the
- * small and 15 for the mini. But the spinbox still looks okay if the
- * entry is a little bigger than this, so we give it a little slop.
- */
-
- inKind = ComputeIncDecParameters(buttonHeight, &incDecWidth);
- if (inKind == (ThemeButtonKind) 0) {
- return 0;
- }
-
- if (sbPtr->entry.state == STATE_DISABLED) {
- inNewInfo.state = kThemeStateInactive;
- inNewInfo.value = kThemeButtonOff;
- } else if (sbPtr->selElement == SEL_BUTTONUP) {
- inNewInfo.state = kThemeStatePressedUp;
- inNewInfo.value = kThemeButtonOn;
- } else if (sbPtr->selElement == SEL_BUTTONDOWN) {
- inNewInfo.state = kThemeStatePressedDown;
- inNewInfo.value = kThemeButtonOn;
- } else {
- inNewInfo.state = kThemeStateActive;
- inNewInfo.value = kThemeButtonOff;
- }
-
- inNewInfo.adornment = kThemeAdornmentNone;
-
- inBounds.left = macDraw->xOff + Tk_Width(tkwin) - incDecWidth - 1;
- inBounds.right = macDraw->xOff + Tk_Width(tkwin) - 1;
- inBounds.top = macDraw->yOff + MAC_OSX_FOCUS_WIDTH;
- inBounds.bottom = macDraw->yOff + Tk_Height(tkwin) - MAC_OSX_FOCUS_WIDTH;
-
- /*
- * We had to make the entry part of the window smaller so that we wouldn't
- * overdraw the spin buttons with the focus highlight. So now we have to
- * draw the highlightbackground.
- */
-
- bgGC = Tk_GCForColor(sbPtr->entry.highlightBgColorPtr, d);
- rects[0].x = inBounds.left;
- rects[0].y = 0;
- rects[0].width = Tk_Width(tkwin);
- rects[0].height = Tk_Height(tkwin);
- XFillRectangles(Tk_Display(tkwin), d, bgGC, rects, 1);
-
- if (!TkMacOSXSetupDrawingContext(d, NULL, 0, &dc)) {
- return 0;
- }
- ChkErr(DrawThemeButton, &inBounds, inKind, &inNewInfo, inPrevInfo,
- inEraseProc, inLabelProc, inUserData);
- TkMacOSXRestoreDrawingContext(&dc);
- return 1;
-}
diff --git a/carbon/tkMacOSXEvent.c b/carbon/tkMacOSXEvent.c
deleted file mode 100644
index d39a347..0000000
--- a/carbon/tkMacOSXEvent.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * tkMacOSXEvent.c --
- *
- * This file contains the basic Mac OS X Event handling routines.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXFlushWindows --
- *
- * This routine flushes all the Carbon windows of the application. It is
- * called by XSync().
- *
- * Results:
- * None.
- *
- * Side effects:
- * Flushes all Carbon windows
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXFlushWindows(void)
-{
- WindowRef wRef = GetWindowList();
-
- while (wRef) {
- TK_IF_MAC_OS_X_API (3, HIWindowFlush,
- ChkErr(HIWindowFlush, wRef);
- ) TK_ELSE_MAC_OS_X (3,
- CGrafPtr portPtr = GetWindowPort(wRef);
-
- if (QDIsPortBuffered(portPtr)) {
- QDFlushPortBuffer(portPtr, NULL);
- }
- ) TK_ENDIF
- wRef = GetNextWindow(wRef);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessEvent --
- *
- * This dispatches a filtered Carbon event to the appropriate handler
- *
- * Note on MacEventStatus.stopProcessing: Please be conservative in the
- * individual handlers and don't assume the event is fully handled unless
- * you *really* need to ensure that other handlers don't see the event
- * anymore. Some OS manager or library might be interested in events even
- * after they are already handled on the Tk level.
- *
- * Results:
- * 0 on success
- * -1 on failure
- *
- * Side effects:
- * Converts a Carbon event to a Tk event
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- switch (eventPtr->eClass) {
- case kEventClassMouse:
- TkMacOSXProcessMouseEvent(eventPtr, statusPtr);
- break;
- case kEventClassWindow:
- TkMacOSXProcessWindowEvent(eventPtr, statusPtr);
- break;
- case kEventClassKeyboard:
- TkMacOSXProcessKeyboardEvent(eventPtr, statusPtr);
- break;
- case kEventClassApplication:
- TkMacOSXProcessApplicationEvent(eventPtr, statusPtr);
- break;
- case kEventClassAppearance:
- TkMacOSXProcessAppearanceEvent(eventPtr, statusPtr);
- break;
- case kEventClassMenu:
- TkMacOSXProcessMenuEvent(eventPtr, statusPtr);
- break;
- case kEventClassCommand:
- TkMacOSXProcessCommandEvent(eventPtr, statusPtr);
- break;
- case kEventClassFont:
- TkMacOSXProcessFontEvent(eventPtr, statusPtr);
- break;
- default: {
- TkMacOSXDbgMsg("Unrecognised event: %s",
- TkMacOSXCarbonEventToAscii(eventPtr->eventRef));
- break;
- }
- }
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * 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.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessMenuEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- int menuContext;
- OSStatus err;
- MenuRef menu;
- MenuItemIndex index;
-
- switch (eventPtr->eKind) {
- case kEventMenuBeginTracking:
- case kEventMenuEndTracking:
- case kEventMenuOpening:
- case kEventMenuTargetItem:
- break;
- default:
- return 0;
- }
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamMenuContext, typeUInt32, NULL, sizeof(menuContext),
- NULL, &menuContext);
- if (err != noErr) {
- return 0;
- }
-
- if ((menuContext & kMenuContextMenuBarTracking) ||
- (menuContext & kMenuContextPopUpTracking)) {
- switch (eventPtr->eKind) {
- case kEventMenuBeginTracking:
- TkMacOSXClearMenubarActive();
-
- /*
- * Handle -postcommand
- */
-
- TkMacOSXPreprocessMenu();
- TkMacOSXTrackingLoop(1);
- break;
- case kEventMenuEndTracking:
- TkMacOSXTrackingLoop(0);
- break;
- case kEventMenuOpening:
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamDirectObject, typeMenuRef, NULL, sizeof(menu),
- NULL, &menu);
- if (err != noErr) {
- return 0;
- }
- TkMacOSXClearActiveMenu(menu);
- return TkMacOSXGenerateParentMenuSelectEvent(menu);
- case kEventMenuTargetItem:
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamDirectObject, typeMenuRef, NULL, sizeof(menu),
- NULL, &menu);
- if (err != noErr) {
- return 0;
- }
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamMenuItemIndex, typeMenuItemIndex, NULL,
- sizeof(index), NULL, &index);
- if (err != noErr) {
- return 0;
- }
- return TkMacOSXGenerateMenuSelectEvent(menu, index);
- }
- }
- 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.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessCommandEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- HICommand command;
- int menuContext;
- OSStatus err;
-
- switch (eventPtr->eKind) {
- case kEventCommandProcess:
- case kEventCommandUpdateStatus:
- break;
- default:
- return 0;
- }
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamDirectObject, typeHICommand, NULL, sizeof(command),
- NULL, &command);
- if (err != noErr) {
- return 0;
- }
-
- if (command.attributes & kHICommandFromMenu) {
- if (eventPtr->eKind == kEventCommandProcess) {
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamMenuContext, typeUInt32, NULL,
- sizeof(menuContext), NULL, &menuContext);
- if (err != noErr) {
- return 0;
- }
-
- if ((menuContext & kMenuContextMenuBar) &&
- (menuContext & kMenuContextMenuBarTracking)) {
- TkMacOSXHandleMenuSelect(GetMenuID(command.menu.menuRef),
- command.menu.menuItemIndex,
- (GetCurrentEventKeyModifiers() & optionKey) != 0);
- return 1;
- }
- } else {
- Tcl_CmdInfo dummy;
-
- if (command.commandID == kHICommandPreferences
- && eventPtr->interp != NULL) {
- if (Tcl_GetCommandInfo(eventPtr->interp,
- "::tk::mac::ShowPreferences", &dummy)) {
- if (!IsMenuItemEnabled(command.menu.menuRef,
- command.menu.menuItemIndex)) {
- EnableMenuItem(command.menu.menuRef,
- command.menu.menuItemIndex);
- }
- } else {
- if (IsMenuItemEnabled(command.menu.menuRef,
- command.menu.menuItemIndex)) {
- DisableMenuItem(command.menu.menuRef,
- command.menu.menuItemIndex);
- }
- }
- statusPtr->stopProcessing = 1;
- return 1;
- }
- }
- }
- return 0;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/carbon/tkMacOSXEvent.h b/carbon/tkMacOSXEvent.h
deleted file mode 100644
index dc87b5f..0000000
--- a/carbon/tkMacOSXEvent.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * tkMacOSXEvent.h --
- *
- * Declarations of Macintosh specific functions for implementing the
- * Mac OS X Notifier.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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
- * unless explicitly disclaimed in individual files.
- *
- *
- * Apple hereby grants permission to use, copy, modify,
- * distribute, and license this software and its documentation
- * for any purpose, provided that existing copyright notices are
- * retained in all copies and that this notice is included
- * verbatim in any distributions. No written agreement, license,
- * or royalty fee is required for any of the authorized
- * uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms
- * described here, provided that the new terms are clearly
- * indicated on the first page of each file where they apply.
- *
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
- * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
- * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
- * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND
- * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
- * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
- * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf
- * of the U.S. government, the Government shall have only
- * "Restricted Rights" in the software and related documentation
- * as defined in the Federal Acquisition Regulations (FARs) in
- * Clause 52.227.19 (c) (2). If you are acquiring the software
- * on behalf of the Department of Defense, the software shall be
- * classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in
- * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
- * foregoing, the authors grant the U.S. Government and others
- * acting in its behalf permission to use and distribute the
- * software in accordance with the terms specified in this
- * license.
- */
-
-#ifndef _TKMACEVENT
-#define _TKMACEVENT
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-typedef struct {
- int stopProcessing;
- int err;
- char errMsg[1024];
-} MacEventStatus;
-
-/*
- * The event information in passed in the following structures
- */
-typedef struct {
- EventRef eventRef;
- UInt32 eClass; /* Defines the class of event : see CarbonEvents.h */
- UInt32 eKind; /* Defines the kind of the event : see CarbonEvents.h */
- Tcl_Interp *interp; /* Interp to handle events in */
- EventHandlerCallRef callRef;
-} TkMacOSXEvent;
-
-MODULE_SCOPE void TkMacOSXFlushWindows(void);
-MODULE_SCOPE int TkMacOSXProcessEvent(TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessMouseEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessWindowEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessKeyboardEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessApplicationEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessAppearanceEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessMenuEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessCommandEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXProcessFontEvent(TkMacOSXEvent *e,
- MacEventStatus *statusPtr);
-MODULE_SCOPE int TkMacOSXKeycodeToUnicode(
- UniChar * uniChars, int maxChars,
- EventKind eKind,
- UInt32 keycode, UInt32 modifiers,
- UInt32 * deadKeyStatePtr);
-
-#endif
diff --git a/carbon/tkMacOSXFont.c b/carbon/tkMacOSXFont.c
deleted file mode 100644
index 7933fe3..0000000
--- a/carbon/tkMacOSXFont.c
+++ /dev/null
@@ -1,2678 +0,0 @@
-/*
- * tkMacOSXFont.c --
- *
- * Contains the Macintosh implementation of the platform-independant
- * font package interface. This version uses ATSU instead of Quickdraw.
- *
- * Copyright 2002-2004 Benjamin Riefenstahl, Benjamin.Riefenstahl@epost.de
- * Copyright (c) 2006-2008 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * Some functions were originally copied verbatim from the QuickDraw version
- * of tkMacOSXFont.c, which had these copyright notices:
- *
- * Copyright (c) 1990-1994 The Regents of the University of California.
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- * Todos:
- *
- * - Get away from Font Manager and Quickdraw functions as much as possible,
- * replace with ATS functions instead.
- *
- * - Use Font Manager functions to translate ids from ATS to Font Manager
- * instead of just assuming that they are the same.
- *
- * - Get a second font register going for fonts that are not assigned to a
- * font family by the OS. On my system I have 27 fonts of that type,
- * Hebrew, Arabic and Hindi fonts that actually come with the system.
- * FMGetFontFamilyInstanceFromFont() returns -981 (kFMInvalidFontFamilyErr)
- * for these and they are not listed when enumerating families, but they
- * are when enumerating fonts directly. The problem that the OS sees may
- * be that at least some of them do not contain any Latin characters. Note
- * that such fonts can not be used for controls, because controls
- * definitely require a family id (this assertion needs testing).
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXFont.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_FONTS
-#endif
-*/
-
-/*
- * Problem: The sum of two parts is not the same as the whole. In particular
- * the width of two separately measured strings will usually be larger than
- * the width of them pasted together. Tk has a design bug here, because it
- * generally assumes that this kind of arithmetic works.
- * To workaround this, #define TK_MAC_COALESCE_LINE to 1 below, we then avoid
- * lines that tremble and shiver while the cursor passes through them by
- * undercutting the system and behind the scenes pasting strings together that
- * look like they are on the same line and adjacent and that are drawn with
- * the same font. To do this we need some global data.
- */
-#define TK_MAC_COALESCE_LINE 0
-
-/*
- * The following structure represents our Macintosh-specific implementation
- * of a font object.
- */
-
-typedef struct {
- TkFont font; /* Stuff used by generic font package. Must
- * be first in structure. */
-
- /*
- * The ATSU view of the font and other text properties. Used for drawing
- * and measuring.
- */
-
- ATSUFontID atsuFontId; /* == FMFont. */
- ATSUTextLayout atsuLayout; /* ATSU layout object, representing the whole
- * text that ATSU sees with some option
- * bits. */
- ATSUStyle atsuStyle; /* ATSU style object, representing a run of
- * text with the same properties. */
-
- /*
- * The QuickDraw view of the font. Used to configure controls.
- */
-
- FMFontFamily qdFont; /* == FMFontFamilyId, Carbon replacement for
- * QD face numbers. */
- short qdSize; /* Font size in points. */
- short qdStyle; /* QuickDraw style bits. */
-} MacFont;
-
-/*
- * Information about font families, initialized at startup time. Font
- * families are described by a mapping from UTF-8 names to MacOS font family
- * IDs. The whole list is kept as the sorted array "familyList", allocated
- * with ckrealloc().
- *
- * Note: This would have been easier, if we could just have used Tcl hash
- * arrays. Unfortunately there seems to be no pre-packaged
- * non-case-sensitive version of that available.
- */
-
-typedef struct {
- const char * name;
- FMFontFamily familyId;
-} MacFontFamily;
-
-static MacFontFamily * familyList = NULL;
-static int
- familyListNextFree = 0, /* The next free slot in familyList. */
- familyListMaxValid = 0, /* The top of the sorted area. */
- familyListSize = 0; /* The size of the whole array. */
-
-/*
- * A simple one-shot sub-allocator for fast and efficient allocation of
- * strings. Used by the familyList array for the names. These strings are
- * only allocated once at startup and never freed. If you ever need to
- * re-initialize this, you can just ckfree() all the StringBlocks in the list
- * and start over.
- */
-
-#define STRING_BLOCK_MAX (1024-8) /* Make sizeof(StringBlock) ==
- * 1024. */
-typedef struct StringBlock {
- struct StringBlock *next; /* Starting from "stringMemory" these
- * blocks form a linked list. */
- int nextFree; /* Top of the used area in the
- * "strings" member. */
- char strings[STRING_BLOCK_MAX]; /* The actual memory managed here. */
-} StringBlock;
-
-static StringBlock *stringMemory = NULL;
-
-#if TK_MAC_COALESCE_LINE
-static Tcl_DString currentLine; /* The current line as seen so far. This
- * contains a Tcl_UniChar DString. */
-static int
- currentY = -1, /* The Y position (row in pixels) of the
- * current line. */
- currentLeft = -1, /* The left edge (pixels) of the current
- * line. */
- currentRight = -1; /* The right edge (pixels) of the current
- * line. */
-static const MacFont *currentFontPtr = NULL;
- /* The font of the current line. */
-#endif /* TK_MAC_COALESCE_LINE */
-
-static int antialiasedTextEnabled;
-
-/*
- * The names for our "native" fonts.
- */
-
-#define SYSTEMFONT_NAME "system"
-#define APPLFONT_NAME "application"
-#define MENUITEMFONT_NAME "menu"
-
-struct SystemFontMapEntry {
- const ThemeFontID id;
- const char *systemName;
- const char *tkName;
- const char *tkName1;
-};
-
-#define ThemeFont(n, ...) { kTheme##n##Font, "system" #n "Font", ##__VA_ARGS__ }
-static const struct SystemFontMapEntry systemFontMap[] = {
- ThemeFont(System, "TkDefaultFont", "TkIconFont"),
- ThemeFont(EmphasizedSystem, "TkCaptionFont"),
- ThemeFont(SmallSystem, "TkHeadingFont", "TkTooltipFont"),
- ThemeFont(SmallEmphasizedSystem),
- ThemeFont(Application, "TkTextFont"),
- ThemeFont(Label, "TkSmallCaptionFont"),
- ThemeFont(Views),
- ThemeFont(MenuTitle),
- ThemeFont(MenuItem, "TkMenuFont"),
- ThemeFont(MenuItemMark),
- ThemeFont(MenuItemCmdKey),
- ThemeFont(WindowTitle),
- ThemeFont(PushButton),
- ThemeFont(UtilityWindowTitle),
- ThemeFont(AlertHeader),
- ThemeFont(Toolbar),
- ThemeFont(MiniSystem),
- { kThemeSystemFontDetail, "systemDetailSystemFont" },
- { kThemeSystemFontDetailEmphasized, "systemDetailEmphasizedSystemFont" },
- { -1, NULL }
-};
-#undef ThemeFont
-
-/*
- * Procedures used only in this file.
- */
-
-static void LayoutSetString(const MacFont *fontPtr,
- const TkMacOSXDrawingContext *drawingContextPtr,
- const UniChar * uchars, int ulen);
-
-/*
- * The actual workers.
- */
-
-static int MeasureStringWidth(const MacFont *fontPtr, int start, int end);
-
-#if TK_MAC_COALESCE_LINE
-static const Tcl_UniChar *UpdateLineBuffer(const MacFont *fontPtr,
- const TkMacOSXDrawingContext *drawingContextPtr, const char *source,
- int numBytes, int x, int y, int * offset);
-#endif /* TK_MAC_COALESCE_LINE */
-
-/*
- * Initialization and setup of a font data structure.
- */
-
-static const char *FamilyNameForFamilyID(FMFontFamily familyId);
-static void InitFont(FMFontFamily familyId, const char *familyName,
- int size, int qdStyle, MacFont *fontPtr);
-static void InitATSUObjects(FMFontFamily familyId, short qdsize, short qdStyle,
- ATSUFontID *fontIdPtr, ATSUTextLayout *layoutPtr, ATSUStyle *stylePtr);
-static void InitATSUStyle(ATSUFontID fontId, short ptSize, short qdStyle,
- ATSUStyle style);
-static void SetFontFeatures(ATSUFontID fontId, int fixed, short size,
- ATSUStyle style);
-static void AdjustFontHeight(MacFont *fontPtr);
-static void InitATSULayout(const TkMacOSXDrawingContext *drawingContextPtr,
- ATSUTextLayout layout, int fixed);
-static void ReleaseFont(MacFont *fontPtr);
-
-/*
- * Finding fonts by name.
- */
-
-static const MacFontFamily *FindFontFamilyOrAlias(const char *name);
-static const MacFontFamily *FindFontFamilyOrAliasOrFallback(const char *name);
-
-/*
- * Doing interesting things with font families and fonts.
- */
-
-static void InitFontFamilies(void);
-static OSStatus GetFontFamilyName(FMFontFamily fontFamily, char *name,
- int numBytes);
-
-/*
- * Accessor functions and internal utilities for the font family list.
- */
-
-static const MacFontFamily *AddFontFamily(const char *name,
- FMFontFamily familyId);
-static const MacFontFamily *FindFontFamily(const char *name);
-static Tcl_Obj *EnumFontFamilies(void);
-
-static OSStatus FontFamilyEnumCallback(ATSFontFamilyRef family, void *refCon);
-static void SortFontFamilies(void);
-static int CompareFontFamilies(const void *vp1, const void *vp2);
-static const char *AddString(const char *in);
-
-static OSStatus GetThemeFontAndFamily(const ThemeFontID themeFontId,
- FMFontFamily *fontFamily, unsigned char *fontName, SInt16 *fontSize,
- Style *fontStyle);
-static void InitSystemFonts(TkMainInfo *mainPtr);
-static int CreateNamedSystemFont(Tcl_Interp *interp, Tk_Window tkwin,
- const char* name, TkFontAttributes *faPtr);
-static void DrawCharsInContext(Display *display,
- Drawable drawable, GC gc, Tk_Font tkfont,
- const char *source, int numBytes, int rangeStart,
- int rangeLength, int x, int y, double angle);
-
-/*
- *-------------------------------------------------------------------------
- *
- * TkpFontPkgInit --
- *
- * This procedure is called when an application is created. It
- * initializes all the structures that are used by the
- * platform-dependant code on a per application basis.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Initialization of variables local to this file.
- *
- *-------------------------------------------------------------------------
- */
-
-void
-TkpFontPkgInit(
- TkMainInfo *mainPtr) /* The application being created. */
-{
- InitFontFamilies();
- InitSystemFonts(mainPtr);
-
-#if TK_MAC_COALESCE_LINE
- Tcl_DStringInit(&currentLine);
-#endif
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * InitSystemFonts --
- *
- * Initialize named system fonts.
- *
- * Results:
- *
- * None.
- *
- * Side effects:
- *
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-static void
-InitSystemFonts(
- TkMainInfo *mainPtr)
-{
- Tcl_Interp *interp = mainPtr->interp;
- Tk_Window tkwin = (Tk_Window) mainPtr->winPtr;
- const struct SystemFontMapEntry *systemFont = systemFontMap;
- TkFontAttributes fa;
-
- /* force this for now */
- if (!mainPtr->winPtr->mainPtr) {
- mainPtr->winPtr->mainPtr = mainPtr;
- }
- TkInitFontAttributes(&fa);
- while (systemFont->systemName) {
- Str255 fontName;
- SInt16 fontSize;
- Style fontStyle;
-
- if (GetThemeFont(systemFont->id, smSystemScript, fontName,
- &fontSize, &fontStyle) == noErr) {
- CopyPascalStringToC(fontName, (char*)fontName);
- fa.family = Tk_GetUid((char*)fontName);
- fa.size = fontSize;
- fa.weight = (fontStyle & bold) ? TK_FW_BOLD : TK_FW_NORMAL;
- fa.slant = (fontStyle & italic) ? TK_FS_ITALIC : TK_FS_ROMAN;
- fa.underline = ((fontStyle & underline) != 0);
- CreateNamedSystemFont(interp, tkwin, systemFont->systemName, &fa);
- if (systemFont->tkName) {
- CreateNamedSystemFont(interp, tkwin, systemFont->tkName, &fa);
- }
- if (systemFont->tkName1) {
- CreateNamedSystemFont(interp, tkwin, systemFont->tkName1, &fa);
- }
- }
- systemFont++;
- }
- fa.family = Tk_GetUid("monaco");
- fa.size = 11;
- fa.weight = TK_FW_NORMAL;
- fa.slant = TK_FS_ROMAN;
- fa.underline = 0;
- CreateNamedSystemFont(interp, tkwin, "TkFixedFont", &fa);
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * CreateNamedSystemFont --
- *
- * Register a system font with the Tk named font mechanism.
- *
- * Results:
- *
- * Result from TkCreateNamedFont().
- *
- * Side effects:
- *
- * A new named font is added to the Tk font registry.
- *
- *-------------------------------------------------------------------------
- */
-
-static int
-CreateNamedSystemFont(
- Tcl_Interp *interp,
- Tk_Window tkwin,
- const char* name,
- TkFontAttributes *faPtr)
-{
- TkDeleteNamedFont(NULL, tkwin, name);
- return TkCreateNamedFont(interp, tkwin, name, faPtr);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * GetThemeFontAndFamily --
- *
- * Wrapper around the GetThemeFont and FMGetFontFamilyFromName APIs.
- *
- *---------------------------------------------------------------------------
- */
-
-OSStatus
-GetThemeFontAndFamily(
- const ThemeFontID themeFontId,
- FMFontFamily* fontFamily,
- unsigned char *fontName,
- SInt16 *fontSize,
- Style *fontStyle)
-{
- OSStatus err = ChkErr(GetThemeFont, themeFontId, smSystemScript, fontName,
- fontSize, fontStyle);
-
- if (err == noErr) {
- *fontFamily = FMGetFontFamilyFromName(fontName);
- if (*fontFamily == kInvalidFontFamily) {
- err = kFMInvalidFontFamilyErr;
- TkMacOSXDbgMsg("FMGetFontFamilyFromName failed.");
- }
- }
-
- return err;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpGetNativeFont --
- *
- * Map a platform-specific native font name to a TkFont.
- *
- * Results:
- * The return value is a pointer to a TkFont that represents the
- * native font. If a native font by the given name could not be
- * found, the return value is NULL.
- *
- * Every call to this procedure returns a new TkFont structure, even
- * if the name has already been seen before. The caller should call
- * TkpDeleteFont() when the font is no longer needed.
- *
- * The caller is responsible for initializing the memory associated
- * with the generic TkFont when this function returns and releasing
- * the contents of the generics TkFont before calling TkpDeleteFont().
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-TkFont *
-TkpGetNativeFont(
- Tk_Window tkwin, /* For display where font will be used. */
- const char *name) /* Platform-specific font name. */
-{
- ThemeFontID themeFontId;
- FMFontFamily fontFamily;
- Str255 fontName;
- SInt16 fontSize;
- Style fontStyle;
- MacFont *fontPtr;
-
- if (strcmp(name, SYSTEMFONT_NAME) == 0) {
- themeFontId = kThemeSystemFont;
- } else if (strcmp(name, APPLFONT_NAME) == 0) {
- themeFontId = kThemeApplicationFont;
- } else if (strcmp(name, MENUITEMFONT_NAME) == 0) {
- themeFontId = kThemeMenuItemFont;
- } else {
- return NULL;
- }
- if (GetThemeFontAndFamily(themeFontId, &fontFamily, fontName, &fontSize,
- &fontStyle) != noErr) {
- return NULL;
- }
- CopyPascalStringToC(fontName, (char*)fontName);
-
- fontPtr = ckalloc(sizeof(MacFont));
- InitFont(fontFamily, (char*)fontName, fontSize, fontStyle, fontPtr);
-
- return (TkFont *) fontPtr;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpGetFontFromAttributes --
- *
- * Given a desired set of attributes for a font, find a font with the
- * closest matching attributes.
- *
- * Results:
- * The return value is a pointer to a TkFont that represents the font
- * with the desired attributes. If a font with the desired attributes
- * could not be constructed, some other font will be substituted
- * automatically.
- *
- * Every call to this procedure returns a new TkFont structure, even
- * if the specified attributes have already been seen before. The
- * caller should call TkpDeleteFont() to free the platform- specific
- * data when the font is no longer needed.
- *
- * The caller is responsible for initializing the memory associated
- * with the generic TkFont when this function returns and releasing
- * the contents of the generic TkFont before calling TkpDeleteFont().
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-TkFont *
-TkpGetFontFromAttributes(
- TkFont *tkFontPtr, /* If non-NULL, store the information in this
- * existing TkFont structure, rather than
- * allocating a new structure to hold the
- * font; the existing contents of the font
- * will be released. If NULL, a new TkFont
- * structure is allocated. */
- Tk_Window tkwin, /* For display where font will be used. */
- const TkFontAttributes *faPtr)
- /* Set of attributes to match. */
-{
- short qdStyle;
- FMFontFamily familyId;
- const char *name;
- const MacFontFamily *familyPtr;
- MacFont *fontPtr;
-
- familyId = GetAppFont();
- name = NULL;
- qdStyle = 0;
-
- if (faPtr->family != NULL) {
- familyPtr = FindFontFamilyOrAliasOrFallback(faPtr->family);
- if (familyPtr != NULL) {
- name = familyPtr->name;
- familyId = familyPtr->familyId;
- }
- }
-
- if (faPtr->weight != TK_FW_NORMAL) {
- qdStyle |= bold;
- }
- if (faPtr->slant != TK_FS_ROMAN) {
- qdStyle |= italic;
- }
- if (faPtr->underline) {
- qdStyle |= underline;
- }
- if (tkFontPtr == NULL) {
- fontPtr = ckalloc(sizeof(MacFont));
- } else {
- fontPtr = (MacFont *) tkFontPtr;
- ReleaseFont(fontPtr);
- }
- InitFont(familyId, name, TkFontGetPoints(tkwin, faPtr->size),
- qdStyle, fontPtr);
-
- return (TkFont *) fontPtr;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpDeleteFont --
- *
- * Called to release a font allocated by TkpGetNativeFont() or
- * TkpGetFontFromAttributes(). The caller should have already
- * released the fields of the TkFont that are used exclusively by the
- * generic TkFont code.
- *
- * Results:
- * TkFont is deallocated.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-TkpDeleteFont(
- TkFont *tkFontPtr) /* Token of font to be deleted. */
-{
- ReleaseFont((MacFont *) tkFontPtr);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpGetFontFamilies --
- *
- * Return information about the font families that are available on
- * the display of the given window.
- *
- * Results:
- * Modifies interp's result object to hold a list of all the available
- * font families.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-TkpGetFontFamilies(
- Tcl_Interp *interp, /* Interp to hold result. */
- Tk_Window tkwin) /* For display to query. */
-{
- Tcl_SetObjResult(interp, EnumFontFamilies());
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * TkpGetSubFonts --
- *
- * A function used by the testing package for querying the actual
- * screen fonts that make up a font object.
- *
- * Results:
- * Modifies interp's result object to hold a list containing the names
- * of the screen fonts that make up the given font object.
- *
- * Side effects:
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-void
-TkpGetSubFonts(
- Tcl_Interp *interp, /* Interp to hold result. */
- Tk_Font tkfont) /* Font object to query. */
-{
- /* We don't know much about our fallback fonts, ATSU does all that for
- * us. We could use ATSUMatchFont to implement this function. But as
- * the information is only used for testing, such an effort seems not
- * very useful. */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetFontAttrsForChar --
- *
- * Retrieve the font attributes of the actual font used to render a
- * given character.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The font attributes are stored in *faPtr.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpGetFontAttrsForChar(
- Tk_Window tkwin, /* Window on the font's display */
- Tk_Font tkfont, /* Font to query */
- Tcl_UniChar c, /* Character of interest */
- TkFontAttributes* faPtr) /* Output: Font attributes */
-{
- const MacFont * fontPtr = (const MacFont *) tkfont;
- UniChar uchar = c;
- TkMacOSXDrawingContext drawingContext;
- OSStatus err;
- ATSUFontID fontId;
- UniCharArrayOffset changedOffset;
- UniCharCount changedLength;
-
- /*
- * Most of the attributes are just copied from the base font. This
- * assumes that all fonts can have all attributes.
- */
-
- *faPtr = fontPtr->font.fa;
-
- /*
- * But the name of the actual font may still differ, so we activate the
- * string as an ATSU layout and ask ATSU about the fallback.
- */
- if (!TkMacOSXSetupDrawingContext(Tk_WindowId(tkwin), NULL, 1,
- &drawingContext)) {
- Tcl_Panic("TkpGetFontAttrsForChar: drawingContext not setup");
- }
-
- LayoutSetString(fontPtr, &drawingContext, &uchar, 1);
-
- fontId = fontPtr->atsuFontId;
- err = ATSUMatchFontsToText(
- fontPtr->atsuLayout, 0, 1,
- &fontId, &changedOffset, &changedLength);
- if (err != kATSUFontsMatched && err != noErr) {
- TkMacOSXDbgMsg("Can't match \\u%04X", (unsigned) c);
- }
-
- if (err == kATSUFontsMatched) {
- /*
- * A fallback was used and the actual font is in fontId. Determine
- * the name.
- */
-
- FMFontFamily fontFamilyId;
- FMFontStyle fontStyle;
- int i;
-
- err = ChkErr(FMGetFontFamilyInstanceFromFont, fontId, &fontFamilyId,
- &fontStyle);
- if (err == noErr) {
- /*
- * Find the canonical name in our global list.
- */
-
- for (i=0; i<familyListMaxValid; ++i) {
- if (fontFamilyId == familyList[i].familyId) {
- faPtr->family = familyList[i].name;
- break;
- }
- }
- if (i >= familyListMaxValid) {
- TkMacOSXDbgMsg("Can't find font %d for \\u%04X", fontFamilyId,
- (unsigned) c);
- }
- }
- }
-
- TkMacOSXRestoreDrawingContext(&drawingContext);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * Tk_MeasureChars --
- *
- * Determine the number of characters from the string that will fit in
- * the given horizontal span. The measurement is done under the
- * assumption that Tk_DrawChars() will be used to actually display the
- * characters.
- *
- * With ATSUI we need the line context to do this right, so we have the
- * actual implementation in TkpMeasureCharsInContext().
- *
- * Results:
- * The return value is the number of bytes from source that fit into the
- * span that extends from 0 to maxLength. *lengthPtr is filled with the
- * x-coordinate of the right edge of the last character that did fit.
- *
- * Side effects:
- * None.
- *
- * Todo:
- * Effects of the "flags" parameter are untested.
- *
- *---------------------------------------------------------------------------
- */
-
-int
-Tk_MeasureChars(
- Tk_Font tkfont, /* Font in which characters will be drawn. */
- const char *source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. */
- int numBytes, /* Maximum number of bytes to consider from
- * source string. */
- int maxLength, /* If >= 0, maxLength specifies the longest
- * permissible line length; don't consider any
- * character that would cross this x-position.
- * If < 0, then line length is unbounded and
- * the flags argument is ignored. */
- int flags, /* Various flag bits OR-ed together:
- * TK_PARTIAL_OK means include the last char
- * which only partially fit on this line.
- * TK_WHOLE_WORDS means stop on a word
- * boundary, if possible. TK_AT_LEAST_ONE
- * means return at least one character even if
- * no characters fit. */
- int *lengthPtr) /* Filled with x-location just after the
- * terminating character. */
-{
- return TkpMeasureCharsInContext(tkfont, source, numBytes, 0, numBytes,
- maxLength, flags, lengthPtr);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpMeasureCharsInContext --
- *
- * Determine the number of bytes from the string that will fit in the
- * given horizontal span. The measurement is done under the assumption
- * that TkpDrawCharsInContext() will be used to actually display the
- * characters.
- *
- * This one is almost the same as Tk_MeasureChars(), but with access to
- * all the characters on the line for context.
- *
- * Results:
- * The return value is the number of bytes from source that
- * fit into the span that extends from 0 to maxLength. *lengthPtr is
- * filled with the x-coordinate of the right edge of the last
- * character that did fit.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-int
-TkpMeasureCharsInContext(
- Tk_Font tkfont, /* Font in which characters will be drawn. */
- const char * source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. */
- int numBytes, /* Maximum number of bytes to consider from
- * source string in all. */
- int rangeStart, /* Index of first byte to measure. */
- int rangeLength, /* Length of range to measure in bytes. */
- int maxLength, /* If >= 0, maxLength specifies the longest
- * permissible line length; don't consider any
- * character that would cross this x-position.
- * If < 0, then line length is unbounded and
- * the flags argument is ignored. */
- int flags, /* Various flag bits OR-ed together:
- * TK_PARTIAL_OK means include the last char
- * which only partially fits on this line.
- * TK_WHOLE_WORDS means stop on a word
- * boundary, if possible. TK_AT_LEAST_ONE
- * means return at least one character even
- * if no characters fit. If TK_WHOLE_WORDS
- * and TK_AT_LEAST_ONE are set and the first
- * word doesn't fit, we return at least one
- * character or whatever characters fit into
- * maxLength. TK_ISOLATE_END means that the
- * last character should not be considered in
- * context with the rest of the string (used
- * for breaking lines). */
- int *lengthPtr) /* Filled with x-location just after the
- * terminating character. */
-{
- const MacFont *fontPtr = (const MacFont *) tkfont;
- int curX = -1, curByte = 0;
- UniChar *uchars;
- int ulen;
- UniCharArrayOffset urstart, urlen, urend;
- Tcl_DString ucharBuffer;
- int forceCharacterMode = 0;
-
- /*
- * Sanity checks.
- */
-
- if (rangeStart < 0 || (rangeStart+rangeLength) > numBytes) {
- TkMacOSXDbgMsg("Bad parameters");
- *lengthPtr = 0;
- return 0;
- }
-
- /*
- * Get simple no-brainers out of the way.
- */
-
- if (rangeLength == 0 || (maxLength == 0 && !(flags & TK_AT_LEAST_ONE))) {
- *lengthPtr = 0;
- return 0;
- }
-
- Tcl_DStringInit(&ucharBuffer);
- uchars = Tcl_UtfToUniCharDString(source, numBytes, &ucharBuffer);
- ulen = Tcl_DStringLength(&ucharBuffer) / sizeof(Tcl_UniChar);
- LayoutSetString(fontPtr, NULL, uchars, ulen);
-
- urstart = Tcl_NumUtfChars(source, rangeStart);
- urlen = Tcl_NumUtfChars(source+rangeStart,rangeLength);
- urend = urstart + urlen;
-
- if (maxLength < 0) {
- curX = MeasureStringWidth(fontPtr, urstart, urend);
- curByte = rangeLength;
- } else {
- UniCharArrayOffset offset = 0;
- OSStatus err;
-
- /*
- * Have some upper limit on the size actually used.
- */
-
- if (maxLength > 32767) {
- maxLength = 32767;
- }
-
- offset = urstart;
- err = noErr;
-
- if (maxLength > 1) {
- /*
- * Let the system do some work by calculating a line break.
- *
- * Somehow ATSUBreakLine seems to assume that it needs at least
- * one pixel padding. So we add one to the limit. Note also
- * that ATSUBreakLine sometimes runs into an endless loop when
- * the third parameter is equal or less than IntToFixed(2), so we
- * need at least IntToFixed(3) (at least that's the current state
- * of my knowledge).
- */
-
- err = ATSUBreakLine(fontPtr->atsuLayout, urstart,
- IntToFixed(maxLength+1), false, /* !iUseAsSoftLineBreak */
- &offset);
-
- /*
- * There is no way to signal an error from this routine, so we
- * use predefined offset=urstart and otherwise ignore the
- * possibility.
- */
-
- if ((err != noErr) && (err != kATSULineBreakInWord)) {
- TkMacOSXDbgMsg("ATSUBreakLine failed: %ld for '%.*s'", err,
- rangeLength, source+rangeStart);
- }
-
-#ifdef TK_MAC_DEBUG_FONTS
- TkMacOSXDbgMsg("measure: '%.*s', break offset=%ld, errcode=%ld",
- rangeLength, source+rangeStart, offset, err);
-#endif
-
- /*
- * ATSUBreakLine includes the whitespace that separates words,
- * but we don't want that. Besides, ATSUBreakLine thinks that
- * spaces don't occupy pixels at the end of the break, which is
- * also something we like to decide for ourself.
- */
-
- while ((offset > urstart) && (uchars[offset-1] == ' ')) {
- offset--;
- }
- }
-
- /*
- * Fix up left-overs for the TK_WHOLE_WORDS case.
- */
-
- if (flags & TK_WHOLE_WORDS) {
- if ((flags & TK_AT_LEAST_ONE) && ((offset == urstart)
- || ((offset != urend) && (uchars[offset] != ' ')))) {
- /*
- * With TK_AT_LEAST_ONE, if we are the the start of the
- * range, we need to add at least one character. If we are
- * not at the end of a word, we must be in the middle of the
- * first word still and we want to just use what we have so
- * far. In both cases we still need to find the right
- * character boundary, so we set a flag that gets us into the
- * code for character mode below.
- */
-
- forceCharacterMode = 1;
-
- } else {
- /*
- * If we are not at the end of a word, we must be in the
- * middle of the first word still. Return 0.
- */
-
- if ((offset != urend) && (uchars[offset] != ' ')) {
- offset = urstart;
- curX = 0;
- }
- }
- }
-
- if (offset > urend) {
- offset = urend;
- }
-
- /*
- * If "flags" says that we don't actually want a word break, we need
- * to find the next character break ourself, as ATSUBreakLine will
- * only give us word breaks. Do a simple linear search.
- *
- * Even do this, if ATSUBreakLine returned kATSULineBreakInWord,
- * because we have not accounted correctly for all of the flags yet,
- * like TK_AT_LEAST_ONE.
- */
-
- if ((!(flags & TK_WHOLE_WORDS) || forceCharacterMode) && (offset <= urend)) {
- UniCharArrayOffset lastOffset = offset;
- UniCharArrayOffset nextoffset;
- int lastX = -1;
- int wantonemorechar = -1; /* undecided */
-
- while (offset <= urend) {
- if (flags & TK_ISOLATE_END) {
- LayoutSetString(fontPtr, NULL, uchars, offset);
- }
- curX = MeasureStringWidth(fontPtr, urstart, offset);
-
-#ifdef TK_MAC_DEBUG_FONTS
- TkMacOSXDbgMsg("measure: '%.*s', try until=%ld, width=%d",
- rangeLength, source+rangeStart, offset, curX);
-#endif
-
- if (curX > maxLength) {
- /*
- * Even if we are over the limit, we may want another
- * character in some situations. Than we keep looking
- * for one more character.
- */
-
- if (wantonemorechar == -1) {
- wantonemorechar = ((flags & TK_AT_LEAST_ONE) &&
- (lastOffset == urstart)) ||
- ((flags & TK_PARTIAL_OK) &&
- (lastX != maxLength));
- if (!wantonemorechar) {
- break;
- }
- lastX = curX;
- }
-
- /*
- * There may belong combining marks to this character.
- * Wait for a new curX to collect them all.
- */
-
- if (lastX != curX) {
- break;
- }
- }
-
- /*
- * Save this position, so we can come back to it.
- */
-
- lastX = curX;
- lastOffset = offset;
-
- /*
- * Increment offset by one character, taking combining marks
- * into account.
- */
-
- if (offset >= urend) {
- break;
- }
- nextoffset = 0;
- if (flags & TK_ISOLATE_END) {
- LayoutSetString(fontPtr, NULL, uchars, ulen);
- }
- err = ChkErr(ATSUNextCursorPosition, fontPtr->atsuLayout,
- offset, kATSUByCluster, &nextoffset);
- if (err != noErr) {
- break;
- }
- if (nextoffset <= offset) {
-#ifdef TK_MAC_DEBUG_FONTS
- TkMacOSXDbgMsg("ATSUNextCursorPosition: Can't move further"
- " (shouldn't happen, bad data?)");
-#endif
- break;
- }
-
- offset = nextoffset;
- }
-
- /*
- * We have overshot one character, so backup one position.
- */
-
- curX = lastX;
- offset = lastOffset;
- }
-
- if (curX < 0) {
- if (flags & TK_ISOLATE_END) {
- LayoutSetString(fontPtr, NULL, uchars, offset);
- }
- curX = MeasureStringWidth(fontPtr, urstart, offset);
- }
-
- curByte = Tcl_UtfAtIndex(source, offset) - source;
- curByte -= rangeStart;
- }
-
- Tcl_DStringFree(&ucharBuffer);
-
-#ifdef TK_MAC_DEBUG_FONTS
- TkMacOSXDbgMsg("measure: '%.*s', maxLength=%d, flags=%s%s%s%s "
- "-> width=%d, bytes=%d",
- rangeLength, source+rangeStart, maxLength,
- flags & TK_PARTIAL_OK ? "partialOk " : "",
- flags & TK_WHOLE_WORDS ? "wholeWords " : "",
- flags & TK_AT_LEAST_ONE ? "atLeastOne " : "",
- flags & TK_ISOLATE_END ? "isolateEnd " : "",
- curX, curByte);
-#endif
-
- *lengthPtr = curX;
- return curByte;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * Tk_DrawChars --
- *
- * Draw a string of characters on the screen.
- *
- * With ATSUI we need the line context to do this right, so we have the
- * actual implementation in TkpDrawCharsInContext().
- *
- * Results:
- * None.
- *
- * Side effects:
- * Information gets drawn on the screen.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-Tk_DrawChars(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn; must
- * be the same as font used in GC. */
- const char *source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- int x, int y) /* Coordinates at which to place origin of the
- * string when drawing. */
-{
- DrawCharsInContext(display, drawable, gc, tkfont, source, numBytes,
- 0, numBytes, x, y, 0.0);
-}
-
-void
-TkDrawAngledChars(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn;
- * must be the same as font used in GC. */
- const char *source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- double x, double y, /* Coordinates at which to place origin of
- * string when drawing. */
- double angle) /* What angle to put text at, in degrees. */
-{
- DrawCharsInContext(display, drawable, gc, tkfont, source, numBytes,
- 0, numBytes, x, y, angle);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpDrawCharsInContext --
- *
- * Draw a string of characters on the screen like Tk_DrawChars(), with
- * access to all the characters on the line for context.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Information gets drawn on the screen.
- *
- * Todo:
- * Stippled text drawing.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-TkpDrawCharsInContext(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn; must
- * be the same as font used in GC. */
- const char * source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- int rangeStart, /* Index of first byte to draw. */
- int rangeLength, /* Length of range to draw in bytes. */
- int x, int y) /* Coordinates at which to place origin of the
- * whole (not just the range) string when
- * drawing. */
-{
- DrawCharsInContext(display, drawable, gc, tkfont, source, numBytes,
- rangeStart, rangeLength, x, y, 0.0);
-}
-
-static void
-DrawCharsInContext(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn; must
- * be the same as font used in GC. */
- const char * source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- int rangeStart, /* Index of first byte to draw. */
- int rangeLength, /* Length of range to draw in bytes. */
- int x, int y, /* Coordinates at which to place origin of the
- * whole (not just the range) string when
- * drawing. */
- double angle)
-{
- const MacFont * fontPtr = (const MacFont *) tkfont;
- MacDrawable *macWin = (MacDrawable *) drawable;
- Fixed fx, fy;
- int ulen, urstart, urlen;
- const UniChar * uchars;
- int lineOffset;
- TkMacOSXDrawingContext drawingContext;
-#if !TK_MAC_COALESCE_LINE
- Tcl_DString runString;
-#endif
-
- if (!TkMacOSXSetupDrawingContext(drawable, gc, tkMacOSXUseCGDrawing,
- &drawingContext)) {
- return;
- }
-
-#if 0
- /*
- * TODO: implement stippled text drawing
- */
-
- if ((gc->fill_style == FillStippled
- || gc->fill_style == FillOpaqueStippled)
- && gc->stipple != None) {
- #error Stippling not implemented
- }
-#endif
-
- x += macWin->xOff;
- y += macWin->yOff;
- /* Turn the y coordinate upside-down for Quarz drawing. */
- if (drawingContext.context) {
- CGContextConcatCTM(drawingContext.context, CGAffineTransformMake(1.0,
- 0.0, 0.0, -1.0, 0.0, drawingContext.portBounds.bottom -
- drawingContext.portBounds.top));
- y = drawingContext.portBounds.bottom -
- drawingContext.portBounds.top - y;
- }
- fy = IntToFixed(y);
-
-#if TK_MAC_COALESCE_LINE
- UpdateLineBuffer(
- fontPtr, &drawingContext, source, numBytes, x, y, &lineOffset);
-
- fx = IntToFixed(currentLeft);
-
- uchars = (const Tcl_UniChar*) Tcl_DStringValue(&currentLine);
- ulen = Tcl_DStringLength(&currentLine) / sizeof(uchars[0]);
-#else
- lineOffset = 0;
- fx = IntToFixed(x);
-
- Tcl_DStringInit(&runString);
- uchars = Tcl_UtfToUniCharDString(source, numBytes, &runString);
- ulen = Tcl_DStringLength(&runString) / sizeof(uchars[0]);
-
- LayoutSetString(fontPtr, &drawingContext, uchars, ulen);
-#endif
-
- urstart = Tcl_NumUtfChars(source, rangeStart);
- urlen = Tcl_NumUtfChars(source+rangeStart,rangeLength);
-
- /*
- * Rotate the coordinate system for Quarz drawing.
- */
-
- if (drawingContext.context && angle != 0.0) {
- CGContextConcatCTM(drawingContext.context, CGAffineTransformTranslate(
- CGAffineTransformRotate(CGAffineTransformMakeTranslation(
- x, y), angle * PI/180.0), -x, -y));
- }
-
- ChkErr(ATSUDrawText, fontPtr->atsuLayout, lineOffset+urstart, urlen, fx,
- fy);
-
-#if !TK_MAC_COALESCE_LINE
- Tcl_DStringFree(&runString);
-#endif
-
- TkMacOSXRestoreDrawingContext(&drawingContext);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * MeasureStringWidth --
- *
- * Low-level measuring of strings.
- *
- * Results:
- * The width of the string in pixels.
- *
- * Side effects:
- * None.
- *
- * Assumptions:
- * fontPtr->atsuLayout is setup with the actual string data to measure.
- *
- *---------------------------------------------------------------------------
- */
-static int
-MeasureStringWidth(
- const MacFont *fontPtr, /* Contains font, ATSU layout and string data
- * to measure. */
- int start, int end) /* Start and end positions to measure in that
- * string. */
-{
- /*
- * This implementation of measuring via ATSUGetGlyphBounds() does not
- * quite conform with the specification given for [font measure]:
- *
- * The return value is the total width in pixels of text, not
- * including the extra pixels used by highly exagerrated characters
- * such as cursive "f".
- *
- * Instead the result of ATSUGetGlyphBounds() *does* include these
- * "extra pixels".
- */
-
- ATSTrapezoid bounds;
- ItemCount numBounds;
-
- if (end <= start) {
- return 0;
- }
-
- bounds.upperRight.x = bounds.upperLeft.x = 0;
- ChkErr(ATSUGetGlyphBounds, fontPtr->atsuLayout, 0, 0, start, end-start,
- kATSUseFractionalOrigins, 1, &bounds, &numBounds);
-#ifdef TK_MAC_DEBUG_FONTS
- if (numBounds < 1 || numBounds > 1) {
- TkMacOSXDbgMsg("ATSUGetGlyphBounds: %s output",
- numBounds < 1 ? "No " : "More");
- }
-#endif
-
- return FixedToInt(bounds.upperRight.x - bounds.upperLeft.x);
-}
-
-#if TK_MAC_COALESCE_LINE
-/*
- *-------------------------------------------------------------------------
- *
- * UpdateLineBuffer --
- *
- * See the general dicussion of TK_MAC_COALESCE_LINE on the header
- * pages. This function maintains the data for this feature.
- *
- * Results:
- *
- * The Tcl_UniChar string of the whole line as seen so far.
- *
- * Side effects:
- * "*offset" is filled with the index of the first new character in
- * "currentLine". The globals currentLine, currentY, currentLeft,
- * currentRight and currentFontPtr are updated as necessary.
- *
- * The currentLine string is set as the current text in
- * fontPtr->atsuLayout (see LayoutSetString()).
- *
- *-------------------------------------------------------------------------
- */
-
-static const Tcl_UniChar *
-UpdateLineBuffer(
- const MacFont *fontPtr, /* The font to be used for the new piece of
- * text. */
- const TkMacOSXDrawingContext *drawingContextPtr,
- /* The Quarz drawing parameters. Needed for
- * measuring the new piece. */
- const char *source, /* A new piece of line to be added. */
- int numBytes, /* Length of the new piece. */
- int x, int y, /* Position of the new piece in the window. */
- int *offset) /* Filled with the offset of the new piece in
- * currentLine. */
-{
- const Tcl_UniChar * uchars;
- int ulen;
-
- if (y != currentY
- || x < currentRight-1 || x > currentRight+2
- || currentFontPtr != fontPtr) {
- Tcl_DStringFree(&currentLine);
- Tcl_DStringInit(&currentLine);
- currentY = y;
- currentLeft = x;
- currentFontPtr = fontPtr;
- *offset = 0;
- } else {
- *offset = Tcl_DStringLength(&currentLine) / 2;
- }
-
- Tcl_UtfToUniCharDString(source, numBytes, &currentLine);
- uchars = (const Tcl_UniChar*) Tcl_DStringValue(&currentLine);
- ulen = Tcl_DStringLength(&currentLine) / sizeof(*uchars);
- LayoutSetString(fontPtr, drawingContextPtr, uchars, ulen);
- currentRight = x + MeasureStringWidth(fontPtr, *offset, ulen);
-
- return uchars;
-}
-#endif /* TK_MAC_COALESCE_LINE */
-
-/*
- *---------------------------------------------------------------------------
- *
- * FamilyNameForFamilyID --
- *
- * Helper for InitFont() and TkMacOSXFontDescriptionForFMFontInfo().
- * Retrieves font family names for a given font family ID.
- *
- * Results:
- * Font family name or NULL.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-static const char *
-FamilyNameForFamilyID(
- FMFontFamily familyId)
-{
- OSStatus err;
- char name[256] = "";
- const MacFontFamily * familyPtr = NULL;
-
- err = ChkErr(GetFontFamilyName, familyId, name, sizeof(name));
- if (err == noErr) {
- /*
- * We find the canonical font name, so we can avoid unnecessary
- * memory management.
- */
-
- familyPtr = FindFontFamily(name);
-#ifdef TK_MAC_DEBUG_FONTS
- if (!familyPtr) {
- TkMacOSXDbgMsg("Font family '%s' not found", name);
- }
-#endif
- }
- return familyPtr ? familyPtr->name : NULL;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * InitFont --
- *
- * Helper for TkpGetNativeFont() and TkpGetFontFromAttributes().
- * Initializes the memory for a MacFont that wraps the
- * platform-specific data.
- *
- * The caller is responsible for initializing the fields of the TkFont
- * that are used exclusively by the generic TkFont code, and for
- * releasing those fields before calling TkpDeleteFont().
- *
- * Results:
- * Fills the MacFont structure.
- *
- * Side effects:
- * Memory allocated.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-InitFont(
- FMFontFamily familyId, /* The font family to initialize for. */
- const char * familyName, /* The font family name, if known. Otherwise
- * this can be NULL. */
- int size, /* Point size for the font. */
- int qdStyle, /* QuickDraw style bits. */
- MacFont * fontPtr) /* Filled with information constructed from the
- * above arguments. */
-{
- FontInfo fi;
- TkFontAttributes * faPtr;
- TkFontMetrics * fmPtr;
- int periodWidth, wWidth;
-
- if (size == 0) {
- size = GetDefFontSize();
- }
- ChkErr(FetchFontInfo, familyId, size, qdStyle, &fi);
- if (!familyName) {
- familyName = FamilyNameForFamilyID(familyId);
- }
-
- fontPtr->font.fid = (Font) fontPtr;
-
- faPtr = &fontPtr->font.fa;
- faPtr->family = familyName;
- faPtr->size = size;
- faPtr->weight = (qdStyle & bold) ? TK_FW_BOLD : TK_FW_NORMAL;
- faPtr->slant = (qdStyle & italic) ? TK_FS_ITALIC : TK_FS_ROMAN;
- faPtr->underline = ((qdStyle & underline) != 0);
- faPtr->overstrike = 0;
-
- fmPtr = &fontPtr->font.fm;
-
- /*
- * Note: Macs measure the line height as ascent + descent +
- * leading. Leading as a separate entity does not exist in X11
- * and Tk. We add it to the ascent at the moment, because adding
- * it to the descent, as the Mac docs would indicate, would change
- * the position of self-drawn underlines.
- */
-
- fmPtr->ascent = fi.ascent + fi.leading;
- fmPtr->descent = fi.descent;
- fmPtr->maxWidth = fi.widMax;
-
- fontPtr->qdFont = familyId;
- fontPtr->qdSize = size;
- fontPtr->qdStyle = (short) qdStyle;
-
- InitATSUObjects(familyId, size, qdStyle, &fontPtr->atsuFontId,
- &fontPtr->atsuLayout, &fontPtr->atsuStyle);
-
- Tk_MeasureChars((Tk_Font)fontPtr, ".", 1, -1, 0, &periodWidth);
- Tk_MeasureChars((Tk_Font)fontPtr, "W", 1, -1, 0, &wWidth);
- fmPtr->fixed = periodWidth == wWidth;
-
- SetFontFeatures(fontPtr->atsuFontId, fmPtr->fixed, size,
- fontPtr->atsuStyle);
-
- AdjustFontHeight(fontPtr);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * InitATSUObjects --
- *
- * Helper for InitFont(). Initializes the ATSU data handles for a
- * MacFont.
- *
- * Results:
- * Sets up all we know and can do at this point in time in fontIdPtr,
- * layoutPtr and stylePtr.
- *
- * Side effects:
- * Allocates data structures inside of ATSU.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-InitATSUObjects(
- FMFontFamily familyId, /* The font family to use. */
- short ptSize, short qdStyles,
- /* The additional font parameters. */
- ATSUFontID *fontIdPtr, /* Filled with the font id. */
- ATSUTextLayout *layoutPtr, /* Filled with the ATSU layout handle. */
- ATSUStyle *stylePtr) /* Filled with the ATSU style handle,
- * configured with all parameters. */
-{
- FMFontStyle stylesDone, stylesLeft;
-
- /*
- * Defaults in case of error.
- */
-
- *fontIdPtr = GetAppFont();
- *stylePtr = 0;
- *layoutPtr = 0;
-
- /*
- * Generate a font id from family id and QD style bits.
- */
-
- ChkErr(FMGetFontFromFontFamilyInstance, familyId, qdStyles, fontIdPtr,
- &stylesDone);
-
- /*
- * We see what style bits are left and tell ATSU to synthesize what's
- * left like QD does it.
- */
-
- stylesLeft = qdStyles & ~(unsigned)stylesDone;
-
- /*
- * Create the style and set its attributes.
- */
-
- ChkErr(ATSUCreateStyle, stylePtr);
- InitATSUStyle(*fontIdPtr, ptSize, stylesLeft, *stylePtr);
-
- /*
- * Create the layout. Note: We can't set the layout attributes here,
- * because the text and the style must be set first.
- */
-
- ChkErr(ATSUCreateTextLayout, layoutPtr);
- /*InitATSULayout(*layoutPtr);*/
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * InitATSUStyle --
- *
- * Helper for InitATSUObjects(). Initializes the ATSU style for a
- * MacFont.
- *
- * Results:
- * Sets up all parameters needed for an ATSU style.
- *
- * Side effects:
- * Allocates data structures for the style inside of ATSU.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-InitATSUStyle(
- ATSUFontID fontId, /* The font id to use. */
- short ptSize, short qdStyles,
- /* Additional font parameters. */
- ATSUStyle style) /* The style handle to configure. */
-{
- /*
- * Attributes for the style.
- */
-
- Fixed fsize = IntToFixed(ptSize);
- Boolean
- isBold = (qdStyles&bold) != 0,
- isUnderline = (qdStyles&underline) != 0,
- isItalic = (qdStyles&italic) != 0;
-
- ATSStyleRenderingOptions options =
- antialiasedTextEnabled == -1 ? kATSStyleNoOptions :
- antialiasedTextEnabled == 0 ? kATSStyleNoAntiAliasing :
- kATSStyleApplyAntiAliasing;
-
- static const ATSUAttributeTag styleTags[] = {
- kATSUFontTag, kATSUSizeTag,
- kATSUQDBoldfaceTag, kATSUQDItalicTag, kATSUQDUnderlineTag,
- kATSUStyleRenderingOptionsTag,
- };
- static const ByteCount styleSizes[] = {
- sizeof(ATSUFontID), sizeof(Fixed),
- sizeof(Boolean), sizeof(Boolean), sizeof(Boolean),
- sizeof(ATSStyleRenderingOptions),
- };
- const ATSUAttributeValuePtr styleValues[] = {
- &fontId, &fsize,
- &isBold, &isItalic, &isUnderline,
- &options,
- };
-
- ChkErr(ATSUSetAttributes, style, sizeof(styleTags)/sizeof(styleTags[0]),
- styleTags, styleSizes, styleValues);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * SetFontFeatures --
- *
- * Helper for InitFont(). Request specific font features of the ATSU
- * style object for a MacFont.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Specific font features are enabled on the ATSU style object.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-SetFontFeatures(
- ATSUFontID fontId, /* The font id to use. */
- int fixed, /* Is this a fixed font? */
- short size, /* Size of the font */
- ATSUStyle style) /* The style handle to configure. */
-{
- /*
- * Don't use the standard latin ligatures, if this is determined to be a
- * fixed-width font.
- */
-
- static const ATSUFontFeatureType fixed_featureTypes[] = {
- kLigaturesType, kLigaturesType
- };
- static const ATSUFontFeatureSelector fixed_featureSelectors[] = {
- kCommonLigaturesOffSelector, kRareLigaturesOffSelector
- };
-
- if (fixed) {
- ChkErr(ATSUSetFontFeatures, style, sizeof(fixed_featureTypes) /
- sizeof(fixed_featureTypes[0]), fixed_featureTypes,
- fixed_featureSelectors);
- if (size <= 10) {
- /*
- * Disable antialiasing of fixed-width fonts with sizes <= 10
- */
-
- const ATSStyleRenderingOptions options = kATSStyleNoAntiAliasing;
- const ATSUAttributeTag styleTag = kATSUStyleRenderingOptionsTag;
- const ByteCount styleSize = sizeof(ATSStyleRenderingOptions);
- const ConstATSUAttributeValuePtr styleValue = &options;
-
- ChkErr(ATSUSetAttributes, style, 1, &styleTag, &styleSize,
- (ATSUAttributeValuePtr*) &styleValue);
- }
- }
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * AdjustFontHeight --
- *
- * Helper for InitFont(). Check font height against some real world
- * examples.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The metrics in fontPtr->font.fm are adjusted so that typical combined
- * characters fit into ascent+descent.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-AdjustFontHeight(
- MacFont * fontPtr)
-{
- /*
- * The standard values for ascent, descent and leading as determined in
- * InitFont do not take composition into account, they are designed for
- * plain ASCII characters. This code measures the actual size of some
- * typical composed characters from the Latin-1 range and corrects these
- * factors, especially the ascent.
- *
- * A font requested with a pixel size may thus have a larger line height
- * than requested.
- *
- * An alternative would be to instruct ATSU to shrink oversized combined
- * characters. I think I have seen that feature somewhere, but I can't
- * find it now [BR].
- */
-
- static const UniChar chars[]
- /* Auml, Aacute, Acirc, Atilde, Ccedilla */
- = {0x00C4, 0x00C1, 0x00C2, 0x00C3, 0x00C7};
- static const int charslen = sizeof(chars) / sizeof(chars[0]);
- Rect size;
- OSStatus err;
-
- LayoutSetString(fontPtr, NULL, chars, charslen);
-
- size.top = size.bottom = 0;
- err = ChkErr(ATSUMeasureTextImage, fontPtr->atsuLayout, 0, charslen, 0, 0,
- &size);
-
- if (err == noErr) {
- TkFontMetrics * fmPtr = &fontPtr->font.fm;
- int ascent = -size.top;
- int descent = size.bottom;
-
- if (ascent > fmPtr->ascent) {
- fmPtr->ascent = ascent;
- }
- if (descent > fmPtr->descent) {
- fmPtr->descent = descent;
- }
- }
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * InitATSULayout --
- *
- * Helper for LayoutSetString(). Initializes the ATSU layout
- * object for a MacFont and a specific string.
- *
- * Results:
- * Sets up all parameters needed for an ATSU layout object.
- *
- * Side effects:
- * Allocates data structures for the layout object inside of ATSU.
- *
- * Assumptions:
- * The actual string data and style information is already set by
- * ATSUSetTextPointerLocation() and ATSUSetRunStyle() (see
- * LayoutSetString()).
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-InitATSULayout(
- const TkMacOSXDrawingContext *drawingContextPtr,
- /* Specifies the CGContext to use. */
- ATSUTextLayout layout, /* The layout object to configure. */
- int fixed) /* Is this a fixed font? */
-{
- /*
- * Attributes for the layout.
- */
-
- ATSLineLayoutOptions layoutOptions = 0
-#if TK_MAC_COALESCE_LINE
- /*
- * Options to use unconditionally when we try to do coalescing.
- */
- | kATSLineDisableAllLayoutOperations
- | kATSLineFractDisable
- | kATSLineUseDeviceMetrics
-#endif
- ;
- CGContextRef context = drawingContextPtr ?
- drawingContextPtr->context : NULL;
-
- static const ATSUAttributeTag layoutTags[] = {
- kATSUCGContextTag,
- kATSULineLayoutOptionsTag,
- };
- static const ByteCount layoutSizes[] = {
- sizeof(CGContextRef),
- sizeof(ATSLineLayoutOptions),
- };
- const ATSUAttributeValuePtr layoutValues[] = {
- &context,
- &layoutOptions,
- };
-
- /*
- * Ensure W(abcdefg) == W(a)*7 for fixed fonts (Latin scripts only).
- */
-
- if (fixed) {
- layoutOptions |= kATSLineFractDisable | kATSLineUseDeviceMetrics;
- }
-
- ChkErr(ATSUSetLayoutControls, layout, sizeof(layoutTags) /
- sizeof(layoutTags[0]), layoutTags, layoutSizes, layoutValues);
- ChkErr(ATSUSetTransientFontMatching, layout, true);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * LayoutSetString --
- *
- * Setup the MacFont for a specific string.
- *
- * Results:
- * Sets up all parameters so that ATSU can work with the objects in
- * MacFont.
- *
- * Side effects:
- * Sets parameters on the layout object fontPtr->atsuLayout.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-LayoutSetString(
- const MacFont *fontPtr, /* The fontPtr to configure. */
- const TkMacOSXDrawingContext *drawingContextPtr,
- /* For the CGContext to be used.*/
- const UniChar *uchars, int ulen)
- /* The UniChar string to set into
- * fontPtr->atsuLayout. */
-{
- ChkErr(ATSUSetTextPointerLocation, fontPtr->atsuLayout, uchars,
- kATSUFromTextBeginning, ulen, ulen);
-
- /*
- * Styles can only be set after the text is set.
- */
-
- ChkErr(ATSUSetRunStyle, fontPtr->atsuLayout, fontPtr->atsuStyle,
- kATSUFromTextBeginning, kATSUToTextEnd);
-
- /*
- * Layout attributes can only be set after the styles are set.
- */
-
- InitATSULayout(drawingContextPtr, fontPtr->atsuLayout,
- fontPtr->font.fm.fixed);
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * ReleaseFont --
- *
- * Called to release the Macintosh-specific contents of a TkFont. The
- * caller is responsible for freeing the memory used by the font
- * itself.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Memory is freed.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-ReleaseFont(
- MacFont *fontPtr) /* The font to delete. */
-{
- ATSUDisposeTextLayout(fontPtr->atsuLayout);
- ATSUDisposeStyle(fontPtr->atsuStyle);
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * FindFontFamilyOrAlias, FindFontFamilyOrAliasOrFallback --
- *
- * Determine if any physical screen font exists on the system with the
- * given family name. If the family exists, then it should be possible
- * to construct some physical screen font with that family name.
- *
- * FindFontFamilyOrAlias also considers font aliases as determined by
- * TkFontGetAliasList().
- *
- * FindFontFamilyOrAliasOrFallback also considers font aliases as
- * determined by TkFontGetFallbacks().
- *
- * The overall algorithm to get the closest font to the one requested is
- * this:
- *
- * try fontname
- * try all aliases for fontname
- * foreach fallback for fontname
- * try the fallback
- * try all aliases for the fallback
- *
- * Results:
- *
- * The return value is NULL if the specified font family does not exist,
- * a valid MacFontFamily* otherwise.
- *
- * Side effects:
- *
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-static const MacFontFamily *
-FindFontFamilyOrAlias(
- const char *name) /* Name or alias name of the font to find. */
-{
- const MacFontFamily * familyPtr;
- const char *const * aliases;
- int i;
-
- familyPtr = FindFontFamily(name);
- if (familyPtr != NULL) {
- return familyPtr;
- }
-
- aliases = TkFontGetAliasList(name);
- if (aliases != NULL) {
- for (i = 0; aliases[i] != NULL; i++) {
- familyPtr = FindFontFamily(aliases[i]);
- if (familyPtr != NULL) {
- return familyPtr;
- }
- }
- }
- return NULL;
-}
-
-static const MacFontFamily *
-FindFontFamilyOrAliasOrFallback(
- const char *name) /* Name or alias name of the font to find. */
-{
- const MacFontFamily * familyPtr;
- const char * fallback;
- const char *const *const * fallbacks;
- int i, j;
-
- familyPtr = FindFontFamilyOrAlias(name);
- if (familyPtr != NULL) {
- return familyPtr;
- }
- fallbacks = TkFontGetFallbacks();
- for (i = 0; fallbacks[i] != NULL; i++) {
- for (j = 0; (fallback = fallbacks[i][j]) != NULL; j++) {
- if (strcasecmp(name, fallback) == 0) {
- for (j = 0; (fallback = fallbacks[i][j]) != NULL; j++) {
- familyPtr = FindFontFamilyOrAlias(fallback);
- if (familyPtr != NULL) {
- return familyPtr;
- }
- }
- }
- break; /* benny: This "break" is a carry-over from
- * tkMacOSXFont.c, but what is actually its purpose
- * ???? */
- }
- }
-
-
- /*
- * FIXME: We would have liked to recover by re-enumerating fonts. But
- * that doesn't work, because Carbon seems to cache the inital list of
- * fonts. Fonts newly installed don't show up with
- * FMCreateFontFamilyIterator()/FMGetNextFontFamily() without a restart
- * of the app. Similar problem with fonts removed.
- */
-
-#ifdef TK_MAC_DEBUG_FONTS
- TkMacOSXDbgMsg("Font family '%s' not found", name);
-#endif
-
- return NULL;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * InitFontFamilies --
- *
- * Helper to TkpFontPkgInit. Use the Font Manager to fill in the
- * familyList global array.
- *
- * Results:
- *
- * None.
- *
- * Side effects:
- *
- * Allocates memory.
- *
- *-------------------------------------------------------------------------
- */
-
-static void
-InitFontFamilies(void)
-{
- FMFontFamily fontFamily;
- Str255 fontName;
- SInt16 fontSize;
- Style fontStyle;
-
- /*
- * Has this been called before?
- */
-
- if (familyListNextFree > 0) {
- return;
- }
-
- ChkErr(ATSFontFamilyApplyFunction, FontFamilyEnumCallback,NULL);
-
- if (GetThemeFontAndFamily(kThemeSystemFont, &fontFamily, fontName,
- &fontSize, &fontStyle) == noErr) {
- AddFontFamily(SYSTEMFONT_NAME, fontFamily);
- }
- if (GetThemeFontAndFamily(kThemeApplicationFont, &fontFamily, fontName,
- &fontSize, &fontStyle) == noErr) {
- AddFontFamily(APPLFONT_NAME, fontFamily);
- }
- if (GetThemeFontAndFamily(kThemeMenuItemFont, &fontFamily, fontName,
- &fontSize, &fontStyle) == noErr) {
- AddFontFamily(MENUITEMFONT_NAME, fontFamily);
- }
-
- SortFontFamilies();
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * FontFamilyEnumCallback --
- *
- * Callback for ATSFontFamilyApplyFunction().
- *
- * Results:
- *
- * noErr.
- *
- * Side effects:
- *
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-static OSStatus
-FontFamilyEnumCallback(
- ATSFontFamilyRef family,
- void *refCon)
-{
- OSStatus err;
- char name[260] = "";
-
- (void) refCon;
-
- err = ChkErr(GetFontFamilyName, family, name, sizeof(name));
- if (err == noErr) {
- AddFontFamily(name, family);
- }
-
- return noErr;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * GetFontFamilyName --
- *
- * Use the Font Manager to get the name of a given FMFontfamily. This
- * currently gets the standard, non-localized QuickDraw name. Other
- * names would be possible, see docs for ATSUFindFontName for a
- * selection. The MacOSX font selector seems to use the localized
- * family name given by ATSUFindFontName(kFontFamilyName), but that API
- * doesn't give us a name at all for some fonts.
- *
- * Results:
- * An OS error code, noErr on success. name is filled with the
- * resulting name.
- *
- * Side effects:
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-static OSStatus
-GetFontFamilyName(
- FMFontFamily fontFamily, /* The font family for which to find the
- * name. */
- char * name, int numBytes) /* Filled with the result. */
-{
- OSStatus err;
- Str255 nativeName;
- CFStringRef cfString;
- TextEncoding encoding;
- ScriptCode nameencoding;
-
- nativeName[0] = 0;
- name[0] = 0;
- err = ChkErr(FMGetFontFamilyName, fontFamily, nativeName);
- if (err != noErr) {
- return err;
- }
-
- /*
- * QuickDraw font names are encoded with the script that the font uses.
- * So we determine that encoding and than we reencode the name. We
- * pre-set the encoding with the default value, so we do not need to
- * check result codes here.
- */
-
- encoding = kTextEncodingMacRoman;
- ChkErr(FMGetFontFamilyTextEncoding, fontFamily, &encoding);
- nameencoding = encoding;
- ChkErr(RevertTextEncodingToScriptInfo, encoding, &nameencoding, NULL,
- NULL);
-
- /*
- * Note: We could use Tcl facilities to do the re-encoding here. We'd
- * have to maintain tables to map OS encoding codes to Tcl encoding names
- * like tkMacOSXFont.c did. Using native re-encoding directly instead is
- * a lot easier and future-proof than that. There is one snag, though: I
- * have seen CFStringGetCString() crash with invalid encoding ids. But
- * than if that happens it would be a bug in
- * FMGetFontFamilyTextEncoding() or RevertTextEncodingToScriptInfo().
- * Another problem is that users have seen CFStringCreate return null
- * (Bug #2548661). This is due to font names with a bad encoding.
- */
-
- cfString = CFStringCreateWithPascalStringNoCopy(
- NULL, nativeName, nameencoding, kCFAllocatorNull);
- if (cfString == NULL) {
- TkMacOSXDbgMsg("CFStringCreate: "
- "'%.*s' could not be decoded with encoding %d",
- nativeName[0], nativeName+1, (int) nameencoding);
- return kTextMalformedInputErr;
- }
-
- CFStringGetCString(cfString, name, numBytes, kCFStringEncodingUTF8);
- CFRelease(cfString);
-
- return noErr;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * FindFontFamily --
- *
- * Find the font family with the given name in the global familyList.
- * Uses bsearch() for convenient access. Comparision is done
- * non-case-sensitively with CompareFontFamilies() which see.
- *
- * Results:
- *
- * MacFontFamily: A pair of family id and the actual name registered for
- * the font.
- *
- * Side effects:
- *
- * None.
- *
- * Assumption:
- *
- * Requires the familyList array to be sorted.
- *
- *-------------------------------------------------------------------------
- */
-
-static const MacFontFamily *
-FindFontFamily(
- const char *name) /* The family name. Note: Names are compared
- * non-case-sensitive. */
-{
- const MacFontFamily key = {name,-1};
-
- if(familyListMaxValid <= 0) {
- return NULL;
- }
-
- return bsearch(&key, familyList, familyListMaxValid, sizeof(*familyList),
- CompareFontFamilies);
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * EnumFontFamilies --
- *
- * Create a Tcl list with the registered names in the global familyList.
- *
- * Results:
- * A Tcl list of names.
- *
- * Side effects:
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-EnumFontFamilies(void)
-{
- int i;
- Tcl_Obj * tclList;
-
- tclList = Tcl_NewListObj(0, NULL);
- for (i=0; i<familyListMaxValid; ++i) {
- Tcl_ListObjAppendElement(NULL, tclList,
- Tcl_NewStringObj(familyList[i].name, -1));
- }
-
- return tclList;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * AddFontFamily --
- *
- * Register a font family in familyList. Until SortFontFamilies() is
- * called, this is not actually available for FindFontFamily().
- *
- * Results:
- *
- * MacFontFamily: The new pair of family id and the actual name
- * registered for the font.
- *
- * Side effects:
- *
- * New entry in familyList and familyListNextFree updated.
- *
- *-------------------------------------------------------------------------
- */
-
-static const MacFontFamily *
-AddFontFamily(
- const char *name, /* Font family name to register. */
- FMFontFamily familyId) /* Font family id to register. */
-{
- MacFontFamily * familyPtr;
-
- if (familyListNextFree >= familyListSize) {
- familyListSize += 100;
- familyList = ckrealloc(familyList,
- familyListSize * sizeof(*familyList));
- }
-
- familyPtr = familyList + familyListNextFree;
- ++familyListNextFree;
-
- familyPtr->name = AddString(name);
- familyPtr->familyId = familyId;
-
- return familyPtr;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * SortFontFamilies --
- *
- * Sort the entries in familyList. Only after calling
- * SortFontFamilies(), the new families registered with AddFontFamily()
- * are actually available for FindFontFamily(), because FindFontFamily()
- * requires the array to be sorted.
- *
- * Results:
- *
- * None.
- *
- * Side effects:
- *
- * familyList is sorted and familyListMaxValid is updated.
- *
- *-------------------------------------------------------------------------
- */
-
-static void
-SortFontFamilies(void)
-{
- if (familyListNextFree > 0) {
- qsort(familyList, familyListNextFree, sizeof(*familyList),
- CompareFontFamilies);
- }
- familyListMaxValid = familyListNextFree;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * CompareFontFamilies --
- *
- * Comparison function used by SortFontFamilies() and FindFontFamily().
- *
- * Results:
- * Result as required to generate a stable sort order for bsearch() and
- * qsort(). The ordering is not case-sensitive as far as
- * Tcl_UtfNcasecmp() (which see) can provide that.
- *
- * Note: It would be faster to compare first the length and the actual
- * strings only as a tie-breaker, but than the ordering wouldn't look so
- * pretty in [font families] ;-).
- *
- * Side effects:
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-static int
-CompareFontFamilies(
- const void * vp1,
- const void * vp2)
-{
- const char * name1;
- const char * name2;
- int len1, len2, diff;
-
- name1 = ((const MacFontFamily *) vp1)->name;
- name2 = ((const MacFontFamily *) vp2)->name;
-
- len1 = Tcl_NumUtfChars(name1, -1);
- len2 = Tcl_NumUtfChars(name2, -1);
-
- diff = Tcl_UtfNcasecmp(name1, name2, len1<len2 ? len1 : len2);
-
- return diff == 0 ? len1-len2 : diff;
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * AddString --
- *
- * Helper for AddFontFamily(). Allocates a string in the one-shot
- * allocator.
- *
- * Results:
- * A duplicated string in the one-shot allocator.
- *
- * Side effects:
- * May allocate a new memory block.
- *
- *-------------------------------------------------------------------------
- */
-
-static const char *
-AddString(
- const char *in) /* String to add, zero-terminated. */
-{
- int len;
- char *result;
-
- len = strlen(in) +1;
-
- if (stringMemory == NULL
- || (stringMemory->nextFree+len) > STRING_BLOCK_MAX) {
- StringBlock *newblock = ckalloc(sizeof(StringBlock));
-
- newblock->next = stringMemory;
- newblock->nextFree = 0;
- stringMemory = newblock;
- }
-
- result = stringMemory->strings + stringMemory->nextFree;
- stringMemory->nextFree += len;
-
- memcpy(result, in, len);
-
- return result;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkMacOSXIsCharacterMissing --
- *
- * Given a tkFont and a character determine whether the character has
- * a glyph defined in the font or not.
- *
- * Results:
- * Returns a 1 if the character is missing, a 0 if it is not.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-int
-TkMacOSXIsCharacterMissing(
- Tk_Font tkfont, /* The font we are looking in. */
- unsigned int searchChar) /* The character we are looking for. */
-{
- /* Background: This function is private and only used in
- * tkMacOSXMenu.c:FindMarkCharacter().
- *
- * We could use ATSUMatchFont() to implement. We'd have to change the
- * definition of the encoding of the parameter searchChar from MacRoman
- * to UniChar for that.
- *
- * The system uses font fallback for controls, so we don't really need
- * this. */
-
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitControlFontStyle --
- *
- * This procedure sets up the appropriate ControlFontStyleRec
- * for a Mac control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInitControlFontStyle(
- Tk_Font tkfont, /* Tk font object to use for the control. */
- ControlFontStylePtr fsPtr) /* The style object to configure. */
-{
- const MacFont * fontPtr = (MacFont *) tkfont;
-
- fsPtr->flags = kControlUseFontMask | kControlUseSizeMask |
- kControlUseFaceMask | kControlUseJustMask;
- fsPtr->font = fontPtr->qdFont;
- fsPtr->size = fontPtr->qdSize;
- fsPtr->style = fontPtr->qdStyle;
- fsPtr->just = teCenter;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXFMFontInfoForFont --
- *
- * Retrieve FontManager/ATSUI font information for a Tk font.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXFMFontInfoForFont(
- Tk_Font tkfont,
- FMFontFamily *fontFamilyPtr,
- FMFontStyle *fontStylePtr,
- FMFontSize *fontSizePtr,
- ATSUStyle *fontATSUStylePtr)
-{
- const MacFont * fontPtr = (MacFont *) tkfont;
-
- if (fontFamilyPtr) {
- *fontFamilyPtr = fontPtr->qdFont;
- }
- if (fontStylePtr) {
- *fontStylePtr = fontPtr->qdStyle;
- }
- if (fontSizePtr) {
- *fontSizePtr = fontPtr->qdSize;
- }
- if (fontATSUStylePtr) {
- *fontATSUStylePtr = fontPtr->atsuStyle;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXFontDescriptionForFMFontInfo --
- *
- * Get text description of a font specified by FontManager info.
- *
- * Results:
- * List object or NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE Tcl_Obj *
-TkMacOSXFontDescriptionForFMFontInfo(
- FMFontFamily fontFamily,
- FMFontStyle fontStyle,
- FMFontSize fontSize,
- FMFont fontID)
-{
- Tcl_Obj *objv[6];
- int i = 0;
-
- if (fontFamily != kInvalidFontFamily && fontStyle != -1) {
- const char *familyName = FamilyNameForFamilyID(fontFamily);
-
- if (familyName) {
- objv[i++] = Tcl_NewStringObj(familyName, -1);
- objv[i++] = Tcl_NewIntObj(fontSize);
-#define S(s) Tcl_NewStringObj(STRINGIFY(s),(int)(sizeof(STRINGIFY(s))-1))
- objv[i++] = (fontStyle & bold) ? S(bold) : S(normal);
- objv[i++] = (fontStyle & italic) ? S(italic) : S(roman);
- if (fontStyle & underline) objv[i++] = S(underline);
- /*if (fontStyle & overstrike) objv[i++] = S(overstrike);*/
-#undef S
- }
- } else if (fontID != kInvalidFont) {
- CFStringRef fontName = NULL;
- Tcl_Obj *fontNameObj = NULL;
-
- ChkErr(ATSFontGetName, FMGetATSFontRefFromFont(fontID),
- kATSOptionFlagsDefault, &fontName);
- if (fontName) {
- fontNameObj = TkMacOSXGetStringObjFromCFString(fontName);
- CFRelease(fontName);
- }
- if (fontNameObj) {
- objv[i++] = fontNameObj;
- objv[i++] = Tcl_NewIntObj(fontSize);
- }
- }
- return i ? Tcl_NewListObj(i, objv) : NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUseAntialiasedText --
- *
- * Enables or disables application-wide use of antialiased text (where
- * available). Sets up a linked Tcl global variable to allow
- * disabling of antialiased text from tcl.
- * The possible values for this variable are:
- *
- * -1 - Use system default as configurable in "System Prefs" -> "General".
- * 0 - Unconditionally disable antialiasing.
- * 1 - Unconditionally enable antialiasing.
- *
- * Results:
- *
- * TCL_OK.
- *
- * Side effects:
- *
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXUseAntialiasedText(
- Tcl_Interp * interp, /* The Tcl interpreter to receive the
- * variable.*/
- int enable) /* Initial value. */
-{
- static Boolean initialized = FALSE;
-
- if (!initialized) {
- initialized = TRUE;
-
- if (Tcl_CreateNamespace(interp, "::tk::mac", NULL, NULL) == NULL) {
- Tcl_ResetResult(interp);
- }
- if (Tcl_LinkVar(interp, "::tk::mac::antialiasedtext",
- (char *) &antialiasedTextEnabled,
- TCL_LINK_INT) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- }
- antialiasedTextEnabled = enable;
- return TCL_OK;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXFont.h b/carbon/tkMacOSXFont.h
deleted file mode 100644
index e932fb7..0000000
--- a/carbon/tkMacOSXFont.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * tkMacOSXFont.h --
- *
- * Contains the Macintosh implementation of the platform-independant
- * font package interface.
- *
- * Copyright (c) 1990-1994 The Regents of the University of California.
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#ifndef TKMACOSXFONT_H
-#define TKMACOSXFONT_H 1
-
-#include "tkFont.h"
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-/*
- * Function prototypes
- */
-
-MODULE_SCOPE void TkMacOSXInitControlFontStyle(Tk_Font tkfont,
- ControlFontStylePtr fsPtr);
-MODULE_SCOPE void TkMacOSXFMFontInfoForFont(Tk_Font tkfont,
- FMFontFamily *fontFamilyPtr, FMFontStyle *fontStylePtr,
- FMFontSize *fontSizePtr, ATSUStyle *fontATSUStylePtr);
-MODULE_SCOPE Tcl_Obj * TkMacOSXFontDescriptionForFMFontInfo(
- FMFontFamily fontFamily, FMFontStyle fontStyle, FMFontSize fontSize,
- FMFont fontID);
-
-#endif /*TKMACOSXFONT_H*/
diff --git a/carbon/tkMacOSXHLEvents.c b/carbon/tkMacOSXHLEvents.c
deleted file mode 100644
index 1ab050f..0000000
--- a/carbon/tkMacOSXHLEvents.c
+++ /dev/null
@@ -1,691 +0,0 @@
-/*
- * tkMacOSXHLEvents.c --
- *
- * Implements high level event support for the Macintosh. Currently, the
- * only event that really does anything is the Quit event.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2009 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.
- */
-
-#include "tkMacOSXPrivate.h"
-
-/*
- * This is a Tcl_Event structure that the Quit AppleEvent handler uses to
- * schedule the ReallyKillMe function.
- */
-
-typedef struct KillEvent {
- Tcl_Event header; /* Information that is standard for all
- * events. */
- Tcl_Interp *interp; /* Interp that was passed to the Quit
- * AppleEvent */
-} KillEvent;
-
-/*
- * Static functions used only in this file.
- */
-
-static OSErr QuitHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static OSErr OappHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static OSErr RappHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static OSErr OdocHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static OSErr PrintHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static OSErr ScriptHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static OSErr PrefsHandler(const AppleEvent *event,
- AppleEvent *reply, long handlerRefcon);
-static int MissedAnyParameters(const AppleEvent *theEvent);
-static int ReallyKillMe(Tcl_Event *eventPtr, int flags);
-static OSStatus FSRefToDString(const FSRef *fsref, Tcl_DString *ds);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitAppleEvents --
- *
- * Initilize the Apple Events on the Macintosh. This registers the core
- * event handlers.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInitAppleEvents(
- Tcl_Interp *interp) /* Interp to handle basic events. */
-{
- AEEventHandlerUPP OappHandlerUPP, RappHandlerUPP, OdocHandlerUPP;
- AEEventHandlerUPP PrintHandlerUPP, QuitHandlerUPP, ScriptHandlerUPP;
- AEEventHandlerUPP PrefsHandlerUPP;
- static Boolean initialized = FALSE;
-
- if (!initialized) {
- initialized = TRUE;
-
- /*
- * Install event handlers for the core apple events.
- */
-
- QuitHandlerUPP = NewAEEventHandlerUPP(QuitHandler);
- ChkErr(AEInstallEventHandler, kCoreEventClass, kAEQuitApplication,
- QuitHandlerUPP, (long) interp, false);
-
- OappHandlerUPP = NewAEEventHandlerUPP(OappHandler);
- ChkErr(AEInstallEventHandler, kCoreEventClass, kAEOpenApplication,
- OappHandlerUPP, (long) interp, false);
-
- RappHandlerUPP = NewAEEventHandlerUPP(RappHandler);
- ChkErr(AEInstallEventHandler, kCoreEventClass, kAEReopenApplication,
- RappHandlerUPP, (long) interp, false);
-
- OdocHandlerUPP = NewAEEventHandlerUPP(OdocHandler);
- ChkErr(AEInstallEventHandler, kCoreEventClass, kAEOpenDocuments,
- OdocHandlerUPP, (long) interp, false);
-
- PrintHandlerUPP = NewAEEventHandlerUPP(PrintHandler);
- ChkErr(AEInstallEventHandler, kCoreEventClass, kAEPrintDocuments,
- PrintHandlerUPP, (long) interp, false);
-
- PrefsHandlerUPP = NewAEEventHandlerUPP(PrefsHandler);
- ChkErr(AEInstallEventHandler, kCoreEventClass, kAEShowPreferences,
- PrefsHandlerUPP, (long) interp, false);
-
- if (interp) {
- ScriptHandlerUPP = NewAEEventHandlerUPP(ScriptHandler);
- ChkErr(AEInstallEventHandler, kAEMiscStandards, kAEDoScript,
- ScriptHandlerUPP, (long) interp, false);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDoHLEvent --
- *
- * Dispatch incomming highlevel events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Depends on the incoming event.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXDoHLEvent(
- void *theEvent)
-{
- return AEProcessAppleEvent(theEvent);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * QuitHandler --
- *
- * This is the 'quit' core Apple event handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-QuitHandler(
- const AppleEvent *event,
- AppleEvent *reply,
- long handlerRefcon)
-{
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
- KillEvent *eventPtr;
-
- if (interp) {
- /*
- * Call the exit command from the event loop, since you are not
- * supposed to call ExitToShell in an Apple Event Handler. We put this
- * at the head of Tcl's event queue because this message usually comes
- * when the Mac is shutting down, and we want to kill the shell as
- * quickly as possible.
- */
-
- eventPtr = ckalloc(sizeof(KillEvent));
- eventPtr->header.proc = ReallyKillMe;
- eventPtr->interp = interp;
-
- Tcl_QueueEvent((Tcl_Event *) eventPtr, TCL_QUEUE_HEAD);
- }
- return noErr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * OappHandler --
- *
- * This is the 'oapp' core Apple event handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-OappHandler(
- const AppleEvent *event,
- AppleEvent *reply,
- long handlerRefcon)
-{
- Tcl_CmdInfo dummy;
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
-
- if (interp &&
- Tcl_GetCommandInfo(interp, "::tk::mac::OpenApplication", &dummy)){
- int code = Tcl_GlobalEval(interp, "::tk::mac::OpenApplication");
- if (code != TCL_OK) {
- Tcl_BackgroundException(interp, code);
- }
- }
- return noErr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RappHandler --
- *
- * This is the 'rapp' core Apple event handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-RappHandler(
- const AppleEvent *event,
- AppleEvent *reply,
- long handlerRefcon)
-{
- Tcl_CmdInfo dummy;
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
- ProcessSerialNumber thePSN = {0, kCurrentProcess};
- OSStatus err = ChkErr(SetFrontProcess, &thePSN);
-
- if (interp && Tcl_GetCommandInfo(interp,
- "::tk::mac::ReopenApplication", &dummy)) {
- int code = Tcl_GlobalEval(interp, "::tk::mac::ReopenApplication");
- if (code != TCL_OK){
- Tcl_BackgroundException(interp, code);
- }
- }
- return err;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * PrefsHandler --
- *
- * This is the 'pref' core Apple event handler. Called when the user
- * selects 'Preferences...' in MacOS X
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-PrefsHandler(
- const AppleEvent *event,
- AppleEvent *reply,
- long handlerRefcon)
-{
- Tcl_CmdInfo dummy;
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
-
- if (interp &&
- Tcl_GetCommandInfo(interp, "::tk::mac::ShowPreferences", &dummy)){
- int code = Tcl_GlobalEval(interp, "::tk::mac::ShowPreferences");
- if (code != TCL_OK) {
- Tcl_BackgroundException(interp, code);
- }
- }
- return noErr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * OdocHandler --
- *
- * This is the 'odoc' core Apple event handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-OdocHandler(
- const AppleEvent *event,
- AppleEvent *reply,
- long handlerRefcon)
-{
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
- AEDescList fileSpecList;
- FSRef file;
- DescType type;
- Size actual;
- long count, index;
- AEKeyword keyword;
- Tcl_DString command, pathName;
- Tcl_CmdInfo dummy;
- int code;
-
- /*
- * Don't bother if we don't have an interp or the open document procedure
- * doesn't exist.
- */
-
- if (!interp ||
- !Tcl_GetCommandInfo(interp, "::tk::mac::OpenDocument", &dummy)) {
- return noErr;
- }
-
- /*
- * If we get any errors while retrieving our parameters we just return with
- * no error.
- */
-
- if (ChkErr(AEGetParamDesc, event, keyDirectObject, typeAEList,
- &fileSpecList) != noErr) {
- return noErr;
- }
- if (MissedAnyParameters(event) != noErr) {
- return noErr;
- }
- if (ChkErr(AECountItems, &fileSpecList, &count) != noErr) {
- return noErr;
- }
-
- /*
- * Convert our parameters into a script to evaluate, skipping things that
- * we can't handle right.
- */
-
- Tcl_DStringInit(&command);
- Tcl_DStringAppend(&command, "::tk::mac::OpenDocument", -1);
- for (index = 1; index <= count; index++) {
- if (ChkErr(AEGetNthPtr, &fileSpecList, index, typeFSRef, &keyword,
- &type, (Ptr) &file, sizeof(FSRef), &actual) != noErr) {
- continue;
- }
-
- if (ChkErr(FSRefToDString, &file, &pathName) == noErr) {
- Tcl_DStringAppendElement(&command, Tcl_DStringValue(&pathName));
- Tcl_DStringFree(&pathName);
- }
- }
-
- /*
- * Now handle the event by evaluating a script.
- */
-
- code = Tcl_EvalEx(interp, Tcl_DStringValue(&command),
- Tcl_DStringLength(&command), TCL_EVAL_GLOBAL);
- if (code != TCL_OK) {
- Tcl_BackgroundException(interp, code);
- }
- Tcl_DStringFree(&command);
- return noErr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * PrintHandler --
- *
- * This is the 'pdoc' core Apple event handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-PrintHandler(
- const AppleEvent * event,
- AppleEvent * reply,
- long handlerRefcon)
-{
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
- AEDescList fileSpecList;
- FSRef file;
- DescType type;
- Size actual;
- long count, index;
- AEKeyword keyword;
- Tcl_DString command, pathName;
- Tcl_CmdInfo dummy;
- int code;
-
- /*
- * Don't bother if we don't have an interp or the print document procedure
- * doesn't exist.
- */
-
- if (!interp ||
- !Tcl_GetCommandInfo(interp, "::tk::mac::PrintDocument", &dummy)) {
- return noErr;
- }
-
- /*
- * If we get any errors while retrieving our parameters we just return with
- * no error.
- */
-
- if (ChkErr(AEGetParamDesc, event, keyDirectObject, typeAEList,
- &fileSpecList) != noErr) {
- return noErr;
- }
- if (ChkErr(MissedAnyParameters, event) != noErr) {
- return noErr;
- }
- if (ChkErr(AECountItems, &fileSpecList, &count) != noErr) {
- return noErr;
- }
-
- Tcl_DStringInit(&command);
- Tcl_DStringAppend(&command, "::tk::mac::PrintDocument", -1);
- for (index = 1; index <= count; index++) {
- if (ChkErr(AEGetNthPtr, &fileSpecList, index, typeFSRef, &keyword,
- &type, (Ptr) &file, sizeof(FSRef), &actual) != noErr) {
- continue;
- }
-
- if (ChkErr(FSRefToDString, &file, &pathName) == noErr) {
- Tcl_DStringAppendElement(&command, Tcl_DStringValue(&pathName));
- Tcl_DStringFree(&pathName);
- }
- }
-
- /*
- * Now handle the event by evaluating a script.
- */
-
- code = Tcl_EvalEx(interp, Tcl_DStringValue(&command),
- Tcl_DStringLength(&command), TCL_EVAL_GLOBAL);
- if (code != TCL_OK) {
- Tcl_BackgroundException(interp, code);
- }
- Tcl_DStringFree(&command);
- return noErr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ScriptHandler --
- *
- * This handler process the script event.
- *
- * Results:
- * Schedules the given event to be processed.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSErr
-ScriptHandler(
- const AppleEvent *event,
- AppleEvent *reply,
- long handlerRefcon)
-{
- OSStatus theErr;
- AEDescList theDesc;
- Size size;
- int tclErr = -1;
- Tcl_Interp *interp = (Tcl_Interp *) handlerRefcon;
- char errString[128];
-
- /*
- * The do script event receives one parameter that should be data or a
- * file.
- */
-
- theErr = AEGetParamDesc(event, keyDirectObject, typeWildCard,
- &theDesc);
- if (theErr != noErr) {
- sprintf(errString, "AEDoScriptHandler: GetParamDesc error %d",
- (int)theErr);
- theErr = AEPutParamPtr(reply, keyErrorString, typeChar, errString,
- strlen(errString));
- } else if (MissedAnyParameters(event)) {
- /*
- * Return error if parameter is missing.
- */
-
- sprintf(errString, "AEDoScriptHandler: extra parameters");
- AEPutParamPtr(reply, keyErrorString, typeChar, errString,
- strlen(errString));
- theErr = -1771;
- } else if (theDesc.descriptorType == (DescType) typeAlias &&
- AEGetParamPtr(event, keyDirectObject, typeFSRef, NULL, NULL,
- 0, &size) == noErr && size == sizeof(FSRef)) {
- /*
- * We've had a file sent to us. Source it.
- */
-
- FSRef file;
- theErr = AEGetParamPtr(event, keyDirectObject, typeFSRef, NULL, &file,
- size, NULL);
- if (theErr == noErr) {
- Tcl_DString scriptName;
-
- theErr = FSRefToDString(&file, &scriptName);
- if (theErr == noErr) {
- tclErr = Tcl_EvalFile(interp, Tcl_DStringValue(&scriptName));
- Tcl_DStringFree(&scriptName);
- } else {
- sprintf(errString, "AEDoScriptHandler: file not found");
- AEPutParamPtr(reply, keyErrorString, typeChar, errString,
- strlen(errString));
- }
- }
- } else if (AEGetParamPtr(event, keyDirectObject, typeUTF8Text, NULL, NULL,
- 0, &size) == noErr && size) {
- /*
- * We've had some data sent to us. Evaluate it.
- */
-
- char *data = ckalloc(size + 1);
- theErr = AEGetParamPtr(event, keyDirectObject, typeUTF8Text, NULL, data,
- size, NULL);
- if (theErr == noErr) {
- tclErr = Tcl_EvalEx(interp, data, size, TCL_EVAL_GLOBAL);
- }
- } else {
- /*
- * Umm, don't recognize what we've got...
- */
-
- sprintf(errString, "AEDoScriptHandler: invalid script type '%-4.4s', "
- "must be 'alis' or coercable to 'utf8'",
- (char*) &theDesc.descriptorType);
- AEPutParamPtr(reply, keyErrorString, typeChar, errString,
- strlen(errString));
- theErr = -1770;
- }
-
- /*
- * If we actually go to run Tcl code - put the result in the reply.
- */
-
- if (tclErr >= 0) {
- int reslen;
- const char *result =
- Tcl_GetStringFromObj(Tcl_GetObjResult(interp), &reslen);
-
- if (tclErr == TCL_OK) {
- AEPutParamPtr(reply, keyDirectObject, typeChar, result, reslen);
- } else {
- AEPutParamPtr(reply, keyErrorString, typeChar, result, reslen);
- AEPutParamPtr(reply, keyErrorNumber, typeSInt32, (Ptr) &tclErr,
- sizeof(int));
- }
- }
-
- AEDisposeDesc(&theDesc);
- return theErr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ReallyKillMe --
- *
- * This proc tries to kill the shell by running exit, called from an
- * event scheduled by the "Quit" AppleEvent handler.
- *
- * Results:
- * Runs the "exit" command which might kill the shell.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-ReallyKillMe(
- Tcl_Event *eventPtr,
- int flags)
-{
- Tcl_Interp *interp = ((KillEvent *) eventPtr)->interp;
- Tcl_CmdInfo dummy;
- int quit = Tcl_GetCommandInfo(interp, "::tk::mac::Quit", &dummy);
- int code = Tcl_GlobalEval(interp, quit ? "::tk::mac::Quit" : "exit");
-
- if (code != TCL_OK) {
- /*
- * Should be never reached...
- */
-
- Tcl_BackgroundException(interp, code);
- }
- return 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MissedAnyParameters --
- *
- * Checks to see if parameters are still left in the event.
- *
- * Results:
- * True or false.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-MissedAnyParameters(
- const AppleEvent *theEvent)
-{
- DescType returnedType;
- Size actualSize;
- OSStatus err;
-
- err = AEGetAttributePtr(theEvent, keyMissedKeywordAttr,
- typeWildCard, &returnedType, NULL, 0, &actualSize);
-
- return (err != errAEDescNotFound);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * FSRefToDString --
- *
- * Get a POSIX path from an FSRef.
- *
- * Results:
- * In the parameter ds.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSStatus
-FSRefToDString(
- const FSRef *fsref,
- Tcl_DString *ds)
-{
- UInt8 fileName[PATH_MAX+1];
- OSStatus err;
-
- err = ChkErr(FSRefMakePath, fsref, fileName, sizeof(fileName));
- if (err == noErr) {
- Tcl_ExternalToUtfDString(NULL, (char*) fileName, -1, ds);
- }
- return err;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/carbon/tkMacOSXInit.c b/carbon/tkMacOSXInit.c
deleted file mode 100644
index 7e5803d..0000000
--- a/carbon/tkMacOSXInit.c
+++ /dev/null
@@ -1,599 +0,0 @@
-/*
- * tkMacOSXInit.c --
- *
- * This file contains Mac OS X -specific interpreter initialization
- * functions.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2008 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.
- */
-
-#include "tkMacOSXPrivate.h"
-
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <mach-o/dyld.h>
-#include <mach-o/getsect.h>
-
-/*
- * Define the following to 0 to not attempt to use an undocumented SPI to
- * notify the window server that an unbundled executable is a full GUI
- * application after loading Tk.
- */
-
-#ifndef MAC_OSX_TK_USE_CPS_SPI
-#define MAC_OSX_TK_USE_CPS_SPI 1
-#endif
-
-/*
- * The following structures are used to map the script/language codes of a
- * font to the name that should be passed to Tcl_GetEncoding() to obtain the
- * encoding for that font. The set of numeric constants is fixed and defined
- * by Apple.
- */
-
-typedef struct Map {
- CFStringEncoding numKey;
- const char *strKey;
-} Map;
-
-static Map scriptMap[] = {
- {smRoman, "macRoman"},
- {smJapanese, "macJapan"},
- {smTradChinese, "macChinese"},
- {smKorean, "macKorean"},
- {smArabic, "macArabic"},
- {smHebrew, "macHebrew"},
- {smGreek, "macGreek"},
- {smCyrillic, "macCyrillic"},
- {smRSymbol, "macRSymbol"},
- {smDevanagari, "macDevanagari"},
- {smGurmukhi, "macGurmukhi"},
- {smGujarati, "macGujarati"},
- {smOriya, "macOriya"},
- {smBengali, "macBengali"},
- {smTamil, "macTamil"},
- {smTelugu, "macTelugu"},
- {smKannada, "macKannada"},
- {smMalayalam, "macMalayalam"},
- {smSinhalese, "macSinhalese"},
- {smBurmese, "macBurmese"},
- {smKhmer, "macKhmer"},
- {smThai, "macThailand"},
- {smLaotian, "macLaos"},
- {smGeorgian, "macGeorgia"},
- {smArmenian, "macArmenia"},
- {smSimpChinese, "macSimpChinese"},
- {smTibetan, "macTIbet"},
- {smMongolian, "macMongolia"},
- {smGeez, "macEthiopia"},
- {smEastEurRoman, "macCentEuro"},
- {smVietnamese, "macVietnam"},
- {smExtArabic, "macSindhi"},
- {0, NULL}
-};
-
-Tcl_Encoding TkMacOSXCarbonEncoding = NULL;
-
-/*
- * If the App is in an App package, then we want to add the Scripts directory
- * to the auto_path.
- */
-
-static char scriptPath[PATH_MAX + 1] = "";
-
-float tkMacOSXToolboxVersionNumber = 0;
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpInit --
- *
- * Performs Mac-specific interpreter initialization related to the
- * tk_library variable.
- *
- * Results:
- * Returns a standard Tcl result. Leaves an error message or result in
- * the interp's result.
- *
- * Side effects:
- * Sets "tk_library" Tcl variable, runs "tk.tcl" script.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpInit(
- Tcl_Interp *interp)
-{
- static char tkLibPath[PATH_MAX + 1];
- static int initialized = 0;
-
- Tk_MacOSXSetupTkNotifier();
-
- /*
- * Since it is possible for TkInit to be called multiple times and we
- * don't want to do the following initialization multiple times we protect
- * against doing it more than once.
- */
-
- if (!initialized) {
- int bundledExecutable = 0;
- CFBundleRef bundleRef;
- CFURLRef bundleUrl = NULL;
- CFStringEncoding encoding;
- const char *encodingStr = NULL;
- int i;
- struct utsname name;
- long osVersion = 0;
- struct stat st;
-
- initialized = 1;
-
- /*
- * Initialize/check OS version variable for runtime checks.
- */
-
- if (!uname(&name)) {
- osVersion = strtol(name.release, NULL, 10) - 4;
- }
- if (osVersion && osVersion < (MAC_OS_X_VERSION_MIN_REQUIRED-1000)/10) {
- Tcl_Panic("Mac OS X 10.%d or later required !",
- (MAC_OS_X_VERSION_MIN_REQUIRED-1000)/10);
- }
- TK_IF_MAC_OS_X_API (3, &kHIToolboxVersionNumber,
- tkMacOSXToolboxVersionNumber = kHIToolboxVersionNumber;
- ) TK_ELSE_MAC_OS_X (3,
- if (osVersion > 5) {
- tkMacOSXToolboxVersionNumber = INFINITY;
- } else if (osVersion >= 3) {
- static const float tbVersions[3] = {
- kHIToolboxVersionNumber10_3,
- kHIToolboxVersionNumber10_4,
- kHIToolboxVersionNumber10_5,
- };
-
- tkMacOSXToolboxVersionNumber = tbVersions[osVersion-3];
- }
- ) TK_ENDIF
-
- /*
- * When Tk is in a framework, force tcl_findLibrary to look in the
- * framework scripts directory.
- * FIXME: Should we come up with a more generic way of doing this?
- */
-
-#ifdef TK_FRAMEWORK
- if (Tcl_MacOSXOpenVersionedBundleResources(interp,
- "com.tcltk.tklibrary", TK_FRAMEWORK_VERSION, 1, PATH_MAX,
- tkLibPath) != TCL_OK)
-#endif
- {
- /* Tk.framework not found, check if resource file is open */
- Handle rsrc = Get1NamedResource('CURS', "\phand");
- if (rsrc) {
- ReleaseResource(rsrc);
- } else {
-#ifndef __LP64__
- const struct mach_header *image;
- char *data = NULL;
- uint32_t size;
- int fd = -1;
- char fileName[L_tmpnam + 15];
- uint32_t i, n;
-
- /* Get resource data from __tk_rsrc section of tk dylib file*/
- n = _dyld_image_count();
- for (i = 0; i < n; i++) {
- image = _dyld_get_image_header(i);
- if (image) {
- data = getsectdatafromheader(image, SEG_TEXT,
- "__tk_rsrc", (void *) &size);
- if (data) {
- data += _dyld_get_image_vmaddr_slide(i);
- break;
- }
- }
- }
- while (data) {
- FSRef ref;
- SInt16 refNum;
-
- /*
- * Write resource data to temporary file and open it.
- */
-
- strcpy(fileName, P_tmpdir);
- if (fileName[strlen(fileName) - 1] != '/') {
- strcat(fileName, "/");
- }
- strcat(fileName, "tkMacOSX_XXXXXX");
- fd = mkstemp(fileName);
- if (fd == -1) {
- break;
- }
- fcntl(fd, F_SETFD, FD_CLOEXEC);
- if (write(fd, data, size) == -1) {
- break;
- }
- if(ChkErr(FSPathMakeRef, (unsigned char *) fileName, &ref,
- NULL) != noErr) {
- break;
- }
- ChkErr(FSOpenResourceFile, &ref, 0, NULL, fsRdPerm,
- &refNum);
- break;
- }
- if (fd != -1) {
- unlink(fileName);
- close(fd);
- }
-#endif /* __LP64__ */
- }
- }
-
- /*
- * If we are loaded into an executable that is not a bundled
- * application, the window server does not let us come to the
- * foreground. For such an executable, notify the window server that
- * we are now a full GUI application.
- */
-
- /* Check whether we are a bundled executable: */
- bundleRef = CFBundleGetMainBundle();
- if (bundleRef) {
- bundleUrl = CFBundleCopyBundleURL(bundleRef);
- }
- if (bundleUrl) {
- /*
- * A bundled executable is two levels down from its main bundle
- * directory (e.g. Wish.app/Contents/MacOS/Wish), whereas an
- * unbundled executable's main bundle directory is just the
- * directory containing the executable. So to check whether we are
- * bundled, we delete the last three path components of the
- * executable's url and compare the resulting url with the main
- * bundle url.
- */
-
- int j = 3;
- CFURLRef url = CFBundleCopyExecutableURL(bundleRef);
-
- while (url && j--) {
- CFURLRef parent =
- CFURLCreateCopyDeletingLastPathComponent(NULL, url);
-
- CFRelease(url);
- url = parent;
- }
- if (url) {
- bundledExecutable = CFEqual(bundleUrl, url);
- CFRelease(url);
- }
- CFRelease(bundleUrl);
- }
-
- /*
- * If we are not a bundled executable, notify the window server that
- * we are a foregroundable app.
- */
-
- if (!bundledExecutable) {
- OSStatus err = procNotFound;
- ProcessSerialNumber psn = { 0, kCurrentProcess };
-
- TK_IF_MAC_OS_X_API (3, TransformProcessType,
- err = ChkErr(TransformProcessType, &psn,
- kProcessTransformToForegroundApplication);
- ) TK_ENDIF
-#if MAC_OSX_TK_USE_CPS_SPI
- if (err != noErr) {
- /*
- * When building or running on 10.2 or when the above fails,
- * attempt to use undocumented CPS SPI to notify the window
- * server. Load the SPI symbol dynamically, so that we don't
- * break if it ever disappears or changes its name.
- */
-
- TkMacOSXInitNamedSymbol(CoreGraphics, OSStatus,
- CPSEnableForegroundOperation, ProcessSerialNumberPtr);
- if (CPSEnableForegroundOperation) {
- ChkErr(CPSEnableForegroundOperation, &psn);
- }
- }
-#endif /* MAC_OSX_TK_USE_CPS_SPI */
- }
-
- TkMacOSXInitAppleEvents(interp);
- TkMacOSXInitCarbonEvents(interp);
- TkMacOSXInitMenus(interp);
- TkMacOSXUseAntialiasedText(interp, -1);
- TkMacOSXInitCGDrawing(interp, TRUE, 0);
- TkMacOSXInitKeyboard(interp);
-
- encoding = CFStringGetSystemEncoding();
-
- for (i = 0; scriptMap[i].strKey != NULL; i++) {
- if (scriptMap[i].numKey == encoding) {
- encodingStr = scriptMap[i].strKey;
- break;
- }
- }
- if (encodingStr == NULL) {
- encodingStr = "macRoman";
- }
-
- TkMacOSXCarbonEncoding = Tcl_GetEncoding(NULL, encodingStr);
- if (TkMacOSXCarbonEncoding == NULL) {
- TkMacOSXCarbonEncoding = Tcl_GetEncoding(NULL, NULL);
- }
-
- /*
- * FIXME: Close stdin & stdout for remote debugging otherwise we will
- * fight with gdb for stdin & stdout
- */
-
- if (getenv("XCNOSTDIN") != NULL) {
- close(0);
- close(1);
- }
-
- /*
- * If we don't have a TTY and stdin is a special character file of
- * length 0, (e.g. /dev/null, which is what Finder sets when double
- * clicking Wish) then use the Tk based console interpreter.
- */
-
- if (getenv("TK_CONSOLE") ||
- (!isatty(0) && (fstat(0, &st) ||
- (S_ISCHR(st.st_mode) && st.st_blocks == 0)))) {
- Tk_InitConsoleChannels(interp);
- Tcl_RegisterChannel(interp, Tcl_GetStdChannel(TCL_STDIN));
- Tcl_RegisterChannel(interp, Tcl_GetStdChannel(TCL_STDOUT));
- Tcl_RegisterChannel(interp, Tcl_GetStdChannel(TCL_STDERR));
-
- /*
- * Only show the console if we don't have a startup script
- * and tcl_interactive hasn't been set already.
- */
-
- if (Tcl_GetStartupScript(NULL) == NULL) {
- const char *intvar = Tcl_GetVar(interp,
- "tcl_interactive", TCL_GLOBAL_ONLY);
-
- if (intvar == NULL) {
- Tcl_SetVar(interp, "tcl_interactive", "1",
- TCL_GLOBAL_ONLY);
- }
- }
- if (Tk_CreateConsoleWindow(interp) == TCL_ERROR) {
- return TCL_ERROR;
- }
- }
- }
-
- if (tkLibPath[0] != '\0') {
- Tcl_SetVar(interp, "tk_library", tkLibPath, TCL_GLOBAL_ONLY);
- }
-
- if (scriptPath[0] != '\0') {
- Tcl_SetVar(interp, "auto_path", scriptPath,
- TCL_GLOBAL_ONLY|TCL_LIST_ELEMENT|TCL_APPEND_VALUE);
- }
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetAppName --
- *
- * Retrieves the name of the current application from a platform specific
- * location. For Unix, the application name is the tail of the path
- * contained in the tcl variable argv0.
- *
- * Results:
- * Returns the application name in the given Tcl_DString.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpGetAppName(
- Tcl_Interp *interp,
- Tcl_DString *namePtr) /* A previously initialized Tcl_DString. */
-{
- const char *p, *name;
-
- name = Tcl_GetVar(interp, "argv0", TCL_GLOBAL_ONLY);
- if ((name == NULL) || (*name == 0)) {
- name = "tk";
- } else {
- p = strrchr(name, '/');
- if (p != NULL) {
- name = p+1;
- }
- }
- Tcl_DStringAppend(namePtr, name, -1);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayWarning --
- *
- * This routines is called from Tk_Main to display warning messages that
- * occur during startup.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates messages on stdout.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayWarning(
- const char *msg, /* Message to be displayed. */
- const char *title) /* Title of warning. */
-{
- Tcl_Channel errChannel = Tcl_GetStdChannel(TCL_STDERR);
-
- if (errChannel) {
- Tcl_WriteChars(errChannel, title, -1);
- Tcl_WriteChars(errChannel, ": ", 2);
- Tcl_WriteChars(errChannel, msg, -1);
- Tcl_WriteChars(errChannel, "\n", 1);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDefaultStartupScript --
- *
- * On MacOS X, we look for a file in the Resources/Scripts directory
- * called AppMain.tcl and if found, we set argv[1] to that, so that the
- * rest of the code will find it, and add the Scripts folder to the
- * auto_path. If we don't find the startup script, we just bag it,
- * assuming the user is starting up some other way.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Tcl_SetStartupScript() called when AppMain.tcl found.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXDefaultStartupScript(void)
-{
- CFBundleRef bundleRef;
-
- bundleRef = CFBundleGetMainBundle();
-
- if (bundleRef != NULL) {
- CFURLRef appMainURL = CFBundleCopyResourceURL(bundleRef,
- CFSTR("AppMain"), CFSTR("tcl"), CFSTR("Scripts"));
-
- if (appMainURL != NULL) {
- CFURLRef scriptFldrURL;
- char startupScript[PATH_MAX + 1];
-
- if (CFURLGetFileSystemRepresentation (appMainURL, true,
- (unsigned char *) startupScript, PATH_MAX)) {
- Tcl_SetStartupScript(Tcl_NewStringObj(startupScript,-1), NULL);
- scriptFldrURL = CFURLCreateCopyDeletingLastPathComponent(NULL,
- appMainURL);
- if (scriptFldrURL != NULL) {
- CFURLGetFileSystemRepresentation(scriptFldrURL, true,
- (unsigned char *) scriptPath, PATH_MAX);
- CFRelease(scriptFldrURL);
- }
- }
- CFRelease(appMainURL);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * 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 NULL;
- }
- return NSAddressOfSymbol(nsSymbol);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetStringObjFromCFString --
- *
- * Get a string object from a CFString as efficiently as possible.
- *
- * Results:
- * New string object or NULL if conversion failed.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE Tcl_Obj*
-TkMacOSXGetStringObjFromCFString(
- CFStringRef str)
-{
- Tcl_Obj *obj = NULL;
- const char *c = CFStringGetCStringPtr(str, kCFStringEncodingUTF8);
-
- if (c) {
- obj = Tcl_NewStringObj(c, -1);
- } else {
- CFRange all = CFRangeMake(0, CFStringGetLength(str));
- CFIndex len;
-
- if (CFStringGetBytes(str, all, kCFStringEncodingUTF8, 0, false, NULL,
- 0, &len) > 0 && len < INT_MAX) {
- obj = Tcl_NewObj();
- Tcl_SetObjLength(obj, len);
- CFStringGetBytes(str, all, kCFStringEncodingUTF8, 0, false,
- (UInt8*) obj->bytes, len, NULL);
- }
- }
- return obj;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXInt.h b/carbon/tkMacOSXInt.h
deleted file mode 100644
index 48635c8..0000000
--- a/carbon/tkMacOSXInt.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * tkMacOSXInt.h --
- *
- * Declarations of Macintosh specific shared variables and procedures.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#ifndef _TKMACINT
-#define _TKMACINT
-
-#ifndef _TKINT
-#include "tkInt.h"
-#endif
-
-#define TextStyle MacTextStyle
-#include <Carbon/Carbon.h>
-#undef TextStyle
-
-/*
- * Include platform specific public interfaces.
- */
-
-#ifndef _TKMAC
-#include "tkMacOSX.h"
-#endif
-
-struct TkWindowPrivate {
- TkWindow *winPtr; /* Ptr to tk window or NULL if Pixmap */
- CGrafPtr grafPtr;
- CGContextRef context;
- ControlRef rootControl;
- int xOff; /* X offset from toplevel window */
- int yOff; /* Y offset from toplevel window */
- CGSize size;
- HIShapeRef visRgn; /* Visible region of window */
- HIShapeRef aboveVisRgn; /* Visible region of window & its children */
- CGRect drawRect; /* Clipped drawing rect */
- int referenceCount; /* Don't delete toplevel until children are
- * gone. */
- struct TkWindowPrivate *toplevel;
- /* Pointer to the toplevel datastruct. */
- int flags; /* Various state see defines below. */
-};
-typedef struct TkWindowPrivate MacDrawable;
-
-/*
- * This list is used to keep track of toplevel windows that have a Mac
- * window attached. This is useful for several things, not the least
- * of which is maintaining floating windows.
- */
-
-typedef struct TkMacOSXWindowList {
- struct TkMacOSXWindowList *nextPtr;
- /* The next window in the list. */
- TkWindow *winPtr; /* This window */
-} TkMacOSXWindowList;
-
-/*
- * Defines use for the flags field of the MacDrawable data structure.
- */
-
-#define TK_SCROLLBAR_GROW 0x01
-#define TK_CLIP_INVALID 0x02
-#define TK_HOST_EXISTS 0x04
-#define TK_DRAWN_UNDER_MENU 0x08
-#define TK_CLIPPED_DRAW 0x10
-#define TK_IS_PIXMAP 0x20
-#define TK_IS_BW_PIXMAP 0x40
-
-/*
- * I am reserving TK_EMBEDDED = 0x100 in the MacDrawable flags
- * This is defined in tk.h. We need to duplicate the TK_EMBEDDED flag in the
- * TkWindow structure for the window, but in the MacWin. This way we can
- * still tell what the correct port is after the TKWindow structure has been
- * freed. This actually happens when you bind destroy of a toplevel to
- * Destroy of a child.
- */
-
-/*
- * This structure is for handling Netscape-type in process
- * embedding where Tk does not control the top-level. It contains
- * various functions that are needed by Mac specific routines, like
- * TkMacOSXGetDrawablePort. The definitions of the function types
- * are in tkMacOSX.h.
- */
-
-typedef struct {
- Tk_MacOSXEmbedRegisterWinProc *registerWinProc;
- Tk_MacOSXEmbedGetGrafPortProc *getPortProc;
- Tk_MacOSXEmbedMakeContainerExistProc *containerExistProc;
- Tk_MacOSXEmbedGetClipProc *getClipProc;
- Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc;
-} TkMacOSXEmbedHandler;
-
-MODULE_SCOPE TkMacOSXEmbedHandler *tkMacOSXEmbedHandler;
-
-/*
- * Defines for zero-sized GC cache
- */
-
-typedef struct {} TkpGCCache;
-#define TkpInitGCCache(gc)
-#define TkpFreeGCCache(gc)
-
-/*
- * Defines used for TkMacOSXInvalidateWindow
- */
-
-#define TK_WINDOW_ONLY 0
-#define TK_PARENT_WINDOW 1
-
-/*
- * Accessor for the privatePtr flags field for the TK_HOST_EXISTS field
- */
-
-#define TkMacOSXHostToplevelExists(tkwin) \
- (((TkWindow *) (tkwin))->privatePtr->toplevel->flags & TK_HOST_EXISTS)
-
-/*
- * Defines use for the flags argument to TkGenWMConfigureEvent.
- */
-
-#define TK_LOCATION_CHANGED 1
-#define TK_SIZE_CHANGED 2
-#define TK_BOTH_CHANGED 3
-
-/*
- * Defines for tkTextDisp.c
- */
-
-#define TK_LAYOUT_WITH_BASE_CHUNKS 1
-#define TK_DRAW_IN_CONTEXT 1
-
-#if !TK_DRAW_IN_CONTEXT
-MODULE_SCOPE int TkMacOSXCompareColors(unsigned long c1, unsigned long c2);
-#endif
-
-/*
- * Globals shared among TkAqua.
- */
-
-MODULE_SCOPE MenuHandle tkCurrentAppleMenu; /* Handle to current Apple Menu */
-MODULE_SCOPE MenuHandle tkAppleMenu; /* Handle to default Apple Menu */
-MODULE_SCOPE MenuHandle tkFileMenu; /* Handles to menus */
-MODULE_SCOPE MenuHandle tkEditMenu; /* Handles to menus */
-MODULE_SCOPE int tkPictureIsOpen; /* If this is 1, we are drawing to a
- * picture The clipping should then be
- * done relative to the bounds of the
- * picture rather than the window. As
- * of OS X.0.4, something is seriously
- * wrong: The clipping bounds only
- * seem to work if the top,left values
- * are 0,0 The destination rectangle
- * for CopyBits should also have
- * top,left values of 0,0
- */
-MODULE_SCOPE TkMacOSXWindowList *tkMacOSXWindowListPtr; /* List of toplevels */
-MODULE_SCOPE Tcl_Encoding TkMacOSXCarbonEncoding;
-
-/*
- * Prototypes of internal procs not in the stubs table.
- */
-
-MODULE_SCOPE void TkMacOSXDefaultStartupScript(void);
-#if 0
-MODULE_SCOPE int XSetClipRectangles(Display *d, GC gc, int clip_x_origin,
- int clip_y_origin, XRectangle* rectangles, int n, int ordering);
-#endif
-MODULE_SCOPE void TkpClipDrawableToRect(Display *display, Drawable d, int x,
- int y, int width, int height);
-MODULE_SCOPE void TkpRetainRegion(TkRegion r);
-MODULE_SCOPE void TkpReleaseRegion(TkRegion r);
-
-/*
- * Include the stubbed internal platform-specific API.
- */
-
-#include "tkIntPlatDecls.h"
-
-#endif /* _TKMACINT */
diff --git a/carbon/tkMacOSXKeyEvent.c b/carbon/tkMacOSXKeyEvent.c
deleted file mode 100644
index d801f68..0000000
--- a/carbon/tkMacOSXKeyEvent.c
+++ /dev/null
@@ -1,1168 +0,0 @@
-/*
- * tkMacOSXKeyEvent.c --
- *
- * This file implements functions that decode & handle keyboard events on
- * MacOS X.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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 unless explicitly
- * disclaimed in individual files.
- *
- * Apple hereby grants permission to use, copy, modify, distribute, and
- * license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that
- * this notice is included verbatim in any distributions. No written
- * agreement, license, or royalty fee is required for any of the
- * authorized uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms described here,
- * provided that the new terms are clearly indicated on the first page of
- * each file where they apply.
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE SOFTWARE BE
- * LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
- * CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS
- * DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF APPLE OR THE AUTHORS
- * HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS
- * AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT
- * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
- * A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED
- * ON AN "AS IS" BASIS, AND APPLE,THE AUTHORS AND DISTRIBUTORS HAVE NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
- * MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf of the
- * U.S. government, the Government shall have only "Restricted Rights" in
- * the software and related documentation as defined in the Federal
- * Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are
- * acquiring the software on behalf of the Department of Defense, the
- * software shall be classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in Clause
- * 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
- * authors grant the U.S. Government and others acting in its behalf
- * permission to use and distribute the software in accordance with the
- * terms specified in this license.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_KEYBOARD
-#endif
-*/
-
-typedef struct {
- WindowRef whichWindow;
- int global_x, global_y;
- int local_x, local_y;
- unsigned int state;
- UInt32 keyCode;
- UInt32 keyModifiers;
- UInt32 message;
- unsigned char ch;
-} KeyEventData;
-
-static Tk_Window grabWinPtr = NULL;
- /* Current grab window, NULL if no grab. */
-static Tk_Window keyboardGrabWinPtr = NULL;
- /* Current keyboard grab window. */
-static UInt32 deadKeyStateUp = 0;
- /* The deadkey state for the current sequence
- * of keyup events or 0 if not in a deadkey
- * sequence */
-static UInt32 deadKeyStateDown = 0;
- /* Ditto for keydown */
-
-/*
- * Declarations for functions used only in this file.
- */
-
-static int GenerateKeyEvent(UInt32 eKind, KeyEventData *e,
- UInt32 savedKeyCode, UInt32 savedModifiers,
- const UniChar *chars, int numChars);
-static TextEncoding GetKCHREncoding(ScriptCode script, SInt32 layoutid);
-static int GetKeyboardLayout(Ptr *resourcePtr,
- TextEncoding *encodingPtr);
-static int InitKeyData(KeyEventData *keyEventDataPtr);
-static int InitKeyEvent(XEvent *eventPtr, KeyEventData *e,
- UInt32 savedKeyCode, UInt32 savedModifiers);
-static int KeycodeToUnicodeViaKCHRResource(UniChar *uniChars,
- int maxChars, Ptr kchr, TextEncoding encoding,
- EventKind eKind, UInt32 keycode, UInt32 modifiers,
- UInt32 *deadKeyStatePtr);
-static int KeycodeToUnicodeViaUnicodeResource(UniChar *uniChars,
- int maxChars, Ptr uchr, EventKind eKind,
- UInt32 keycode, UInt32 modifiers,
- UInt32 *deadKeyStatePtr);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessKeyboardEvent --
- *
- * 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.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessKeyboardEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- static UInt32 savedKeyCode = 0;
- static UInt32 savedModifiers = 0;
- static UniChar savedChar = 0;
- OSStatus err;
- KeyEventData keyEventData;
- MenuRef menuRef;
- MenuItemIndex menuItemIndex;
- int eventGenerated;
- UniChar uniChars[5]; /* make this larger, if needed */
- UInt32 uniCharsLen = 0;
-
- if (!InitKeyData(&keyEventData)) {
- statusPtr->err = 1;
- return false;
- }
-
- /*
- * Because of the way that Tk operates, we can't in general funnel menu
- * accelerators through IsMenuKeyEvent. Tk treats accelerators as mere
- * decoration, and the user has to install bindings to get them to fire.
- *
- * However, the only way to trigger the Hide & Hide Others functions is by
- * invoking the Menu command for Hide. So there is no nice way to provide a
- * Tk command to hide the app which would be available for a binding. So I
- * am going to hijack Command-H and Command-Shift-H here, and run the menu
- * commands. Since the HI Guidelines explicitly reserve these for Hide,
- * this isn't such a bad thing. Also, if you do rebind Command-H to another
- * menu item, Hide will lose its binding.
- *
- * Note that I don't really do anything at this point, I just mark
- * stopProcessing as 0 and return, and then the RecieveAndProcessEvent code
- * will dispatch the event to the default handler.
- */
-
- if ((eventPtr->eKind == kEventRawKeyDown
- || eventPtr->eKind == kEventRawKeyRepeat)
- && IsMenuKeyEvent(tkCurrentAppleMenu, eventPtr->eventRef,
- kMenuEventQueryOnly, &menuRef, &menuItemIndex)) {
- MenuCommand menuCmd;
-
- GetMenuItemCommandID (menuRef, menuItemIndex, &menuCmd);
- switch (menuCmd) {
- case kHICommandHide:
- case kHICommandHideOthers:
- case kHICommandShowAll:
- case kHICommandPreferences:
- case kHICommandQuit:
- statusPtr->stopProcessing = 0;
-
- /*
- * TODO: may not be on event on queue.
- */
-
- return 0;
- default:
- break;
- }
- }
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamKeyMacCharCodes, typeChar, NULL,
- sizeof(keyEventData.ch), NULL, &keyEventData.ch);
- if (err != noErr) {
- statusPtr->err = 1;
- return false;
- }
- err = ChkErr(GetEventParameter, eventPtr->eventRef, kEventParamKeyCode,
- typeUInt32, NULL, sizeof(keyEventData.keyCode), NULL,
- &keyEventData.keyCode);
- if (err != noErr) {
- statusPtr->err = 1;
- return false;
- }
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamKeyModifiers, typeUInt32, NULL,
- sizeof(keyEventData.keyModifiers), NULL,
- &keyEventData.keyModifiers);
- if (err != noErr) {
- statusPtr->err = 1;
- return false;
- }
-
- switch (eventPtr->eKind) {
- case kEventRawKeyUp:
- case kEventRawKeyDown:
- case kEventRawKeyRepeat: {
- UInt32 *deadKeyStatePtr;
-
- if (kEventRawKeyDown == eventPtr->eKind) {
- deadKeyStatePtr = &deadKeyStateDown;
- } else {
- deadKeyStatePtr = &deadKeyStateUp;
- }
-
- uniCharsLen = TkMacOSXKeycodeToUnicode(uniChars,
- sizeof(uniChars)/sizeof(*uniChars), eventPtr->eKind,
- keyEventData.keyCode, keyEventData.keyModifiers,
- deadKeyStatePtr);
- break;
- }
- }
-
- if (kEventRawKeyUp == eventPtr->eKind) {
- /*
- * For some reason the deadkey processing for KeyUp doesn't work
- * sometimes, so we fudge and use the last detected KeyDown.
- */
-
- if ((0 == uniCharsLen) && (0 != savedChar)) {
- uniChars[0] = savedChar;
- uniCharsLen = 1;
- }
-
- /*
- * Suppress keyup events while we have a deadkey sequence on keydown.
- * We still *do* want to collect deadkey state in this situation if
- * the system provides it, that's why we do this only after
- * TkMacOSXKeycodeToUnicode().
- */
-
- if (0 != deadKeyStateDown) {
- uniCharsLen = 0;
- }
- }
-
- keyEventData.message = keyEventData.ch|(keyEventData.keyCode << 8);
-
- eventGenerated = GenerateKeyEvent(eventPtr->eKind, &keyEventData,
- savedKeyCode, savedModifiers, uniChars, uniCharsLen);
-
- savedModifiers = keyEventData.keyModifiers;
-
- if ((kEventRawKeyDown == eventPtr->eKind) && (uniCharsLen > 0)) {
- savedChar = uniChars[0];
- } else {
- savedChar = 0;
- }
-
- statusPtr->stopProcessing = 1;
-
- if (eventGenerated == 0) {
- savedKeyCode = keyEventData.message;
- return false;
- }
- if (eventGenerated == -1) {
- savedKeyCode = 0;
- statusPtr->stopProcessing = 0;
- return false;
- }
- savedKeyCode = 0;
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateKeyEvent --
- *
- * Given Macintosh keyUp, keyDown & autoKey events (in their "raw" form)
- * and a list of unicode characters this function generates the
- * appropriate X key events.
- *
- * Parameter eKind is a raw keyboard event. e contains the data sent with
- * the event. savedKeyCode and savedModifiers contain the values from the
- * last event that came before (see TkMacOSXProcessKeyboardEvent()).
- * chars/numChars has the Unicode characters for which we want to create
- * events.
- *
- * Results:
- * 1 if an event was generated, -1 for any error.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateKeyEvent(
- UInt32 eKind,
- KeyEventData * e,
- UInt32 savedKeyCode,
- UInt32 savedModifiers,
- const UniChar * chars,
- int numChars)
-{
- XEvent event;
- int i;
-
- if (-1 == InitKeyEvent(&event, e, savedKeyCode, savedModifiers)) {
- return -1;
- }
-
- if (kEventRawKeyModifiersChanged == eKind) {
- if (savedModifiers > e->keyModifiers) {
- event.xany.type = KeyRelease;
- } else {
- event.xany.type = KeyPress;
- }
-
- /*
- * Use special '-1' to signify a special keycode to our platform
- * specific code in tkMacOSXKeyboard.c. This is rather like what
- * happens on Windows.
- */
-
- event.xany.send_event = -1;
-
- /*
- * Set keycode (which was zero) to the changed modifier
- */
-
- event.xkey.keycode = (e->keyModifiers ^ savedModifiers);
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- } else {
- for (i = 0; i < numChars; ++i) {
- /*
- * Encode one char in the trans_chars array that was already
- * introduced for MS Windows. Don't encode the string, if it is a
- * control character but was not generated with a real control
- * modifier. Such control characters get generated by KeyTrans()
- * for special keys, but we rather want to identify those by their
- * KeySyms.
- */
-
- event.xkey.trans_chars[0] = 0;
- if ((controlKey & e->keyModifiers) || (chars[i] >= ' ')) {
- int done = Tcl_UniCharToUtf(chars[i],event.xkey.trans_chars);
-
- event.xkey.trans_chars[done] = 0;
- }
-
- switch(eKind) {
- case kEventRawKeyDown:
- event.xany.type = KeyPress;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- break;
- case kEventRawKeyUp:
- event.xany.type = KeyRelease;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- break;
- case kEventRawKeyRepeat:
- event.xany.type = KeyRelease;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- event.xany.type = KeyPress;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- break;
- default:
- TkMacOSXDbgMsg("Invalid parameter eKind %ld", eKind);
- return -1;
- }
- }
- }
-
- return 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitKeyData --
- *
- * This routine initializes a KeyEventData structure by asking the OS and
- * Tk for all the global information needed here.
- *
- * Results:
- * True if the current front window can be found in Tk data structures,
- * false otherwise.
- *
- * Side Effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-static int
-InitKeyData(
- KeyEventData *keyEventDataPtr)
-{
- memset(keyEventDataPtr, 0, sizeof(*keyEventDataPtr));
-
- keyEventDataPtr->whichWindow = ActiveNonFloatingWindow();
- if (keyEventDataPtr->whichWindow == NULL) {
- return false;
- }
-
- XQueryPointer(NULL, None, NULL, NULL, &keyEventDataPtr->global_x,
- &keyEventDataPtr->global_y, &keyEventDataPtr->local_x,
- &keyEventDataPtr->local_y, &keyEventDataPtr->state);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitKeyEvent --
- *
- * Initialize an XEvent structure by asking Tk for global information.
- * Also uses a KeyEventData structure and other current state.
- *
- * Results:
- * 1 on success, -1 for any error.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-/*
- * We have a general problem here. How do we handle 'Option-char' keypresses?
- * The problem is that we might want to bind to some of these (e.g. Cmd-Opt-d
- * is 'uncomment' in Alpha). OTOH Option-d actually produces a real character
- * on MacOS, namely a mathematical delta.
- *
- * The current behaviour is that a binding goes by the combinations of
- * modifiers and base keysym, that is Option-d. The string value of the event
- * is the mathematical delta character, so if no binding calls [break], the
- * text widget will insert that character.
- *
- * Note that this is similar to control combinations on all platforms. They
- * also generate events that have the base character as keysym and a real
- * control character as character value. So Ctrl+C gets us the keysym XK_C, the
- * modifier Control (so you can bind <Control-C>) and a string value as
- * "\u0003".
- *
- * For a different solutions we may want for the event to contain keysyms for
- * *both* the 'Opt-d' side of things and the mathematical delta. Then a binding
- * on Opt-d will trigger, but a binding on mathematical delta would also
- * trigger. This would require changes in the core, though.
- */
-
-static int
-InitKeyEvent(
- XEvent * eventPtr,
- KeyEventData * e,
- UInt32 savedKeyCode,
- UInt32 savedModifiers)
-{
- Window window;
- Tk_Window tkwin;
- TkDisplay *dispPtr;
-
- /*
- * The focus must be in the FrontWindow on the Macintosh. We then query Tk
- * to determine the exact Tk window that owns the focus.
- */
-
- window = TkMacOSXGetXWindow(e->whichWindow);
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, window);
-
- if (!tkwin) {
- TkMacOSXDbgMsg("tkwin == NULL");
- return -1;
- }
-
- tkwin = (Tk_Window) ((TkWindow *) tkwin)->dispPtr->focusPtr;
- if (!tkwin) {
- TkMacOSXDbgMsg("tkwin == NULL");
- return -1;
- }
-
- memset(eventPtr, 0, sizeof(XEvent));
- eventPtr->xany.send_event = false;
- eventPtr->xany.serial = Tk_Display(tkwin)->request;
-
- eventPtr->xkey.same_screen = true;
- eventPtr->xkey.subwindow = None;
- eventPtr->xkey.time = TkpGetMS();
- eventPtr->xkey.x_root = e->global_x;
- eventPtr->xkey.y_root = e->global_y;
- eventPtr->xkey.window = Tk_WindowId(tkwin);
- eventPtr->xkey.display = Tk_Display(tkwin);
- eventPtr->xkey.root = XRootWindow(Tk_Display(tkwin), 0);
- eventPtr->xkey.state = e->state;
- eventPtr->xkey.trans_chars[0] = 0;
-
- Tk_TopCoordsToWindow(tkwin, e->local_x, e->local_y, &eventPtr->xkey.x,
- &eventPtr->xkey.y);
-
- eventPtr->xkey.keycode = e->ch | ((savedKeyCode & charCodeMask) << 8) |
- ((e->message&keyCodeMask) << 8);
- return 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetKeyboardLayout --
- *
- * Queries the OS for a pointer to a keyboard resource.
- *
- * This function works with the keyboard layout switch menu. It uses
- * Keyboard Layout Services, where available.
- *
- * Results:
- * 1 if there is returned a Unicode 'uchr' resource in *resourcePtr, 0 if
- * it is a classic 'KCHR' resource. A pointer to the actual resource data
- * goes into *resourcePtr. If the resource is a 'KCHR' resource, the
- * corresponding Mac encoding goes into *encodingPtr.
- *
- * Side effects:
- * Sets some internal static variables.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GetKeyboardLayout(
- Ptr *resourcePtr,
- TextEncoding *encodingPtr)
-{
- static KeyboardLayoutRef lastLayout = NULL;
- static SInt32 lastLayoutId;
- static TextEncoding lastEncoding = kTextEncodingMacRoman;
- static Ptr uchr = NULL;
- static Ptr KCHR = NULL;
- int hasLayoutChanged = false;
- KeyboardLayoutRef currentLayout = NULL;
- SInt32 currentLayoutId = 0;
- ScriptCode currentKeyScript;
-
- currentKeyScript = GetScriptManagerVariable(smKeyScript);
-
- /*
- * Use the Keyboard Layout Services.
- */
-
- KLGetCurrentKeyboardLayout(&currentLayout);
-
- if (currentLayout != NULL) {
- /*
- * The layout pointer could in theory be the same for different
- * layouts, only the id gives us the information that the
- * keyboard has actually changed. OTOH the layout object can
- * also change and it could still be the same layoutid.
- */
-
- KLGetKeyboardLayoutProperty(currentLayout, kKLIdentifier,
- (const void **) &currentLayoutId);
-
- if ((lastLayout != currentLayout)
- || (lastLayoutId != currentLayoutId)) {
-#ifdef TK_MAC_DEBUG_KEYBOARD
- TkMacOSXDbgMsg("Use KLS");
-#endif
- hasLayoutChanged = true;
-
- /*
- * Reinitialize all relevant variables.
- */
-
- lastLayout = currentLayout;
- lastLayoutId = currentLayoutId;
- uchr = NULL;
- KCHR = NULL;
-
- if ((KLGetKeyboardLayoutProperty(currentLayout,
- kKLuchrData, (const void **) &uchr) == noErr)
- && (uchr != NULL)) {
- /* done */
- } else if ((KLGetKeyboardLayoutProperty(currentLayout,
- kKLKCHRData, (const void**)&KCHR) == noErr)
- && (KCHR != NULL)) {
- /* done */
- }
- }
- }
-
- if (hasLayoutChanged) {
-#ifdef TK_MAC_DEBUG_KEYBOARD
- if (KCHR) {
- TkMacOSXDbgMsg("New 'KCHR' layout %ld", currentLayoutId);
- } else if (uchr) {
- TkMacOSXDbgMsg("New 'uchr' layout %ld", currentLayoutId);
- } else {
- TkMacOSXDbgMsg("Use cached layout (should have been %ld)",
- currentLayoutId);
- }
-#endif
-
- deadKeyStateUp = deadKeyStateDown = 0;
-
- /*
- * If we did get a new 'KCHR', compute its encoding and put it into
- * lastEncoding.
- *
- * If we didn't get a new 'KCHR' and if we have no 'uchr' either, get
- * some 'KCHR' from the OS cache and leave lastEncoding at its current
- * value. This should better not happen, it doesn't really work.
- */
-
- if (KCHR) {
- lastEncoding = GetKCHREncoding(currentKeyScript, currentLayoutId);
-#ifdef TK_MAC_DEBUG_KEYBOARD
- TkMacOSXDbgMsg("New 'KCHR' encoding %lu (%lu + 0x%lX)",
- lastEncoding, lastEncoding & 0xFFFFL,
- lastEncoding & ~0xFFFFL);
-#endif
- } else if (!uchr) {
- KCHR = (Ptr)(intptr_t) GetScriptManagerVariable(smKCHRCache);
- }
- }
-
- if (uchr) {
- *resourcePtr = uchr;
- return 1;
- }
- *resourcePtr = KCHR;
- *encodingPtr = lastEncoding;
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetKCHREncoding --
- *
- * Upgrade a WorldScript code to a TEC encoding based on the keyboard
- * layout id.
- *
- * Results:
- * The TEC code that corresponds best to the combination of WorldScript
- * code and 'KCHR' id.
- *
- * Side effects:
- * None.
- *
- * Rationale and Notes:
- * WorldScript codes are sometimes not unique encodings. E.g. Icelandic
- * uses script smRoman (0), but the actual encoding is
- * kTextEncodingMacIcelandic (37). ftp://ftp.unicode.org/Public
- * /MAPPINGS/VENDORS/APPLE/README.TXT has a good summary of these
- * variants. So we need to upgrade the script to an encoding with
- * GetTextEncodingFromScriptInfo().
- *
- * 'KCHR' ids are usually region codes (see the comments in Script.h).
- * Where they are not, we get a paramErr from the OS function and have
- * appropriate fallbacks.
- *
- *----------------------------------------------------------------------
- */
-
-static TextEncoding
-GetKCHREncoding(
- ScriptCode script,
- SInt32 layoutid)
-{
- RegionCode region = layoutid;
- TextEncoding encoding = script;
-
- if (GetTextEncodingFromScriptInfo(script, kTextLanguageDontCare, region,
- &encoding) == noErr) {
- return encoding;
- }
-
- /*
- * GetTextEncodingFromScriptInfo() doesn't know about more exotic layouts.
- * This provides a fallback for good measure. In an ideal world, exotic
- * layouts would always provide a 'uchr' resource anyway, so we wouldn't
- * need this.
- *
- * We can add more keyboard layouts, if we get actual complaints. Farsi or
- * other Celtic/Gaelic layouts would be candidates.
- */
-
- switch (layoutid) {
- /*
- * Icelandic and Faroese (planned). These layouts are sold by Apple
- * Iceland for legacy applications.
- */
-
- case 1800: case 1821:
- return kTextEncodingMacIcelandic;
-
- /*
- * Irish and Welsh. These layouts are mentioned in <Script.h>.
- *
- * FIXME: This may have to be kTextEncodingMacGaelic instead, but I
- * can't locate layouts of this type for testing.
- */
-
- case 581: case 779:
- return kTextEncodingMacCeltic;
- }
-
- /*
- * The valid script codes are also the valid default encoding codes, so if
- * nothing else helps, fall back on those.
- */
-
- return script;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * KeycodeToUnicodeViaUnicodeResource --
- *
- * Given MacOS key event data this function generates the Unicode
- * characters. It does this using a 'uchr' and the UCKeyTranslate API.
- *
- * The parameter deadKeyStatePtr can be NULL, if no deadkey handling is
- * needed.
- *
- * Tested and known to work with US, Hebrew, Greek and Russian layouts as
- * well as "Unicode Hex Input".
- *
- * Results:
- * The number of characters generated if any, 0 if we are waiting for
- * another byte of a dead-key sequence. Fills in the uniChars array with a
- * Unicode string.
- *
- * Side Effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-static int
-KeycodeToUnicodeViaUnicodeResource(
- UniChar *uniChars,
- int maxChars,
- Ptr uchr,
- EventKind eKind,
- UInt32 keycode,
- UInt32 modifiers,
- UInt32 *deadKeyStatePtr)
-{
- int action;
- unsigned long keyboardType;
- OptionBits options = 0;
- UInt32 dummy_state;
- UniCharCount actuallength;
- OSStatus err;
-
- keycode &= 0xFF;
- modifiers = (modifiers >> 8) & 0xFF;
- keyboardType = LMGetKbdType();
-
- if (NULL==deadKeyStatePtr) {
- options = kUCKeyTranslateNoDeadKeysMask;
- dummy_state = 0;
- deadKeyStatePtr = &dummy_state;
- }
-
- switch(eKind) {
- case kEventRawKeyDown:
- action = kUCKeyActionDown;
- break;
- case kEventRawKeyUp:
- action = kUCKeyActionUp;
- break;
- case kEventRawKeyRepeat:
- action = kUCKeyActionAutoKey;
- break;
- default:
- TkMacOSXDbgMsg("Invalid parameter eKind %d", eKind);
- return 0;
- }
-
- err = ChkErr(UCKeyTranslate, (const UCKeyboardLayout *) uchr, keycode,
- action, modifiers, keyboardType, options, deadKeyStatePtr,
- maxChars, &actuallength, uniChars);
-
- if ((0 == actuallength) && (0 != *deadKeyStatePtr)) {
- /*
- * More data later
- */
-
- return 0;
- }
-
- /*
- * Some IMEs leave residue. :-(
- */
-
- *deadKeyStatePtr = 0;
-
- if (err != noErr) {
- actuallength = 0;
- }
-
- return actuallength;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * KeycodeToUnicodeViaKCHRResource --
- *
- * Given MacOS key event data this function generates the Unicode
- * characters. It does this using a 'KCHR' and the KeyTranslate API.
- *
- * The parameter deadKeyStatePtr can be NULL, if no deadkey handling is
- * needed.
- *
- * Results:
- * The number of characters generated if any, 0 if we are waiting for
- * another byte of a dead-key sequence. Fills in the uniChars array with a
- * Unicode string.
- *
- * Side Effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-static int
-KeycodeToUnicodeViaKCHRResource(
- UniChar *uniChars,
- int maxChars,
- Ptr kchr,
- TextEncoding encoding,
- EventKind eKind,
- UInt32 keycode,
- UInt32 modifiers,
- UInt32 *deadKeyStatePtr)
-{
- UInt32 result;
- char macBuff[3];
- char *macStr;
- int macStrLen, uniStrLen;
- UInt32 dummy_state = 0;
- CFStringRef cfString;
-
- if (NULL == deadKeyStatePtr) {
- deadKeyStatePtr = &dummy_state;
- }
-
- keycode |= modifiers;
- result = KeyTranslate(kchr, keycode, deadKeyStatePtr);
-
- if ((0 == result) && (0 != dummy_state)) {
- /*
- * 'dummy_state' gets only filled if the caller did not want deadkey
- * processing (deadKeyStatePtr was NULL originally), but we still have
- * a deadkey. We just push the keycode for the space bar to get the
- * real key value.
- */
-
- result = KeyTranslate(kchr, 0x31, deadKeyStatePtr);
- *deadKeyStatePtr = 0;
- }
-
- if ((0 == result) && (0 != *deadKeyStatePtr)) {
- /*
- * More data later
- */
-
- return 0;
- }
-
- macBuff[0] = (char) (result >> 16);
- macBuff[1] = (char) result;
- macBuff[2] = 0;
-
- if (0 != macBuff[0]) {
- /*
- * If the first byte is valid, the second is too.
- */
-
- macStr = macBuff;
- macStrLen = 2;
- } else if (0 != macBuff[1]) {
- /*
- * Only the second is valid.
- */
-
- macStr = macBuff+1;
- macStrLen = 1;
- } else {
- /*
- * No valid bytes at all -- shouldn't happen.
- */
-
- macStr = NULL;
- macStrLen = 0;
- }
-
- if (macStrLen <= 0) {
- return 0;
- }
-
- /*
- * Use the CFString conversion routines. This is the easiest and most
- * compatible way to get from an 8-bit string and a MacOS script code to a
- * Unicode string.
- *
- * FIXME: The system ships with an Irish 'KCHR' but without the
- * corresponding macCeltic encoding, which triggers the error below. Tcl
- * doesn't have the macCeltic encoding either right now, so until we get
- * that, we can just as well stick to this code. The right fix would be to
- * use the Tcl encodings and add macCeltic and probably others
- * there. Suitable Unicode data files for the missing encodings are
- * available from www.evertype.com.
- */
-
- cfString = CFStringCreateWithCStringNoCopy(NULL, macStr, encoding,
- kCFAllocatorNull);
- if (cfString == NULL) {
- TkMacOSXDbgMsg("CFString: Can't convert with encoding %ld", encoding);
- return 0;
- }
-
- uniStrLen = CFStringGetLength(cfString);
- if (uniStrLen > maxChars) {
- uniStrLen = maxChars;
- }
- CFStringGetCharacters(cfString, CFRangeMake(0,uniStrLen), uniChars);
- CFRelease(cfString);
-
- return uniStrLen;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXKeycodeToUnicode --
- *
- * Given MacOS key event data this function generates the Unicode
- * characters. It does this using OS resources and APIs.
- *
- * The parameter deadKeyStatePtr can be NULL, if no deadkey handling is
- * needed.
- *
- * This function is called from XKeycodeToKeysym() in tkMacOSKeyboard.c.
- *
- * Results:
- * The number of characters generated if any, 0 if we are waiting for
- * another byte of a dead-key sequence. Fills in the uniChars array with a
- * Unicode string.
- *
- * Side Effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXKeycodeToUnicode(
- UniChar *uniChars,
- int maxChars,
- EventKind eKind,
- UInt32 keycode,
- UInt32 modifiers,
- UInt32 *deadKeyStatePtr)
-{
- Ptr resource = NULL;
- TextEncoding encoding;
-
- if (GetKeyboardLayout(&resource, &encoding)) {
- return KeycodeToUnicodeViaUnicodeResource(uniChars, maxChars,
- resource, eKind, keycode, modifiers, deadKeyStatePtr);
- } else {
- return KeycodeToUnicodeViaKCHRResource(uniChars, maxChars, resource,
- encoding, eKind, keycode, modifiers, deadKeyStatePtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XGrabKeyboard --
- *
- * Simulates a keyboard grab by setting the focus.
- *
- * Results:
- * Always returns GrabSuccess.
- *
- * Side effects:
- * Sets the keyboard focus to the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XGrabKeyboard(
- Display* display,
- Window grab_window,
- Bool owner_events,
- int pointer_mode,
- int keyboard_mode,
- Time time)
-{
- keyboardGrabWinPtr = Tk_IdToWindow(display, grab_window);
-
- return GrabSuccess;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XUngrabKeyboard --
- *
- * Releases the simulated keyboard grab.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the keyboard focus back to the value before the grab.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XUngrabKeyboard(
- Display* display,
- Time time)
-{
- keyboardGrabWinPtr = NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetCapture --
- *
- * Results:
- * Returns the current grab window
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-TkMacOSXGetCapture(void)
-{
- return grabWinPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetCapture --
- *
- * This function captures the mouse so that all future events will be
- * reported to this window, even if the mouse is outside the window. If
- * the specified window is NULL, then the mouse is released.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the capture flag and captures the mouse.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetCapture(
- TkWindow *winPtr) /* Capture window, or NULL. */
-{
- while (winPtr && !Tk_IsTopLevel(winPtr)) {
- winPtr = winPtr->parentPtr;
- }
-#if 0
- {
- TkWindow *w = NULL;
- WindowModality m;
-
- if (winPtr) {
- w = winPtr;
- m = kWindowModalityAppModal;
- } else if (grabWinPtr) {
- w = (TkWindow *) grabWinPtr;
- m = kWindowModalityNone;
- }
-
- if (w && w->window != None && TkMacOSXHostToplevelExists(w)) {
- ChkErr(SetWindowModality, TkMacOSXDrawableWindow(w->window), m,
- NULL);
- }
- }
-#endif
- grabWinPtr = (Tk_Window) winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_SetCaretPos --
- *
- * This enables correct placement of the XIM caret. This is called by
- * widgets to indicate their cursor placement, and the caret location is
- * used by TkpGetString to place the XIM caret.
- *
- * Results:
- * None
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_SetCaretPos(
- Tk_Window tkwin,
- int x,
- int y,
- int height)
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitKeyboard --
- *
- * This procedure initializes the keyboard layout.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXInitKeyboard(
- Tcl_Interp *interp)
-{
- Ptr resource;
- TextEncoding encoding;
-
- GetKeyboardLayout(&resource, &encoding);
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXKeyboard.c b/carbon/tkMacOSXKeyboard.c
deleted file mode 100644
index 00e73f6..0000000
--- a/carbon/tkMacOSXKeyboard.c
+++ /dev/null
@@ -1,841 +0,0 @@
-/*
- * tkMacOSXKeyboard.c --
- *
- * Routines to support keyboard events on the Macintosh.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXInt.h"
-#include "tkMacOSXEvent.h" /* for TkMacOSXKeycodeToUnicode()
- * FIXME: That function should probably move
- * here. */
-
-/*
- * A couple of simple definitions to make code a bit more self-explaining.
- *
- * For the assignments of Mod1==meta==command and Mod2==alt==option, see also
- * tkMacOSXMouseEvent.c.
- */
-
-#define LATIN1_MAX 255
-#define MAC_KEYCODE_MAX 0x7F
-#define MAC_KEYCODE_MASK 0x7F
-#define COMMAND_MASK Mod1Mask
-#define OPTION_MASK Mod2Mask
-
-
-/*
- * Tables enumerating the special keys defined on Mac keyboards. These are
- * necessary for correct keysym mappings for all keys where the keysyms are
- * not identical with their ASCII or Latin-1 code points.
- */
-
-typedef struct {
- int keycode; /* Macintosh keycode. */
- KeySym keysym; /* X windows keysym. */
-} KeyInfo;
-
-/*
- * Notes on keyArray:
- *
- * 0x34, XK_Return - Powerbooks use this and some keymaps define it.
- *
- * 0x4C, XK_Return - XFree86 and Apple's X11 call this one XK_KP_Enter.
- *
- * 0x47, XK_Clear - This key is NumLock when used on PCs, but Mac
- * applications don't use it like that, nor does Apple's X11.
- *
- * All other keycodes are taken from the published ADB keyboard layouts.
- */
-
-static KeyInfo keyArray[] = {
- {0x24, XK_Return},
- {0x30, XK_Tab},
- {0x33, XK_BackSpace},
- {0x34, XK_Return},
- {0x35, XK_Escape},
-
- {0x47, XK_Clear},
- {0x4C, XK_KP_Enter},
-
- {0x72, XK_Help},
- {0x73, XK_Home},
- {0x74, XK_Page_Up},
- {0x75, XK_Delete},
- {0x77, XK_End},
- {0x79, XK_Page_Down},
-
- {0x7B, XK_Left},
- {0x7C, XK_Right},
- {0x7D, XK_Down},
- {0x7E, XK_Up},
-
- {0, 0}
-};
-
-static KeyInfo virtualkeyArray[] = {
- {122, XK_F1},
- {120, XK_F2},
- {99, XK_F3},
- {118, XK_F4},
- {96, XK_F5},
- {97, XK_F6},
- {98, XK_F7},
- {100, XK_F8},
- {101, XK_F9},
- {109, XK_F10},
- {103, XK_F11},
- {111, XK_F12},
- {105, XK_F13},
- {107, XK_F14},
- {113, XK_F15},
- {0, 0}
-};
-
-static int initialized = 0;
-static Tcl_HashTable keycodeTable; /* keyArray hashed by keycode value. */
-static Tcl_HashTable vkeyTable; /* virtualkeyArray hashed by virtual
- * keycode value. */
-
-static int latin1Table[LATIN1_MAX+1]; /* Reverse mapping table for
- * controls, ASCII and Latin-1. */
-
-/*
- * Prototypes for static functions used in this file.
- */
-
-static void InitKeyMaps (void);
-static void InitLatin1Table(Display *display);
-static int XKeysymToMacKeycode(Display *display, KeySym keysym);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * InitKeyMaps --
- *
- * Creates hash tables used by some of the functions in this file.
- *
- * FIXME: As keycodes are defined to be in the limited range 0-127, it
- * would be easier and more efficient to use directly initialized plain
- * arrays and drop this function.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Allocates memory & creates some hash tables.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-InitKeyMaps(void)
-{
- Tcl_HashEntry *hPtr;
- KeyInfo *kPtr;
- int dummy;
-
- Tcl_InitHashTable(&keycodeTable, TCL_ONE_WORD_KEYS);
- for (kPtr = keyArray; kPtr->keycode != 0; kPtr++) {
- hPtr = Tcl_CreateHashEntry(&keycodeTable, (char *) kPtr->keycode,
- &dummy);
- Tcl_SetHashValue(hPtr, kPtr->keysym);
- }
- Tcl_InitHashTable(&vkeyTable, TCL_ONE_WORD_KEYS);
- for (kPtr = virtualkeyArray; kPtr->keycode != 0; kPtr++) {
- hPtr = Tcl_CreateHashEntry(&vkeyTable, (char *) kPtr->keycode,
- &dummy);
- Tcl_SetHashValue(hPtr, kPtr->keysym);
- }
- initialized = 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitLatin1Table --
- *
- * Creates a simple table to be used for mapping from keysyms to keycodes.
- * Always needs to be called before using latin1Table, because the
- * keyboard layout may have changed, and than the table must be
- * re-computed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the global latin1Table.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-InitLatin1Table(
- Display *display)
-{
- static Boolean latin1_initialized = false;
- static SInt16 lastKeyLayoutID = -1;
-
- SInt16 keyScript;
- SInt16 keyLayoutID;
-
- keyScript = GetScriptManagerVariable(smKeyScript);
- keyLayoutID = GetScriptVariable(keyScript,smScriptKeys);
-
- if (!latin1_initialized || (lastKeyLayoutID != keyLayoutID)) {
- int keycode;
- KeySym keysym;
- int state;
- int modifiers;
-
- latin1_initialized = true;
- lastKeyLayoutID = keyLayoutID;
-
- memset(latin1Table, 0, sizeof(latin1Table));
-
- /*
- * In the common X11 implementations, a keymap has four columns
- * "plain", "Shift", "Mode_switch" and "Mode_switch + Shift". We don't
- * use "Mode_switch", but we use "Option" instead. (This is similar to
- * Apple's X11 implementation, where "Mode_switch" is used as an alias
- * for "Option".)
- *
- * So here we go through all 4 columns of the keymap and find all
- * Latin-1 compatible keycodes. We go through the columns back-to-front
- * from the more exotic columns to the more simple, so that simple
- * keycode-modifier combinations are preferred in the resulting table.
- */
-
- for (state = 3; state >= 0; state--) {
- modifiers = 0;
- if (state & 1) {
- modifiers |= shiftKey;
- }
- if (state & 2) {
- modifiers |= optionKey;
- }
-
- for (keycode = 0; keycode <= MAC_KEYCODE_MAX; keycode++) {
- keysym = XKeycodeToKeysym(display,keycode<<16,state);
- if (keysym <= LATIN1_MAX) {
- latin1Table[keysym] = keycode | modifiers;
- }
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeycodeToKeysym --
- *
- * Translate from a system-dependent keycode to a system-independent
- * keysym.
- *
- * Results:
- * Returns the translated keysym, or NoSymbol on failure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-KeySym
-XKeycodeToKeysym(
- Display* display,
- KeyCode keycode,
- int index)
-{
- register Tcl_HashEntry *hPtr;
- int newKeycode;
- UniChar newChar;
-
- (void) display; /*unused*/
-
- if (!initialized) {
- InitKeyMaps();
- }
-
- /*
- * When determining what keysym to produce we first check to see if the key
- * is a function key. We then check to see if the character is another
- * non-printing key. Finally, we return the key syms for all ASCII and
- * Latin-1 chars.
- */
-
- newKeycode = keycode >> 16;
-
- if ((keycode & 0xFFFF) == 0x10) {
- hPtr = Tcl_FindHashEntry(&vkeyTable, (char *) newKeycode);
- if (hPtr != NULL) {
- return (KeySym) Tcl_GetHashValue(hPtr);
- }
- }
- hPtr = Tcl_FindHashEntry(&keycodeTable, (char *) newKeycode);
- if (hPtr != NULL) {
- return (KeySym) Tcl_GetHashValue(hPtr);
- }
-
- /*
- * Add in the Mac modifier flags for shift and option.
- */
-
- if (index & 1) {
- newKeycode |= shiftKey;
- }
- if (index & 2) {
- newKeycode |= optionKey;
- }
-
- newChar = 0;
- TkMacOSXKeycodeToUnicode(&newChar, 1, kEventRawKeyDown,
- newKeycode & 0x00FF, newKeycode & 0xFF00, NULL);
-
- /*
- * X11 keysyms are identical to Unicode for ASCII and Latin-1. Give up for
- * other characters for now.
- */
-
- if ((newChar >= XK_space) && (newChar <= LATIN1_MAX)) {
- return newChar;
- }
-
- return NoSymbol;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetString --
- *
- * Retrieve the string equivalent for the given keyboard event.
- *
- * Results:
- * Returns the UTF string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-const char *
-TkpGetString(
- TkWindow *winPtr, /* Window where event occurred: Needed to get
- * input context. */
- XEvent *eventPtr, /* X keyboard event. */
- Tcl_DString *dsPtr) /* Uninitialized or empty string to hold
- * result. */
-{
- (void) winPtr; /*unused*/
- Tcl_DStringInit(dsPtr);
- return Tcl_DStringAppend(dsPtr, eventPtr->xkey.trans_chars, -1);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XGetModifierMapping --
- *
- * Fetch the current keycodes used as modifiers.
- *
- * Results:
- * Returns a new modifier map.
- *
- * Side effects:
- * Allocates a new modifier map data structure.
- *
- *----------------------------------------------------------------------
- */
-
-XModifierKeymap *
-XGetModifierMapping(
- Display *display)
-{
- XModifierKeymap *modmap;
-
- (void) display; /*unused*/
-
- /*
- * MacOSX doesn't use the key codes for the modifiers for anything, and we
- * don't generate them either. So there is no modifier map.
- */
-
- modmap = ckalloc(sizeof(XModifierKeymap));
- modmap->max_keypermod = 0;
- modmap->modifiermap = NULL;
- return modmap;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XFreeModifiermap --
- *
- * Deallocate a modifier map that was created by XGetModifierMapping.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Frees the datastructure referenced by modmap.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XFreeModifiermap(
- XModifierKeymap *modmap)
-{
- if (modmap->modifiermap != NULL) {
- ckfree(modmap->modifiermap);
- }
- ckfree(modmap);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeysymToString, XStringToKeysym --
- *
- * These X window functions map keysyms to strings & strings to keysyms.
- * However, Tk already does this for the most common keysyms. Therefore,
- * these functions only need to support keysyms that will be specific to
- * the Macintosh. Currently, there are none.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-char *
-XKeysymToString(
- KeySym keysym)
-{
- return NULL;
-}
-
-KeySym
-XStringToKeysym(
- const char* string)
-{
- return NoSymbol;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeysymToMacKeycode --
- *
- * An internal function like XKeysymToKeycode but only generating the Mac
- * specific keycode plus the modifiers Shift and Option.
- *
- * Results:
- * A Mac keycode with the actual keycode in the low byte and Mac-style
- * modifier bits in the high byte.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-XKeysymToMacKeycode(
- Display *display,
- KeySym keysym)
-{
- KeyInfo *kPtr;
-
- if (keysym <= LATIN1_MAX) {
- /*
- * Handle keysyms in the Latin-1 range where keysym and Unicode
- * character code point are the same.
- */
-
- InitLatin1Table(display);
- return latin1Table[keysym];
- }
-
- /*
- * Handle special keys from our exception tables. Don't mind if this is
- * slow, neither the test suite nor [event generate] need to be optimized
- * (we hope).
- */
-
- for (kPtr = keyArray; kPtr->keycode != 0; kPtr++) {
- if (kPtr->keysym == keysym) {
- return kPtr->keycode;
- }
- }
- for (kPtr = virtualkeyArray; kPtr->keycode != 0; kPtr++) {
- if (kPtr->keysym == keysym) {
- return kPtr->keycode;
- }
- }
-
- /*
- * For other keysyms (not Latin-1 and not special keys), we'd need a
- * generic keysym-to-unicode table. We don't have that, so we give up here.
- */
-
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeysymToKeycode --
- *
- * The function XKeysymToKeycode takes an X11 keysym and converts it into
- * a Mac keycode. It is in the stubs table for compatibility but not used
- * anywhere in the core.
- *
- * Results:
- * A 32 bit keycode with the the mac keycode (without modifiers) in the
- * higher 16 bits of the keycode and the ASCII or Latin-1 code in the
- * lower 8 bits of the keycode.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-KeyCode
-XKeysymToKeycode(
- Display* display,
- KeySym keysym)
-{
- int macKeycode = XKeysymToMacKeycode(display, keysym);
- KeyCode result;
-
- /*
- * See also TkpSetKeycodeAndState. The 0x0010 magic is used in
- * XKeycodeToKeysym. For special keys like XK_Return the lower 8 bits of
- * the keysym are usually a related ASCII control code.
- */
-
- if ((keysym >= XK_F1) && (keysym <= XK_F35)) {
- result = 0x0010;
- } else {
- result = 0x00FF & keysym;
- }
- result |= (macKeycode & MAC_KEYCODE_MASK) << 16;
-
- return result;
-}
-
-/*
-NB: Keep this commented code for a moment for reference.
-
- if ((keysym >= XK_space) && (XK_asciitilde)) {
- if (keysym == 'a') {
- virtualKeyCode = 0x00;
- } else if (keysym == 'b' || keysym == 'B') {
- virtualKeyCode = 0x0B;
- } else if (keysym == 'c') {
- virtualKeyCode = 0x08;
- } else if (keysym == 'x' || keysym == 'X') {
- virtualKeyCode = 0x07;
- } else if (keysym == 'z') {
- virtualKeyCode = 0x06;
- } else if (keysym == ' ') {
- virtualKeyCode = 0x31;
- } else if (keysym == XK_Return) {
- virtualKeyCode = 0x24;
- keysym = '\r';
- }
- keycode = keysym + (virtualKeyCode <<16);
- }
-
- return keycode;
-*/
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetKeycodeAndState --
- *
- * The function TkpSetKeycodeAndState takes a keysym and fills in the
- * appropriate members of an XEvent. It is similar to XKeysymToKeycode,
- * but it also sets the modifier mask in the XEvent. It is used by [event
- * generate] and it is in the stubs table.
- *
- * Results:
- * Fills an XEvent, sets the member xkey.keycode with a keycode
- * formatted the same as XKeysymToKeycode and the member xkey.state with
- * the modifiers implied by the keysym. Also fills in xkey.trans_chars,
- * so that the actual characters can be retrieved later.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetKeycodeAndState(
- Tk_Window tkwin,
- KeySym keysym,
- XEvent *eventPtr)
-{
- if (keysym == NoSymbol) {
- eventPtr->xkey.keycode = 0;
- } else {
- Display *display = Tk_Display(tkwin);
- int macKeycode = XKeysymToMacKeycode(display, keysym);
-
- /*
- * See also XKeysymToKeycode.
- */
-
- if ((keysym >= XK_F1) && (keysym <= XK_F35)) {
- eventPtr->xkey.keycode = 0x0010;
- } else {
- eventPtr->xkey.keycode = 0x00FF & keysym;
- }
- eventPtr->xkey.keycode |= (macKeycode & MAC_KEYCODE_MASK) << 16;
-
- if (shiftKey & macKeycode) {
- eventPtr->xkey.state |= ShiftMask;
- }
- if (optionKey & macKeycode) {
- eventPtr->xkey.state |= OPTION_MASK;
- }
-
- if (keysym <= LATIN1_MAX) {
- int done = Tcl_UniCharToUtf(keysym, eventPtr->xkey.trans_chars);
-
- eventPtr->xkey.trans_chars[done] = 0;
- } else {
- eventPtr->xkey.trans_chars[0] = 0;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetKeySym --
- *
- * Given an X KeyPress or KeyRelease event, map the keycode in the event
- * into a keysym.
- *
- * Results:
- * The return value is the keysym corresponding to eventPtr, or NoSymbol
- * if no matching keysym could be found.
- *
- * Side effects:
- * In the first call for a given display, keycode-to-keysym maps get
- * loaded.
- *
- *----------------------------------------------------------------------
- */
-
-KeySym
-TkpGetKeySym(
- TkDisplay *dispPtr, /* Display in which to map keycode. */
- XEvent *eventPtr) /* Description of X event. */
-{
- KeySym sym;
- int index;
-
- /*
- * Refresh the mapping information if it's stale.
- */
-
- if (dispPtr->bindInfoStale) {
- TkpInitKeymapInfo(dispPtr);
- }
-
- /*
- * Handle pure modifier keys specially. We use -1 as a signal for
- * this.
- */
-
- if (eventPtr->xany.send_event == -1) {
- int modifier = eventPtr->xkey.keycode;
-
- if (modifier == cmdKey) {
- return XK_Meta_L;
- } else if (modifier == shiftKey) {
- return XK_Shift_L;
- } else if (modifier == alphaLock) {
- return XK_Caps_Lock;
- } else if (modifier == optionKey) {
- return XK_Alt_L;
- } else if (modifier == controlKey) {
- return XK_Control_L;
- } else if (modifier == kEventKeyModifierNumLockMask) {
- return XK_Num_Lock;
- } else if (modifier == kEventKeyModifierFnMask) {
- return XK_Super_L;
- } else if (modifier == rightShiftKey) {
- return XK_Shift_R;
- } else if (modifier == rightOptionKey) {
- return XK_Alt_R;
- } else if (modifier == rightControlKey) {
- return XK_Control_R;
- } else {
- /*
- * If we get here, we probably need to implement something new.
- */
-
- return NoSymbol;
- }
- }
-
- /*
- * Figure out which of the four slots in the keymap vector to use for this
- * key. Refer to Xlib documentation for more info on how this computation
- * works. (Note: We use "Option" in keymap columns 2 and 3 where other
- * implementations have "Mode_switch".)
- */
-
- index = 0;
-
- /*
- * We want Option key combinations to use their base chars as keysyms, so
- * we ignore the option modifier here.
- */
-
-#if 0
- if (eventPtr->xkey.state & OPTION_MASK) {
- index |= 2;
- }
-#endif
-
- if ((eventPtr->xkey.state & ShiftMask)
- || (/* (dispPtr->lockUsage != LU_IGNORE)
- && */ (eventPtr->xkey.state & LockMask))) {
- index |= 1;
- }
-
- /*
- * First try of the actual translation.
- */
-
- sym = XKeycodeToKeysym(dispPtr->display, eventPtr->xkey.keycode, index);
-
- /*
- * Special handling: If the key was shifted because of Lock, but lock is
- * only caps lock, not shift lock, and the shifted keysym isn't upper-case
- * alphabetic, then switch back to the unshifted keysym.
- */
-
- if ((index & 1) && !(eventPtr->xkey.state & ShiftMask)
- /*&& (dispPtr->lockUsage == LU_CAPS)*/ ) {
- /*
- * FIXME: Keysyms are only identical to Unicode for ASCII and Latin-1,
- * so we can't use Tcl_UniCharIsUpper() for keysyms outside that range.
- * This may be a serious problem here.
- */
-
- if ((sym == NoSymbol) || (sym > LATIN1_MAX)
- || !Tcl_UniCharIsUpper(sym)) {
- index &= ~1;
- sym = XKeycodeToKeysym(dispPtr->display, eventPtr->xkey.keycode,
- index);
- }
- }
-
- /*
- * Another bit of special handling: If this is a shifted key and there is
- * no keysym defined, then use the keysym for the unshifted key.
- */
-
- if ((index & 1) && (sym == NoSymbol)) {
- sym = XKeycodeToKeysym(dispPtr->display, eventPtr->xkey.keycode,
- index & ~1);
- }
- return sym;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpInitKeymapInfo --
- *
- * This procedure is invoked to scan keymap information to recompute stuff
- * that's important for binding, such as the modifier key (if any) that
- * corresponds to the "Mode_switch" keysym.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Keymap-related information in dispPtr is updated.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpInitKeymapInfo(
- TkDisplay *dispPtr) /* Display for which to recompute keymap
- * information. */
-{
- dispPtr->bindInfoStale = 0;
-
- /*
- * Behaviours that are variable on X11 are defined constant on MacOSX.
- * lockUsage is only used above in TkpGetKeySym(), nowhere else currently.
- * There is no offical "Mode_switch" key.
- */
-
- dispPtr->lockUsage = LU_CAPS;
- dispPtr->modeModMask = 0;
-
-#if 0
- /*
- * With this, <Alt> and <Meta> become synonyms for <Command> and <Option>
- * in bindings like they are (and always have been) in the keysyms that
- * are reported by KeyPress events. But the init scripts like text.tcl
- * have some disabling bindings for <Meta>, so we don't want this without
- * some changes in those scripts. See also bug #700311.
- */
-
- dispPtr->altModMask = OPTION_MASK;
- dispPtr->metaModMask = COMMAND_MASK;
-#else
- dispPtr->altModMask = 0;
- dispPtr->metaModMask = 0;
-#endif
-
- /*
- * MacOSX doesn't use the keycodes for the modifiers for anything, and we
- * don't generate them either (the keycodes actually given in the simulated
- * modifier events are bogus). So there is no modifier map. If we ever want
- * to simulate real modifier keycodes, the list will be constant in the
- * Carbon implementation.
- */
-
- if (dispPtr->modKeyCodes != NULL) {
- ckfree(dispPtr->modKeyCodes);
- }
- dispPtr->numModKeyCodes = 0;
- dispPtr->modKeyCodes = NULL;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXMenu.c b/carbon/tkMacOSXMenu.c
deleted file mode 100644
index b02c289..0000000
--- a/carbon/tkMacOSXMenu.c
+++ /dev/null
@@ -1,4750 +0,0 @@
-/*
- * tkMacOSXMenu.c --
- *
- * This module implements the Mac-platform specific features of menus.
- *
- * Copyright (c) 1996-1997 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMenubutton.h"
-#include "tkMenu.h"
-#include "tkColor.h"
-#include "tkFont.h"
-#include "tkMacOSXDebug.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_MENUS
-#endif
-*/
-
-#define USE_TK_MDEF
-
-typedef struct MacMenu {
- MenuRef menuHdl; /* The Menu Manager data structure. */
-#ifdef USE_TK_MDEF
- int useMDEF; /* true if this menu uses the MDEF */
-#endif
-} MacMenu;
-
-typedef struct MenuEntryUserData {
- Drawable mdefDrawable;
- TkMenuEntry *mePtr;
- Tk_Font tkfont;
- Tk_FontMetrics *fmPtr;
-} MenuEntryUserData;
-
-/*
- * Platform specific flags for menu entries
- *
- * ENTRY_COMMAND_ACCEL Indicates the entry has the command key
- * in its accelerator string.
- * ENTRY_OPTION_ACCEL Indicates the entry has the option key
- * in its accelerator string.
- * ENTRY_SHIFT_ACCEL Indicates the entry has the shift key
- * in its accelerator string.
- * ENTRY_CONTROL_ACCEL Indicates the entry has the control key
- * in its accelerator string.
- */
-
-#define ENTRY_COMMAND_ACCEL ENTRY_PLATFORM_FLAG1
-#define ENTRY_OPTION_ACCEL ENTRY_PLATFORM_FLAG2
-#define ENTRY_SHIFT_ACCEL ENTRY_PLATFORM_FLAG3
-#define ENTRY_CONTROL_ACCEL ENTRY_PLATFORM_FLAG4
-#define ENTRY_ACCEL_MASK (ENTRY_COMMAND_ACCEL | ENTRY_OPTION_ACCEL \
- | ENTRY_SHIFT_ACCEL | ENTRY_CONTROL_ACCEL)
-#define MODIFIER_NUM 4
-
-/*
- * This structure is used to keep track of subfields within Macintosh menu
- * items.
- */
-
-typedef struct EntryGeometry {
- int accelTextStart; /* Offset into the accel string where the text
- * starts. Everything before this is modifier
- * key descriptions. */
- int modifierWidth; /* Width of modifier symbols. */
- int accelTextWidth; /* Width of the text after the modifier
- * keys. */
- int nonAccelMargin; /* The width of the margin for entries without
- * accelerators. */
- int modifierNum; /* Number of modifiers */
- Tcl_UniChar modifierUniChars[MODIFIER_NUM];
- /* Modifiers in unicode */
- char accelGlyph; /* Accelerator glyph, if any */
-} EntryGeometry;
-
-/*
- * Structure to keep track of toplevel windows and their menubars.
- */
-
-typedef struct TopLevelMenubarList {
- struct TopLevelMenubarList *nextPtr;
- /* The next window in the list. */
- Tk_Window tkwin; /* The toplevel window. */
- TkMenu *menuPtr; /* The menu associated with this toplevel. */
-} TopLevelMenubarList;
-
-/*
- * Platform-specific flags for menus.
- *
- * MENU_APPLE_MENU 0 indicates a custom Apple menu has not been
- * installed; 1 a custom Apple menu has been
- * installed.
- * MENU_HELP_MENU 0 indicates a custom Help menu has not been
- * installed; 1 a custom Help menu has been
- * installed.
- * MENU_RECONFIGURE_PENDING 1 indicates that an idle handler has been
- * scheduled to reconfigure the Macintosh
- * MenuHandle.
- */
-
-#define MENU_APPLE_MENU MENU_PLATFORM_FLAG1
-#define MENU_HELP_MENU MENU_PLATFORM_FLAG2
-#define MENU_RECONFIGURE_PENDING MENU_PLATFORM_FLAG3
-
-#define CASCADE_CMD (0x1b) /* The special command char for cascade
- * menus. */
-#define MENUBAR_REDRAW_PENDING 1
-
-static int gNoTkMenus = 0; /* This is used by Tk_MacOSXTurnOffMenus as
- * the flag that Tk is not to draw any
- * menus. */
-
-static Tcl_HashTable commandTable;
- /* The list of menuInstancePtrs associated
- * with menu ids. */
-static short currentAppleMenuID;
- /* The id of the current Apple menu. 0 for
- * none. */
-static short currentHelpMenuID; /* The id of the current Help menu. 0 for
- * none. */
-static Tcl_Interp *currentMenuBarInterp;
- /* The interpreter of the window that owns the
- * current menubar. */
-static char *currentMenuBarName;
- /* Malloced. Name of current menu in menu bar.
- * NULL if no menu set. TO DO: make this a
- * DString. */
-static Tk_Window currentMenuBarOwner;
- /* Which window owns the current menu bar. */
-static int inPostMenu; /* We cannot be re-entrant like X windows. */
-static short lastMenuID; /* To pass to NewMenu; need to figure out a
- * good way to do this. */
-static short lastCascadeID; /* Cascades have to have ids that are less
- * than 256. */
-static int menuBarFlags; /* Used for whether the menu bar needs
- * redrawing or not. */
-
-struct MenuCommandHandlerData { /* This is the ClientData we pass to */
- TkMenu *menuPtr; /* Tcl_DoWhenIdle to move handling */
- int index; /* menu commands to the event loop. */
-};
-
-static TopLevelMenubarList *windowListPtr;
- /* A list of windows that have menubars set. */
-
-/*
- * Array of unicode, charcode and utf representations of the most common
- * special menu symbols.
- */
-
-typedef struct MenuSymbol {
- const Tcl_UniChar unicode;
- const char charCode;
- /* char padding; */
- int utfLen, width;
- char utf[TCL_UTF_MAX + 1];
-} MenuSymbol;
-
-static MenuSymbol menuSymbols[] = {
- {kCommandUnicode, kCommandCharCode},
- {kOptionUnicode, kMenuOptionGlyph},
- {kControlUnicode, kMenuControlGlyph},
- {kShiftUnicode, kMenuShiftGlyph},
- {kCheckUnicode, kCheckCharCode},
- {kDiamondUnicode, kDiamondCharCode},
- {kBulletUnicode, kBulletCharCode},
- {0x2026, kNullCharCode},
- {0, 0},
-};
-
-enum MenuSymbolIdx {
- COMMAND_SYMBOL,
- OPTION_SYMBOL,
- CONTROL_SYMBOL,
- SHIFT_SYMBOL,
- CHECK_SYMBOL,
- DIAMDOND_SYMBOL,
- BULLET_SYMBOL,
- ELLIPSIS_SYMBOL,
-};
-
-MenuRef tkCurrentAppleMenu = NULL;
-
-static SInt32 menuMarkColumnWidth = 0, menuMarkIndent = 0;
-static SInt32 menuTextLeadingEdgeMargin = 0, menuTextTrailingEdgeMargin = 0;
-static SInt16 menuItemExtraHeight = 0, menuItemExtraWidth = 0;
-static SInt16 menuSeparatorHeight = 0;
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-MODULE_SCOPE int TkMacOSXGetNewMenuID(Tcl_Interp *interp,
- TkMenu *menuInstPtr, int cascade,
- short *menuIDPtr);
-MODULE_SCOPE void TkMacOSXFreeMenuID(short menuID);
-
-static void CompleteIdlers(TkMenu *menuPtr);
-static void DrawMenuBarWhenIdle(ClientData clientData);
-static void DrawMenuEntryAccelerator(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Drawable d, GC gc,
- Tk_Font tkfont, const Tk_FontMetrics *fmPtr,
- Tk_3DBorder activeBorder, int x, int y, int width,
- int height, int drawArrow);
-static void DrawMenuEntryBackground(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Drawable d,
- Tk_3DBorder activeBorder, Tk_3DBorder bgBorder,
- int x, int y, int width, int heigth);
-static void DrawMenuEntryIndicator(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Drawable d, GC gc,
- GC indicatorGC, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int x, int y,
- int width, int height);
-static void DrawMenuEntryLabel(TkMenu *menuPtr,TkMenuEntry *mePtr,
- Drawable d, GC gc, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int x, int y,
- int width, int height);
-static void DrawMenuSeparator(TkMenu *menuPtr, TkMenuEntry *mePtr,
- Drawable d, GC gc, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int x, int y,
- int width, int height);
-static void DrawTearoffEntry(TkMenu *menuPtr, TkMenuEntry *mePtr,
- Drawable d, GC gc, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int x, int y,
- int width, int height);
-static void EventuallyInvokeMenu(ClientData data);
-static void GetEntryText(TkMenuEntry *mePtr,
- Tcl_DString *dStringPtr);
-static void GetMenuAccelGeometry(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int *modWidthPtr,
- int *textWidthPtr, int *heightPtr);
-static void GetMenuLabelGeometry(TkMenuEntry *mePtr,
- Tk_Font tkfont, const Tk_FontMetrics *fmPtr,
- int *widthPtr, int *heightPtr);
-static void GetMenuIndicatorGeometry(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int *widthPtr,
- int *heightPtr);
-static void GetMenuSeparatorGeometry(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int *widthPtr,
- int *heightPtr);
-static TkMenuEntry * GetParentMenuEntry(TkMenu *menuPtr);
-static void GetTearoffEntryGeometry(TkMenu *menuPtr,
- TkMenuEntry *mePtr, Tk_Font tkfont,
- const Tk_FontMetrics *fmPtr, int *widthPtr,
- int *heightPtr);
-static char FindMarkCharacter(TkMenuEntry *mePtr);
-static int GetUtfMarkCharacter(char markChar,
- const char **markUtfPtr);
-static TkMenu * MenuPtrForMenuRef(MenuRef menu);
-static int ParseAccelerators(const char **accelStringPtr,
- int *modifierNumPtr,
- Tcl_UniChar *modifierUniChars,
- int *modifierWidth);
-static void MenuSelectEvent(TkMenu *menuPtr);
-static void ReconfigureIndividualMenu(TkMenu *menuPtr,
- MenuHandle macMenuHdl, int base);
-static void ReconfigureMacintoshMenu(ClientData clientData);
-static void RecursivelyClearActiveMenu(TkMenu *menuPtr);
-static void RecursivelyDeleteMenu(TkMenu *menuPtr);
-static void RecursivelyInsertMenu(TkMenu *menuPtr);
-static void SetDefaultMenubar(void);
-static int SetMenuCascade(TkMenu *menuPtr);
-
-#ifdef USE_TK_MDEF
-#define SCREEN_MARGIN 5
-static MacDrawable macMDEFDrawable;
- /* Drawable for use by MDEF code */
-static int MDEFScrollFlag = 0; /* Used so that popups don't scroll too
- * soon. */
-static MenuItemDrawingUPP tkThemeMenuItemDrawingUPP;
- /* Points to the UPP for theme Item
- * drawing. */
-static Tcl_Obj *useMDEFVar;
-
-static void DrawMenuBackground(TkMenu *menuPtr, Rect *menuRectPtr,
- Drawable d);
-static void MenuDefProc(short message, MenuHandle menu,
- Rect *menuRectPtr, Point hitPt, short *whichItem);
-static void HandleMenuHiliteMsg(MenuRef menu, Rect *menuRectPtr,
- Point hitPt, SInt16 *whichItem, TkMenu *menuPtr);
-static void HandleMenuDrawMsg(MenuRef menu, Rect *menuRectPtr,
- Point hitPt, SInt16 *whichItem, TkMenu *menuPtr);
-static void HandleMenuFindItemMsg(MenuRef menu, Rect *menuRectPtr,
- Point hitPt, SInt16 *whichItem, TkMenu *menuPtr);
-static void HandleMenuPopUpMsg(MenuRef menu, Rect *menuRectPtr,
- Point hitPt, SInt16 *whichItem, TkMenu *menuPtr);
-static void HandleMenuCalcItemMsg(MenuRef menu, Rect *menuRectPtr,
- Point hitPt, SInt16 *whichItem, TkMenu *menuPtr);
-static void AppearanceEntryDrawWrapper(TkMenuEntry *mePtr,
- Rect *menuRectPtr, MenuTrackingData *mtdPtr,
- Drawable d, Tk_FontMetrics *fmPtr, Tk_Font tkfont,
- int erase);
-static pascal void ThemeMenuItemDrawingProc(const Rect *inBounds,
- SInt16 inDepth, Boolean inIsColorDevice,
- SInt32 inUserData);
-#else /* USE_TK_MDEF */
-# define useMDEF 0
-#endif /* USE_TK_MDEF */
-
-#define IS_THEME_MENU_FONT(tkfont) (strcmp(Tk_NameOfFont(tkfont), "menu") == 0)
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawThemeText --
- *
- * Wrapper for DrawThemeTextBox API.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-DrawThemeText(
- Drawable d,
- GC gc,
- CFStringRef string,
- ThemeFontID font,
- ThemeDrawState drawState,
- const Rect* bounds,
- int baseline,
- int just)
-{
- TkMacOSXDrawingContext dc;
- Rect adjustedBounds;
-
- /*
- * Menu item text drawn with the .Keyboard font (used for
- * kThemeMenuItemCmdKeyFont) won't always have the same ascent and
- * baseline as text drawn with the regular menu item font, since the
- * glyphs in the .Keyboard font may have a different height. Therefore, we
- * first determine the baseline of the text and then adjust the bounds
- * rect so the baseline aligns with the overall baseline of the menu item.
- */
-
- if (font == kThemeMenuItemCmdKeyFont) {
- Point size;
- SInt16 cmdKeyBaseline;
-
- GetThemeTextDimensions(string, font, drawState, false, &size,
- &cmdKeyBaseline);
- adjustedBounds = *bounds;
- OffsetRect(&adjustedBounds, 0, baseline - bounds->top - size.v -
- cmdKeyBaseline);
- bounds = &adjustedBounds;
- }
- if (TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- ChkErr(DrawThemeTextBox, string, font, drawState, false, bounds, just,
- dc.context);
- TkMacOSXRestoreDrawingContext(&dc);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MeasureThemeText --
- *
- * Wrapper for GetThemeTextDimensions API.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-MeasureThemeText(
- CFStringRef string,
- ThemeFontID font)
-{
- Point pt;
-
- ChkErr(GetThemeTextDimensions, string, font, kThemeStateActive, false, &pt,
- NULL);
- return pt.h;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUseID --
- *
- * Take the ID out of the available list for new menus. Used by the
- * default menu bar's menus so that they do not get created at the tk
- * level. See TkMacOSXGetNewMenuID for more information.
- *
- * Results:
- * Returns TCL_OK if the id was not in use. Returns TCL_ERROR if the id
- * was in use.
- *
- * Side effects:
- * A hash table entry in the command table is created with a NULL value.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXUseMenuID(
- short macID) /* The id to take out of the table */
-{
- Tcl_HashEntry *commandEntryPtr;
- int newEntry;
- int iMacID = macID; /* Do this to remove compiler warning */
-
- TkMenuInit();
- commandEntryPtr = Tcl_CreateHashEntry(&commandTable, (char *) iMacID,
- &newEntry);
- if (!newEntry) {
- return TCL_ERROR;
- }
- Tcl_SetHashValue(commandEntryPtr, NULL);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNewMenuID --
- *
- * Allocates a new menu id and marks it in use. Each menu on the mac must
- * be designated by a unique id, which is a short. In addition, some ids
- * are reserved by the system. Since Tk uses mostly dynamic menus, we
- * must allocate and free these ids on the fly. We use the id as a key
- * into a hash table; if there is no hash entry, we know that we can use
- * the id.
- *
- * Carbon allows a much larger number of menus than the old APIs. I
- * believe this is 32768, but am not sure. This code just uses 2000 as
- * the upper limit. Unfortunately tk leaks menus when cloning, under some
- * circumstances (see bug on sourceforge).
- *
- * Results:
- * Returns TCL_OK if succesful; TCL_ERROR if there are no more ids of the
- * appropriate type to allocate. menuIDPtr contains the new id if
- * succesful.
- *
- * Side effects:
- * An entry is created for the menu in the command hash table, and the
- * hash entry is stored in the appropriate field in the menu data
- * structure.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXGetNewMenuID(
- Tcl_Interp *interp, /* Used for error reporting */
- TkMenu *menuPtr, /* The menu we are working with */
- int cascade, /* 0 if we are working with a normal menu;
- * 1 if we are working with a cascade */
- short *menuIDPtr) /* The resulting id */
-{
- int found = 0;
- int newEntry;
- Tcl_HashEntry *commandEntryPtr = NULL;
- short returnID = *menuIDPtr;
-
- /*
- * The following code relies on shorts and unsigned chars wrapping when
- * the highest value is incremented. Also, the values between 236 and 255
- * inclusive are reserved for DA's by the Mac OS.
- */
-
- if (!cascade) {
- short curID = lastMenuID + 1;
-
- if (curID == 236) {
- curID = 256;
- }
-
- while (curID != lastMenuID) {
- int iCurID = curID;
- commandEntryPtr = Tcl_CreateHashEntry(&commandTable,
- (char *) iCurID, &newEntry);
- if (newEntry == 1) {
- found = 1;
- lastMenuID = returnID = curID;
- break;
- }
- curID++;
- if (curID == 236) {
- curID = 256;
- }
- }
- } else {
- /*
- * Cascade ids must be between 0 and 235 only, so they must be dealt
- * with separately.
- */
-
- short curID = lastCascadeID + 1;
-
- if (curID == 2000) {
- curID = 0;
- }
-
- while (curID != lastCascadeID) {
- int iCurID = curID;
- commandEntryPtr = Tcl_CreateHashEntry(&commandTable,
- (char *) iCurID, &newEntry);
- if (newEntry == 1) {
- found = 1;
- lastCascadeID = returnID = curID;
- break;
- }
- curID++;
- if (curID == 2000) {
- curID = 0;
- }
- }
- }
-
- if (!found) {
- Tcl_SetObjResult(menuPtr->interp, Tcl_NewStringObj(
- "No more menus can be allocated.", -1));
- Tcl_SetErrorCode(menuPtr->interp, "TK", "MENU", "SYSTEM_RESOURCES",
- NULL);
- return TCL_ERROR;
- }
- Tcl_SetHashValue(commandEntryPtr, menuPtr);
- *menuIDPtr = returnID;
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXFreeMenuID --
- *
- * Marks the id as free.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The hash table entry for the ID is cleared.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXFreeMenuID(
- short menuID) /* The id to free */
-{
- Tcl_HashEntry *entryPtr = Tcl_FindHashEntry(&commandTable,
- (char*)(intptr_t)menuID);
-
- if (entryPtr != NULL) {
- Tcl_DeleteHashEntry(entryPtr);
- }
- if (menuID == currentAppleMenuID) {
- currentAppleMenuID = 0;
- }
- if (menuID == currentHelpMenuID) {
- currentHelpMenuID = 0;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MenuPtrForMenuRef --
- *
- * Returns a pointer to the TkMenu corresponding to a given Carbon
- * MenuRef.
- *
- * Results:
- * Returns a pointer to a TkMenu or NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkMenu *
-MenuPtrForMenuRef(
- MenuRef menu)
-{
- TkMenu *menuPtr = NULL;
- MenuID menuID = GetMenuID(menu);
- Tcl_HashEntry *commandEntryPtr =
- Tcl_FindHashEntry(&commandTable, (char*)(intptr_t)menuID);
-
- if (commandEntryPtr) {
- menuPtr = Tcl_GetHashValue(commandEntryPtr);
- }
- return menuPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetParentMenuEntry --
- *
- * Returns a pointer to the parent's TkMenuEntry of a given TkMenu.
- *
- * Results:
- * Returns a pointer to a TkMenuEntry or NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkMenuEntry*
-GetParentMenuEntry(
- TkMenu *menuPtr)
-{
- TkMenuEntry *cascadeEntryPtr;
-
- for (cascadeEntryPtr = menuPtr->menuRefPtr->parentEntryPtr;
- cascadeEntryPtr != NULL;
- cascadeEntryPtr = cascadeEntryPtr->nextCascadePtr) {
- const char *name = (cascadeEntryPtr->namePtr == NULL) ? ""
- : Tcl_GetString(cascadeEntryPtr->namePtr);
-
- if (strcmp(name, Tk_PathName(menuPtr->tkwin)) == 0) {
- break;
- }
- }
- return cascadeEntryPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpNewMenu --
- *
- * Gets a new blank menu. Only the platform specific options are filled
- * in.
- *
- * Results:
- * Returns a standard TCL error.
- *
- * Side effects:
- * Allocates a Macintosh menu handle and puts in the platformData field
- * of the menuPtr.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpNewMenu(
- TkMenu *menuPtr) /* The common structure we are making the
- * platform structure for. */
-{
- short menuID;
- MenuRef macMenuHdl;
-#ifdef USE_TK_MDEF
- MenuDefSpec menuDefSpec;
- Tcl_Obj *useMDEFObjPtr;
- int useMDEF = 1;
-#endif
- int error = TCL_OK;
- OSStatus err;
- CFStringRef cfStr;
-
- error = TkMacOSXGetNewMenuID(menuPtr->interp, menuPtr, 0, &menuID);
- if (error != TCL_OK) {
- return error;
- }
- err = ChkErr(CreateNewMenu, menuID, kMenuAttrDoNotUseUserCommandKeys,
- &macMenuHdl);
- if (err != noErr) {
- Tcl_SetObjResult(menuPtr->interp, Tcl_NewStringObj(
- "CreateNewMenu failed.", -1));
- Tcl_SetErrorCode(menuPtr->interp, "TK", "MENU", "CREATE", NULL);
- return TCL_ERROR;
- }
- cfStr = CFStringCreateWithCString(NULL, Tk_PathName(menuPtr->tkwin),
- kCFStringEncodingUTF8);
- if (!cfStr) {
- Tcl_SetObjResult(menuPtr->interp, Tcl_NewStringObj(
- "CFStringCreateWithCString failed.", -1));
- Tcl_SetErrorCode(menuPtr->interp, "TK", "MENU", "CREATE_STRING",NULL);
- return TCL_ERROR;
- }
- err = ChkErr(SetMenuTitleWithCFString, macMenuHdl, cfStr);
- CFRelease(cfStr);
- if (err != noErr) {
- Tcl_SetObjResult(menuPtr->interp, Tcl_NewStringObj(
- "SetMenuTitleWithCFString failed.", -1));
- Tcl_SetErrorCode(menuPtr->interp, "TK", "MENU", "SET_TITLE", NULL);
- return TCL_ERROR;
- }
-
- menuPtr->platformData = ckalloc(sizeof(MacMenu));
- ((MacMenu *) menuPtr->platformData)->menuHdl = macMenuHdl;
-
-#ifdef USE_TK_MDEF
- /*
- * Check whether we want to use the custom mdef or not. For now
- * the default is to use it unless the variable is explicitly
- * set to no.
- */
-
- useMDEFObjPtr = Tcl_ObjGetVar2(menuPtr->interp, useMDEFVar, NULL,
- TCL_GLOBAL_ONLY);
- if (useMDEFObjPtr == NULL || Tcl_GetBooleanFromObj(NULL, useMDEFObjPtr,
- &useMDEF) == TCL_ERROR || useMDEF) {
- menuDefSpec.defType = kMenuDefProcPtr;
- menuDefSpec.u.defProc = MenuDefProc;
- ChkErr(SetMenuDefinition, macMenuHdl, &menuDefSpec);
- }
- ((MacMenu *) menuPtr->platformData)->useMDEF = useMDEF;
-#endif /* USE_TK_MDEF */
-
- if ((currentMenuBarInterp == menuPtr->interp)
- && (currentMenuBarName != NULL)) {
- Tk_Window parentWin = Tk_Parent(menuPtr->tkwin);
-
- if (strcmp(currentMenuBarName, Tk_PathName(parentWin)) == 0) {
- if ((strcmp(Tk_PathName(menuPtr->tkwin)
- + strlen(Tk_PathName(parentWin)), ".apple") == 0)
- || (strcmp(Tk_PathName(menuPtr->tkwin)
- + strlen(Tk_PathName(parentWin)), ".help") == 0)) {
- if (!(menuBarFlags & MENUBAR_REDRAW_PENDING)) {
- Tcl_DoWhenIdle(DrawMenuBarWhenIdle, NULL);
- menuBarFlags |= MENUBAR_REDRAW_PENDING;
- }
- }
- }
- }
-
- menuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, menuPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyMenu --
- *
- * Destroys platform-specific menu structures.
- *
- * Results:
- * None.
- *
- * Side effects:
- * All platform-specific allocations are freed up.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyMenu(
- TkMenu *menuPtr) /* The common menu structure */
-{
- MenuRef macMenuHdl = ((MacMenu *) menuPtr->platformData)->menuHdl;
-
- if (menuPtr->menuFlags & MENU_RECONFIGURE_PENDING) {
- Tcl_CancelIdleCall(ReconfigureMacintoshMenu, menuPtr);
- menuPtr->menuFlags &= ~MENU_RECONFIGURE_PENDING;
- }
- if (GetMenuID(macMenuHdl) == currentHelpMenuID) {
- MenuRef helpMenuHdl;
- MenuItemIndex helpIndex;
-
- if ((HMGetHelpMenu(&helpMenuHdl,&helpIndex) == noErr)
- && (helpMenuHdl != NULL)) {
- int i, count = CountMenuItems(helpMenuHdl);
-
- for (i = helpIndex; i <= count; i++) {
- DeleteMenuItem(helpMenuHdl, helpIndex);
- }
- }
- currentHelpMenuID = 0;
- }
- if (menuPtr->platformData != NULL) {
- MenuID menuID = GetMenuID(macMenuHdl);
-
- DeleteMenu(menuID);
- TkMacOSXFreeMenuID(menuID);
- DisposeMenu(macMenuHdl);
- ckfree(menuPtr->platformData);
- menuPtr->platformData = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * SetMenuCascade --
- *
- * Does any cleanup to change a menu from a normal to a cascade.
- *
- * Results:
- * Standard Tcl error.
- *
- * Side effects:
- * The mac menu id is reset.
- *
- *----------------------------------------------------------------------
- */
-
-int
-SetMenuCascade(
- TkMenu *menuPtr) /* The menu we are setting up to be a
- * cascade. */
-{
- MenuHandle macMenuHdl = ((MacMenu *) menuPtr->platformData)->menuHdl;
- MenuID newMenuID, menuID = GetMenuID(macMenuHdl);
- int error = TCL_OK;
-
- if (menuID >= 256) {
- error = TkMacOSXGetNewMenuID(menuPtr->interp, menuPtr, 1, &newMenuID);
- if (error == TCL_OK) {
- TkMacOSXFreeMenuID(menuID);
- SetMenuID(macMenuHdl,newMenuID);
- }
- }
- return error;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyMenuEntry --
- *
- * Cleans up platform-specific menu entry items.
- *
- * Results:
- * None
- *
- * Side effects:
- * All platform-specific allocations are freed up.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyMenuEntry(
- TkMenuEntry *mePtr) /* The common structure for the menu entry. */
-{
- TkMenu *menuPtr = mePtr->menuPtr;
-
- ckfree(mePtr->platformEntryData);
- if ((menuPtr->platformData != NULL)
- && !(menuPtr->menuFlags & MENU_RECONFIGURE_PENDING)) {
- menuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, menuPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetEntryText --
- *
- * Given a menu entry, gives back the text that should go in it.
- * Separators should be done by the caller, as they have to be handled
- * specially. This is primarily used to do a substitution between "..."
- * and the ellipsis character which looks nicer.
- *
- * Results:
- * itemText points to the new text for the item.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-GetEntryText(
- TkMenuEntry *mePtr, /* A pointer to the menu entry. */
- Tcl_DString *dStringPtr) /* The DString to put the text into. This
- * will be initialized by this routine. */
-{
-#ifdef USE_TK_MDEF
- const int useMDEF = ((MacMenu *) mePtr->menuPtr->platformData)->useMDEF;
-#endif
- int noLabel = (mePtr->labelPtr == NULL || mePtr->labelLength == 0);
-
- Tcl_DStringInit(dStringPtr);
- if (mePtr->type == TEAROFF_ENTRY && (useMDEF || noLabel)) {
- Tcl_DStringAppend(dStringPtr, "(Tear-off)", -1);
- } else if (mePtr->imagePtr != NULL && (useMDEF || noLabel) &&
- mePtr->compound == COMPOUND_NONE) {
- Tcl_DStringAppend(dStringPtr, "(Image)", -1);
- } else if (mePtr->bitmapPtr != NULL && (useMDEF || noLabel) &&
- mePtr->compound == COMPOUND_NONE) {
- Tcl_DStringAppend(dStringPtr, "(Pixmap)", -1);
- } else if (noLabel) {
- /*
- * The Mac menu manager does not like null strings.
- */
-
- Tcl_DStringAppend(dStringPtr, " ", -1);
- } else {
- int length;
- char *text = Tcl_GetStringFromObj(mePtr->labelPtr, &length);
- char *dStringText;
- int i;
-
- for (i = 0; *text; text++, i++) {
- if ((*text == '.') && (*(text+1) == '.') && (*(text+2) == '.')) {
- Tcl_DStringAppend(dStringPtr, menuSymbols[ELLIPSIS_SYMBOL].utf,
- menuSymbols[ELLIPSIS_SYMBOL].utfLen);
- i += menuSymbols[ELLIPSIS_SYMBOL].utfLen - 1;
- text += 2;
- } else {
- Tcl_DStringSetLength(dStringPtr,
- Tcl_DStringLength(dStringPtr) + 1);
- dStringText = Tcl_DStringValue(dStringPtr);
- dStringText[i] = *text;
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * FindMarkCharacter --
- *
- * Finds the Macintosh mark character based on the font of the item. We
- * calculate a good mark character based on the font that this item is
- * rendered in.
- *
- * Results:
- * Mark char.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-char
-FindMarkCharacter(
- TkMenuEntry *mePtr) /* The entry we are finding the character
- * for. */
-{
- static const char markChars[] = {kCheckCharCode, kDiamondCharCode,
- kBulletCharCode, '-', kCheckCharCode};
- const char *markChar = markChars;
- int i = sizeof(markChars);
- Tk_Font tkfont;
-
- tkfont = Tk_GetFontFromObj(mePtr->menuPtr->tkwin,
- (mePtr->fontPtr == NULL) ? mePtr->menuPtr->fontPtr
- : mePtr->fontPtr);
-
- while (--i) {
- if (!TkMacOSXIsCharacterMissing(tkfont, *markChar)) {
- break;
- }
- markChar++;
- }
- return *markChar;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetUtfMarkCharacter --
- *
- * Get the utf8 string for the given mark character, taking into account
- * the special menu font char codes.
- *
- * Results:
- * Length of returned utf8 string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-GetUtfMarkCharacter(
- char markChar,
- const char **markUtfPtr)
-{
- const MenuSymbol *ms = menuSymbols;
- int len = 0;
-
- while (ms->unicode) {
- if (ms->charCode && ms->charCode == markChar) {
- *markUtfPtr = ms->utf;
- len = ms->utfLen;
- break;
- }
- ms++;
- }
- if (!len) {
- static char markUtf[TCL_UTF_MAX + 1];
-
- Tcl_ExternalToUtf(NULL, TkMacOSXCarbonEncoding, &markChar, 1, 0, NULL,
- markUtf, TCL_UTF_MAX + 1, NULL, &len, NULL);
- *markUtfPtr = markUtf;
- }
- return len;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ParseAccelerators --
- *
- * Parse menu accelerator string.
- *
- * Results:
- * Accelerator flags.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-ParseAccelerators(
- const char **accelStringPtr,
- int *modifierNumPtr,
- Tcl_UniChar *modifierUniChars,
- int *modifierWidth)
-{
- struct Modif {
- const char *name;
- const size_t len;
- const int flag, symbol;
- };
-#define MODIF(n, f) { #n, sizeof(#n)-1, ENTRY_##f##_ACCEL, f##_SYMBOL }
- static const struct Modif modifs[] = {
- MODIF(Control, CONTROL),
- MODIF(Ctrl, CONTROL),
- MODIF(Option, OPTION),
- MODIF(Opt, OPTION),
- MODIF(Alt, OPTION),
- MODIF(Shift, SHIFT),
- MODIF(Command, COMMAND),
- MODIF(Cmd, COMMAND),
- MODIF(Meta, COMMAND),
- { NULL, 0, 0, 0}
- };
-#undef MODIF
- const char *accelString = *accelStringPtr;
- int flags = 0, num = 0, seen = 0, width = 0;
- const struct Modif *m;
-
- while (1) {
- m = modifs;
- while (m->name) {
- int l = m->len;
-
- if (!strncasecmp(accelString, m->name, l) &&
- (accelString[l] == '-' || accelString[l] == '+')) {
- flags |= m->flag;
- accelString += l+1;
- break;
- }
- m++;
- }
- if (!m->name || !*accelString) {
- break;
- }
- }
- m = modifs;
- while (m->name && num < MODIFIER_NUM) {
- if (flags & m->flag && !(seen & m->flag)) {
- modifierUniChars[num++] = menuSymbols[m->symbol].unicode;
- width += menuSymbols[m->symbol].width;
- seen |= m->flag;
- }
- m++;
- }
- *accelStringPtr = accelString;
- *modifierNumPtr = num;
- *modifierWidth = width;
- return flags;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpConfigureMenuEntry --
- *
- * Processes configurations for menu entries.
- *
- * Results:
- * Returns standard TCL result. If TCL_ERROR is returned, then the
- * interp's result contains an error message.
- *
- * Side effects:
- * Configuration information get set for mePtr; old resources get freed,
- * if any need it.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpConfigureMenuEntry(
- TkMenuEntry *mePtr) /* Information about menu entry; may or may
- * not already have values for some fields. */
-{
- TkMenu *menuPtr = mePtr->menuPtr;
- EntryGeometry *geometryPtr = (EntryGeometry *) mePtr->platformEntryData;
-
- /*
- * Cascade menus have to have menu IDs of less than 256. So we need to
- * change the child menu if this has been configured for a cascade item.
- */
-
- if (mePtr->type == CASCADE_ENTRY) {
- if ((mePtr->childMenuRefPtr != NULL)
- && (mePtr->childMenuRefPtr->menuPtr != NULL)) {
- MenuHandle childMenuHdl = ((MacMenu *) mePtr
- ->childMenuRefPtr->menuPtr->platformData)->menuHdl;
-
- if (childMenuHdl != NULL) {
- int error = SetMenuCascade(mePtr->childMenuRefPtr->menuPtr);
-
- if (error != TCL_OK) {
- return error;
- }
-
- if (menuPtr->menuType == MENUBAR) {
- CFStringRef cfStr = CFStringCreateWithCString(NULL,
- (!(mePtr->labelPtr) ? "" :
- Tcl_GetString(mePtr->labelPtr)),
- kCFStringEncodingUTF8);
-
- if (cfStr) {
- SetMenuTitleWithCFString(childMenuHdl, cfStr);
- CFRelease(cfStr);
- }
- }
- }
- }
- }
-
- /*
- * We need to parse the accelerator string. If it has the strings for
- * Command, Control, Shift or Option, we need to flag it so we can draw
- * the symbols for it. We also need to precalcuate the position of the
- * first real character we are drawing.
- */
-
- if (0 == mePtr->accelLength) {
- geometryPtr->accelTextStart = -1;
- } else {
- const char *accelString = (mePtr->accelPtr == NULL) ? ""
- : Tcl_GetString(mePtr->accelPtr);
- const char *accelStart = accelString;
-
- mePtr->entryFlags &= ~ENTRY_ACCEL_MASK;
- mePtr->entryFlags |= ParseAccelerators(&accelString,
- &geometryPtr->modifierNum, geometryPtr->modifierUniChars,
- &geometryPtr->modifierWidth);
- geometryPtr->accelTextStart = (ptrdiff_t)(accelString - accelStart);
- }
-
- if (!(menuPtr->menuFlags & MENU_RECONFIGURE_PENDING)) {
- menuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, menuPtr);
- }
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ReconfigureIndividualMenu --
- *
- * This routine redoes the guts of the menu. It works from a base item
- * and offset, so that a regular menu will just have all of its items
- * added, but the help menu will have all of its items appended after the
- * apple-defined items.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The Macintosh menu handle is updated
- *
- *----------------------------------------------------------------------
- */
-
-void
-ReconfigureIndividualMenu(
- TkMenu *menuPtr, /* The menu we are affecting. */
- MenuHandle macMenuHdl, /* The macintosh menu we are affecting. Will
- * not necessarily be menuPtr->platformData
- * because this could be the help menu. */
- int base) /* The last index that we do not want touched.
- * 0 for normal menus; # of system help menu
- * items for help menus. */
-{
- int count;
- int index;
- TkMenuEntry *mePtr;
- int parentDisabled = 0;
-
-#ifdef TK_MAC_DEBUG_MENUS
- /*
- * Carbon-internal menu debugging (c.f. Technote 2124)
- */
-
- TkMacOSXInitNamedDebugSymbol(HIToolbox, void, DebugPrintMenu,
- MenuRef menu);
- if (DebugPrintMenu) {
- DebugPrintMenu(macMenuHdl);
- }
-#endif
-
- mePtr = GetParentMenuEntry(menuPtr);
- if (mePtr && mePtr->state == ENTRY_DISABLED) {
- parentDisabled = 1;
- }
-
- /*
- * First, we get rid of all of the old items.
- */
-
- count = CountMenuItems(macMenuHdl);
- for (index = base; index < count; index++) {
- DeleteMenuItem(macMenuHdl, base + 1);
- }
-
- count = menuPtr->numEntries;
-
- for (index = 1; index <= count; index++) {
- mePtr = menuPtr->entries[index - 1];
-
- /*
- * We have to do separators separately because SetMenuItemText does
- * not parse meta-characters.
- */
-
- if (mePtr->type == SEPARATOR_ENTRY) {
- AppendMenuItemTextWithCFString(macMenuHdl, NULL,
- kMenuItemAttrSeparator | kMenuItemAttrDisabled, 0, NULL);
- } else {
- Tcl_DString itemTextDString;
- CFStringRef cfStr;
-
- GetEntryText(mePtr, &itemTextDString);
- cfStr = CFStringCreateWithCString(NULL,
- Tcl_DStringValue(&itemTextDString), kCFStringEncodingUTF8);
- if (cfStr) {
- AppendMenuItemTextWithCFString(macMenuHdl, cfStr, 0, 0, NULL);
- CFRelease(cfStr);
- } else {
- AppendMenuItemTextWithCFString(macMenuHdl, CFSTR ("<Error>"),
- 0, 0, NULL);
- }
- Tcl_DStringFree(&itemTextDString);
-
- /*
- * Set enabling and disabling correctly.
- */
-
- if (parentDisabled || (mePtr->state == ENTRY_DISABLED)) {
- DisableMenuItem(macMenuHdl, base + index);
- } else {
- EnableMenuItem(macMenuHdl, base + index);
- }
-
- /*
- * Set the check mark for check entries and radio entries.
- */
-
- SetItemMark(macMenuHdl, base + index, 0);
- if ((mePtr->type == CHECK_BUTTON_ENTRY)
- || (mePtr->type == RADIO_BUTTON_ENTRY)) {
- CheckMenuItem(macMenuHdl, base + index, (mePtr->entryFlags
- & ENTRY_SELECTED) && mePtr->indicatorOn);
- if (mePtr->indicatorOn
- && (mePtr->entryFlags & ENTRY_SELECTED)) {
- SetItemMark(macMenuHdl, base + index,
- FindMarkCharacter(mePtr));
- }
- }
-
- if (mePtr->type == CASCADE_ENTRY) {
- if ((mePtr->childMenuRefPtr != NULL)
- && (mePtr->childMenuRefPtr->menuPtr != NULL)) {
- MenuHandle childMenuHdl =
- ((MacMenu *) mePtr->childMenuRefPtr
- ->menuPtr->platformData)->menuHdl;
-
- if (childMenuHdl != NULL) {
- ChkErr(SetMenuItemHierarchicalID, macMenuHdl,
- base + index, GetMenuID(childMenuHdl));
- }
-
- /*
- * If we changed the highligthing of this menu, its
- * children all have to be reconfigured so that their
- * state will be reflected in the menubar.
- */
-
- if (!(mePtr->childMenuRefPtr->menuPtr->menuFlags
- & MENU_RECONFIGURE_PENDING)) {
- mePtr->childMenuRefPtr->menuPtr->menuFlags
- |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu,
- mePtr->childMenuRefPtr->menuPtr);
- }
- }
- }
-
- if ((mePtr->type != CASCADE_ENTRY) && (mePtr->accelPtr != NULL)) {
- int accelLen, modifiers = 0, hasCmd = 0;
- EntryGeometry *geometryPtr = (EntryGeometry *)
- mePtr->platformEntryData;
- int offset = geometryPtr->accelTextStart;
- char *accel = Tcl_GetStringFromObj(mePtr->accelPtr, &accelLen);
-
- accelLen -= offset;
- accel += offset;
- if (mePtr->entryFlags & ENTRY_OPTION_ACCEL) {
- modifiers |= kMenuOptionModifier;
- }
- if (mePtr->entryFlags & ENTRY_SHIFT_ACCEL) {
- modifiers |= kMenuShiftModifier;
- }
- if (mePtr->entryFlags & ENTRY_CONTROL_ACCEL) {
- modifiers |= kMenuControlModifier;
- }
- if (mePtr->entryFlags & ENTRY_COMMAND_ACCEL) {
- hasCmd = 1;
- }
- if (accelLen == 1) {
- if (hasCmd || (modifiers != 0 && modifiers !=
- kMenuShiftModifier)) {
- SetItemCmd(macMenuHdl, base + index, accel[0]);
- if (!hasCmd) {
- modifiers |= kMenuNoCommandModifier;
- }
- }
- } else {
- /*
- * Convert from accelerator names to Carbon menu glyphs.
- */
-
- struct Glyph {
- const char *name;
- const size_t len;
- const char glyph;
- };
-#define GLYPH(n, g) { #n, sizeof(#n)-1, kMenu##g##Glyph }
- static const struct Glyph glyphs[] = {
- GLYPH(PageUp, PageUp),
- GLYPH(PageDown, PageDown),
- GLYPH(Left, LeftArrow),
- GLYPH(Right, RightArrow),
- GLYPH(Up, UpArrow),
- GLYPH(Down, DownArrow),
- GLYPH(Escape, Escape),
- GLYPH(Clear, Clear),
- GLYPH(Enter, Enter),
- GLYPH(Backspace,DeleteLeft),
- GLYPH(Space, Space),
- GLYPH(Tab, TabRight),
- GLYPH(Delete, DeleteRight),
- GLYPH(Home, NorthwestArrow),
- GLYPH(End, SoutheastArrow),
- GLYPH(Return, Return),
- GLYPH(Help, Help),
- GLYPH(Power, Power),
- { NULL, 0, 0}
- };
-#undef GLYPH
- const struct Glyph *g = glyphs;
- char glyph = 0;
-
- if (accel[0] == 'F' && accelLen < 4 &&
- (accel[1] > '0' && accel[1] <= '9')) {
- int fkey = accel[1] - '0';
-
- if (accelLen == 3) {
- if (accel[2] >= '0' && accel[2] <= '9') {
- fkey = 10 * fkey + (accel[2] - '0');
- } else {
- fkey = 0;
- }
- }
- if (fkey >= 1 && fkey <= 12) {
- glyph = kMenuF1Glyph + fkey - 1;
- } else if (fkey >= 13 && fkey <= 15) {
- glyph = kMenuF13Glyph + fkey - 13;
- }
- } else while (g->name) {
- if (accel[0] == g->name[0] &&
- (size_t)accelLen == g->len &&
- !strncasecmp(accel, g->name, g->len)) {
- glyph = g->glyph;
- break;
- }
- g++;
- }
- if (glyph) {
- ChkErr(SetMenuItemKeyGlyph, macMenuHdl, base + index,
- glyph);
- if (!hasCmd) {
- modifiers |= kMenuNoCommandModifier;
- }
- geometryPtr->accelGlyph = glyph;
- }
- }
- ChkErr(SetMenuItemModifiers, macMenuHdl, base + index,
- modifiers);
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ReconfigureMacintoshMenu --
- *
- * Rebuilds the Macintosh MenuHandle items from the menu. Called usually
- * as an idle handler, but can be called synchronously if the menu is
- * about to be posted.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Configuration information get set for mePtr; old resources get freed,
- * if any need it.
- *
- *----------------------------------------------------------------------
- */
-
-void
-ReconfigureMacintoshMenu(
- ClientData clientData) /* Information about menu entry; may or may
- * not already have values for some fields. */
-{
- TkMenu *menuPtr = clientData;
- MenuHandle macMenuHdl = ((MacMenu *) menuPtr->platformData)->menuHdl;
- MenuHandle helpMenuHdl = NULL;
-
- menuPtr->menuFlags &= ~MENU_RECONFIGURE_PENDING;
-
- if (NULL == macMenuHdl) {
- return;
- }
-
- ReconfigureIndividualMenu(menuPtr, macMenuHdl, 0);
-
- if (GetMenuID(macMenuHdl) == currentHelpMenuID) {
- MenuItemIndex helpIndex;
-
- HMGetHelpMenu(&helpMenuHdl,&helpIndex);
- if (helpMenuHdl != NULL) {
- ReconfigureIndividualMenu(menuPtr, helpMenuHdl, helpIndex - 1);
- }
- }
-
- if (menuPtr->menuType == MENUBAR) {
- if (!(menuBarFlags & MENUBAR_REDRAW_PENDING)) {
- Tcl_DoWhenIdle(DrawMenuBarWhenIdle, NULL);
- menuBarFlags |= MENUBAR_REDRAW_PENDING;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * CompleteIdlers --
- *
- * Completes all idle handling so that the menus are in sync when the
- * user invokes them with the mouse.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The Macintosh menu handles are flushed out.
- *
- *----------------------------------------------------------------------
- */
-
-void
-CompleteIdlers(
- TkMenu *menuPtr) /* The menu we are completing. */
-{
- int i;
-
- if (menuPtr->menuFlags & MENU_RECONFIGURE_PENDING) {
- Tcl_CancelIdleCall(ReconfigureMacintoshMenu, menuPtr);
- ReconfigureMacintoshMenu(menuPtr);
- }
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- if ((menuPtr->entries[i]->type == CASCADE_ENTRY) &&
- (menuPtr->entries[i]->childMenuRefPtr != NULL) &&
- (menuPtr->entries[i]->childMenuRefPtr->menuPtr != NULL)) {
- CompleteIdlers(menuPtr->entries[i]->childMenuRefPtr->menuPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpPostMenu --
- *
- * Posts a menu on the screen
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menu is posted and handled.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpPostMenu(
- Tcl_Interp *interp, /* The interpreter this menu lives in */
- TkMenu *menuPtr, /* The menu we are posting */
- int x, /* The global x-coordinate of the top, left-
- * hand corner of where the menu is supposed
- * to be posted. */
- int y) /* The global y-coordinate */
-{
- MenuHandle macMenuHdl = ((MacMenu *) menuPtr->platformData)->menuHdl;
- long popUpResult;
- int result;
-
- if (inPostMenu > 0) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "Cannot call post menu while already posting menu", -1));
- Tcl_SetErrorCode(interp, "TK", "MENU", "POSTING", NULL);
- result = TCL_ERROR;
- } else {
- short menuID;
- Window window;
- int oldWidth = menuPtr->totalWidth;
-
- inPostMenu++;
- result = TkPreprocessMenu(menuPtr);
-
- /*
- * The post commands could have deleted the menu, which means we are
- * dead and should go away.
- */
-
- if (result != TCL_OK || !menuPtr->tkwin) {
- goto endPostMenu;
- }
-
- CompleteIdlers(menuPtr);
- if (menuBarFlags & MENUBAR_REDRAW_PENDING) {
- Tcl_CancelIdleCall(DrawMenuBarWhenIdle, NULL);
- DrawMenuBarWhenIdle(NULL);
- }
- RecursivelyInsertMenu(menuPtr);
-
- TkMacOSXTrackingLoop(1);
- popUpResult = PopUpMenuSelect(macMenuHdl, y, x, menuPtr->active);
- TkMacOSXTrackingLoop(0);
- menuPtr->totalWidth = oldWidth;
-
- /*
- * Simulate the mouse up.
- */
-
- window = Tk_WindowId(menuPtr->tkwin);
- TkGenerateButtonEventForXPointer(window);
-
- /*
- * Dispatch the command.
- */
-
- menuID = HiWord(popUpResult);
- if (menuID != 0) {
- result = TkMacOSXDispatchMenuEvent(menuID, LoWord(popUpResult));
- }
-
-endPostMenu:
- inPostMenu--;
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuNewEntry --
- *
- * Adds a pointer to a new menu entry structure with the platform-
- * specific fields filled in. The Macintosh uses the platformEntryData
- * field of the TkMenuEntry record to store geometry information.
- *
- * Results:
- * Standard TCL error.
- *
- * Side effects:
- * Storage gets allocated. New menu entry data is put into the
- * platformEntryData field of the mePtr.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpMenuNewEntry(
- TkMenuEntry *mePtr) /* The menu we are adding an entry to */
-{
- EntryGeometry *geometryPtr = ckalloc(sizeof(EntryGeometry));
- TkMenu *menuPtr = mePtr->menuPtr;
-
- geometryPtr->accelTextStart = 0;
- geometryPtr->accelTextWidth = 0;
- geometryPtr->nonAccelMargin = 0;
- geometryPtr->modifierWidth = 0;
- geometryPtr->modifierNum = 0;
- geometryPtr->accelGlyph = 0;
- mePtr->platformEntryData = (TkMenuPlatformEntryData) geometryPtr;
- if (!(menuPtr->menuFlags & MENU_RECONFIGURE_PENDING)) {
- menuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, menuPtr);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXTurnOffMenus --
- *
- * Turns off all the menu drawing code. This is more than just disabling
- * the "menu" command, this means that Tk will NEVER touch the menubar.
- * It is needed in the Plugin, where Tk does not own the menubar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A flag is set which will disable all menu drawing.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXTurnOffMenus(void)
-{
- gNoTkMenus = 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuBarWhenIdle --
- *
- * Update the menu bar next time there is an idle event.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Menu bar is redrawn.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuBarWhenIdle(
- ClientData clientData) /* ignored here */
-{
- TkMenuReferences *menuRefPtr;
- TkMenu *appleMenuPtr, *helpMenuPtr, *menuBarPtr = NULL;
- MenuHandle macMenuHdl;
- Tcl_HashEntry *hashEntryPtr;
-
- /*
- * If we have been turned off, exit.
- */
-
- if (gNoTkMenus) {
- return;
- }
-
- /*
- * We need to clear the apple and help menus of any extra items.
- */
-
- if (currentAppleMenuID != 0) {
- hashEntryPtr = Tcl_FindHashEntry(&commandTable,
- (char*)(intptr_t)currentAppleMenuID);
- appleMenuPtr = Tcl_GetHashValue(hashEntryPtr);
- TkpDestroyMenu(appleMenuPtr);
- TkpNewMenu(appleMenuPtr);
- appleMenuPtr->menuFlags &= ~MENU_APPLE_MENU;
- appleMenuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, appleMenuPtr);
- }
-
- if (currentHelpMenuID != 0) {
- hashEntryPtr = Tcl_FindHashEntry(&commandTable,
- (char*)(intptr_t)currentHelpMenuID);
- helpMenuPtr = Tcl_GetHashValue(hashEntryPtr);
- TkpDestroyMenu(helpMenuPtr);
- TkpNewMenu(helpMenuPtr);
- helpMenuPtr->menuFlags &= ~MENU_HELP_MENU;
- helpMenuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, helpMenuPtr);
- }
-
- /*
- * We need to find the clone of this menu that is the menubar. Once we do
- * that, for every cascade in the menu, we need to insert the Mac menu in
- * the Mac menubar. Finally, we need to redraw the menubar.
- */
-
- menuRefPtr = NULL;
- if (currentMenuBarName != NULL) {
- menuRefPtr = TkFindMenuReferences(currentMenuBarInterp,
- currentMenuBarName);
- }
- if (menuRefPtr) {
- TkMenu *menuPtr;
- TkMenu *cascadeMenuPtr;
- char *appleMenuName, *helpMenuName;
- int appleIndex = -1, helpIndex = -1, i;
-
- menuPtr = menuRefPtr->menuPtr;
- if (menuPtr != NULL) {
- TkMenuReferences *specialMenuRefPtr;
- TkMenuEntry *specialEntryPtr;
-
- appleMenuName = ckalloc(strlen(currentMenuBarName) + 1 +
- strlen(".apple") + 1);
- sprintf(appleMenuName, "%s.apple", Tk_PathName(menuPtr->tkwin));
- specialMenuRefPtr = TkFindMenuReferences(currentMenuBarInterp,
- appleMenuName);
- if ((specialMenuRefPtr != NULL)
- && (specialMenuRefPtr->menuPtr != NULL)) {
- for (specialEntryPtr = specialMenuRefPtr->parentEntryPtr;
- specialEntryPtr != NULL;
- specialEntryPtr = specialEntryPtr->nextCascadePtr) {
- if (specialEntryPtr->menuPtr == menuPtr) {
- appleIndex = specialEntryPtr->index;
- break;
- }
- }
- }
- ckfree(appleMenuName);
-
- helpMenuName = ckalloc(strlen(currentMenuBarName) + 1 +
- strlen(".help") + 1);
- sprintf(helpMenuName, "%s.help", Tk_PathName(menuPtr->tkwin));
- specialMenuRefPtr = TkFindMenuReferences(currentMenuBarInterp,
- helpMenuName);
- if ((specialMenuRefPtr != NULL)
- && (specialMenuRefPtr->menuPtr != NULL)) {
- for (specialEntryPtr = specialMenuRefPtr->parentEntryPtr;
- specialEntryPtr != NULL;
- specialEntryPtr = specialEntryPtr->nextCascadePtr) {
- if (specialEntryPtr->menuPtr == menuPtr) {
- helpIndex = specialEntryPtr->index;
- break;
- }
- }
- }
- ckfree(helpMenuName);
- }
-
- for (menuBarPtr = menuPtr;
- (menuBarPtr != NULL) && (menuBarPtr->menuType != MENUBAR);
- menuBarPtr = menuBarPtr->nextInstancePtr) {
- /*
- * Null loop body.
- */
- }
-
- if (menuBarPtr) {
- if (menuBarPtr->tearoff != menuPtr->tearoff) {
- if (menuBarPtr->tearoff) {
- appleIndex = (-1 == appleIndex) ? appleIndex
- : appleIndex + 1;
- helpIndex = (-1 == helpIndex) ? helpIndex
- : helpIndex + 1;
- } else {
- appleIndex = (-1 == appleIndex) ? appleIndex
- : appleIndex - 1;
- helpIndex = (-1 == helpIndex) ? helpIndex
- : helpIndex - 1;
- }
- }
- ClearMenuBar();
-
- if (appleIndex == -1) {
- InsertMenu(tkAppleMenu, 0);
- currentAppleMenuID = 0;
- tkCurrentAppleMenu = tkAppleMenu;
- } else {
- short appleID;
-
- appleMenuPtr = menuBarPtr->entries[appleIndex]
- ->childMenuRefPtr->menuPtr;
- TkpDestroyMenu(appleMenuPtr);
- TkMacOSXGetNewMenuID(appleMenuPtr->interp, appleMenuPtr, 0,
- &appleID);
- macMenuHdl = NewMenu(appleID, "\p\024");
- appleMenuPtr->platformData = ckalloc(sizeof(MacMenu));
- ((MacMenu *)appleMenuPtr->platformData)->menuHdl
- = macMenuHdl;
- appleMenuPtr->menuFlags |= MENU_APPLE_MENU;
- if (!(appleMenuPtr->menuFlags
- & MENU_RECONFIGURE_PENDING)) {
- appleMenuPtr->menuFlags |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, appleMenuPtr);
- }
- InsertMenu(macMenuHdl, 0);
- RecursivelyInsertMenu(appleMenuPtr);
- currentAppleMenuID = appleID;
- tkCurrentAppleMenu = macMenuHdl;
- }
- if (helpIndex == -1) {
- currentHelpMenuID = 0;
- }
-
- for (i = 0; i < menuBarPtr->numEntries; i++) {
- if (i == appleIndex) {
- if (menuBarPtr->entries[i]->state == ENTRY_DISABLED) {
- DisableMenuItem(((MacMenu *) menuBarPtr->entries[i]
- ->childMenuRefPtr->menuPtr
- ->platformData)->menuHdl, 0);
- } else {
- EnableMenuItem(((MacMenu *) menuBarPtr->entries[i]
- ->childMenuRefPtr->menuPtr
- ->platformData)->menuHdl, 0);
- }
- continue;
- } else if (i == helpIndex) {
- TkMenu *helpMenuPtr = menuBarPtr->entries[i]
- ->childMenuRefPtr->menuPtr;
-
- if (helpMenuPtr == NULL) {
- continue;
- }
- helpMenuPtr->menuFlags |= MENU_HELP_MENU;
- if (!(helpMenuPtr->menuFlags
- & MENU_RECONFIGURE_PENDING)) {
- helpMenuPtr->menuFlags
- |= MENU_RECONFIGURE_PENDING;
- Tcl_DoWhenIdle(ReconfigureMacintoshMenu, helpMenuPtr);
- }
- macMenuHdl =
- ((MacMenu *) helpMenuPtr->platformData)->menuHdl;
- currentHelpMenuID = GetMenuID(macMenuHdl);
- } else if (menuBarPtr->entries[i]->type
- == CASCADE_ENTRY) {
- if ((menuBarPtr->entries[i]->childMenuRefPtr != NULL)
- && menuBarPtr->entries[i]->childMenuRefPtr
- ->menuPtr != NULL) {
- cascadeMenuPtr = menuBarPtr->entries[i]
- ->childMenuRefPtr->menuPtr;
- macMenuHdl = ((MacMenu *) cascadeMenuPtr
- ->platformData)->menuHdl;
- DeleteMenu(GetMenuID(macMenuHdl));
- InsertMenu(macMenuHdl, 0);
- RecursivelyInsertMenu(cascadeMenuPtr);
- if (menuBarPtr->entries[i]->state == ENTRY_DISABLED) {
- DisableMenuItem(((MacMenu *) menuBarPtr->entries[i]
- ->childMenuRefPtr->menuPtr
- ->platformData)->menuHdl, 0);
- } else {
- EnableMenuItem(((MacMenu *) menuBarPtr->entries[i]
- ->childMenuRefPtr->menuPtr
- ->platformData)->menuHdl, 0);
- }
- }
- }
- }
- }
- }
- if (!menuRefPtr || !menuBarPtr) {
- SetDefaultMenubar();
- }
- DrawMenuBar();
- menuBarFlags &= ~MENUBAR_REDRAW_PENDING;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RecursivelyInsertMenu --
- *
- * Puts all of the cascades of this menu in the Mac hierarchical list.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menubar is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-RecursivelyInsertMenu(
- TkMenu *menuPtr) /* All of the cascade items in this menu will
- * be inserted into the mac menubar. */
-{
- int i;
- TkMenu *cascadeMenuPtr;
- MenuHandle macMenuHdl;
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- if (menuPtr->entries[i]->type == CASCADE_ENTRY) {
- if ((menuPtr->entries[i]->childMenuRefPtr != NULL) &&
- (menuPtr->entries[i]->childMenuRefPtr->menuPtr != NULL)) {
- cascadeMenuPtr = menuPtr->entries[i]->childMenuRefPtr->menuPtr;
- macMenuHdl =
- ((MacMenu *) cascadeMenuPtr->platformData)->menuHdl;
- InsertMenu(macMenuHdl, -1);
- RecursivelyInsertMenu(cascadeMenuPtr);
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RecursivelyDeleteMenu --
- *
- * Takes all of the cascades of this menu out of the Mac hierarchical
- * list.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menubar is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-RecursivelyDeleteMenu(
- TkMenu *menuPtr) /* All of the cascade items in this menu will
- * be deleted from the mac menubar. */
-{
- int i;
- TkMenu *cascadeMenuPtr;
- MenuHandle macMenuHdl;
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- if (menuPtr->entries[i]->type == CASCADE_ENTRY) {
- if ((menuPtr->entries[i]->childMenuRefPtr != NULL) &&
- (menuPtr->entries[i]->childMenuRefPtr->menuPtr != NULL)) {
- cascadeMenuPtr = menuPtr->entries[i]->childMenuRefPtr->menuPtr;
- macMenuHdl =
- ((MacMenu *) cascadeMenuPtr->platformData)->menuHdl;
- DeleteMenu(GetMenuID(macMenuHdl));
- RecursivelyDeleteMenu(cascadeMenuPtr);
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * SetDefaultMenubar --
- *
- * Puts the Apple, File and Edit menus into the Macintosh menubar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menubar is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-SetDefaultMenubar(void)
-{
- if (currentMenuBarName != NULL) {
- ckfree(currentMenuBarName);
- currentMenuBarName = NULL;
- }
- currentMenuBarOwner = NULL;
- ClearMenuBar();
- InsertMenu(tkAppleMenu, 0);
- InsertMenu(tkFileMenu, 0);
- InsertMenu(tkEditMenu, 0);
- if (!(menuBarFlags & MENUBAR_REDRAW_PENDING)) {
- Tcl_DoWhenIdle(DrawMenuBarWhenIdle, NULL);
- menuBarFlags |= MENUBAR_REDRAW_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetMainMenubar --
- *
- * Puts the menu associated with a window into the menubar. Should only
- * be called when the window is in front.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menubar is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetMainMenubar(
- Tcl_Interp *interp, /* The interpreter of the application */
- Tk_Window tkwin, /* The frame we are setting up */
- const char *menuName) /* The name of the menu to put in front. If
- * NULL, use the default menu bar. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WindowRef macWindowPtr;
- WindowRef frontNonFloating;
-
- macWindowPtr = TkMacOSXDrawableWindow(winPtr->window);
-
- frontNonFloating = ActiveNonFloatingWindow();
- if ((macWindowPtr == NULL) || (macWindowPtr != frontNonFloating)) {
- return;
- }
-
- if ((currentMenuBarInterp != interp) || (currentMenuBarOwner != tkwin)
- || (currentMenuBarName == NULL) || (menuName == NULL)
- || (strcmp(menuName, currentMenuBarName) != 0)) {
- Tk_Window searchWindow;
- TopLevelMenubarList *listPtr;
-
- if (currentMenuBarName != NULL) {
- ckfree(currentMenuBarName);
- }
-
- if (menuName == NULL) {
- searchWindow = tkwin;
- if (strcmp(Tk_Class(searchWindow), "Menu") == 0) {
- TkMenuReferences *menuRefPtr;
-
- menuRefPtr = TkFindMenuReferences(interp, Tk_PathName(tkwin));
- if (menuRefPtr != NULL) {
- TkMenu *menuPtr = menuRefPtr->menuPtr;
-
- if (menuPtr != NULL) {
- searchWindow = menuPtr->masterMenuPtr->tkwin;
- }
- }
- }
- for (; searchWindow != NULL;
- searchWindow = Tk_Parent(searchWindow)) {
- for (listPtr = windowListPtr; listPtr != NULL;
- listPtr = listPtr->nextPtr) {
- if (listPtr->tkwin == searchWindow) {
- break;
- }
- }
- if (listPtr != NULL) {
- menuName = Tk_PathName(
- listPtr->menuPtr->masterMenuPtr->tkwin);
- break;
- }
- }
- }
-
- if (menuName == NULL) {
- currentMenuBarName = NULL;
- } else {
- currentMenuBarName = ckalloc(strlen(menuName) + 1);
- strcpy(currentMenuBarName, menuName);
- }
- currentMenuBarOwner = tkwin;
- currentMenuBarInterp = interp;
- }
- if (!(menuBarFlags & MENUBAR_REDRAW_PENDING)) {
- Tcl_DoWhenIdle(DrawMenuBarWhenIdle, NULL);
- menuBarFlags |= MENUBAR_REDRAW_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetWindowMenuBar --
- *
- * Associates a given menu with a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * On Windows and UNIX, associates the platform menu with the platform
- * window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetWindowMenuBar(
- Tk_Window tkwin, /* The window we are setting the menu in */
- TkMenu *menuPtr) /* The menu we are setting */
-{
- TopLevelMenubarList *listPtr, *prevPtr;
-
- /*
- * Remove any existing reference to this window.
- */
-
- for (prevPtr = NULL, listPtr = windowListPtr;
- listPtr != NULL;
- prevPtr = listPtr, listPtr = listPtr->nextPtr) {
- if (listPtr->tkwin == tkwin) {
- break;
- }
- }
-
- if (listPtr != NULL) {
- if (prevPtr != NULL) {
- prevPtr->nextPtr = listPtr->nextPtr;
- } else {
- windowListPtr = listPtr->nextPtr;
- }
- ckfree(listPtr);
- }
-
- if (menuPtr != NULL) {
- listPtr = ckalloc(sizeof(TopLevelMenubarList));
- listPtr->nextPtr = windowListPtr;
- windowListPtr = listPtr;
- listPtr->tkwin = tkwin;
- listPtr->menuPtr = menuPtr;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EventuallyInvokeMenu --
- *
- * This IdleTime callback actually invokes the menu command scheduled in
- * TkMacOSXDispatchMenuEvent.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands get executed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-EventuallyInvokeMenu (
- ClientData data)
-{
- struct MenuCommandHandlerData *realData = data;
- int code;
-
- code = TkInvokeMenu(realData->menuPtr->interp, realData->menuPtr,
- realData->index);
-
- if (code != TCL_OK && code != TCL_CONTINUE && code != TCL_BREAK) {
- Tcl_AddErrorInfo(realData->menuPtr->interp, "\n (menu invoke)");
- Tcl_BackgroundException(realData->menuPtr->interp, code);
- }
-
- if (realData->menuPtr->tkwin) {
- RecursivelyClearActiveMenu(realData->menuPtr);
- }
- TkMacOSXClearMenubarActive();
-
- Tcl_Release(realData->menuPtr->interp);
- Tcl_Release(realData->menuPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDispatchMenuEvent --
- *
- * Given a menu id and an item, dispatches the command associated with
- * it.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands for the event are scheduled for execution at idle time.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXDispatchMenuEvent(
- int menuID, /* The menu id of the menu we are invoking */
- int index) /* The one-based index of the item that was
- * selected. */
-{
- int result = TCL_OK;
-
- if (menuID != 0) {
- if (menuID == kHMHelpMenuID) {
- if (currentMenuBarOwner != NULL) {
- TkMenuReferences *helpMenuRef;
- char *helpMenuName = ckalloc(strlen(currentMenuBarName)
- + strlen(".help") + 1);
-
- sprintf(helpMenuName, "%s.help", currentMenuBarName);
- helpMenuRef = TkFindMenuReferences(currentMenuBarInterp,
- helpMenuName);
- ckfree(helpMenuName);
- if ((helpMenuRef != NULL) && (helpMenuRef->menuPtr != NULL)) {
- MenuRef outHelpMenu;
- MenuItemIndex itemIndex;
- int newIndex;
-
- HMGetHelpMenu(&outHelpMenu, &itemIndex);
- newIndex = index - itemIndex;
- result = TkInvokeMenu(currentMenuBarInterp,
- helpMenuRef->menuPtr, newIndex);
- }
- }
- } else {
- Tcl_HashEntry *commandEntryPtr =
- Tcl_FindHashEntry(&commandTable, (char*)(intptr_t)menuID);
- if (commandEntryPtr != NULL) {
- TkMenu *menuPtr = Tcl_GetHashValue(commandEntryPtr);
-
- if ((currentAppleMenuID == menuID)
- && (index > menuPtr->numEntries + 1)) {
- /*
- * We don't need to do anything here, the standard
- * Application event handler will open the built-in Apple
- * menu item for us.
- */
-
- result = TCL_OK;
- } else {
- struct MenuCommandHandlerData *data =
- ckalloc(sizeof(struct MenuCommandHandlerData));
-
- Tcl_Preserve(menuPtr->interp);
- Tcl_Preserve(menuPtr);
- data->menuPtr = menuPtr;
- data->index = index - 1;
- Tcl_DoWhenIdle(EventuallyInvokeMenu, data);
- /* result = TkInvokeMenu(menuPtr->interp, menuPtr, index - 1); */
- }
- } else {
- return TCL_ERROR;
- }
- }
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMenuIndicatorGeometry --
- *
- * Gets the width and height of the indicator area of a menu.
- *
- * Results:
- * widthPtr and heightPtr are set.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-GetMenuIndicatorGeometry (
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are measuring */
- Tk_Font tkfont, /* Precalculated font */
- const Tk_FontMetrics *fmPtr,/* Precalculated font metrics */
- int *widthPtr, /* The resulting width */
- int *heightPtr) /* The resulting height */
-{
- *heightPtr = fmPtr->linespace + menuItemExtraHeight;
- if (IS_THEME_MENU_FONT(tkfont)) {
- *widthPtr = menuMarkColumnWidth;
- } else {
- const char markChar = FindMarkCharacter(mePtr);
- const char *markUtf = NULL;
- int len;
-
- len = GetUtfMarkCharacter(markChar, &markUtf);
- *widthPtr = Tk_TextWidth(tkfont, markUtf, len) + 2*menuMarkIndent;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMenuAccelGeometry --
- *
- * Gets the width and height of the accelerator area of a menu.
- *
- * Results:
- * widthPtr and heightPtr are set.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-GetMenuAccelGeometry (
- TkMenu *menuPtr, /* The menu we are measuring */
- TkMenuEntry *mePtr, /* The entry we are measuring */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated font metrics */
- int *modWidthPtr, /* The width of all of the key
- * modifier symbols. */
- int *textWidthPtr, /* The resulting width */
- int *heightPtr) /* The resulting height */
-{
- *heightPtr = fmPtr->linespace + menuItemExtraHeight;
- *modWidthPtr = menuSymbols[COMMAND_SYMBOL].width;
- *textWidthPtr = 0;
- if (mePtr->type != CASCADE_ENTRY && mePtr->accelLength > 0) {
- const char *accel = (mePtr->accelPtr == NULL) ? ""
- : Tcl_GetString(mePtr->accelPtr);
- EntryGeometry *geometryPtr = (EntryGeometry*)mePtr->platformEntryData;
-
- if (IS_THEME_MENU_FONT(tkfont)) {
- CFStringRef cfStr;
- int width = 0;
- int maxWidth = ((TkFont *)tkfont)->fm.maxWidth;
-
- if (geometryPtr->accelGlyph) {
- cfStr = CFStringCreateWithBytes(NULL,
- (UInt8*)&geometryPtr->accelGlyph, 1,
- kTextEncodingMacKeyboardGlyphs, false);
- if (cfStr) {
- width = MeasureThemeText(cfStr, kThemeMenuItemCmdKeyFont);
- CFRelease(cfStr);
- }
- }
- if (!(mePtr->entryFlags & ENTRY_ACCEL_MASK)) {
- if (!geometryPtr->accelGlyph) {
- width = Tk_TextWidth(tkfont, accel, mePtr->accelLength);
- }
- *textWidthPtr = maxWidth;
- if (width < maxWidth) {
- *modWidthPtr = 0;
- } else {
- *modWidthPtr = width - maxWidth;
- }
- } else {
- if (!geometryPtr->accelGlyph) {
- width = Tk_TextWidth(tkfont, accel +
- geometryPtr->accelTextStart, mePtr->accelLength -
- geometryPtr->accelTextStart);
- }
- if (width < maxWidth) {
- *textWidthPtr = maxWidth;
- } else {
- *textWidthPtr = width;
- }
- if (geometryPtr->modifierNum) {
- *modWidthPtr = geometryPtr->modifierWidth;
- }
- }
- } else {
- *textWidthPtr = Tk_TextWidth(tkfont, accel, mePtr->accelLength);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetTearoffEntryGeometry --
- *
- * Gets the width and height of of a tearoff entry.
- *
- * Results:
- * widthPtr and heightPtr are set.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-GetTearoffEntryGeometry (
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are measuring */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated font metrics */
- int *widthPtr, /* The resulting width */
- int *heightPtr) /* The resulting height */
-{
-#ifdef USE_TK_MDEF
- const int useMDEF = ((MacMenu *) menuPtr->platformData)->useMDEF;
-#endif
- if (useMDEF && menuPtr->menuType != TEAROFF_MENU) {
- *heightPtr = fmPtr->linespace + menuItemExtraHeight;
- *widthPtr = menuPtr->totalWidth;
- } else {
- *widthPtr = *heightPtr = 0;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMenuSeparatorGeometry --
- *
- * Gets the width and height of menu separator.
- *
- * Results:
- * widthPtr and heightPtr are set.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-GetMenuSeparatorGeometry(
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are measuring */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalcualted font metrics */
- int *widthPtr, /* The resulting width */
- int *heightPtr) /* The resulting height */
-{
- *widthPtr = 0;
- *heightPtr = menuSeparatorHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuEntryIndicator --
- *
- * This procedure draws the indicator part of a menu.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menu in its
- * current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuEntryIndicator(
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are drawing */
- Drawable d, /* The drawable we are drawing */
- GC gc, /* The GC we are drawing with */
- GC indicatorGC, /* The GC to use for the indicator */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated font metrics */
- int x, /* topleft hand corner of entry */
- int y, /* topleft hand corner of entry */
- int width, /* width of entry */
- int height) /* height of entry */
-{
- if ((mePtr->type == CHECK_BUTTON_ENTRY) ||
- (mePtr->type == RADIO_BUTTON_ENTRY)) {
- if (mePtr->indicatorOn && (mePtr->entryFlags & ENTRY_SELECTED)) {
- short mark;
- int baseline = y + (height + fmPtr->ascent - fmPtr->descent)/2;
-
- GetItemMark(((MacMenu *) menuPtr->platformData)->menuHdl,
- mePtr->index + 1, &mark);
- if (IS_THEME_MENU_FONT(tkfont)) {
- ThemeFontID font = kThemeMenuItemMarkFont;
- TextEncoding encoding = GetApplicationTextEncoding();
- CFStringRef cfStr;
- ThemeDrawState drawState;
- Rect bounds = {y, x + menuMarkIndent, y + height, x + width};
-
- if (mark < kSpaceCharCode) {
- font = kThemeMenuItemCmdKeyFont;
- encoding = kTextEncodingMacKeyboardGlyphs;
- }
- switch (mePtr->state) {
- case ENTRY_ACTIVE:
- drawState = kThemeStatePressed;
- break;
- case ENTRY_DISABLED:
- drawState = kThemeStateInactive;
- break;
- default:
- drawState = kThemeStateActive;
- break;
- }
- cfStr = CFStringCreateWithBytes(NULL, (UInt8*)&mark, 1,
- encoding, false);
- if (cfStr) {
- DrawThemeText(d, gc, cfStr, font, drawState, &bounds,
- baseline, teFlushDefault);
- CFRelease(cfStr);
- }
- } else if (mark != 0) {
- const char *markUtf = NULL;
- int len;
-
- len = GetUtfMarkCharacter(mark, &markUtf);
- Tk_DrawChars(menuPtr->display, d, gc, tkfont, markUtf, len,
- x + menuMarkIndent, baseline);
- }
- }
- }
-}
-
-#ifdef USE_TK_MDEF
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuBackground --
- *
- * If Appearance is present, draws the Appearance background
- *
- * Results:
- * Nothing
- *
- * Side effects:
- * Commands are output to X to display the menu in its current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuBackground(
- TkMenu *menuPtr,
- Rect *menuRectPtr, /* The menu rect */
- Drawable d) /* What we are drawing into */
-{
- Tk_3DBorder border;
-
- EraseMenuBackground(((MacMenu *) menuPtr->platformData)->menuHdl,
- menuRectPtr, ((MacDrawable*)d)->context);
- border = Tk_Get3DBorderFromObj(menuPtr->tkwin, menuPtr->borderPtr);
- Tk_Fill3DRectangle(menuPtr->tkwin, d, border,
- menuRectPtr->left, menuRectPtr->top,
- menuRectPtr->right - menuRectPtr->left,
- menuRectPtr->bottom - menuRectPtr->top, 0, TK_RELIEF_FLAT);
-}
-#endif /* USE_TK_MDEF */
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuEntryAccelerator --
- *
- * This procedure draws the accelerator part of a menu.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menu in its current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuEntryAccelerator(
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are drawing */
- Drawable d, /* The drawable we are drawing in */
- GC gc, /* The gc to draw into */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated font metrics */
- Tk_3DBorder activeBorder, /* border for menu background */
- int x, /* The left side of the entry */
- int y, /* The top of the entry */
- int width, /* The width of the entry */
- int height, /* The height of the entry */
- int drawArrow) /* Whether or not to draw cascade arrow */
-{
- if (mePtr->type != CASCADE_ENTRY && mePtr->accelLength > 0) {
- const char *accel = (mePtr->accelPtr == NULL) ? ""
- : Tcl_GetString(mePtr->accelPtr);
- EntryGeometry *geometryPtr = (EntryGeometry*)mePtr->platformEntryData;
- int leftEdge = x + width - geometryPtr->accelTextWidth;
- int baseline = y + (height + fmPtr->ascent - fmPtr->descent) / 2;
-
- if (IS_THEME_MENU_FONT(tkfont)) {
- CFStringRef cfStr;
- ThemeDrawState drawState;
-
- switch (mePtr->state) {
- case ENTRY_ACTIVE:
- drawState = kThemeStatePressed;
- break;
- case ENTRY_DISABLED:
- drawState = kThemeStateInactive;
- break;
- default:
- drawState = kThemeStateActive;
- break;
- }
- if (!(mePtr->entryFlags & ENTRY_ACCEL_MASK)) {
- leftEdge -= geometryPtr->modifierWidth;
- }
- if (geometryPtr->accelGlyph) {
- Rect bounds = {y, leftEdge, y + height, leftEdge +
- geometryPtr->accelTextWidth};
-
- cfStr = CFStringCreateWithBytes(NULL,
- (UInt8*)&geometryPtr->accelGlyph, 1,
- kTextEncodingMacKeyboardGlyphs, false);
- if (cfStr) {
- DrawThemeText(d, gc, cfStr, kThemeMenuItemCmdKeyFont,
- drawState, &bounds, baseline, teFlushDefault);
- CFRelease(cfStr);
- }
- } else {
- Tk_DrawChars(menuPtr->display, d, gc, tkfont, accel +
- geometryPtr->accelTextStart, mePtr->accelLength -
- geometryPtr->accelTextStart, leftEdge, baseline);
- }
- if (geometryPtr->modifierNum) {
- Rect bounds = {y, leftEdge - geometryPtr->modifierWidth,
- y + height, leftEdge};
-
- cfStr = CFStringCreateWithCharacters(NULL,
- geometryPtr->modifierUniChars,
- geometryPtr->modifierNum);
- if (cfStr) {
- DrawThemeText(d, gc, cfStr, kThemeMenuItemCmdKeyFont,
- drawState, &bounds, baseline, teFlushDefault);
- CFRelease(cfStr);
- }
- }
- } else {
- Tk_DrawChars(menuPtr->display, d, gc, tkfont, accel,
- mePtr->accelLength, leftEdge, baseline);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuSeparator --
- *
- * The menu separator is drawn.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menu in its current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuSeparator(
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are drawing */
- Drawable d, /* The drawable we are drawing into */
- GC gc, /* The gc we are drawing with */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated font metrics */
- int x, /* left coordinate of entry */
- int y, /* top coordinate of entry */
- int width, /* width of entry */
- int height) /* height of entry */
-{
- TkMacOSXDrawingContext dc;
- Rect r;
-
- r.top = y;
- r.left = x;
- r.bottom = y + height;
- r.right = x + width;
- if (TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- ChkErr(DrawThemeMenuSeparator, &r);
- TkMacOSXRestoreDrawingContext(&dc);
- }
-}
-
-#ifdef USE_TK_MDEF
-/*
- *----------------------------------------------------------------------
- *
- * AppearanceEntryDrawWrapper --
- *
- * It routes to the Appearance Managers DrawThemeEntry, which will then
- * call us back after setting up the drawing context.
- *
- * Results:
- * A menu entry is drawn
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-AppearanceEntryDrawWrapper(
- TkMenuEntry *mePtr,
- Rect *menuRectPtr,
- MenuTrackingData *mtdPtr,
- Drawable d,
- Tk_FontMetrics *fmPtr,
- Tk_Font tkfont,
- int erase)
-{
- MenuEntryUserData meData;
- Rect itemRect;
- ThemeMenuState theState;
- ThemeMenuItemType theType;
- Tk_FontMetrics entryMetrics;
-
- meData.mePtr = mePtr;
- meData.mdefDrawable = d;
- if (mePtr->fontPtr == NULL) {
- meData.fmPtr = fmPtr;
- meData.tkfont = tkfont;
- } else {
- meData.tkfont = Tk_GetFontFromObj(mePtr->menuPtr->tkwin,
- mePtr->fontPtr);
- Tk_GetFontMetrics(meData.tkfont, &entryMetrics);
- fmPtr = &entryMetrics;
- }
- itemRect.left = menuRectPtr->left + mePtr->x;
- itemRect.top = mtdPtr->virtualMenuTop + mePtr->y;
- itemRect.right = mePtr->entryFlags & ENTRY_LAST_COLUMN ?
- menuRectPtr->right : itemRect.left + mePtr->width;
- itemRect.bottom = itemRect.top + mePtr->height;
-
- if (mePtr->state == ENTRY_ACTIVE) {
- theState = kThemeMenuSelected;
- } else if (mePtr->state == ENTRY_DISABLED) {
- theState = kThemeMenuDisabled;
- } else {
- theState = kThemeMenuActive;
- }
- if (mePtr->type == CASCADE_ENTRY) {
- theType = kThemeMenuItemHierarchical;
- } else {
- theType = kThemeMenuItemPlain;
- }
- if (erase) {
- DisableScreenUpdates();
- DrawMenuBackground(mePtr->menuPtr, &itemRect, d);
- }
- DrawThemeMenuItem(menuRectPtr, &itemRect,
- mtdPtr->virtualMenuTop, mtdPtr->virtualMenuBottom, theState,
- theType | kThemeMenuItemNoBackground, tkThemeMenuItemDrawingUPP,
- (unsigned long) &meData);
- if (erase) {
- EnableScreenUpdates();
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ThemeMenuItemDrawingProc --
- *
- * This routine is called from the Appearance DrawThemeMenuEntry
- *
- * Results:
- * A menu entry is drawn
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-pascal void
-ThemeMenuItemDrawingProc(
- const Rect *inBounds,
- SInt16 inDepth,
- Boolean inIsColorDevice,
- SInt32 inUserData)
-{
- MenuEntryUserData *meData = (MenuEntryUserData *) inUserData;
-
- TkpDrawMenuEntry(meData->mePtr, meData->mdefDrawable, meData->tkfont,
- meData->fmPtr, inBounds->left, inBounds->top, inBounds->right -
- inBounds->left + menuItemExtraWidth, inBounds->bottom -
- inBounds->top + menuItemExtraHeight, 0, 1);
-}
-#endif /* USE_TK_MDEF */
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXHandleTearoffMenu() --
- *
- * This routine sees if the MDEF has set a menu and a mouse position for
- * tearing off and makes a tearoff menu if it has.
- *
- * Results:
- * menuPtr->interp will have the result of the tearoff command.
- *
- * Side effects:
- * A new tearoff menu is created if it is supposed to be.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXHandleTearoffMenu(void)
-{
- /*
- * Obsolete: Nothing to do.
- */
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpInitializeMenuBindings --
- *
- * For every interp, initializes the bindings for Windows menus. Does
- * nothing on Mac or XWindows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * C-level bindings are setup for the interp which will handle Alt-key
- * sequences for menus without beeping or interfering with user-defined
- * Alt-key bindings.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpInitializeMenuBindings(
- Tcl_Interp *interp, /* The interpreter to set. */
- Tk_BindingTable bindingTable)
- /* The table to add to. */
-{
- /*
- * Nothing to do.
- */
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpComputeMenubarGeometry --
- *
- * This procedure is invoked to recompute the size and layout of a menu
- * that is a menubar clone.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Fields of menu entries are changed to reflect their current positions,
- * and the size of the menu window itself may be changed.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpComputeMenubarGeometry(
- TkMenu *menuPtr) /* Structure describing menu. */
-{
- TkpComputeStandardMenuGeometry(menuPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawTearoffEntry --
- *
- * This procedure draws a tearoff entry.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menu in its current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawTearoffEntry(
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are drawing */
- Drawable d, /* The drawable we are drawing into */
- GC gc, /* The gc we are drawing with */
- Tk_Font tkfont, /* The font we are drawing with */
- const Tk_FontMetrics *fmPtr,/* The metrics we are drawing with */
- int x, /* Left edge of entry. */
- int y, /* Top edge of entry. */
- int width, /* Width of entry. */
- int height) /* Height of entry. */
-{
- XPoint points[2];
- int margin, segmentWidth, maxX;
- Tk_3DBorder border;
-
- if (menuPtr->menuType != MASTER_MENU ) {
- return;
- }
-
- margin = fmPtr->linespace/2;
- points[0].x = x;
- points[0].y = y + height/2;
- points[1].y = points[0].y;
- segmentWidth = 6;
- maxX = x + menuPtr->totalWidth - 1;
- border = Tk_Get3DBorderFromObj(menuPtr->tkwin, menuPtr->borderPtr);
-
- while (points[0].x < maxX) {
- points[1].x = points[0].x + segmentWidth;
- if (points[1].x > maxX) {
- points[1].x = maxX;
- }
- Tk_Draw3DPolygon(menuPtr->tkwin, d, border, points, 2, 1,
- TK_RELIEF_RAISED);
- points[0].x += 2*segmentWidth;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetHelpMenuItemCount --
- *
- * Has to be called after the first call to InsertMenu. Sets up the
- * global variable for the number of items in the unmodified help menu.
- * NB. Nobody uses this any more, since you can get the number of system
- * help items from HMGetHelpMenu trivially. But it is in the stubs
- * table...
- *
- * Results:
- * None.
- *
- * Side effects:
- * Nothing.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetHelpMenuItemCount(void)
-{
- /*
- * Obsolete: Nothing to do.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMenuClick --
- *
- * Prepares a menubar for MenuSelect or MenuKey.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Any pending configurations of the menubar are completed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXMenuClick(void)
-{
- TkMenu *menuPtr;
- TkMenuReferences *menuRefPtr;
-
- if ((currentMenuBarInterp != NULL) && (currentMenuBarName != NULL)) {
- menuRefPtr = TkFindMenuReferences(currentMenuBarInterp,
- currentMenuBarName);
- for (menuPtr = menuRefPtr->menuPtr->masterMenuPtr;
- menuPtr != NULL; menuPtr = menuPtr->nextInstancePtr) {
- if (menuPtr->menuType == MENUBAR) {
- CompleteIdlers(menuPtr);
- break;
- }
- }
- }
-
- if (menuBarFlags & MENUBAR_REDRAW_PENDING) {
- Tcl_CancelIdleCall(DrawMenuBarWhenIdle, NULL);
- DrawMenuBarWhenIdle(NULL);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDrawMenuEntry --
- *
- * Draws the given menu entry at the given coordinates with the given
- * attributes.
- *
- * Results:
- * None.
- *
- * Side effects:
- * X Server commands are executed to display the menu entry.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDrawMenuEntry(
- TkMenuEntry *mePtr, /* The entry to draw */
- Drawable d, /* What to draw into */
- Tk_Font tkfont, /* Precalculated font for menu */
- const Tk_FontMetrics *menuMetricsPtr,
- /* Precalculated metrics for menu */
- int x, /* X-coordinate of topleft of entry */
- int y, /* Y-coordinate of topleft of entry */
- int width, /* Width of the entry rectangle */
- int height, /* Height of the current rectangle */
- int strictMotif, /* Boolean flag */
- int drawArrow) /* Whether or not to draw the cascade
- * arrow for cascade items. Only applies
- * to Windows. */
-{
- GC gc;
- TkMenu *menuPtr = mePtr->menuPtr;
- int padY = (menuPtr->menuType == MENUBAR) ? 3 : 0;
- GC indicatorGC;
- Tk_3DBorder bgBorder, activeBorder;
- const Tk_FontMetrics *fmPtr;
- Tk_FontMetrics entryMetrics;
- int adjustedY = y + padY;
- int adjustedHeight = height - 2 * padY;
-
- /*
- * Choose the gc for drawing the foreground part of the entry. Under
- * Appearance, we pass a null (appearanceGC) to tell ourselves not to
- * change whatever color the appearance manager has set.
- */
-
- if ((mePtr->state == ENTRY_ACTIVE) && !strictMotif) {
- gc = mePtr->activeGC;
- if (gc == NULL) {
- gc = menuPtr->activeGC;
- }
- } else {
- TkMenuEntry *parentEntryPtr = GetParentMenuEntry(menuPtr);
-
- if (((parentEntryPtr && parentEntryPtr->state == ENTRY_DISABLED) ||
- (mePtr->state == ENTRY_DISABLED)) &&
- (menuPtr->disabledFgPtr != NULL)) {
- gc = mePtr->disabledGC;
- if (gc == NULL) {
- gc = menuPtr->disabledGC;
- }
- } else {
- gc = mePtr->textGC;
- if (gc == NULL) {
- gc = menuPtr->textGC;
- }
- }
- }
-
- indicatorGC = mePtr->indicatorGC;
- if (indicatorGC == NULL) {
- indicatorGC = menuPtr->indicatorGC;
- }
-
- bgBorder = Tk_Get3DBorderFromObj(menuPtr->tkwin,
- (mePtr->borderPtr == NULL)
- ? menuPtr->borderPtr : mePtr->borderPtr);
- if (strictMotif) {
- activeBorder = bgBorder;
- } else {
- activeBorder = Tk_Get3DBorderFromObj(menuPtr->tkwin,
- (mePtr->activeBorderPtr == NULL)
- ? menuPtr->activeBorderPtr : mePtr->activeBorderPtr);
- }
-
- if (mePtr->fontPtr == NULL) {
- fmPtr = menuMetricsPtr;
- } else {
- tkfont = Tk_GetFontFromObj(menuPtr->tkwin, mePtr->fontPtr);
- Tk_GetFontMetrics(tkfont, &entryMetrics);
- fmPtr = &entryMetrics;
- }
-
- /*
- * Need to draw the entire background, including padding. On Unix, for
- * menubars, we have to draw the rest of the entry taking into account the
- * padding.
- */
-
- DrawMenuEntryBackground(menuPtr, mePtr, d, activeBorder, bgBorder, x, y,
- width, height);
-
- if (mePtr->type == SEPARATOR_ENTRY) {
- DrawMenuSeparator(menuPtr, mePtr, d, gc, tkfont,
- fmPtr, x, adjustedY, width, adjustedHeight);
- } else if (mePtr->type == TEAROFF_ENTRY) {
- DrawTearoffEntry(menuPtr, mePtr, d, gc, tkfont, fmPtr, x, adjustedY,
- width, adjustedHeight);
- } else {
- DrawMenuEntryLabel(menuPtr, mePtr, d, gc, tkfont, fmPtr, x,
- adjustedY, width, adjustedHeight);
- DrawMenuEntryAccelerator(menuPtr, mePtr, d, gc, tkfont, fmPtr,
- activeBorder, x, adjustedY, width, adjustedHeight, drawArrow);
- if (!mePtr->hideMargin) {
- DrawMenuEntryIndicator(menuPtr, mePtr, d, gc, indicatorGC, tkfont,
- fmPtr, x, adjustedY, width, adjustedHeight);
- }
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpComputeStandardMenuGeometry --
- *
- * This procedure is invoked to recompute the size and layout of a menu
- * that is not a menubar clone.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Fields of menu entries are changed to reflect their current positions,
- * and the size of the menu window itself may be changed.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpComputeStandardMenuGeometry(
- TkMenu *menuPtr) /* Structure describing menu. */
-{
- Tk_Font tkfont, menuFont;
- Tk_FontMetrics menuMetrics, entryMetrics, *fmPtr;
- int x, y, height, modifierWidth, labelWidth, indicatorSpace;
- int windowWidth, windowHeight, accelWidth, maxAccelTextWidth;
- int i, j, lastColumnBreak, maxModifierWidth, maxWidth, nonAccelMargin;
- int maxNonAccelMargin, maxEntryWithAccelWidth, maxEntryWithoutAccelWidth;
- int entryWidth, maxIndicatorSpace, borderWidth, activeBorderWidth;
- TkMenuEntry *mePtr, *columnEntryPtr;
- EntryGeometry *geometryPtr;
- int haveAccel = 0;
-
- if (menuPtr->tkwin == NULL) {
- return;
- }
-
- Tk_GetPixelsFromObj(NULL, menuPtr->tkwin, menuPtr->borderWidthPtr,
- &borderWidth);
- Tk_GetPixelsFromObj(NULL, menuPtr->tkwin, menuPtr->activeBorderWidthPtr,
- &activeBorderWidth);
- x = y = borderWidth;
- indicatorSpace = labelWidth = accelWidth = maxAccelTextWidth = 0;
- windowHeight = maxWidth = lastColumnBreak = 0;
- maxModifierWidth = maxNonAccelMargin = 0;
- maxEntryWithAccelWidth = maxEntryWithoutAccelWidth = 0;
- maxIndicatorSpace = 0;
-
- /*
- * On the Mac especially, getting font metrics can be quite slow, so we
- * want to do it intelligently. We are going to precalculate them and pass
- * them down to all of the measuring and drawing routines. We will measure
- * the font metrics of the menu once. If an entry does not have its own
- * font set, then we give the geometry/drawing routines the menu's font
- * and metrics. If an entry has its own font, we will measure that font
- * and give all of the geometry/drawing the entry's font and metrics.
- */
-
- menuFont = Tk_GetFontFromObj(menuPtr->tkwin, menuPtr->fontPtr);
- Tk_GetFontMetrics(menuFont, &menuMetrics);
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mePtr->type == CASCADE_ENTRY || mePtr->accelLength > 0) {
- haveAccel = 1;
- break;
- }
- }
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mePtr->fontPtr == NULL) {
- tkfont = menuFont;
- fmPtr = &menuMetrics;
- } else {
- tkfont = Tk_GetFontFromObj(menuPtr->tkwin, mePtr->fontPtr);
- Tk_GetFontMetrics(tkfont, &entryMetrics);
- fmPtr = &entryMetrics;
- }
-
- if ((i > 0) && mePtr->columnBreak) {
- if (maxIndicatorSpace != 0) {
- maxIndicatorSpace += 2;
- }
- for (j = lastColumnBreak; j < i; j++) {
- columnEntryPtr = menuPtr->entries[j];
- geometryPtr =
- (EntryGeometry *) columnEntryPtr->platformEntryData;
-
- columnEntryPtr->indicatorSpace = maxIndicatorSpace;
- columnEntryPtr->width = maxIndicatorSpace + maxWidth
- + 2 * activeBorderWidth;
- geometryPtr->accelTextWidth = maxAccelTextWidth;
- geometryPtr->modifierWidth = maxModifierWidth;
- columnEntryPtr->x = x;
- columnEntryPtr->entryFlags &= ~ENTRY_LAST_COLUMN;
- if (maxEntryWithoutAccelWidth > maxEntryWithAccelWidth) {
- geometryPtr->nonAccelMargin = maxEntryWithoutAccelWidth
- - maxEntryWithAccelWidth;
- if (geometryPtr->nonAccelMargin > maxNonAccelMargin) {
- geometryPtr->nonAccelMargin = maxNonAccelMargin;
- }
- } else {
- geometryPtr->nonAccelMargin = 0;
- }
- }
- x += maxIndicatorSpace + maxWidth + 2 * borderWidth;
- windowWidth = x;
- maxWidth = maxIndicatorSpace = maxAccelTextWidth = 0;
- maxModifierWidth = maxNonAccelMargin = maxEntryWithAccelWidth = 0;
- maxEntryWithoutAccelWidth = 0;
- lastColumnBreak = i;
- y = borderWidth;
- }
- /*geometryPtr = (EntryGeometry *) mePtr->platformEntryData;*/ /* dead code */
-
- if (mePtr->type == SEPARATOR_ENTRY) {
- GetMenuSeparatorGeometry(menuPtr, mePtr, tkfont,
- fmPtr, &entryWidth, &height);
- mePtr->height = height;
- } else if (mePtr->type == TEAROFF_ENTRY) {
- GetTearoffEntryGeometry(menuPtr, mePtr, tkfont,
- fmPtr, &entryWidth, &height);
- mePtr->height = height;
- } else {
- /*
- * For each entry, compute the height required by that particular
- * entry, plus three widths: the width of the label, the width to
- * allow for an indicator to be displayed to the left of the label
- * (if any), and the width of the accelerator to be displayed to
- * the right of the label (if any). These sizes depend, of course,
- * on the type of the entry.
- */
-
- GetMenuLabelGeometry(mePtr, tkfont, fmPtr, &labelWidth, &height);
- mePtr->height = height;
-
- nonAccelMargin = 0;
- if (mePtr->type == CASCADE_ENTRY) {
- GetMenuAccelGeometry(menuPtr, mePtr, tkfont, fmPtr,
- &modifierWidth, &accelWidth, &height);
- } else if (mePtr->accelLength == 0) {
- if (haveAccel && !mePtr->hideMargin) {
- if (IS_THEME_MENU_FONT(tkfont)) {
- nonAccelMargin = menuSymbols[COMMAND_SYMBOL].width;
- } else {
- nonAccelMargin = Tk_TextWidth(tkfont,
- menuSymbols[COMMAND_SYMBOL].utf,
- menuSymbols[COMMAND_SYMBOL].utfLen);
- }
- }
- accelWidth = modifierWidth = 0;
- } else {
- GetMenuAccelGeometry(menuPtr, mePtr, tkfont,
- fmPtr, &modifierWidth, &accelWidth, &height);
- if (height > mePtr->height) {
- mePtr->height = height;
- }
- }
-
- if (!(mePtr->hideMargin)) {
- GetMenuIndicatorGeometry(menuPtr, mePtr, tkfont,
- fmPtr, &indicatorSpace, &height);
- if (height > mePtr->height) {
- mePtr->height = height;
- }
- } else {
- indicatorSpace = 0;
- }
-
- if (nonAccelMargin > maxNonAccelMargin) {
- maxNonAccelMargin = nonAccelMargin;
- }
- if (accelWidth > maxAccelTextWidth) {
- maxAccelTextWidth = accelWidth;
- }
- if (modifierWidth > maxModifierWidth) {
- maxModifierWidth = modifierWidth;
- }
- if (indicatorSpace > maxIndicatorSpace) {
- maxIndicatorSpace = indicatorSpace;
- }
-
- entryWidth = labelWidth + modifierWidth + accelWidth
- + nonAccelMargin;
-
- if (entryWidth > maxWidth) {
- maxWidth = entryWidth;
- }
-
- if (mePtr->accelLength > 0) {
- if (entryWidth > maxEntryWithAccelWidth) {
- maxEntryWithAccelWidth = entryWidth;
- }
- } else {
- if (entryWidth > maxEntryWithoutAccelWidth) {
- maxEntryWithoutAccelWidth = entryWidth;
- }
- }
- mePtr->height += 2 * activeBorderWidth;
- }
- mePtr->y = y;
- y += menuPtr->entries[i]->height + borderWidth;
- if (y > windowHeight) {
- windowHeight = y;
- }
- }
-
- for (j = lastColumnBreak; j < menuPtr->numEntries; j++) {
- columnEntryPtr = menuPtr->entries[j];
- geometryPtr = (EntryGeometry *) columnEntryPtr->platformEntryData;
-
- columnEntryPtr->indicatorSpace = maxIndicatorSpace;
- columnEntryPtr->width = maxIndicatorSpace + maxWidth
- + 2 * activeBorderWidth;
- geometryPtr->accelTextWidth = maxAccelTextWidth;
- columnEntryPtr->x = x;
- columnEntryPtr->entryFlags |= ENTRY_LAST_COLUMN;
- if (maxEntryWithoutAccelWidth > maxEntryWithAccelWidth) {
- geometryPtr->nonAccelMargin = maxEntryWithoutAccelWidth
- - maxEntryWithAccelWidth;
- if (geometryPtr->nonAccelMargin > maxNonAccelMargin) {
- geometryPtr->nonAccelMargin = maxNonAccelMargin;
- }
- } else {
- geometryPtr->nonAccelMargin = 0;
- }
- }
- windowWidth = x + maxIndicatorSpace + maxWidth
- + 2 * activeBorderWidth + borderWidth;
- windowHeight += borderWidth;
-
- /*
- * The X server doesn't like zero dimensions, so round up to at least 1 (a
- * zero-sized menu should never really occur, anyway).
- */
-
- if (windowWidth <= 0) {
- windowWidth = 1;
- }
- if (windowHeight <= 0) {
- windowHeight = 1;
- }
- menuPtr->totalWidth = windowWidth;
- menuPtr->totalHeight = windowHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuEntryLabel --
- *
- * This procedure draws the label part of a menu.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menu in its current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuEntryLabel(
- TkMenu *menuPtr, /* The menu we are drawing */
- TkMenuEntry *mePtr, /* The entry we are drawing */
- Drawable d, /* What we are drawing into */
- GC gc, /* The gc we are drawing into */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated font metrics */
- int x, /* left edge */
- int y, /* right edge */
- int width, /* width of entry */
- int height) /* height of entry */
-{
- int imageWidth, imageHeight, textWidth = 0, textHeight = 0;
- int indicatorSpace = mePtr->indicatorSpace;
- int leftEdge = x + indicatorSpace;
- int haveImage = 0, haveText = 0;
- int imageXOffset = 0, imageYOffset = 0;
- int textXOffset = 0, textYOffset = 0;
- Pixmap bitmap = (Pixmap) NULL;
- Tcl_DString itemTextDString;
-
- /*
- * Work out what we will need to draw first.
- */
-
- if (mePtr->image != NULL) {
- Tk_SizeOfImage(mePtr->image, &imageWidth, &imageHeight);
- haveImage = 1;
- } else if (mePtr->bitmapPtr != NULL) {
- bitmap = Tk_GetBitmapFromObj(menuPtr->tkwin, mePtr->bitmapPtr);
- Tk_SizeOfBitmap(menuPtr->display, bitmap, &imageWidth, &imageHeight);
- haveImage = 1;
- }
- if (!haveImage || (mePtr->compound != COMPOUND_NONE)) {
- if (mePtr->labelLength > 0) {
- GetEntryText(mePtr, &itemTextDString);
- if (mePtr->compound != COMPOUND_NONE) {
- textWidth = Tk_TextWidth(tkfont,
- Tcl_DStringValue(&itemTextDString),
- Tcl_DStringLength(&itemTextDString)) +
- menuTextLeadingEdgeMargin + menuTextTrailingEdgeMargin;
- textHeight = fmPtr->linespace;
- }
- haveText = 1;
- }
- }
-
- /*
- * Now work out what the relative positions are.
- */
-
- if (haveImage && haveText && (mePtr->compound != COMPOUND_NONE)) {
- int fullWidth = (imageWidth > textWidth ? imageWidth : textWidth);
-
- switch ((enum compound) mePtr->compound) {
- case COMPOUND_TOP:
- textXOffset = (fullWidth - textWidth)/2;
- textYOffset = imageHeight/2 + 2;
- imageXOffset = (fullWidth - imageWidth)/2;
- imageYOffset = -textHeight/2;
- break;
- case COMPOUND_BOTTOM:
- textXOffset = (fullWidth - textWidth)/2;
- textYOffset = -imageHeight/2;
- imageXOffset = (fullWidth - imageWidth)/2;
- imageYOffset = textHeight/2 + 2;
- break;
- case COMPOUND_LEFT:
- /*
- * Position image in the indicator space to the left of the
- * entries, unless this entry is a radio|check button because then
- * the indicator space will be used.
- */
-
- textXOffset = imageWidth + 2 - menuTextLeadingEdgeMargin;
- if ((mePtr->type != CHECK_BUTTON_ENTRY)
- && (mePtr->type != RADIO_BUTTON_ENTRY)) {
- textXOffset -= indicatorSpace;
- imageXOffset = -indicatorSpace;
- }
- if (textXOffset < 0) {
- textXOffset = 0;
- }
- break;
- case COMPOUND_RIGHT:
- imageXOffset = textWidth + 2 - menuTextTrailingEdgeMargin;
- break;
- case COMPOUND_CENTER:
- textXOffset = (fullWidth - textWidth)/2;
- imageXOffset = (fullWidth - imageWidth)/2;
- break;
- case COMPOUND_NONE:
- /*
- * Never reached.
- */
- break;
- }
- }
-
- /*
- * Draw label and/or bitmap or image for entry.
- */
-
- if (mePtr->image != NULL) {
- if ((mePtr->selectImage != NULL)
- && (mePtr->entryFlags & ENTRY_SELECTED)) {
- Tk_RedrawImage(mePtr->selectImage, 0, 0, imageWidth, imageHeight,
- d, leftEdge + imageXOffset,
- y + (mePtr->height - imageHeight)/2 + imageYOffset);
- } else {
- Tk_RedrawImage(mePtr->image, 0, 0, imageWidth, imageHeight,
- d, leftEdge + imageXOffset,
- y + (mePtr->height - imageHeight)/2 + imageYOffset);
- }
- } else if (mePtr->bitmapPtr != NULL) {
- XCopyPlane(menuPtr->display, bitmap, d, gc, 0, 0, imageWidth,
- imageHeight, leftEdge + imageXOffset,
- y + (mePtr->height - imageHeight)/2 + imageYOffset, 1);
- }
- if (haveText) {
- int baseline = y + (height + fmPtr->ascent - fmPtr->descent)/2;
-
- Tk_DrawChars(menuPtr->display, d, gc, tkfont,
- Tcl_DStringValue(&itemTextDString),
- Tcl_DStringLength(&itemTextDString),
- leftEdge + menuTextLeadingEdgeMargin + textXOffset,
- baseline + textYOffset);
- Tcl_DStringFree(&itemTextDString);
- }
-
- if (mePtr->state == ENTRY_DISABLED) {
- if (menuPtr->disabledFgPtr == NULL) {
- /* XFillRectangle(menuPtr->display, d, menuPtr->disabledGC, x, y,
- width, height); */
- } else if ((mePtr->image != NULL)
- && (menuPtr->disabledImageGC != None)) {
- XFillRectangle(menuPtr->display, d, menuPtr->disabledImageGC,
- leftEdge + imageXOffset,
- y + (mePtr->height - imageHeight)/2 + imageYOffset,
- imageWidth, imageHeight);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuEntryBackground --
- *
- * This procedure draws the background part of a menu entry. Under
- * Appearance, we only draw the background if the entry's border is set,
- * we DO NOT inherit it from the menu...
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menu in its current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DrawMenuEntryBackground(
- TkMenu *menuPtr, /* The menu we are drawing. */
- TkMenuEntry *mePtr, /* The entry we are drawing. */
- Drawable d, /* What we are drawing into */
- Tk_3DBorder activeBorder, /* Border for active items */
- Tk_3DBorder bgBorder, /* Border for the background */
- int x, /* left edge */
- int y, /* top edge */
- int width, /* width of rectangle to draw */
- int height) /* height of rectangle to draw */
-{
- if ((menuPtr->menuType == TEAROFF_MENU)
- || ((mePtr->state == ENTRY_ACTIVE)
- && (mePtr->activeBorderPtr != None))
- || ((mePtr->state != ENTRY_ACTIVE) && (mePtr->borderPtr != None))) {
- if (mePtr->state == ENTRY_ACTIVE) {
- bgBorder = activeBorder;
- }
- Tk_Fill3DRectangle(menuPtr->tkwin, d, bgBorder,
- x, y, width, height, 0, TK_RELIEF_FLAT);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMenuLabelGeometry --
- *
- * Figures out the size of the label portion of a menu item.
- *
- * Results:
- * widthPtr and heightPtr are filled in with the correct geometry
- * information.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-GetMenuLabelGeometry(
- TkMenuEntry *mePtr, /* The entry we are computing */
- Tk_Font tkfont, /* The precalculated font */
- const Tk_FontMetrics *fmPtr,/* The precalculated metrics */
- int *widthPtr, /* The resulting width of the label portion */
- int *heightPtr) /* The resulting height of the label portion */
-{
- TkMenu *menuPtr = mePtr->menuPtr;
- int haveImage = 0, tornOff = (menuPtr->menuType == TEAROFF_MENU);
-#ifdef USE_TK_MDEF
- const int useMDEF = ((MacMenu *) menuPtr->platformData)->useMDEF;
-#endif
-
- if (mePtr->image != NULL && (useMDEF || tornOff)) {
- Tk_SizeOfImage(mePtr->image, widthPtr, heightPtr);
- haveImage = 1;
- } else if (mePtr->bitmapPtr != NULL && (useMDEF || tornOff)) {
- Pixmap bitmap = Tk_GetBitmapFromObj(menuPtr->tkwin, mePtr->bitmapPtr);
- Tk_SizeOfBitmap(menuPtr->display, bitmap, widthPtr, heightPtr);
- haveImage = 1;
- }
- if (!haveImage || (mePtr->compound != COMPOUND_NONE)) {
- int textWidth = 0, textHeight = fmPtr->linespace;
-
- if (mePtr->labelPtr != NULL) {
- Tcl_DString itemTextDString;
-
- GetEntryText(mePtr, &itemTextDString);
- textWidth = Tk_TextWidth(tkfont,
- Tcl_DStringValue(&itemTextDString),
- Tcl_DStringLength(&itemTextDString)) +
- menuTextLeadingEdgeMargin + menuTextTrailingEdgeMargin;
- Tcl_DStringFree(&itemTextDString);
-
- if (haveImage && (mePtr->compound != COMPOUND_NONE)) {
- switch ((enum compound) mePtr->compound) {
- int margin;
-
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM:
- if (textWidth > *widthPtr) {
- *widthPtr = textWidth;
- }
- *heightPtr += textHeight + 2;
- break;
- case COMPOUND_LEFT:
- margin = *widthPtr + 2;
- if (margin > menuTextLeadingEdgeMargin) {
- margin = menuTextLeadingEdgeMargin;
- }
- *widthPtr += textWidth + 2 - margin;
- if (textHeight > *heightPtr) {
- *heightPtr = textHeight;
- }
- break;
- case COMPOUND_RIGHT:
- margin = menuTextTrailingEdgeMargin;
- *widthPtr += textWidth + 2 - margin;
- if (textHeight > *heightPtr) {
- *heightPtr = textHeight;
- }
- break;
- case COMPOUND_CENTER:
- if (textWidth > *widthPtr) {
- *widthPtr = textWidth;
- }
- if (textHeight > *heightPtr) {
- *heightPtr = textHeight;
- }
- break;
- case COMPOUND_NONE:
- /*
- * Never reached.
- */
- break;
- }
- goto labelGeomDone;
- }
- }
- *widthPtr = textWidth;
- *heightPtr = textHeight;
- }
-
- labelGeomDone:
- *heightPtr += menuItemExtraHeight;
- *widthPtr += menuItemExtraWidth;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGenerateParentMenuSelectEvent --
- *
- * Respond to a hierarchical menu being opened.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Places a virtual event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXGenerateParentMenuSelectEvent(
- MenuRef menu)
-{
- TkMenu *menuPtr = MenuPtrForMenuRef(menu);
-
- if (menuPtr) {
- TkMenuEntry *parentEntryPtr = GetParentMenuEntry(menuPtr);
-
- if (parentEntryPtr && (menuPtr = parentEntryPtr->menuPtr)) {
- TkActivateMenuEntry(menuPtr, parentEntryPtr->index);
- MenuSelectEvent(menuPtr);
- Tcl_ServiceAll();
- return true;
- }
- }
- return false;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGenerateMenuSelectEvent --
- *
- * Respond to a menu item being selected.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Places a virtual event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXGenerateMenuSelectEvent(
- MenuRef menu,
- MenuItemIndex index)
-{
- TkMenu *menuPtr = MenuPtrForMenuRef(menu);
- int item = index - 1;
-
- if (menuPtr) {
- if (item < 0 || item >= menuPtr->numEntries ||
- (menuPtr->entries[item])->state == ENTRY_DISABLED) {
- TkActivateMenuEntry(menuPtr, -1);
- } else {
- TkActivateMenuEntry(menuPtr, item);
- MenuSelectEvent(menuPtr);
- Tcl_ServiceAll();
- return true;
- }
- }
- return false;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MenuSelectEvent --
- *
- * Generates a "MenuSelect" virtual event. This can be used to do
- * context-sensitive menu help.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Places a virtual event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-void
-MenuSelectEvent(
- TkMenu *menuPtr) /* the menu we have selected. */
-{
- XVirtualEvent event;
-
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = menuPtr->display->request;
- event.send_event = false;
- event.display = menuPtr->display;
- Tk_MakeWindowExist(menuPtr->tkwin);
- event.event = Tk_WindowId(menuPtr->tkwin);
- event.root = XRootWindow(menuPtr->display, 0);
- event.subwindow = None;
- event.time = TkpGetMS();
-
- XQueryPointer(NULL, None, NULL, NULL, &event.x_root, &event.y_root, NULL,
- NULL, &event.state);
- event.same_screen = true;
- event.name = Tk_GetUid("MenuSelect");
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXClearActiveMenu --
- *
- * Clears Tk's active entry for the given MenuRef.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates <<MenuSelect>> virtual events.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXClearActiveMenu(
- MenuRef menu)
-{
- TkMenu *menuPtr = MenuPtrForMenuRef(menu);
-
- if (menuPtr) {
- RecursivelyClearActiveMenu(menuPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RecursivelyClearActiveMenu --
- *
- * Recursively clears the active entry in the menu's cascade hierarchy.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates <<MenuSelect>> virtual events.
- *
- *----------------------------------------------------------------------
- */
-
-void
-RecursivelyClearActiveMenu(
- TkMenu *menuPtr) /* The menu to reset. */
-{
- int i;
- TkMenuEntry *mePtr;
-
- TkActivateMenuEntry(menuPtr, -1);
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mePtr->type == CASCADE_ENTRY) {
- if ((mePtr->childMenuRefPtr != NULL)
- && (mePtr->childMenuRefPtr->menuPtr != NULL)) {
- RecursivelyClearActiveMenu(mePtr->childMenuRefPtr->menuPtr);
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXClearMenubarActive --
- *
- * Recursively clears the active entry in the current menubar hierarchy.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates <<MenuSelect>> virtual events.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXClearMenubarActive(void)
-{
- TkMenuReferences *menuBarRefPtr;
-
- if (currentMenuBarName != NULL) {
- menuBarRefPtr = TkFindMenuReferences(currentMenuBarInterp,
- currentMenuBarName);
- if ((menuBarRefPtr != NULL) && (menuBarRefPtr->menuPtr != NULL)) {
- TkMenu *menuPtr;
-
- for (menuPtr = menuBarRefPtr->menuPtr->masterMenuPtr;
- menuPtr != NULL; menuPtr = menuPtr->nextInstancePtr) {
- if (menuPtr->menuType == MENUBAR) {
- RecursivelyClearActiveMenu(menuPtr);
- }
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuNotifyToplevelCreate --
- *
- * This routine reconfigures the menu and the clones indicated by
- * menuName becuase a toplevel has been created and any system menus need
- * to be created. Only applicable to Windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * An idle handler is set up to do the reconfiguration.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMenuNotifyToplevelCreate(
- Tcl_Interp *interp, /* The interp the menu lives in. */
- const char *menuName) /* The name of the menu to reconfigure. */
-{
- /*
- * Nothing to do.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuInit --
- *
- * Initializes Mac-specific menu data.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Allocates a hash table.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMenuInit(void)
-{
- MenuSymbol *ms = menuSymbols;
- CFStringRef cfStr;
-
- lastMenuID = 256;
- Tcl_InitHashTable(&commandTable, TCL_ONE_WORD_KEYS);
- currentMenuBarOwner = NULL;
- currentAppleMenuID = 0;
- currentHelpMenuID = 0;
- currentMenuBarInterp = NULL;
- currentMenuBarName = NULL;
- windowListPtr = NULL;
-
-#ifdef USE_TK_MDEF
- tkThemeMenuItemDrawingUPP
- = NewMenuItemDrawingUPP(ThemeMenuItemDrawingProc);
- useMDEFVar = Tcl_NewStringObj("::tk::mac::useCustomMDEF", -1);
- macMDEFDrawable.winPtr = NULL;
- macMDEFDrawable.xOff = 0;
- macMDEFDrawable.yOff = 0;
- macMDEFDrawable.visRgn = NULL;
- macMDEFDrawable.aboveVisRgn = NULL;
- macMDEFDrawable.drawRect = CGRectNull;
- macMDEFDrawable.referenceCount = 0;
- macMDEFDrawable.toplevel = NULL;
- macMDEFDrawable.flags = 0;
- macMDEFDrawable.grafPtr = NULL;
- macMDEFDrawable.context = NULL;
- macMDEFDrawable.size = CGSizeZero;
-#endif
-
- ChkErr(GetThemeMetric, kThemeMetricMenuMarkColumnWidth,
- &menuMarkColumnWidth);
- ChkErr(GetThemeMetric, kThemeMetricMenuMarkIndent, &menuMarkIndent);
- ChkErr(GetThemeMetric, kThemeMetricMenuTextLeadingEdgeMargin,
- &menuTextLeadingEdgeMargin);
- ChkErr(GetThemeMetric, kThemeMetricMenuTextTrailingEdgeMargin,
- &menuTextTrailingEdgeMargin);
- ChkErr(GetThemeMenuItemExtra, kThemeMenuItemPlain, &menuItemExtraHeight,
- &menuItemExtraWidth);
- ChkErr(GetThemeMenuSeparatorHeight, &menuSeparatorHeight);
-
- while (ms->unicode) {
- ms->utfLen = Tcl_UniCharToUtf(ms->unicode, ms->utf);
- ms->utf[ms->utfLen] = 0;
- cfStr = CFStringCreateWithCharacters(NULL, &ms->unicode, 1);
- if (cfStr) {
- ms->width = MeasureThemeText(cfStr, kThemeMenuItemCmdKeyFont);
- CFRelease(cfStr);
- }
- ms++;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuThreadInit --
- *
- * Does platform-specific initialization of thread-specific menu state.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMenuThreadInit(void)
-{
- /*
- * Nothing to do.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpPreprocessMacMenu --
- *
- * Handle preprocessing of menubar if it exists.
- *
- * Results:
- * None.
- *
- * Side effects:
- * All post commands for the current menubar get executed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXPreprocessMenu(void)
-{
- if ((currentMenuBarName != NULL) && (currentMenuBarInterp != NULL)) {
- TkMenuReferences *mbRefPtr =
- TkFindMenuReferences(currentMenuBarInterp,currentMenuBarName);
-
- if ((mbRefPtr != NULL) && (mbRefPtr->menuPtr != NULL)) {
- int code;
-
- Tcl_Preserve(currentMenuBarInterp);
- code = TkPreprocessMenu(mbRefPtr->menuPtr->masterMenuPtr);
- if ((code != TCL_OK) && (code != TCL_CONTINUE)
- && (code != TCL_BREAK)) {
- Tcl_AddErrorInfo(currentMenuBarInterp,
- "\n (menu preprocess)");
- Tcl_BackgroundException(currentMenuBarInterp, code);
- }
- Tcl_Release(currentMenuBarInterp);
- }
- }
-}
-
-#ifdef USE_TK_MDEF
-#pragma mark MDEF
-/*
- *----------------------------------------------------------------------
- *
- * MenuDefProc --
- *
- * This routine is the MDEF handler for Tk. It receives all messages for
- * the menu and dispatches them.
- *
- * Results:
- * None.
- *
- * Side effects:
- * This routine causes menus to be drawn and will certainly allocate
- * memory as a result. Also, the menu can scroll up and down, and various
- * other interface actions can take place.
- *
- *----------------------------------------------------------------------
- */
-
-void
-MenuDefProc(
- SInt16 message, /* What action are we taking? */
- MenuRef menu, /* The menu we are working with */
- Rect *menuRectPtr, /* A pointer to the rect for the whole
- * menu. */
- Point hitPt, /* Where the mouse was clicked for the
- * appropriate messages. */
- SInt16 *whichItem) /* Output result. Which item was hit by the
- * user? */
-{
- TkMenu *menuPtr;
- Tcl_HashEntry *commandEntryPtr;
- MenuID menuID;
-
- menuID = GetMenuID(menu);
- commandEntryPtr = Tcl_FindHashEntry(&commandTable, (char*)(intptr_t)menuID);
- if (!commandEntryPtr) return;
- menuPtr = Tcl_GetHashValue(commandEntryPtr);
-
- switch (message) {
- case kMenuInitMsg:
- *whichItem = noErr;
- break;
- case kMenuDisposeMsg:
- break;
- case kMenuHiliteItemMsg:
- HandleMenuHiliteMsg(menu, menuRectPtr, hitPt, whichItem, menuPtr);
- break;
- case kMenuCalcItemMsg:
- HandleMenuCalcItemMsg(menu, menuRectPtr, hitPt, whichItem, menuPtr);
- break;
- case kMenuDrawItemsMsg:
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("MDEF: DrawItemsMsg");
-#endif
- /*
- * We do nothing here, because we don't support the Menu Managers
- * dynamic item groups
- */
-
- break;
- case kMenuThemeSavvyMsg:
- *whichItem = kThemeSavvyMenuResponse;
- break;
- case kMenuSizeMsg:
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("MDEF: SizeMsg %d, %d", hitPt.h, hitPt.v);
-#endif
- SetMenuWidth(menu, hitPt.h < menuPtr->totalWidth ? hitPt.h :
- menuPtr->totalWidth);
- SetMenuHeight(menu, hitPt.v < menuPtr->totalHeight ? hitPt.v :
- menuPtr->totalHeight);
- break;
- case kMenuDrawMsg:
- HandleMenuDrawMsg(menu, menuRectPtr, hitPt, whichItem, menuPtr);
- break;
- case kMenuFindItemMsg:
- HandleMenuFindItemMsg(menu, menuRectPtr, hitPt, whichItem, menuPtr);
- break;
- case kMenuPopUpMsg:
- HandleMenuPopUpMsg(menu, menuRectPtr, hitPt, whichItem, menuPtr);
- break;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleMenuHiliteMsg --
- *
- * Handles the MenuDefProc's hilite message.
- *
- * Results:
- * A menu entry is drawn
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-HandleMenuHiliteMsg(
- MenuRef menu,
- Rect *menuRectPtr,
- Point hitPt,
- SInt16 *whichItem,
- TkMenu *menuPtr)
-{
- OSStatus err;
- Tk_Font tkfont;
- Tk_FontMetrics fontMetrics;
- MDEFHiliteItemData *hidPtr = (MDEFHiliteItemData *) whichItem;
- int oldItem = hidPtr->previousItem - 1;
- int newItem = hidPtr->newItem - 1;
- MenuTrackingData mtd, *mtdPtr = &mtd;
-
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("MDEF: HiliteMsg %d -> %d", hidPtr->previousItem,
- hidPtr->newItem);
-#endif
- GetPort(&macMDEFDrawable.grafPtr);
- macMDEFDrawable.context = (CGContextRef) hidPtr->context;
-
- err = ChkErr(GetMenuTrackingData, menu, mtdPtr);
- if (err != noErr) {
- return;
- }
-
- tkfont = Tk_GetFontFromObj(menuPtr->tkwin, menuPtr->fontPtr);
- Tk_GetFontMetrics(tkfont, &fontMetrics);
- if (oldItem >= 0) {
- AppearanceEntryDrawWrapper(menuPtr->entries[oldItem], menuRectPtr,
- mtdPtr, (Drawable) &macMDEFDrawable, &fontMetrics, tkfont, 1);
- }
- if (newItem >= 0) {
- AppearanceEntryDrawWrapper(menuPtr->entries[newItem], menuRectPtr,
- mtdPtr, (Drawable) &macMDEFDrawable, &fontMetrics, tkfont, 0);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleMenuDrawMsg --
- *
- * Handles the MenuDefProc's draw message.
- *
- * Results:
- * A menu entry is drawn
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-HandleMenuDrawMsg(
- MenuRef menu,
- Rect *menuRectPtr,
- Point hitPt,
- SInt16 *whichItem,
- TkMenu *menuPtr)
-{
- Tk_Font menuFont;
- Tk_FontMetrics fontMetrics;
- TkMenuEntry *mePtr;
- int i;
- Rect menuClipRect, bounds;
- MDEFDrawData *ddPtr = (MDEFDrawData *) whichItem;
- MenuTrackingData *mtdPtr = &(ddPtr->trackingData);
- TkWindow *winPtr = (TkWindow *) menuPtr->tkwin;
-
- GetPort(&macMDEFDrawable.grafPtr);
- GetPortBounds(macMDEFDrawable.grafPtr, &bounds);
- macMDEFDrawable.context = (CGContextRef) ddPtr->context;
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("MDEF: DrawMsg %d - %d; %d - %d", menuRectPtr->top,
- menuRectPtr->bottom, bounds.top, bounds.bottom);
-#endif
- winPtr->changes.x = menuRectPtr->left;
- winPtr->changes.y = menuRectPtr->top;
- winPtr->changes.width = menuRectPtr->right - menuRectPtr->left;
- winPtr->changes.height = menuRectPtr->bottom - menuRectPtr->top;
- TkpClipDrawableToRect(menuPtr->display, (Drawable) &macMDEFDrawable,
- 0, 0, -1, -1);
-#if 0
- if (menuPtr->menuRefPtr->topLevelListPtr != NULL) {
- menuType = kThemeMenuTypePullDown;
- } else if (menuPtr->menuRefPtr->parentEntryPtr != NULL) {
- menuType = kThemeMenuTypeHierarchical;
- } else {
- menuType = kThemeMenuTypePopUp;
- }
-#endif
- DrawMenuBackground(menuPtr, menuRectPtr, (Drawable) &macMDEFDrawable);
- menuFont = Tk_GetFontFromObj(menuPtr->tkwin, menuPtr->fontPtr);
- Tk_GetFontMetrics(menuFont, &fontMetrics);
- menuClipRect = *menuRectPtr;
- mtdPtr->virtualMenuBottom = mtdPtr->virtualMenuTop + menuPtr->totalHeight;
-
- /*
- * Next, figure out scrolling information.
- */
-
- if ((menuRectPtr->bottom - menuRectPtr->top) < menuPtr->totalHeight) {
- short arrowHeight = fontMetrics.linespace + 1;
- Rect arrowRect, eraseRect;
- ThemeMenuState menuState = IsMenuItemEnabled(menu, 0) ?
- kThemeMenuActive : kThemeMenuDisabled;
-
- if (mtdPtr->virtualMenuTop < menuRectPtr->top) {
- arrowRect = bounds;
- /*arrowRect.top += 1;*/
- arrowRect.bottom = arrowRect.top + arrowHeight;
- eraseRect = arrowRect;
- eraseRect.top = menuRectPtr->top;
- menuClipRect.top = arrowRect.bottom;
- ChkErr(EraseMenuBackground, menu, &eraseRect,
- macMDEFDrawable.context);
- ChkErr(DrawThemeMenuItem, menuRectPtr, &arrowRect,
- mtdPtr->virtualMenuTop, mtdPtr->virtualMenuBottom,
- menuState, kThemeMenuItemScrollUpArrow, NULL, 0);
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("upArrow: %d - %d, %d - %d", arrowRect.top,
- arrowRect.bottom, arrowRect.left, arrowRect.right);
-#endif
- }
- if (mtdPtr->virtualMenuBottom > menuRectPtr->bottom) {
- arrowRect = bounds;
- arrowRect.bottom -= 1;
- arrowRect.top = arrowRect.bottom - arrowHeight;
- eraseRect = arrowRect;
- eraseRect.bottom = menuRectPtr->bottom;
- menuClipRect.bottom = arrowRect.top;
- ChkErr(EraseMenuBackground, menu, &eraseRect,
- macMDEFDrawable.context);
- ChkErr(DrawThemeMenuItem, menuRectPtr, &arrowRect,
- mtdPtr->virtualMenuTop, mtdPtr->virtualMenuBottom,
- menuState, kThemeMenuItemScrollDownArrow, NULL, 0);
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("downArrow: %d - %d, %d - %d", arrowRect.top,
- arrowRect.bottom, arrowRect.left, arrowRect.right);
-#endif
- }
- TkpClipDrawableToRect(menuPtr->display, (Drawable) &macMDEFDrawable,
- menuClipRect.left, menuClipRect.top, menuClipRect.right -
- menuClipRect.left, menuClipRect.bottom - menuClipRect.top);
- }
-
- /*
- * Now, actually draw the menu. Don't draw entries that are higher than
- * the top arrow, and don't draw entries that are lower than the bottom.
- */
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mtdPtr->virtualMenuTop + mePtr->y + mePtr->height <
- menuClipRect.top || mtdPtr->virtualMenuTop + mePtr->y >
- menuClipRect.bottom) {
- continue;
- }
- AppearanceEntryDrawWrapper(mePtr, menuRectPtr, mtdPtr,
- (Drawable) &macMDEFDrawable, &fontMetrics, menuFont, 0);
- }
- MDEFScrollFlag = 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleMenuFindItemMsg --
- *
- * Handles the MenuDefProc's FindItems message. We have to respond by
- * filling in the itemSelected, itemUnderMouse and itemRect fields. This
- * is also the time to scroll the menu if it is too long to fit on the
- * screen.
- *
- * Results:
- * The Menu system is informed of the selected item & the item under the
- * mouse.
- *
- * Side effects:
- * The menu might get scrolled.
- *
- *----------------------------------------------------------------------
- */
-
-void
-HandleMenuFindItemMsg(
- MenuRef menu,
- Rect *menuRectPtr,
- Point hitPt,
- SInt16 *whichItem,
- TkMenu *menuPtr)
-{
- Tk_Font menuFont;
- Tk_FontMetrics fontMetrics;
- TkMenuEntry *mePtr;
- int i, newItem = -1, itemUnderMouse = -1;
- Rect itemRect = {0, 0, 0, 0}, menuClipRect, bounds;
- int hasTopScroll, hasBottomScroll;
- MDEFFindItemData *fiPtr = (MDEFFindItemData *)whichItem;
- MenuTrackingData *mtdPtr = &(fiPtr->trackingData), topMtd;
- enum {
- DONT_SCROLL, DOWN_SCROLL, UP_SCROLL
- } scrollDirection;
- short arrowHeight;
-
-#ifdef TK_MAC_DEBUG_MENUS
- static Point lastHitPt = {0, 0};
-
- if (hitPt.h != lastHitPt.h || hitPt.v != lastHitPt.v) {
- lastHitPt = hitPt;
- TkMacOSXDbgMsg("MDEF: FindItemMsg: %d, %d", hitPt.h, hitPt.v);
- }
-#endif
-
- GetPort(&macMDEFDrawable.grafPtr);
- GetPortBounds(macMDEFDrawable.grafPtr, &bounds);
- macMDEFDrawable.context = (CGContextRef) fiPtr->context;
-
- /*
- * Now we need to take care of scrolling the menu.
- */
-
- menuFont = Tk_GetFontFromObj(menuPtr->tkwin, menuPtr->fontPtr);
- Tk_GetFontMetrics(menuFont, &fontMetrics);
- arrowHeight = fontMetrics.linespace + 1;
- menuClipRect = *menuRectPtr;
- hasTopScroll = mtdPtr->virtualMenuTop < menuRectPtr->top;
- hasBottomScroll = mtdPtr->virtualMenuBottom > menuRectPtr->bottom;
- scrollDirection = DONT_SCROLL;
- if (hasTopScroll) {
- menuClipRect.top = bounds.top + arrowHeight;
- if (hitPt.v < menuClipRect.top) {
- newItem = -1;
- scrollDirection = DOWN_SCROLL;
- }
- }
- if (hasBottomScroll) {
- menuClipRect.bottom = bounds.bottom - 1 - arrowHeight;
- if (hitPt.v > menuClipRect.bottom) {
- newItem = -1;
- scrollDirection = UP_SCROLL;
- }
- }
- if (MDEFScrollFlag) {
- scrollDirection = DONT_SCROLL;
- MDEFScrollFlag = 0;
- }
- /*
- * Don't scroll if there are other menus open above us
- */
- ChkErr(GetMenuTrackingData, NULL, &topMtd);
- if (menu != topMtd.menu) {
- scrollDirection = DONT_SCROLL;
- }
- if (scrollDirection == DONT_SCROLL) {
- /*
- * Find out which item was hit. If it is the same as the old item, we
- * don't need to do anything.
- */
-
- if (PtInRect(hitPt, menuRectPtr)) {
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- itemRect.left = menuRectPtr->left + mePtr->x;
- itemRect.top = mtdPtr->virtualMenuTop + mePtr->y;
- itemRect.right = mePtr->entryFlags & ENTRY_LAST_COLUMN ?
- menuRectPtr->right : itemRect.left + mePtr->width;
- itemRect.bottom = itemRect.top + mePtr->height;
- if (PtInRect(hitPt, &itemRect)) {
- if ((mePtr->type == SEPARATOR_ENTRY)
- || (mePtr->state == ENTRY_DISABLED)) {
- newItem = -1;
- itemUnderMouse = i;
- } else {
- TkMenuEntry *parentEntryPtr =
- GetParentMenuEntry(menuPtr);
-
- if (parentEntryPtr &&
- parentEntryPtr->state == ENTRY_DISABLED) {
- newItem = -1;
- itemUnderMouse = i;
- } else {
- newItem = i;
- itemUnderMouse = i;
- }
- }
- break;
- }
- }
- }
- } else {
- short scrollAmt;
- unsigned long scrollDelay;
- Rect arrowRect, eraseRect, scrolledMenuClipRect;
- ThemeMenuState menuState = IsMenuItemEnabled(menu, 0) ?
- kThemeMenuActive : kThemeMenuDisabled;
- int oldItem = mtdPtr->itemSelected - 1;
- short d;
-
- TkpClipDrawableToRect(menuPtr->display, (Drawable) &macMDEFDrawable,
- 0, 0, -1, -1);
- scrollAmt = fontMetrics.linespace + menuItemExtraHeight;
- if (scrollDirection == UP_SCROLL) {
- scrollAmt = -scrollAmt;
- d = hitPt.v - bounds.bottom;
- } else {
- d = bounds.top - hitPt.v;
- }
- scrollDelay = (d >= scrollAmt/2) ? 1 : 10;
- menuClipRect = *menuRectPtr;
- if (mtdPtr->virtualMenuTop + scrollAmt < menuRectPtr->top) {
- arrowRect = bounds;
- /*arrowRect.top += 1;*/
- arrowRect.bottom = arrowRect.top + arrowHeight;
- eraseRect = arrowRect;
- eraseRect.top = menuRectPtr->top;
- menuClipRect.top = arrowRect.bottom;
- if (!hasTopScroll) {
- ChkErr(EraseMenuBackground, menu, &eraseRect,
- macMDEFDrawable.context);
- ChkErr(DrawThemeMenuItem, menuRectPtr, &arrowRect,
- mtdPtr->virtualMenuTop + scrollAmt,
- mtdPtr->virtualMenuBottom + scrollAmt,
- menuState, kThemeMenuItemScrollUpArrow, NULL, 0);
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("upArrow: %d - %d, %d - %d", arrowRect.top,
- arrowRect.bottom, arrowRect.left, arrowRect.right);
-#endif
- }
- }
- if (mtdPtr->virtualMenuBottom + scrollAmt > menuRectPtr->bottom) {
- arrowRect = bounds;
- arrowRect.bottom -= 1;
- arrowRect.top = arrowRect.bottom - arrowHeight;
- eraseRect = arrowRect;
- eraseRect.bottom = menuRectPtr->bottom;
- menuClipRect.bottom = arrowRect.top;
- if (!hasBottomScroll) {
- ChkErr(EraseMenuBackground, menu, &eraseRect,
- macMDEFDrawable.context);
- ChkErr(DrawThemeMenuItem, menuRectPtr, &arrowRect,
- mtdPtr->virtualMenuTop + scrollAmt,
- mtdPtr->virtualMenuBottom + scrollAmt,
- menuState, kThemeMenuItemScrollDownArrow, NULL, 0);
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("downArrow: %d - %d, %d - %d", arrowRect.top,
- arrowRect.bottom, arrowRect.left, arrowRect.right);
-#endif
- }
- }
- TkpClipDrawableToRect(menuPtr->display, (Drawable) &macMDEFDrawable,
- menuClipRect.left, menuClipRect.top, menuClipRect.right -
- menuClipRect.left, menuClipRect.bottom - menuClipRect.top);
- TkActivateMenuEntry(menuPtr, -1);
- if (oldItem >= 0) {
- AppearanceEntryDrawWrapper(menuPtr->entries[oldItem], menuRectPtr,
- mtdPtr, (Drawable) &macMDEFDrawable, &fontMetrics,
- menuFont, 1);
- }
- ChkErr(ScrollMenuImage, menu, &menuClipRect, 0, scrollAmt,
- macMDEFDrawable.context);
- mtdPtr->virtualMenuTop += scrollAmt;
- mtdPtr->virtualMenuBottom += scrollAmt;
- scrolledMenuClipRect = menuClipRect;
- OffsetRect(&scrolledMenuClipRect, 0, scrollAmt);
- menuClipRect = bounds;
- if (mtdPtr->virtualMenuTop < menuRectPtr->top) {
- menuClipRect.top += arrowHeight;
- }
- if (mtdPtr->virtualMenuBottom > menuRectPtr->bottom) {
- menuClipRect.bottom -= arrowHeight;
- }
- TkpClipDrawableToRect(menuPtr->display, (Drawable) &macMDEFDrawable,
- menuClipRect.left, menuClipRect.top, menuClipRect.right -
- menuClipRect.left, menuClipRect.bottom - menuClipRect.top);
- if (scrolledMenuClipRect.bottom < menuClipRect.bottom) {
- menuClipRect.top = scrolledMenuClipRect.bottom;
- } else if (scrolledMenuClipRect.top < menuClipRect.top) {
- menuClipRect.bottom = scrolledMenuClipRect.top;
- }
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mtdPtr->virtualMenuTop + mePtr->y + mePtr->height <
- menuClipRect.top || mtdPtr->virtualMenuTop + mePtr->y >
- menuClipRect.bottom) {
- continue;
- }
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("Drawing item %i", i);
-#endif
- AppearanceEntryDrawWrapper(mePtr, menuRectPtr, mtdPtr,
- (Drawable) &macMDEFDrawable, &fontMetrics, menuFont, 1);
- }
- Delay(scrollDelay, NULL);
- }
- mtdPtr->itemSelected = newItem + 1;
- mtdPtr->itemUnderMouse = itemUnderMouse + 1;
- mtdPtr->itemRect = itemRect;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleMenuPopUpMsg --
- *
- * Handles the MenuDefProc's PopUp message. The menu is posted with the
- * selected item at the point given in hitPt.
- *
- * Results:
- * A menu is posted.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-HandleMenuPopUpMsg(
- MenuRef menu,
- Rect *menuRectPtr,
- Point hitPt,
- SInt16 *whichItem,
- TkMenu *menuPtr)
-{
- int maxMenuHeight;
- int oldItem;
- Rect portRect;
- BitMap screenBits;
- static SInt16 menuBarHeight = 0;
-
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("MDEF: PopUpMsg");
-#endif
-
- if (!menuBarHeight) {
- ChkErr(GetThemeMenuBarHeight, &menuBarHeight);
- }
- GetQDGlobalsScreenBits(&screenBits);
-
- /*
- * Note that for some oddball reason, h and v are reversed in the point
- * given to us by the MDEF.
- */
-
- oldItem = *whichItem;
- if (oldItem >= menuPtr->numEntries) {
- oldItem = -1;
- }
- portRect.top = 0;
- portRect.bottom = 1280;
- maxMenuHeight = screenBits.bounds.bottom - screenBits.bounds.top
- - menuBarHeight - SCREEN_MARGIN;
- if (menuPtr->totalHeight > maxMenuHeight) {
- menuRectPtr->top = menuBarHeight;
- } else {
- int delta;
-
- menuRectPtr->top = hitPt.h;
- if (oldItem >= 0) {
- menuRectPtr->top -= menuPtr->entries[oldItem]->y;
- }
-
- if (menuRectPtr->top < menuBarHeight) {
- /*
- * Displace downward if the menu would stick off the top of the
- * screen.
- */
-
- menuRectPtr->top = menuBarHeight + SCREEN_MARGIN;
- } else {
- /*
- * Or upward if the menu sticks off the bottom end...
- */
-
- delta = menuRectPtr->top + menuPtr->totalHeight - maxMenuHeight;
- if (delta > 0) {
- menuRectPtr->top -= delta;
- }
- }
- }
- menuRectPtr->left = hitPt.v;
- menuRectPtr->right = menuRectPtr->left + menuPtr->totalWidth;
- menuRectPtr->bottom = menuRectPtr->top +
- ((maxMenuHeight < menuPtr->totalHeight)
- ? maxMenuHeight : menuPtr->totalHeight);
- if (menuRectPtr->top == menuBarHeight) {
- *whichItem = hitPt.h;
- } else {
- *whichItem = menuRectPtr->top;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleMenuCalcItemMsg --
- *
- * Handles the MenuDefProc's CalcItem message. It is supposed to
- * calculate the Rect of the menu entry in whichItem in the menu, and put
- * that in menuRectPtr. I assume this works, but I have never seen the
- * MenuManager send this message.
- *
- * Results:
- * The Menu Manager is informed of the bounding rect of a menu rect.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-HandleMenuCalcItemMsg(
- MenuRef menu,
- Rect *menuRectPtr,
- Point hitPt,
- SInt16 *whichItem,
- TkMenu *menuPtr)
-{
- TkMenuEntry *mePtr;
- MenuTrackingData mtd, *mtdPtr = &mtd;
- OSStatus err;
- int virtualTop, item = *whichItem-1;
-
- err = ChkErr(GetMenuTrackingData, menu, mtdPtr);
- if (err == noErr) {
- virtualTop = mtdPtr->virtualMenuTop;
- } else {
- virtualTop = 0;
- }
-
- if (item >= 0 && item < menuPtr->numEntries) {
- mePtr = menuPtr->entries[item];
- menuRectPtr->left = mePtr->x;
- menuRectPtr->top = mePtr->y + virtualTop;
- if (mePtr->entryFlags & ENTRY_LAST_COLUMN) {
- menuRectPtr->right = menuPtr->totalWidth;
- } else {
- menuRectPtr->right = mePtr->x + mePtr->width;
- }
- menuRectPtr->bottom = menuRectPtr->top + mePtr->height;
- }
-#ifdef TK_MAC_DEBUG_MENUS
- TkMacOSXDbgMsg("MDEF: CalcItemMsg %d: %d, %d", *whichItem,
- menuRectPtr->left, menuRectPtr->top);
-#endif
-}
-#endif /* USE_TK_MDEF */
-
-/*
- * Local Variables:
- * fill-column: 78
- * c-basic-offset: 4
- * End:
- */
diff --git a/carbon/tkMacOSXMenubutton.c b/carbon/tkMacOSXMenubutton.c
deleted file mode 100644
index 58fc787..0000000
--- a/carbon/tkMacOSXMenubutton.c
+++ /dev/null
@@ -1,950 +0,0 @@
-/*
- * tkMacOSXMenubutton.c --
- *
- * This file implements the Macintosh specific portion of the
- * menubutton widget.
- *
- * Copyright (c) 1996 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMenu.h"
-#include "tkMenubutton.h"
-#include "tkMacOSXFont.h"
-#include "tkMacOSXDebug.h"
-
-#define kShadowOffset (3) /* amount to offset shadow from frame */
-#define kTriangleWidth (11) /* width of the triangle */
-#define kTriangleHeight (6) /* height of the triangle */
-#define kTriangleMargin (5) /* margin around triangle */
-
-#define TK_POPUP_OFFSET 32 /* size of popup marker */
-
-#define FIRST_DRAW 2
-#define ACTIVE 4
-
-MODULE_SCOPE int TkMacOSXGetNewMenuID(Tcl_Interp *interp, TkMenu *menuInstPtr,
- int cascade, short *menuIDPtr);
-MODULE_SCOPE void TkMacOSXFreeMenuID(short menuID);
-
-typedef struct {
- SInt16 initialValue;
- SInt16 minValue;
- SInt16 maxValue;
- SInt16 procID;
- int isBevel;
-} MenuButtonControlParams;
-
-typedef struct {
- int len;
- Str255 title;
- ControlFontStyleRec style;
-} ControlTitleParams;
-
-/*
- * Declaration of Mac specific button structure.
- */
-
-typedef struct MacMenuButton {
- TkMenuButton info; /* Generic button info. */
- WindowRef windowRef;
- ControlRef userPane;
- ControlRef control;
- MenuRef menuRef;
- unsigned long userPaneBackground;
- int flags;
- MenuButtonControlParams params;
- ControlTitleParams titleParams;
- ControlButtonContentInfo bevelButtonContent;
- OpenCPicParams picParams;
-} MacMenuButton;
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static OSStatus SetUserPaneDrawProc(ControlRef control,
- ControlUserPaneDrawProcPtr upp);
-static OSStatus SetUserPaneSetUpSpecialBackgroundProc(ControlRef control,
- ControlUserPaneBackgroundProcPtr upp);
-static void UserPaneDraw(ControlRef control, ControlPartCode cpc);
-static void UserPaneBackgroundProc(ControlHandle,
- ControlBackgroundPtr info);
-static int MenuButtonInitControl (MacMenuButton *mbPtr, Rect *paneRect,
- Rect *cntrRect );
-static void MenuButtonEventProc(ClientData clientData, XEvent *eventPtr);
-static int UpdateControlColors(MacMenuButton *mbPtr);
-static void ComputeMenuButtonControlParams(TkMenuButton *mbPtr,
- MenuButtonControlParams * paramsPtr);
-static void ComputeControlTitleParams(TkMenuButton *mbPtr,
- ControlTitleParams *paramsPtr);
-static void CompareControlTitleParams(ControlTitleParams *p1Ptr,
- ControlTitleParams *p2Ptr, int *titleChanged, int *styleChanged);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateMenuButton --
- *
- * Allocate a new TkMenuButton structure.
- *
- * Results:
- * Returns a newly allocated TkMenuButton structure.
- *
- * Side effects:
- * Registers an event handler for the widget.
- *
- *----------------------------------------------------------------------
- */
-
-TkMenuButton *
-TkpCreateMenuButton(
- Tk_Window tkwin)
-{
- MacMenuButton *mbPtr = ckalloc(sizeof(MacMenuButton));
-
- Tk_CreateEventHandler(tkwin, ActivateMask,
- MenuButtonEventProc, (ClientData) mbPtr);
- mbPtr->flags = 0;
- mbPtr->userPaneBackground = PIXEL_MAGIC << 24;
- mbPtr->userPane = NULL;
- mbPtr->control = NULL;
- mbPtr->menuRef = NULL;
- bzero(&mbPtr->params, sizeof(mbPtr->params));
- bzero(&mbPtr->titleParams, sizeof(mbPtr->titleParams));
-
- return (TkMenuButton *) mbPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayMenuButton --
- *
- * This procedure is invoked to display a menubutton widget.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menubutton in its
- * current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayMenuButton(
- ClientData clientData) /* Information about widget. */
-{
- TkMenuButton *butPtr = (TkMenuButton *) clientData;
- Tk_Window tkwin = butPtr->tkwin;
- TkWindow *winPtr;
- Pixmap pixmap;
- MacMenuButton *mbPtr = (MacMenuButton *) butPtr;
- CGrafPtr destPort, savePort;
- Boolean portChanged = false;
- int hasImageOrBitmap = 0, width, height;
- OSStatus err;
- ControlButtonGraphicAlignment theAlignment;
- Rect paneRect, cntrRect;
- int active, enabled;
-
- butPtr->flags &= ~REDRAW_PENDING;
- if ((butPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) {
- return;
- }
- pixmap = (Pixmap) Tk_WindowId(tkwin);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));
-
- winPtr = (TkWindow *)butPtr->tkwin;
- paneRect.left = winPtr->privatePtr->xOff;
- paneRect.top = winPtr->privatePtr->yOff;
- paneRect.right = paneRect.left+Tk_Width(butPtr->tkwin);
- paneRect.bottom = paneRect.top+Tk_Height(butPtr->tkwin);
-
- cntrRect = paneRect;
-
- cntrRect.left += butPtr->inset;
- cntrRect.top += butPtr->inset;
- cntrRect.right -= butPtr->inset;
- cntrRect.bottom -= butPtr->inset;
-
- if (mbPtr->userPane) {
- MenuButtonControlParams params;
- bzero(&params, sizeof(params));
- ComputeMenuButtonControlParams(butPtr, &params);
- if (
-#ifdef TK_REBUILD_TOPLEVEL
- (winPtr->flags & TK_REBUILD_TOPLEVEL) ||
-#endif
- bcmp(&params,&mbPtr->params,sizeof(params))) {
- if (mbPtr->userPane) {
- DisposeControl(mbPtr->userPane);
- mbPtr->userPane = NULL;
- mbPtr->control = NULL;
- }
- }
- }
- if (!mbPtr->userPane) {
- if (MenuButtonInitControl(mbPtr, &paneRect, &cntrRect)) {
- TkMacOSXDbgMsg("Init Control failed");
- return;
- }
- }
- SetControlBounds(mbPtr->userPane, &paneRect);
- SetControlBounds(mbPtr->control, &cntrRect);
-
- if (butPtr->image != None) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- hasImageOrBitmap = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- hasImageOrBitmap = 1;
- }
-
- /*
- * We need to cache the title and its style
- */
-
- if (!(mbPtr->flags & FIRST_DRAW)) {
- ControlTitleParams titleParams;
- int titleChanged;
- int styleChanged;
-
- ComputeControlTitleParams(butPtr, &titleParams);
- CompareControlTitleParams(&titleParams, &mbPtr->titleParams,
- &titleChanged, &styleChanged);
- if (titleChanged) {
- CFStringRef cf = CFStringCreateWithCString(NULL,
- (char*) titleParams.title, kCFStringEncodingUTF8);
-
- if (hasImageOrBitmap) {
- SetControlTitleWithCFString(mbPtr->control, cf);
- } else {
- SetMenuItemTextWithCFString(mbPtr->menuRef, 1, cf);
- }
- CFRelease(cf);
- bcopy(titleParams.title, mbPtr->titleParams.title,
- titleParams.len + 1);
- mbPtr->titleParams.len = titleParams.len;
- }
- if ((titleChanged||styleChanged) && titleParams .len) {
- if (hasImageOrBitmap) {
- err = ChkErr(SetControlFontStyle, mbPtr->control,
- &titleParams.style);
- if (err != noErr) {
- return;
- }
- }
- bcopy(&titleParams.style, &mbPtr->titleParams.style,
- sizeof(titleParams.style));
- }
- }
- if (hasImageOrBitmap) {
- {
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- mbPtr->picParams.version = -2;
- mbPtr->picParams.hRes = 0x00480000;
- mbPtr->picParams.vRes = 0x00480000;
- mbPtr->picParams.srcRect.top = 0;
- mbPtr->picParams.srcRect.left = 0;
- mbPtr->picParams.srcRect.bottom = height;
- mbPtr->picParams.srcRect.right = width;
- mbPtr->picParams.reserved1 = 0;
- mbPtr->picParams.reserved2 = 0;
- mbPtr->bevelButtonContent.contentType = kControlContentPictHandle;
- mbPtr->bevelButtonContent.u.picture = OpenCPicture(&mbPtr->picParams);
- if (!mbPtr->bevelButtonContent.u.picture) {
- TkMacOSXDbgMsg("OpenCPicture failed");
- }
- tkPictureIsOpen = 1;
-
- /*
- * TO DO - There is one case where XCopyPlane calls CopyDeepMask,
- * which does not get recorded in the picture. So the bitmap code
- * will fail in that case.
- */
- }
- if (butPtr->image != NULL) {
- Tk_RedrawImage(butPtr->image, 0, 0, width, height, pixmap, 0, 0);
- } else {
- GC gc;
-
- if (butPtr->state == STATE_DISABLED) {
- gc = butPtr->disabledGC;
- } else if (butPtr->state == STATE_ACTIVE) {
- gc = butPtr->activeTextGC;
- } else {
- gc = butPtr->normalTextGC;
- }
- XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, gc, 0, 0,
- width, height, 0, 0, 1);
- }
- {
- ClosePicture();
- tkPictureIsOpen = 0;
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- }
- ChkErr(SetControlData, mbPtr->control, kControlButtonPart,
- kControlBevelButtonContentTag,
- sizeof(ControlButtonContentInfo),
- (char *) &mbPtr->bevelButtonContent);
- switch (butPtr->anchor) {
- case TK_ANCHOR_N:
- theAlignment = kControlBevelButtonAlignTop;
- break;
- case TK_ANCHOR_NE:
- theAlignment = kControlBevelButtonAlignTopRight;
- break;
- case TK_ANCHOR_E:
- theAlignment = kControlBevelButtonAlignRight;
- break;
- case TK_ANCHOR_SE:
- theAlignment = kControlBevelButtonAlignBottomRight;
- break;
- case TK_ANCHOR_S:
- theAlignment = kControlBevelButtonAlignBottom;
- break;
- case TK_ANCHOR_SW:
- theAlignment = kControlBevelButtonAlignBottomLeft;
- break;
- case TK_ANCHOR_W:
- theAlignment = kControlBevelButtonAlignLeft;
- break;
- case TK_ANCHOR_NW:
- theAlignment = kControlBevelButtonAlignTopLeft;
- break;
- case TK_ANCHOR_CENTER:
- theAlignment = kControlBevelButtonAlignCenter;
- break;
- }
-
- ChkErr(SetControlData, mbPtr->control, kControlButtonPart,
- kControlBevelButtonGraphicAlignTag,
- sizeof(ControlButtonGraphicAlignment), (char *) &theAlignment);
- }
- active = ((mbPtr->flags & ACTIVE) != 0);
- if (active != IsControlActive(mbPtr->control)) {
- if (active) {
- ChkErr(ActivateControl, mbPtr->control);
- } else {
- ChkErr(DeactivateControl, mbPtr->control);
- }
- }
- enabled = !(butPtr->state == STATE_DISABLED);
- if (enabled != IsControlEnabled(mbPtr->control)) {
- if (enabled) {
- ChkErr(EnableControl, mbPtr->control);
- } else {
- ChkErr(DisableControl, mbPtr->control);
- }
- }
- if (active && enabled) {
- if (butPtr->state == STATE_ACTIVE) {
- if (hasImageOrBitmap) {
- HiliteControl(mbPtr->control, kControlButtonPart);
- } else {
- HiliteControl(mbPtr->control, kControlLabelPart);
- }
- } else {
- HiliteControl(mbPtr->control, kControlNoPart);
- }
- }
- UpdateControlColors(mbPtr);
- if (mbPtr->flags & FIRST_DRAW) {
- ShowControl(mbPtr->control);
- ShowControl(mbPtr->userPane);
- mbPtr->flags ^= FIRST_DRAW;
- } else {
- SetControlVisibility(mbPtr->control, true, true);
- Draw1Control(mbPtr->userPane);
- }
- if (hasImageOrBitmap) {
- if (mbPtr->bevelButtonContent.contentType ==
- kControlContentPictHandle) {
- KillPicture(mbPtr->bevelButtonContent.u.picture);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyMenuButton --
- *
- * Free data structures associated with the menubutton control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Restores the default control state.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyMenuButton(
- TkMenuButton *mbPtr)
-{
- MacMenuButton *macMbPtr = (MacMenuButton *) mbPtr;
-
- if (macMbPtr->userPane) {
- DisposeControl(macMbPtr->userPane);
- macMbPtr->userPane = NULL;
- }
- if (macMbPtr->menuRef) {
- short menuID = GetMenuID(macMbPtr->menuRef);
-
- TkMacOSXFreeMenuID(menuID);
- DisposeMenu(macMbPtr->menuRef);
- macMbPtr->menuRef = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpComputeMenuButtonGeometry --
- *
- * After changes in a menu button's text or bitmap, this procedure
- * recomputes the menu button's geometry and passes this information
- * along to the geometry manager for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menu button's window may change size.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpComputeMenuButtonGeometry(
- register TkMenuButton *mbPtr) /* Widget record for menu button. */
-{
- int width, height;
- int hasImageOrBitmap = 0;
-
- mbPtr->inset = mbPtr->highlightWidth + mbPtr->borderWidth;
- if (mbPtr->image != None) {
- Tk_SizeOfImage(mbPtr->image, &width, &height);
- hasImageOrBitmap = 1;
- } else if (mbPtr->bitmap != None) {
- Tk_SizeOfBitmap(mbPtr->display, mbPtr->bitmap, &width, &height);
- hasImageOrBitmap = 1;
- } else {
- hasImageOrBitmap = 0;
- Tk_FreeTextLayout(mbPtr->textLayout);
- mbPtr->textLayout = Tk_ComputeTextLayout(mbPtr->tkfont, mbPtr->text,
- -1, mbPtr->wrapLength, mbPtr->justify, 0, &mbPtr->textWidth,
- &mbPtr->textHeight);
- width = mbPtr->textWidth;
- height = mbPtr->textHeight;
- if (mbPtr->width > 0) {
- width = mbPtr->width * Tk_TextWidth(mbPtr->tkfont, "0", 1);
- }
- if (mbPtr->height > 0) {
- Tk_FontMetrics fm;
-
- Tk_GetFontMetrics(mbPtr->tkfont, &fm);
- height = mbPtr->height * fm.linespace;
- }
- width += 2*mbPtr->padX;
- height += 2*mbPtr->padY;
- }
- if (hasImageOrBitmap) {
- if (mbPtr->width > 0) {
- width = mbPtr->width;
- }
- if (mbPtr->height > 0) {
- height = mbPtr->height;
- }
- mbPtr->inset = mbPtr->highlightWidth + 2;
- width += (2 * mbPtr->borderWidth + 4);
- height += (2 * mbPtr->borderWidth + 4);
- } else {
- width += TK_POPUP_OFFSET;
- }
- if (mbPtr->indicatorOn) {
- mbPtr->indicatorHeight = kTriangleHeight;
- mbPtr->indicatorWidth = kTriangleWidth + kTriangleMargin;
- width += mbPtr->indicatorWidth;
- } else {
- mbPtr->indicatorHeight = 0;
- mbPtr->indicatorWidth = 0;
- }
-
- Tk_GeometryRequest(mbPtr->tkwin, (int) (width + 2*mbPtr->inset),
- (int) (height + 2*mbPtr->inset));
- Tk_SetInternalBorder(mbPtr->tkwin, mbPtr->inset);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ComputeMenuButtonControlParams --
- *
- * This procedure computes the various parameters used
- * when creating a Carbon control (NewControl)
- * These are determined by the various tk menu button parameters
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the control initialisation parameters
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ComputeMenuButtonControlParams(
- TkMenuButton *mbPtr,
- MenuButtonControlParams *paramsPtr)
-{
- int fakeMenuID = 256;
-
- /*
- * Determine ProcID based on button type and dimensions
- *
- * We need to set minValue to some non-zero value,
- * Otherwise, the markers do not show up
- */
-
- paramsPtr->minValue = kControlBehaviorMultiValueMenu;
- paramsPtr->maxValue = 0;
- if (mbPtr->image || mbPtr->bitmap) {
- paramsPtr->isBevel = 1;
- if (mbPtr->borderWidth <= 2) {
- paramsPtr->procID = kControlBevelButtonSmallBevelProc;
- } else if (mbPtr->borderWidth == 3) {
- paramsPtr->procID = kControlBevelButtonNormalBevelProc;
- } else {
- paramsPtr->procID = kControlBevelButtonLargeBevelProc;
- }
- if (mbPtr->indicatorOn) {
- paramsPtr->initialValue = fakeMenuID;
- } else {
- paramsPtr->initialValue = 0;
- }
- } else {
- paramsPtr->isBevel = 0;
- paramsPtr->procID = kControlPopupButtonProc
- + kControlPopupVariableWidthVariant;
- paramsPtr->minValue = -12345;
- paramsPtr->maxValue = -1;
- paramsPtr->initialValue = 0;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * returns 0 if same, 1 otherwise
- *
- *----------------------------------------------------------------------
- */
-
-static void
-CompareControlTitleParams(
- ControlTitleParams *p1Ptr,
- ControlTitleParams *p2Ptr,
- int *titleChanged,
- int *styleChanged)
-{
- if (p1Ptr->len != p2Ptr->len) {
- *titleChanged = 1;
- } else if (bcmp(p1Ptr->title,p2Ptr->title,p1Ptr->len)) {
- *titleChanged = 1;
- } else {
- *titleChanged = 0;
- }
-
- if (p1Ptr->len && p2Ptr->len) {
- *styleChanged = bcmp(&p1Ptr->style, &p2Ptr->style,
- sizeof(p2Ptr->style));
- } else {
- *styleChanged = p1Ptr->len||p2Ptr->len;
- }
-}
-
-static void
-ComputeControlTitleParams(
- TkMenuButton *butPtr,
- ControlTitleParams *paramsPtr)
-{
- Tk_Font font;
-
- paramsPtr->len = TkFontGetFirstTextLayout(butPtr->textLayout, &font,
- (char*) paramsPtr->title);
- paramsPtr->title[paramsPtr->len] = 0;
- if (paramsPtr->len) {
- TkMacOSXInitControlFontStyle(font,&paramsPtr->style);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MenuButtonInitControl --
- *
- * This procedure initialises a Carbon control
- *
- * Results:
- * 0 on success, 1 on failure.
- *
- * Side effects:
- * A background pane control and the control itself is created
- * The contol is embedded in the background control
- * The background control is embedded in the root control
- * of the containing window
- * The creation parameters for the control are also computed
- *
- *----------------------------------------------------------------------
- */
-int
-MenuButtonInitControl(
- MacMenuButton *mbPtr, /* Mac button. */
- Rect *paneRect,
- Rect *cntrRect)
-{
- OSStatus err;
- TkMenuButton *butPtr = (TkMenuButton *) mbPtr;
- SInt16 procID, initialValue, minValue, maxValue;
- Boolean initiallyVisible;
- SInt32 controlReference;
- short menuID;
- ControlRef rootControl =
- TkMacOSXGetRootControl(Tk_WindowId(butPtr->tkwin));
-
- mbPtr->windowRef = TkMacOSXDrawableWindow(Tk_WindowId(butPtr->tkwin));
-
- /*
- * Set up the user pane
- */
-
- initiallyVisible = false;
- initialValue = kControlSupportsEmbedding | kControlHasSpecialBackground;
- minValue = 0;
- maxValue = 1;
- procID = kControlUserPaneProc;
- controlReference = (SInt32)mbPtr;
- mbPtr->userPane = NewControl(mbPtr->windowRef, paneRect, "\p",
- initiallyVisible, initialValue, minValue, maxValue, procID,
- controlReference);
- if (!mbPtr->userPane) {
- TkMacOSXDbgMsg("Failed to create user pane control");
- return 1;
- }
- err = ChkErr(EmbedControl, mbPtr->userPane, rootControl);
- if (err != noErr) {
- return 1;
- }
- SetUserPaneSetUpSpecialBackgroundProc(mbPtr->userPane,
- UserPaneBackgroundProc);
- SetUserPaneDrawProc(mbPtr->userPane,UserPaneDraw);
- initiallyVisible = false;
- ComputeMenuButtonControlParams(butPtr,&mbPtr->params);
-
- /*
- * Do this only if we are using bevel buttons.
- */
-
- ComputeControlTitleParams(butPtr, &mbPtr->titleParams);
- mbPtr->control = NewControl(mbPtr->windowRef,
- cntrRect, "\p" /* mbPtr->titleParams.title */,
- initiallyVisible, mbPtr->params.initialValue,
- mbPtr->params.minValue, mbPtr->params.maxValue,
- mbPtr->params.procID, controlReference);
- if (!mbPtr->control) {
- TkMacOSXDbgMsg("Failed to create control of type %d",
- mbPtr->params.procID);
- return 1;
- }
- err = ChkErr(EmbedControl, mbPtr->control, mbPtr->userPane);
- if (err != noErr ) {
- return 1;
- }
- if (mbPtr->params.isBevel) {
- CFStringRef cf = CFStringCreateWithCString(NULL,
- (char*) mbPtr->titleParams.title, kCFStringEncodingUTF8);
-
- SetControlTitleWithCFString(mbPtr->control, cf);
- CFRelease(cf);
- if (mbPtr->titleParams.len) {
- err = ChkErr(SetControlFontStyle, mbPtr->control,
- &mbPtr->titleParams.style);
- if (err != noErr) {
- return 1;
- }
- }
- } else {
- CFStringRef cfStr;
-
- err = TkMacOSXGetNewMenuID(mbPtr->info.interp, (TkMenu *) mbPtr, 0,
- &menuID);
- if (err != TCL_OK) {
- return 1;
- }
- err = ChkErr(CreateNewMenu, menuID, kMenuAttrDoNotUseUserCommandKeys,
- &(mbPtr->menuRef));
- if (err != noErr) {
- return 1;
- }
- cfStr = CFStringCreateWithCString(NULL, Tk_PathName(mbPtr->info.tkwin),
- kCFStringEncodingUTF8);
- if (!cfStr) {
- TkMacOSXDbgMsg("CFStringCreateWithCString failed");
- return 1;
- }
- err = ChkErr(SetMenuTitleWithCFString, mbPtr->menuRef, cfStr);
- CFRelease(cfStr);
- if (err != noErr) {
- return 1;
- }
- cfStr = CFStringCreateWithCString(NULL,
- (char*) mbPtr->titleParams.title, kCFStringEncodingUTF8);
- AppendMenuItemText(mbPtr->menuRef, "\px");
- if (cfStr) {
- SetMenuItemTextWithCFString(mbPtr->menuRef, 1, cfStr);
- CFRelease(cfStr);
- }
- ChkErr(SetControlData, mbPtr->control, kControlNoPart,
- kControlPopupButtonMenuRefTag, sizeof(mbPtr->menuRef),
- &mbPtr->menuRef);
- SetControlMinimum(mbPtr->control, 1);
- SetControlMaximum(mbPtr->control, 1);
- SetControlValue(mbPtr->control, 1);
- }
- mbPtr->flags |= FIRST_DRAW;
- if (IsWindowActive(mbPtr->windowRef)) {
- mbPtr->flags |= ACTIVE;
- }
- return 0;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SetUserPane
- *
- * Utility function to add a UserPaneDrawProc
- * to a userPane control. From MoreControls code
- * from Apple DTS.
- *
- * Results:
- * MacOS system error.
- *
- * Side effects:
- * The user pane gets a new UserPaneDrawProc.
- *
- *--------------------------------------------------------------
- */
-OSStatus
-SetUserPaneDrawProc(
- ControlRef control,
- ControlUserPaneDrawProcPtr upp)
-{
- ControlUserPaneDrawUPP myControlUserPaneDrawUPP =
- NewControlUserPaneDrawUPP(upp);
-
- return SetControlData(control, kControlNoPart,kControlUserPaneDrawProcTag,
- sizeof(myControlUserPaneDrawUPP), (Ptr)&myControlUserPaneDrawUPP);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SetUserPaneSetUpSpecialBackgroundProc --
- *
- * Utility function to add a UserPaneBackgroundProc
- * to a userPane control
- *
- * Results:
- * MacOS system error.
- *
- * Side effects:
- * The user pane gets a new UserPaneBackgroundProc.
- *
- *--------------------------------------------------------------
- */
-
-OSStatus
-SetUserPaneSetUpSpecialBackgroundProc(
- ControlRef control,
- ControlUserPaneBackgroundProcPtr upp)
-{
- ControlUserPaneBackgroundUPP myControlUserPaneBackgroundUPP =
- NewControlUserPaneBackgroundUPP(upp);
-
- return SetControlData(control, kControlNoPart,
- kControlUserPaneBackgroundProcTag,
- sizeof(myControlUserPaneBackgroundUPP),
- (Ptr) &myControlUserPaneBackgroundUPP);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UserPaneDraw --
- *
- * This function draws the background of the user pane that will
- * lie under checkboxes and radiobuttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The user pane gets updated to the current color.
- *
- *--------------------------------------------------------------
- */
-
-void
-UserPaneDraw(
- ControlRef control,
- ControlPartCode cpc)
-{
- Rect contrlRect;
- MacMenuButton * mbPtr =
- (MacMenuButton *)(intptr_t)GetControlReference(control);
- CGrafPtr port;
-
- GetPort(&port);
- GetControlBounds(control,&contrlRect);
- TkMacOSXSetColorInPort(mbPtr->userPaneBackground, 0, NULL, port);
- EraseRect (&contrlRect);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UserPaneBackgroundProc --
- *
- * This function sets up the background of the user pane that will
- * lie under checkboxes and radiobuttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The user pane background gets set to the current color.
- *
- *--------------------------------------------------------------
- */
-
-void
-UserPaneBackgroundProc(
- ControlHandle control,
- ControlBackgroundPtr info)
-{
- MacMenuButton *mbPtr =
- (MacMenuButton *)(intptr_t)GetControlReference(control);
-
- if (info->colorDevice) {
- CGrafPtr port;
-
- GetPort(&port);
- TkMacOSXSetColorInPort(mbPtr->userPaneBackground, 0, NULL, port);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UpdateControlColors --
- *
- * This function will review the colors used to display
- * a Macintosh button. If any non-standard colors are
- * used we create a custom palette for the button, populate
- * with the colors for the button and install the palette.
- *
- * Under Appearance, we just set the pointer that will be
- * used by the UserPaneDrawProc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The Macintosh control may get a custom palette installed.
- *
- *--------------------------------------------------------------
- */
-
-static int
-UpdateControlColors(
- MacMenuButton *mbPtr)
-{
- XColor *xcolor;
- TkMenuButton * butPtr = (TkMenuButton *) mbPtr;
-
- /*
- * Under Appearance we cannot change the background of the
- * button itself. However, the color we are setting is the color
- * of the containing userPane. This will be the color that peeks
- * around the rounded corners of the button.
- * We make this the highlightbackground rather than the background,
- * because if you color the background of a frame containing a
- * button, you usually also color the highlightbackground as well,
- * or you will get a thin grey ring around the button.
- */
-
- xcolor = Tk_3DBorderColor(butPtr->normalBorder);
- mbPtr->userPaneBackground = xcolor->pixel;
-
- return false;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * MenuButtonEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for various
- * events on buttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-MenuButtonEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- TkMenuButton *buttonPtr = (TkMenuButton *) clientData;
- MacMenuButton *mbPtr = (MacMenuButton *) clientData;
-
- if (eventPtr->type == ActivateNotify
- || eventPtr->type == DeactivateNotify) {
- if ((buttonPtr->tkwin == NULL) || !Tk_IsMapped(buttonPtr->tkwin)) {
- return;
- }
- if (eventPtr->type == ActivateNotify) {
- mbPtr->flags |= ACTIVE;
- } else {
- mbPtr->flags &= ~ACTIVE;
- }
- if (!(buttonPtr->flags & REDRAW_PENDING)) {
- Tcl_DoWhenIdle(TkpDisplayMenuButton, buttonPtr);
- buttonPtr->flags |= REDRAW_PENDING;
- }
- }
-}
diff --git a/carbon/tkMacOSXMenus.c b/carbon/tkMacOSXMenus.c
deleted file mode 100644
index 8509f8c..0000000
--- a/carbon/tkMacOSXMenus.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * tkMacOSXMenus.c --
- *
- * These calls set up and manage the menubar for the Macintosh version of
- * Tk.
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- * Copyright (c) 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-
-#define kAppleMenu 256
-#define kAppleAboutItem 1
-#define kFileMenu 2
-#define kEditMenu 3
-
-#define kSourceItem 1
-#define kDemoItem 2
-#define kCloseItem 3
-
-#define EDIT_CUT 1
-#define EDIT_COPY 2
-#define EDIT_PASTE 3
-#define EDIT_CLEAR 4
-
-MenuRef tkAppleMenu;
-MenuRef tkFileMenu;
-MenuRef tkEditMenu;
-
-static Tcl_Interp *gInterp = NULL; /* Standard menu interpreter. */
-static EventHandlerRef menuEventHandlerRef = NULL;
-
-static void GenerateEditEvent(int flag);
-static Tcl_Obj * GetWidgetDemoPath(Tcl_Interp *interp);
-static OSStatus MenuEventHandlerProc(EventHandlerCallRef callRef,
- EventRef event, void *userData);
-
-/*
- *----------------------------------------------------------------------
- *
- * GetWidgetDemoPath --
- *
- * Get path to the widget demo.
- *
- * Results:
- * pathObj with ref count 0.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-GetWidgetDemoPath(
- Tcl_Interp *interp)
-{
- Tcl_Obj *libpath, *result = NULL;
-
- libpath = Tcl_GetVar2Ex(gInterp, "tk_library", NULL, TCL_GLOBAL_ONLY);
- if (libpath) {
- Tcl_Obj *demo[2] = { Tcl_NewStringObj("demos", 5),
- Tcl_NewStringObj("widget", 6) };
-
- Tcl_IncrRefCount(libpath);
- result = Tcl_FSJoinToPath(libpath, 2, demo);
- Tcl_DecrRefCount(libpath);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXHandleMenuSelect --
- *
- * Handles events that occur in the Menu bar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXHandleMenuSelect(
- MenuID theMenu,
- MenuItemIndex theItem,
- int optionKeyPressed)
-{
- Tk_Window tkwin;
- Window window;
- TkDisplay *dispPtr;
- Tcl_CmdInfo dummy;
- int code;
-
- if (theItem == 0) {
- TkMacOSXClearMenubarActive();
- return;
- }
-
- switch (theMenu) {
- case kAppleMenu:
- switch (theItem) {
- case kAppleAboutItem:
- if (optionKeyPressed || gInterp == NULL ||
- Tcl_GetCommandInfo(gInterp, "tkAboutDialog", &dummy) == 0) {
- TkAboutDlg();
- } else {
- code = Tcl_EvalEx(gInterp, "tkAboutDialog", -1,
- TCL_EVAL_GLOBAL);
- if (code != TCL_OK) {
- Tcl_BackgroundException(gInterp, code);
- }
- Tcl_ResetResult(gInterp);
- }
- break;
- }
- break;
- case kFileMenu:
- switch (theItem) {
- case kSourceItem:
- if (gInterp) {
- if (Tcl_EvalEx(gInterp, "tk_getOpenFile -filetypes {"
- "{{TCL Scripts} {.tcl} TEXT} {{Text Files} {} TEXT}}",
- -1, TCL_EVAL_GLOBAL) == TCL_OK) {
- Tcl_Obj *path = Tcl_GetObjResult(gInterp);
- int len;
-
- Tcl_GetStringFromObj(path, &len);
- if (len) {
- Tcl_IncrRefCount(path);
- code = Tcl_FSEvalFile(gInterp, path);
- if (code != TCL_OK) {
- Tcl_BackgroundException(gInterp, code);
- }
- Tcl_DecrRefCount(path);
- }
- }
- Tcl_ResetResult(gInterp);
- }
- break;
- case kDemoItem:
- if (gInterp) {
- Tcl_Obj *path = GetWidgetDemoPath(gInterp);
-
- if (path) {
- Tcl_IncrRefCount(path);
- code = Tcl_FSEvalFile(gInterp, path);
- if (code != TCL_OK) {
- Tcl_BackgroundException(gInterp, code);
- }
- Tcl_DecrRefCount(path);
- Tcl_ResetResult(gInterp);
- }
- }
- break;
- case kCloseItem:
- /* Send close event */
- window = TkMacOSXGetXWindow(ActiveNonFloatingWindow());
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, window);
- TkGenWMDestroyEvent(tkwin);
- break;
- }
- break;
- case kEditMenu:
- /*
- * This implementation just send the keysyms Tk thinks are associated
- * with function keys that do Cut, Copy & Paste on a Sun keyboard.
- */
-
- GenerateEditEvent(theItem);
- break;
- default:
- TkMacOSXDispatchMenuEvent(theMenu, theItem);
- break;
- }
-
- /*
- * Finally we unhighlight the menu.
- */
-
- HiliteMenu(0);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MenuEventHandlerProc --
- *
- * One-time handler of kEventMenuEnableItems for the edit menu.
- *
- * Results:
- * OS status code.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSStatus
-MenuEventHandlerProc(
- EventHandlerCallRef callRef,
- EventRef event,
- void *userData)
-{
- OSStatus result = eventNotHandledErr, err;
- int menuContext;
-
- err = ChkErr(GetEventParameter, event, kEventParamMenuContext, typeUInt32,
- NULL, sizeof(menuContext), NULL, &menuContext);
- if (err == noErr && (menuContext & kMenuContextMenuBarTracking)) {
- if (gInterp) {
- Tcl_Obj *path = GetWidgetDemoPath(gInterp);
-
- if (path) {
- Tcl_IncrRefCount(path);
- if (Tcl_FSAccess(path, R_OK) == 0) {
- EnableMenuItem(tkFileMenu, kDemoItem);
- }
- Tcl_DecrRefCount(path);
- }
- }
- ChkErr(RemoveEventHandler, menuEventHandlerRef);
- menuEventHandlerRef = NULL;
- result = noErr;
- }
-
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitMenus --
- *
- * This procedure initializes the Macintosh menu bar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInitMenus(
- Tcl_Interp *interp)
-{
- OSStatus err;
- EventHandlerUPP menuEventHandlerUPP;
- const EventTypeSpec menuEventTypes[] = {
- {kEventClassMenu, kEventMenuEnableItems},
- };
-
- gInterp = interp;
- if (TkMacOSXUseMenuID(kAppleMenu) != TCL_OK) {
- Tcl_Panic("Menu ID %d is already in use!", kAppleMenu);
- }
- err = ChkErr(CreateNewMenu, kAppleMenu, kMenuAttrDoNotUseUserCommandKeys,
- &tkAppleMenu);
- if (err != noErr) {
- Tcl_Panic("CreateNewMenu failed !");
- }
- SetMenuTitle(tkAppleMenu, "\p\024");
- InsertMenu(tkAppleMenu, 0);
- AppendMenu(tkAppleMenu, "\pAbout Tcl & Tk\xc9");
- AppendMenu(tkAppleMenu, "\p(-");
-
- if (TkMacOSXUseMenuID(kFileMenu) != TCL_OK) {
- Tcl_Panic("Menu ID %d is already in use!", kFileMenu);
- }
- err = ChkErr(CreateNewMenu, kFileMenu, kMenuAttrDoNotUseUserCommandKeys,
- &tkFileMenu);
- if (err != noErr) {
- Tcl_Panic("CreateNewMenu failed !");
- }
- SetMenuTitle(tkFileMenu, "\pFile");
- InsertMenu(tkFileMenu, 0);
- InsertMenuItem(tkFileMenu, "\pSource\xc9", kSourceItem - 1);
- InsertMenuItem(tkFileMenu, "\pRun Widget Demo", kDemoItem - 1);
- InsertMenuItem(tkFileMenu, "\pClose/W", kCloseItem - 1);
- DisableMenuItem(tkFileMenu, kDemoItem);
- menuEventHandlerUPP = NewEventHandlerUPP(MenuEventHandlerProc);
- ChkErr(InstallEventHandler, GetMenuEventTarget(tkFileMenu),
- menuEventHandlerUPP, GetEventTypeCount(menuEventTypes),
- menuEventTypes, NULL, &menuEventHandlerRef);
- DisposeEventHandlerUPP(menuEventHandlerUPP);
-
- if (TkMacOSXUseMenuID(kEditMenu) != TCL_OK) {
- Tcl_Panic("Menu ID %d is already in use!", kEditMenu);
- }
- err = ChkErr(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");
- AppendMenu(tkEditMenu, "\pPaste/V");
- AppendMenu(tkEditMenu, "\pClear");
- if (TkMacOSXUseMenuID(kHMHelpMenuID) != TCL_OK) {
- Tcl_Panic("Help menu ID %s is already in use!", kHMHelpMenuID);
- }
-
- /*
- * Workaround a Carbon bug with kHICommandPreferences: the first call to
- * IsMenuKeyEvent returns false for the preferences menu item key shorcut
- * event (even if the corresponding menu item is dynamically enabled by a
- * kEventCommandUpdateStatus handler), unless the kHICommandPreferences
- * menu item has previously been enabled manually. [Bug 1481503]
- */
-
- EnableMenuCommand(NULL, kHICommandPreferences);
-
- DrawMenuBar();
- return;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateEditEvent --
- *
- * Takes an edit menu item and posts the corasponding a virtual event to
- * Tk's event queue.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May place events of queue.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GenerateEditEvent(
- int flag)
-{
- XVirtualEvent event;
- int x, y;
- Tk_Window tkwin;
- Window window;
- TkDisplay *dispPtr;
-
- window = TkMacOSXGetXWindow(ActiveNonFloatingWindow());
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, window);
- tkwin = (Tk_Window) ((TkWindow *) tkwin)->dispPtr->focusPtr;
- if (tkwin == NULL) {
- return;
- }
-
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = Tk_Display(tkwin)->request;
- event.send_event = false;
- event.display = Tk_Display(tkwin);
- event.event = Tk_WindowId(tkwin);
- event.root = XRootWindow(Tk_Display(tkwin), 0);
- event.subwindow = None;
- event.time = TkpGetMS();
-
- XQueryPointer(NULL, None, NULL, NULL,
- &event.x_root, &event.y_root, &x, &y, &event.state);
- Tk_TopCoordsToWindow(tkwin, x, y, &event.x, &event.y);
- event.same_screen = true;
-
- switch (flag) {
- case EDIT_CUT:
- event.name = Tk_GetUid("Cut");
- break;
- case EDIT_COPY:
- event.name = Tk_GetUid("Copy");
- break;
- case EDIT_PASTE:
- event.name = Tk_GetUid("Paste");
- break;
- case EDIT_CLEAR:
- event.name = Tk_GetUid("Clear");
- break;
- }
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
-}
-
-/*
- * Local Variables:
- * fill-column: 78
- * c-basic-offset: 4
- * End:
- */
diff --git a/carbon/tkMacOSXMouseEvent.c b/carbon/tkMacOSXMouseEvent.c
deleted file mode 100644
index 697e00d..0000000
--- a/carbon/tkMacOSXMouseEvent.c
+++ /dev/null
@@ -1,1190 +0,0 @@
-/*
- * tkMacOSXMouseEvent.c --
- *
- * This file implements functions that decode & handle mouse events on
- * MacOS X.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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 unless
- * explicitly disclaimed in individual files.
- *
- * Apple hereby grants permission to use, copy, modify, distribute, and
- * license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that
- * this notice is included verbatim in any distributions. No written
- * agreement, license, or royalty fee is required for any of the
- * authorized uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms described here,
- * provided that the new terms are clearly indicated on the first page of
- * each file where they apply.
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE SOFTWARE
- * BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
- * CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS
- * DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF APPLE OR THE
- * AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. APPLE,
- * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
- * NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND
- * APPLE,THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf of the
- * U.S. government, the Government shall have only "Restricted Rights" in
- * the software and related documentation as defined in the Federal
- * Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are
- * acquiring the software on behalf of the Department of Defense, the
- * software shall be classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in Clause
- * 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
- * authors grant the U.S. Government and others acting in its behalf
- * permission to use and distribute the software in accordance with the
- * terms specified in this license.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-
-typedef struct {
- WindowRef whichWin;
- WindowRef activeNonFloating;
- WindowPartCode windowPart;
- unsigned int state;
- long delta;
- Window window;
- Point global;
- Point local;
-} MouseEventData;
-
-/*
- * Declarations of static variables used in this file.
- */
-
-static int gEatButtonUp = 0; /* 1 if we need to eat the next up event. */
-
-/*
- * Declarations of functions used only in this file.
- */
-
-static void BringWindowForward(WindowRef wRef, int isFrontProcess,
- int frontWindowOnly);
-static int GeneratePollingEvents(MouseEventData *medPtr);
-static int GenerateMouseWheelEvent(MouseEventData *medPtr);
-static int GenerateButtonEvent(MouseEventData *medPtr);
-static int GenerateToolbarButtonEvent(MouseEventData *medPtr);
-static int HandleWindowTitlebarMouseDown(MouseEventData *medPtr,
- Tk_Window tkwin);
-static unsigned int ButtonModifiers2State(UInt32 buttonState,
- UInt32 keyModifiers);
-static Tk_Window GetGrabWindowForWindow(Tk_Window tkwin);
-static int TkMacOSXGetEatButtonUp(void);
-static void TkMacOSXSetEatButtonUp(int f);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessMouseEvent --
- *
- * 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.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessMouseEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- Tk_Window tkwin;
- Point where, where2;
- int result;
- TkDisplay *dispPtr;
- OSStatus err;
- MouseEventData mouseEventData, *medPtr = &mouseEventData;
- int isFrontProcess;
-
- switch (eventPtr->eKind) {
- case kEventMouseDown:
- case kEventMouseUp:
- case kEventMouseMoved:
- case kEventMouseDragged:
- case kEventMouseWheelMoved:
- break;
- default:
- return false;
- }
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamMouseLocation, typeQDPoint, NULL, sizeof(where), NULL,
- &where);
- if (err != noErr) {
- GetGlobalMouse(&where);
- }
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef, kEventParamWindowRef,
- typeWindowRef, NULL, sizeof(WindowRef), NULL, &medPtr->whichWin);
- if (err == noErr) {
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamWindowPartCode, typeWindowPartCode, NULL,
- sizeof(WindowPartCode), NULL, &medPtr->windowPart);
- }
- if (err != noErr) {
- medPtr->windowPart = FindWindow(where, &medPtr->whichWin);
- }
- medPtr->window = TkMacOSXGetXWindow(medPtr->whichWin);
- if (medPtr->whichWin != NULL && medPtr->window == None) {
- return false;
- }
- if (eventPtr->eKind == kEventMouseDown) {
- if (IsWindowActive(medPtr->whichWin) && IsWindowPathSelectEvent(
- medPtr->whichWin, eventPtr->eventRef)) {
- ChkErr(WindowPathSelect, medPtr->whichWin, NULL, NULL);
- return false;
- }
- if (medPtr->windowPart == inProxyIcon) {
- TkMacOSXTrackingLoop(1);
- err = ChkErr(TrackWindowProxyDrag, medPtr->whichWin, where);
- TkMacOSXTrackingLoop(0);
- if (err == errUserWantsToDragWindow) {
- medPtr->windowPart = inDrag;
- } else {
- return false;
- }
- }
- }
- isFrontProcess = Tk_MacOSXIsAppInFront();
- if (isFrontProcess) {
- medPtr->state = ButtonModifiers2State(GetCurrentEventButtonState(),
- GetCurrentEventKeyModifiers());
- } else {
- medPtr->state = ButtonModifiers2State(GetCurrentButtonState(),
- GetCurrentKeyModifiers());
- }
- medPtr->global = where;
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamWindowMouseLocation, typeQDPoint, NULL,
- sizeof(Point), NULL, &medPtr->local);
- if (err == noErr) {
- if (medPtr->whichWin) {
- Rect widths;
-
- GetWindowStructureWidths(medPtr->whichWin, &widths);
- medPtr->local.h -= widths.left;
- medPtr->local.v -= widths.top;
- }
- } else {
- medPtr->local = where;
- if (medPtr->whichWin) {
- QDGlobalToLocalPoint(GetWindowPort(medPtr->whichWin),
- &medPtr->local);
- }
- }
- medPtr->activeNonFloating = ActiveNonFloatingWindow();
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, medPtr->window);
-
- if (eventPtr->eKind != kEventMouseDown) {
- int res = false;
-
- switch (eventPtr->eKind) {
- case kEventMouseUp:
- /*
- * The window manager only needs to know about mouse down events
- * and sometimes we need to "eat" the mouse up. Otherwise, we just
- * pass the event to Tk.
- */
-
- if (TkMacOSXGetEatButtonUp()) {
- TkMacOSXSetEatButtonUp(false);
- } else {
- res = GenerateButtonEvent(medPtr);
- }
- break;
- case kEventMouseWheelMoved:
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamMouseWheelDelta, typeLongInteger, NULL,
- sizeof(long), NULL, &medPtr->delta);
- if (err != noErr ) {
- statusPtr->err = 1;
- } else {
- EventMouseWheelAxis axis;
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamMouseWheelAxis, typeMouseWheelAxis, NULL,
- sizeof(EventMouseWheelAxis), NULL, &axis);
- if (err == noErr && axis == kEventMouseWheelAxisX) {
- medPtr->state |= ShiftMask;
- }
- res = GenerateMouseWheelEvent(medPtr);
- }
- break;
- case kEventMouseMoved:
- case kEventMouseDragged:
- res = GeneratePollingEvents(medPtr);
- break;
- default:
- Tcl_Panic("Unknown mouse event !");
- }
- if (res) {
- statusPtr->stopProcessing = 1;
- }
- return res;
- }
-
- TkMacOSXSetEatButtonUp(false);
- if (!medPtr->whichWin) {
- return false;
- }
-
- /*
- * We got a mouse down in a window, so see if this is the activate click.
- * This click moves the window forward. We don't want the corresponding
- * mouse-up to be reported to the application or else it will mess up some
- * Tk scripts.
- */
-
- if (!(TkpIsWindowFloating(medPtr->whichWin))
- && (medPtr->whichWin != medPtr->activeNonFloating
- || !isFrontProcess)) {
- int frontWindowOnly = 1;
- int cmdDragGrow = ((medPtr->windowPart == inDrag ||
- medPtr->windowPart == inGrow) && medPtr->state & Mod1Mask);
-
- if (!cmdDragGrow) {
- Tk_Window grabWin = GetGrabWindowForWindow(tkwin);
-
- frontWindowOnly = !grabWin;
- if (grabWin && grabWin != tkwin) {
- TkMacOSXSetEatButtonUp(true);
- BringWindowForward(TkMacOSXDrawableWindow(
- ((TkWindow *) grabWin)->window), isFrontProcess,
- frontWindowOnly);
- return false;
- }
- }
-
- /*
- * Clicks in the titlebar widgets are handled without bringing the
- * window forward.
- */
-
- result = HandleWindowTitlebarMouseDown(medPtr, tkwin);
- if (result != -1) {
- statusPtr->stopProcessing = 1;
- return result;
- }
-
- /*
- * Only windows with the kWindowNoActivatesAttribute can receive mouse
- * events in the background.
- */
-
- if (!(((TkWindow *)tkwin)->wmInfoPtr->attributes &
- kWindowNoActivatesAttribute)) {
- /*
- * Allow background window dragging & growing with Command down.
- */
-
- if (!cmdDragGrow) {
- TkMacOSXSetEatButtonUp(true);
- BringWindowForward(medPtr->whichWin, isFrontProcess,
- frontWindowOnly);
- }
-
- /*
- * Allow dragging & growing of windows that were/are in the
- * background.
- */
-
- if (!(medPtr->windowPart == inDrag ||
- medPtr->windowPart == inGrow)) {
- return false;
- }
- }
- } else {
- result = HandleWindowTitlebarMouseDown(medPtr, tkwin);
- if (result != -1) {
- statusPtr->stopProcessing = 1;
- return result;
- }
- }
-
- switch (medPtr->windowPart) {
- case inDrag: {
- WindowAttributes attributes;
-
- GetWindowAttributes(medPtr->whichWin, &attributes);
- if (!(attributes & kWindowAsyncDragAttribute)) {
- TkMacOSXTrackingLoop(1);
- DragWindow(medPtr->whichWin, where, NULL);
- TkMacOSXTrackingLoop(0);
- where2.h = where2.v = 0;
- QDLocalToGlobalPoint(GetWindowPort(medPtr->whichWin), &where2);
- return (EqualPt(where, where2)) ? false : true;
- }
- break;
- }
- case inGrow: {
- /*
- * Generally the content region is the domain of Tk sub-windows.
- * However, one exception is the grow region. A button down in this
- * area will be handled by the window manager. Note: this means that
- * Tk may not get button down events in this area!
- */
-
- XPoint p = {where.h, where.v};
- if (TkMacOSXGrowToplevel(medPtr->whichWin, p) == true) {
- statusPtr->stopProcessing = 1;
- return true;
- }
- }
- case inContent:
- return GenerateButtonEvent(medPtr);
- }
- return false;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * HandleWindowTitlebarMouseDown --
- *
- * Handle clicks in window titlebar.
- *
- * Results:
- * 1 if event was handled, 0 if event was not handled, -1 if MouseDown
- * was not in window titlebar.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-HandleWindowTitlebarMouseDown(
- MouseEventData *medPtr,
- Tk_Window tkwin)
-{
- int result = INT_MAX;
-
- switch (medPtr->windowPart) {
- case inGoAway:
- case inCollapseBox:
- case inZoomIn:
- case inZoomOut:
- case inToolbarButton:
- if (!IsWindowActive(medPtr->whichWin)) {
- WindowRef frontWindow = FrontNonFloatingWindow();
- WindowModality frontWindowModality = kWindowModalityNone;
-
- if (frontWindow && frontWindow != medPtr->whichWin) {
- ChkErr(GetWindowModality, frontWindow,
- &frontWindowModality, NULL);
- }
- if (frontWindowModality == kWindowModalityAppModal) {
- result = 0;
- }
- }
- break;
- default:
- result = -1;
- break;
- }
-
- if (result == INT_MAX) {
- result = 0;
- TkMacOSXTrackingLoop(1);
- switch (medPtr->windowPart) {
- case inGoAway:
- if (TrackGoAway(medPtr->whichWin, medPtr->global) && tkwin) {
- TkGenWMDestroyEvent(tkwin);
- result = 1;
- }
- break;
- case inCollapseBox:
- if (TrackBox(medPtr->whichWin, medPtr->global,
- medPtr->windowPart) && tkwin) {
- TkpWmSetState((TkWindow *) tkwin, IconicState);
- result = 1;
- }
- break;
- case inZoomIn:
- case inZoomOut:
- if (TrackBox(medPtr->whichWin, medPtr->global,
- medPtr->windowPart)) {
- result = TkMacOSXZoomToplevel(medPtr->whichWin,
- medPtr->windowPart);
- }
- break;
- case inToolbarButton:
- if (TrackBox(medPtr->whichWin, medPtr->global,
- medPtr->windowPart)) {
- result = GenerateToolbarButtonEvent(medPtr);
- }
- break;
- }
- TkMacOSXTrackingLoop(0);
- }
-
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GeneratePollingEvents --
- *
- * This function polls the mouse position and generates X Motion, Enter &
- * Leave events. The cursor is also updated at this time.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. The cursor may
- * be changed.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GeneratePollingEvents(
- MouseEventData *medPtr)
-{
- Tk_Window tkwin, rootwin, grabWin;
- int local_x, local_y;
- TkDisplay *dispPtr;
-
- grabWin = TkMacOSXGetCapture();
-
- if ((!TkpIsWindowFloating(medPtr->whichWin)
- && (medPtr->activeNonFloating != medPtr->whichWin))) {
- /*
- * If the window for this event is not floating, and is not the active
- * non-floating window, don't generate polling events. We don't send
- * events to backgrounded windows. So either send it to the grabWin,
- * or NULL if there is no grabWin.
- */
-
- tkwin = grabWin;
- } else {
- /*
- * First check whether the toplevel containing this mouse event is the
- * grab window. If not, then send the event to the grab window.
- * Otherwise, set tkWin to the subwindow which most closely contains
- * the mouse event.
- */
-
- dispPtr = TkGetDisplayList();
- rootwin = Tk_IdToWindow(dispPtr->display, medPtr->window);
- if ((rootwin == NULL)
- || ((grabWin != NULL) && (rootwin != grabWin))) {
- tkwin = grabWin;
- } else {
- tkwin = Tk_TopCoordsToWindow(rootwin, medPtr->local.h,
- medPtr->local.v, &local_x, &local_y);
- }
- }
-
- /*
- * The following call will generate the appropiate X events and adjust any
- * state that Tk must remember.
- */
-
- Tk_UpdatePointer(tkwin, medPtr->global.h, medPtr->global.v,
- medPtr->state);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * BringWindowForward --
- *
- * Bring this background window to the front.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window is brought forward.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-BringWindowForward(
- WindowRef wRef,
- int isFrontProcess,
- int frontWindowOnly)
-{
- if (wRef && !TkpIsWindowFloating(wRef) && IsValidWindowPtr(wRef)) {
- WindowRef frontWindow = FrontNonFloatingWindow();
- WindowModality frontWindowModality = kWindowModalityNone;
-
- if (frontWindow && frontWindow != wRef) {
- ChkErr(GetWindowModality, frontWindow, &frontWindowModality, NULL);
- }
- if (frontWindowModality != kWindowModalityAppModal) {
- Window window = TkMacOSXGetXWindow(wRef);
-
- if (window != None) {
- TkDisplay *dispPtr = TkGetDisplayList();
- TkWindow *winPtr = (TkWindow *)
- Tk_IdToWindow(dispPtr->display, window);
-
- if (winPtr && winPtr->wmInfoPtr &&
- winPtr->wmInfoPtr->master != None) {
- TkWindow *masterWinPtr = (TkWindow *)Tk_IdToWindow(
- dispPtr->display, winPtr->wmInfoPtr->master);
-
- if (masterWinPtr && masterWinPtr->window != None &&
- TkMacOSXHostToplevelExists(masterWinPtr)) {
- WindowRef masterMacWin =
- TkMacOSXDrawableWindow(masterWinPtr->window);
-
- if (masterMacWin) {
- BringToFront(masterMacWin);
- }
- }
- }
- }
- SelectWindow(wRef);
- } else {
- frontWindowOnly = 0;
- }
- }
- if (!isFrontProcess) {
- ProcessSerialNumber ourPsn = {0, kCurrentProcess};
-
- ChkErr(SetFrontProcessWithOptions, &ourPsn,
- frontWindowOnly ? kSetFrontProcessFrontWindowOnly : 0);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXBringWindowForward --
- *
- * Bring this window to the front in response to a mouse click. If a grab
- * is in effect, bring the grab window to the front instead.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window is brought forward.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXBringWindowForward(
- WindowRef wRef)
-{
- TkDisplay *dispPtr = TkGetDisplayList();
- Tk_Window tkwin =
- Tk_IdToWindow(dispPtr->display, TkMacOSXGetXWindow(wRef));
- Tk_Window grabWin = GetGrabWindowForWindow(tkwin);
-
- if (grabWin && grabWin != tkwin) {
- wRef = TkMacOSXDrawableWindow(((TkWindow *) grabWin)->window);
- }
- TkMacOSXSetEatButtonUp(true);
- BringWindowForward(wRef, Tk_MacOSXIsAppInFront(), !grabWin);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetGrabWindowForWindow --
- *
- * Get the grab window for the given window, if any.
- *
- * Results:
- * Grab Tk_Window or None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-GetGrabWindowForWindow(
- Tk_Window tkwin)
-{
- Tk_Window grabWin = TkMacOSXGetCapture();
-
- if (!grabWin) {
- int grabState = TkGrabState((TkWindow *) tkwin);
-
- if (grabState != TK_GRAB_NONE && grabState != TK_GRAB_IN_TREE) {
- grabWin = (Tk_Window) (((TkWindow *) tkwin)->dispPtr->grabWinPtr);
- }
- }
-
- return grabWin;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateMouseWheelEvent --
- *
- * Generates a "MouseWheel" Tk event.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Places a mousewheel event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateMouseWheelEvent(
- MouseEventData *medPtr)
-{
- Tk_Window tkwin, rootwin;
- TkDisplay *dispPtr;
- TkWindow *winPtr;
- XEvent xEvent;
-
- dispPtr = TkGetDisplayList();
- rootwin = Tk_IdToWindow(dispPtr->display, medPtr->window);
- if (rootwin == NULL) {
- tkwin = NULL;
- } else {
- tkwin = Tk_TopCoordsToWindow(rootwin, medPtr->local.h,
- medPtr->local.v, &xEvent.xbutton.x, &xEvent.xbutton.y);
- }
-
- /*
- * The following call will generate the appropiate X events and adjust any
- * state that Tk must remember.
- */
-
- if (!tkwin) {
- tkwin = TkMacOSXGetCapture();
- }
- if (!tkwin) {
- return false;
- }
-
- winPtr = (TkWindow *) tkwin;
- xEvent.type = MouseWheelEvent;
- xEvent.xkey.keycode = medPtr->delta;
- xEvent.xbutton.x_root = medPtr->global.h;
- xEvent.xbutton.y_root = medPtr->global.v;
- xEvent.xbutton.state = medPtr->state;
- xEvent.xany.serial = LastKnownRequestProcessed(winPtr->display);
- xEvent.xany.send_event = false;
- xEvent.xany.display = winPtr->display;
- xEvent.xany.window = Tk_WindowId(winPtr);
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetEatButtonUp --
- *
- * Results:
- * Return the flag indicating if we need to eat the next mouse up event.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXGetEatButtonUp(void)
-{
- return gEatButtonUp;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetEatButtonUp --
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the flag indicating if we need to eat the next mouse up event
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetEatButtonUp(
- int f)
-{
- gEatButtonUp = f;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXKeyModifiers --
- *
- * Returns the current state of the modifier keys.
- *
- * Results:
- * An OS Modifier state.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-EventModifiers
-TkMacOSXModifierState(void)
-{
- UInt32 keyModifiers;
- int isFrontProcess = (GetCurrentEvent() && Tk_MacOSXIsAppInFront());
-
- keyModifiers = isFrontProcess ? GetCurrentEventKeyModifiers() :
- GetCurrentKeyModifiers();
-
- return (EventModifiers) (keyModifiers & USHRT_MAX);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXButtonKeyState --
- *
- * Returns the current state of the button & modifier keys.
- *
- * Results:
- * A bitwise inclusive OR of a subset of the following: Button1Mask,
- * ShiftMask, LockMask, ControlMask, Mod*Mask.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-unsigned int
-TkMacOSXButtonKeyState(void)
-{
- UInt32 buttonState = 0, keyModifiers;
- int isFrontProcess = (GetCurrentEvent() && Tk_MacOSXIsAppInFront());
-
- if (!TkMacOSXGetEatButtonUp()) {
- buttonState = isFrontProcess ? GetCurrentEventButtonState() :
- GetCurrentButtonState();
- }
- keyModifiers = isFrontProcess ? GetCurrentEventKeyModifiers() :
- GetCurrentKeyModifiers();
-
- return ButtonModifiers2State(buttonState, keyModifiers);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ButtonModifiers2State --
- *
- * Converts Carbon mouse button state and modifier values into a Tk
- * button/modifier state.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static unsigned int
-ButtonModifiers2State(
- UInt32 buttonState,
- UInt32 keyModifiers)
-{
- unsigned int state;
-
- /*
- * Tk supports at most 5 buttons.
- */
-
- state = (buttonState & ((1<<5) - 1)) << 8;
-
- if (keyModifiers & alphaLock) {
- state |= LockMask;
- }
- if (keyModifiers & shiftKey) {
- state |= ShiftMask;
- }
- if (keyModifiers & controlKey) {
- state |= ControlMask;
- }
- if (keyModifiers & cmdKey) {
- state |= Mod1Mask; /* command key */
- }
- if (keyModifiers & optionKey) {
- state |= Mod2Mask; /* option key */
- }
- if (keyModifiers & kEventKeyModifierNumLockMask) {
- state |= Mod3Mask;
- }
- if (keyModifiers & kEventKeyModifierFnMask) {
- state |= Mod4Mask;
- }
-
- return state;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XQueryPointer --
- *
- * Check the current state of the mouse. This is not a complete
- * implementation of this function. It only computes the root coordinates
- * and the current mask.
- *
- * Results:
- * Sets root_x_return, root_y_return, and mask_return. Returns true on
- * success.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Bool
-XQueryPointer(
- Display *display,
- Window w,
- Window *root_return,
- Window *child_return,
- int *root_x_return,
- int *root_y_return,
- int *win_x_return,
- int *win_y_return,
- unsigned int *mask_return)
-{
- int getGlobal = (root_x_return && root_y_return);
- int getLocal = (win_x_return && win_y_return);
-
- if (getGlobal || getLocal) {
- Point where, local;
- OSStatus err = noErr;
- int gotMouseLoc = 0;
- EventRef ev = GetCurrentEvent();
-
- if (ev && getLocal) {
- err = ChkErr(GetEventParameter, ev, kEventParamWindowMouseLocation,
- typeQDPoint, NULL, sizeof(Point), NULL, &local);
- gotMouseLoc = (err == noErr);
- }
- if (getGlobal || !gotMouseLoc) {
- if (ev) {
- err = ChkErr(GetEventParameter, ev, kEventParamMouseLocation,
- typeQDPoint, NULL, sizeof(Point), NULL, &where);
- }
- if (!ev || err != noErr) {
- GetGlobalMouse(&where);
- }
- }
- if (getLocal) {
- WindowRef whichWin;
-
- if (ev) {
- err = ChkErr(GetEventParameter, ev, kEventParamWindowRef,
- typeWindowRef, NULL, sizeof(WindowRef), NULL,
- &whichWin);
- }
- if (!ev || err != noErr) {
- FindWindow(where, &whichWin);
- }
- if (gotMouseLoc) {
- if (whichWin) {
- Rect widths;
-
- ChkErr(GetWindowStructureWidths, whichWin, &widths);
- local.h -= widths.left;
- local.v -= widths.top;
- }
- } else {
- local = where;
- if (whichWin) {
- QDGlobalToLocalPoint(GetWindowPort(whichWin), &local);
- }
- }
- }
- if (getGlobal) {
- *root_x_return = where.h;
- *root_y_return = where.v;
- }
- if (getLocal) {
- *win_x_return = local.h;
- *win_y_return = local.v;
- }
- }
- if (mask_return) {
- *mask_return = TkMacOSXButtonKeyState();
- }
- return True;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenerateButtonEventForXPointer --
- *
- * This procedure generates an X button event for the current pointer
- * state as reported by XQueryPointer().
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. Grab state may
- * also change.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkGenerateButtonEventForXPointer(
- Window window) /* X Window containing button event. */
-{
- MouseEventData med;
- int global_x, global_y, local_x, local_y;
-
- bzero(&med, sizeof(MouseEventData));
- XQueryPointer(NULL, None, NULL, NULL, &global_x, &global_y,
- &local_x, &local_y, &med.state);
- med.global.h = global_x;
- med.global.v = global_y;
- med.local.h = local_x;
- med.local.v = local_y;
- med.window = window;
- med.activeNonFloating = ActiveNonFloatingWindow();
-
- return GenerateButtonEvent(&med);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenerateButtonEvent --
- *
- * Given a global x & y position and the button key status this procedure
- * generates the appropiate X button event. It also handles the state
- * changes needed to implement implicit grabs.
- *
- * Results:
- * True if event(s) are generated, false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. Grab state may
- * also change.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkGenerateButtonEvent(
- int x, /* X location of mouse, */
- int y, /* Y location of mouse. */
- Window window, /* X Window containing button event. */
- unsigned int state) /* Button Key state suitable for X event. */
-{
- MouseEventData med;
-
- bzero(&med, sizeof(MouseEventData));
- med.state = state;
- med.window = window;
- med.global.h = x;
- med.global.v = y;
- FindWindow(med.global, &med.whichWin);
- med.activeNonFloating = ActiveNonFloatingWindow();
- med.local = med.global;
- QDGlobalToLocalPoint(GetWindowPort(med.whichWin), &med.local);
-
- return GenerateButtonEvent(&med);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateButtonEvent --
- *
- * Generate an X button event from a MouseEventData structure. Handles
- * the state changes needed to implement implicit grabs.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. Grab state may
- * also change.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateButtonEvent(
- MouseEventData *medPtr)
-{
- Tk_Window tkwin;
- int dummy;
- TkDisplay *dispPtr;
-
-#if UNUSED
- /*
- * ButtonDown events will always occur in the front window. ButtonUp
- * events, however, may occur anywhere on the screen. ButtonUp events
- * should only be sent to Tk if in the front window or during an implicit
- * grab.
- */
-
- if ((medPtr->activeNonFloating == NULL)
- || ((!(TkpIsWindowFloating(medPtr->whichWin))
- && (medPtr->activeNonFloating != medPtr->whichWin))
- && TkMacOSXGetCapture() == NULL)) {
- return false;
- }
-#endif
-
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, medPtr->window);
-
- if (tkwin != NULL) {
- tkwin = Tk_TopCoordsToWindow(tkwin, medPtr->local.h, medPtr->local.v,
- &dummy, &dummy);
- }
-
- Tk_UpdatePointer(tkwin, medPtr->global.h, medPtr->global.v, medPtr->state);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateToolbarButtonEvent --
- *
- * Generates a "ToolbarButton" virtual event. This can be used to manage
- * disappearing toolbars.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Places a virtual event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateToolbarButtonEvent(
- MouseEventData *medPtr)
-{
- Tk_Window rootwin, tkwin = NULL;
- TkDisplay *dispPtr;
- TkWindow *winPtr;
- XVirtualEvent event;
-
- dispPtr = TkGetDisplayList();
- rootwin = Tk_IdToWindow(dispPtr->display, medPtr->window);
- if (rootwin) {
- tkwin = Tk_TopCoordsToWindow(rootwin,
- medPtr->local.h, medPtr->local.v, &event.x, &event.y);
- }
- if (!tkwin) {
- return true;
- }
- winPtr = (TkWindow *) tkwin;
-
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = LastKnownRequestProcessed(winPtr->display);
- event.send_event = false;
- event.display = winPtr->display;
- event.event = winPtr->window;
- event.root = XRootWindow(winPtr->display, 0);
- event.subwindow = None;
- event.time = TkpGetMS();
- event.x_root = medPtr->global.h;
- event.y_root = medPtr->global.v;
- event.state = medPtr->state;
- event.same_screen = true;
- event.name = Tk_GetUid("ToolbarButton");
-
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
- return true;
-}
-
-void
-TkpWarpPointer(
- TkDisplay *dispPtr)
-{
- CGPoint pt;
- UInt32 buttonState;
-
- if (dispPtr->warpWindow) {
- int x, y;
-
- Tk_GetRootCoords(dispPtr->warpWindow, &x, &y);
- pt.x = x + dispPtr->warpX;
- pt.y = y + dispPtr->warpY;
- } else {
- pt.x = dispPtr->warpX;
- pt.y = dispPtr->warpY;
- }
-
- /*
- * Tell the OSX core to generate the events to make it happen. This is
- * fairly ugly, but means that under most circumstances we'll register all
- * the events that would normally be generated correctly. If we use
- * CGWarpMouseCursorPosition instead, strange things happen.
- */
-
- buttonState = (GetCurrentEvent() && Tk_MacOSXIsAppInFront())
- ? GetCurrentEventButtonState() : GetCurrentButtonState();
-
- CGPostMouseEvent(pt, 1 /* generate motion events */, 5,
- buttonState&1 ? 1 : 0, buttonState&2 ? 1 : 0,
- buttonState&4 ? 1 : 0, buttonState&8 ? 1 : 0,
- buttonState&16 ? 1 : 0);
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXNotify.c b/carbon/tkMacOSXNotify.c
deleted file mode 100644
index fdd5afd..0000000
--- a/carbon/tkMacOSXNotify.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * tkMacOSXNotify.c --
- *
- * This file contains the implementation of a tcl event source
- * for the Carbon event loop.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include <pthread.h>
-
-/*
- * The following static indicates whether this module has been initialized
- * in the current thread.
- */
-
-typedef struct ThreadSpecificData {
- int initialized;
-} ThreadSpecificData;
-static Tcl_ThreadDataKey dataKey;
-
-static void TkMacOSXNotifyExitHandler(ClientData clientData);
-static void CarbonEventsSetupProc(ClientData clientData, int flags);
-static void CarbonEventsCheckProc(ClientData clientData, int flags);
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXSetupTkNotifier --
- *
- * This procedure is called during Tk initialization to create
- * the event source for Carbon events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A new event source is created.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXSetupTkNotifier(void)
-{
- ThreadSpecificData *tsdPtr = Tcl_GetThreadData(&dataKey,
- sizeof(ThreadSpecificData));
-
- if (!tsdPtr->initialized) {
- /* HACK ALERT: There is a bug in Jaguar where when it goes to make
- * the event queue for the Main Event Loop, it stores the Current
- * event loop rather than the Main Event Loop in the Queue structure.
- * So we have to make sure that the Main Event Queue gets set up on
- * the main thread. Calling GetMainEventQueue will force this to
- * happen.
- */
- GetMainEventQueue();
-
- tsdPtr->initialized = 1;
-
- /*
- * Install Carbon events event source in main event loop thread.
- */
-
- if (GetCurrentEventLoop() == GetMainEventLoop()) {
- if (!pthread_main_np()) {
- /*
- * Panic if the Carbon main event loop thread (i.e. the thread
- * where HIToolbox was first loaded) is not the main
- * application thread, as Carbon does not support this
- * properly.
- */
-
- Tcl_Panic("Tk_MacOSXSetupTkNotifier: %s",
- "first [load] of TkAqua has to occur in the main thread!");
- }
- Tcl_CreateEventSource(CarbonEventsSetupProc,
- CarbonEventsCheckProc, GetMainEventQueue());
- TkCreateExitHandler(TkMacOSXNotifyExitHandler, NULL);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXNotifyExitHandler --
- *
- * This function is called during finalization to clean up the
- * TkMacOSXNotify module.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TkMacOSXNotifyExitHandler(
- ClientData clientData) /* Not used. */
-{
- ThreadSpecificData *tsdPtr = Tcl_GetThreadData(&dataKey,
- sizeof(ThreadSpecificData));
-
- Tcl_DeleteEventSource(CarbonEventsSetupProc,
- CarbonEventsCheckProc, GetMainEventQueue());
- tsdPtr->initialized = 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * CarbonEventsSetupProc --
- *
- * This procedure implements the setup part of the Carbon Events event
- * source. It is invoked by Tcl_DoOneEvent before entering the notifier
- * to check for events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If Carbon events are queued, then the maximum block time will be set
- * to 0 to ensure that the notifier returns control to Tcl.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-CarbonEventsSetupProc(
- ClientData clientData,
- int flags)
-{
- static Tcl_Time blockTime = { 0, 0 };
-
- if (!(flags & TCL_WINDOW_EVENTS)) {
- return;
- }
-
- if (GetNumEventsInQueue((EventQueueRef) clientData)) {
- Tcl_SetMaxBlockTime(&blockTime);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * CarbonEventsCheckProc --
- *
- * This procedure processes events sitting in the Carbon event queue.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Moves applicable queued Carbon events onto the Tcl event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-CarbonEventsCheckProc(
- ClientData clientData,
- int flags)
-{
- int numFound;
- OSStatus err = noErr;
-
- if (!(flags & TCL_WINDOW_EVENTS)) {
- return;
- }
-
- numFound = GetNumEventsInQueue((EventQueueRef) clientData);
-
- /*
- * Avoid starving other event sources:
- */
-
- if (numFound > 4) {
- numFound = 4;
- }
- while (numFound > 0 && err == noErr) {
- err = TkMacOSXReceiveAndDispatchEvent();
- numFound--;
- }
-}
diff --git a/carbon/tkMacOSXPort.h b/carbon/tkMacOSXPort.h
deleted file mode 100644
index 41da041..0000000
--- a/carbon/tkMacOSXPort.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * tkMacOSXPort.h --
- *
- * This file is included by all of the Tk C files. It contains
- * information that may be configuration-dependent, such as
- * #includes for system include files and a few other things.
- *
- * Copyright (c) 1994-1996 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#ifndef _TKMACPORT
-#define _TKMACPORT
-
-#include <stdio.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <math.h>
-#include <pwd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#ifdef HAVE_SYS_SELECT_H
-# include <sys/select.h>
-#endif
-#include <sys/stat.h>
-#ifndef _TCL
-# include <tcl.h>
-#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#include <unistd.h>
-#include <X11/Xlib.h>
-#include <X11/cursorfont.h>
-#include <X11/keysym.h>
-#include <X11/Xatom.h>
-#include <X11/Xfuncproto.h>
-#include <X11/Xutil.h>
-#include "tkIntXlibDecls.h"
-
-/*
- * The following macro defines the type of the mask arguments to
- * select:
- */
-
-#ifndef NO_FD_SET
-# define SELECT_MASK fd_set
-#else
-# ifndef _AIX
- typedef long fd_mask;
-# endif
-# if defined(_IBMR2)
-# define SELECT_MASK void
-# else
-# define SELECT_MASK int
-# endif
-#endif
-
-/*
- * The following macro defines the number of fd_masks in an fd_set:
- */
-
-#ifndef FD_SETSIZE
-# ifdef OPEN_MAX
-# define FD_SETSIZE OPEN_MAX
-# else
-# define FD_SETSIZE 256
-# endif
-#endif
-#if !defined(howmany)
-# define howmany(x, y) (((x)+((y)-1))/(y))
-#endif
-#ifndef NFDBITS
-# define NFDBITS NBBY*sizeof(fd_mask)
-#endif
-#define MASK_SIZE howmany(FD_SETSIZE, NFDBITS)
-
-/*
- * Define "NBBY" (number of bits per byte) if it's not already defined.
- */
-
-#ifndef NBBY
-# define NBBY 8
-#endif
-
-/*
- * The following define causes Tk to use its internal keysym hash table
- */
-
-#define REDO_KEYSYM_LOOKUP
-
-/*
- * Defines for X functions that are used by Tk but are treated as
- * no-op functions on the Macintosh.
- */
-
-#define XFlush(display)
-#define XFree(data) {if ((data) != NULL) ckfree(data);}
-#define XGrabServer(display)
-#define XNoOp(display) {display->request++;}
-#define XUngrabServer(display)
-#define XSynchronize(display, bool) {display->request++;}
-#define XVisualIDFromVisual(visual) (visual->visualid)
-
-/*
- * The following functions are not used on the Mac, so we stub them out.
- */
-
-#define TkpButtonSetDefaults() {}
-#define TkpCmapStressed(tkwin,colormap) (0)
-#define TkpFreeColor(tkColPtr)
-#define TkSetPixmapColormap(p,c) {}
-#define TkpSync(display)
-
-/*
- * The following macro returns the pixel value that corresponds to the
- * RGB values in the given XColor structure.
- */
-
-#define PIXEL_MAGIC ((unsigned char) 0x69)
-#define TkpGetPixel(p) ((((((PIXEL_MAGIC << 8) \
- | (((p)->red >> 8) & 0xff)) << 8) \
- | (((p)->green >> 8) & 0xff)) << 8) \
- | (((p)->blue >> 8) & 0xff))
-
-/*
- * This macro stores a representation of the window handle in a string.
- * This should perhaps use the real size of an XID.
- */
-
-#define TkpPrintWindowId(buf,w) \
- sprintf((buf), "0x%x", (unsigned int) (w))
-
-/*
- * TkpScanWindowId is just an alias for Tcl_GetInt on Unix.
- */
-
-#define TkpScanWindowId(i,s,wp) \
- Tcl_GetInt((i),(s),(int *) (wp))
-
-/*
- * Turn off Tk double-buffering as Aqua windows are already double-buffered.
- */
-
-#define TK_NO_DOUBLE_BUFFERING 1
-
-/*
- * Magic pixel code values for system colors.
- *
- * NOTE: values must be kept in sync with indices into the
- * systemColorMap array in tkMacOSXColor.c !
- */
-
-#define TRANSPARENT_PIXEL 30
-#define HIGHLIGHT_PIXEL 31
-#define HIGHLIGHT_SECONDARY_PIXEL 32
-#define HIGHLIGHT_TEXT_PIXEL 33
-#define HIGHLIGHT_ALTERNATE_PIXEL 34
-#define CONTROL_TEXT_PIXEL 35
-#define CONTROL_BODY_PIXEL 37
-#define CONTROL_FRAME_PIXEL 39
-#define WINDOW_BODY_PIXEL 41
-#define MENU_ACTIVE_PIXEL 43
-#define MENU_ACTIVE_TEXT_PIXEL 45
-#define MENU_BACKGROUND_PIXEL 47
-#define MENU_DISABLED_PIXEL 49
-#define MENU_TEXT_PIXEL 51
-#define APPEARANCE_PIXEL 52
-
-#endif /* _TKMACPORT */
diff --git a/carbon/tkMacOSXPrivate.h b/carbon/tkMacOSXPrivate.h
deleted file mode 100644
index 72b418e..0000000
--- a/carbon/tkMacOSXPrivate.h
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * tkMacOSXPrivate.h --
- *
- * Macros and declarations that are purely internal & private to TkAqua.
- *
- * Copyright (c) 2005-2007 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.
- */
-
-#ifndef _TKMACPRIV
-#define _TKMACPRIV
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-/* Define constants only available on Mac OS X 10.3 or later */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
-# define kEventAppAvailableWindowBoundsChanged 110
-# define kEventParamTransactionID 'trns'
-# define kEventParamWindowPartCode 'wpar'
-# define typeWindowPartCode 'wpar'
-# define kMenuAttrDoNotUseUserCommandKeys (1 << 7)
-# define kSimpleWindowClass 18
-# define kWindowDoesNotCycleAttribute (1L << 15)
-# define kWindowAsyncDragAttribute (1L << 23)
-# define kThemeBrushAlternatePrimaryHighlightColor -5
-# define kThemeResizeUpCursor 19
-# define kThemeResizeDownCursor 19
-# define kThemeResizeUpDownCursor 19
-# define kThemePoofCursor 19
-# define kThemeBackgroundMetal 6
-# define kThemeIncDecButtonSmall 21
-# define kThemeIncDecButtonMini 22
-# define kThemeComboBox 16
-# define kThemeMiniSystemFont 109
-# define kAppearancePartUpButton 20
-# define kAppearancePartDownButton 21
-# define kAppearancePartPageUpArea 22
-# define kAppearancePartPageDownArea 23
-# define kAppearancePartIndicator 129
-# define kUIModeAllSuppressed 4
-# define FixedToInt(a) ((short)(((Fixed)(a) + fixed1/2) >> 16))
-# define IntToFixed(a) ((Fixed)(a) << 16)
-#endif
-/* Define constants only available on Mac OS X 10.4 or later */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1040
-# define kWindowNoTitleBarAttribute (1L << 9)
-# define kWindowMetalNoContentSeparatorAttribute (1L << 11)
-# define kThemeDisclosureTriangle 6
-# define kThemeBrushListViewOddRowBackground 56
-# define kThemeBrushListViewEvenRowBackground 57
-# define kThemeBrushListViewColumnDivider 58
-# define kThemeMetricScrollBarMinThumbHeight 132
-# define kThemeMetricSmallScrollBarMinThumbHeight 134
-# define kThemeScrollBarMedium kThemeMediumScrollBar
-# define kThemeScrollBarSmall kThemeSmallScrollBar
-# ifdef __BIG_ENDIAN__
-# define kCGBitmapByteOrder32Host (4 << 12)
-# else
-# define kCGBitmapByteOrder32Host (2 << 12)
-# endif
-#endif
-/* Define constants only available on Mac OS X 10.5 or later */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1050
-# define kWindowUnifiedTitleAndToolbarAttribute (1L << 7)
-# define kWindowTexturedSquareCornersAttribute (1L << 10)
-#endif
-/* HIToolbox version constants */
-#ifndef kHIToolboxVersionNumber10_3
-# define kHIToolboxVersionNumber10_3 (145)
-#endif
-#ifndef kHIToolboxVersionNumber10_4
-# define kHIToolboxVersionNumber10_4 (219)
-#endif
-#ifndef kHIToolboxVersionNumber10_5
-# define kHIToolboxVersionNumber10_5 (343)
-#endif
-/* Macros for HIToolbox runtime version checking */
-MODULE_SCOPE float tkMacOSXToolboxVersionNumber;
-#define TK_IF_HI_TOOLBOX(vers, ...) \
- tk_if_mac_os_x_min_10_##vers(tkMacOSXToolboxVersionNumber >= \
- kHIToolboxVersionNumber10_##vers, 1, __VA_ARGS__)
-#define TK_ELSE_HI_TOOLBOX(vers, ...) \
- tk_else_mac_os_x_min_10_##vers(__VA_ARGS__)
-/* Macros for Mac OS X API availability checking */
-#define TK_IF_MAC_OS_X_API(vers, symbol, ...) \
- tk_if_mac_os_x_10_##vers(symbol != NULL, 1, __VA_ARGS__)
-#define TK_ELSE_MAC_OS_X(vers, ...) \
- tk_else_mac_os_x_10_##vers(__VA_ARGS__)
-#define TK_IF_MAC_OS_X_API_COND(vers, symbol, cond, ...) \
- tk_if_mac_os_x_10_##vers(symbol != NULL, cond, __VA_ARGS__)
-#define TK_ELSE(...) \
- } else { __VA_ARGS__
-#define TK_ENDIF \
- }
-/* Private macros that implement the checking macros above */
-#define tk_if_mac_os_x_yes(chk, cond, ...) \
- if (cond) { __VA_ARGS__
-#define tk_else_mac_os_x_yes(...) \
- } else {
-#define tk_if_mac_os_x_chk(chk, cond, ...) \
- if ((chk) && (cond)) { __VA_ARGS__
-#define tk_else_mac_os_x_chk(...) \
- } else { __VA_ARGS__
-#define tk_if_mac_os_x_no(chk, cond, ...) \
- if (0) {
-#define tk_else_mac_os_x_no(...) \
- } else { __VA_ARGS__
-/* Private mapping macros defined according to Mac OS X version requirements */
-/* 10.3 Panther */
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1030
-#define tk_if_mac_os_x_min_10_3 tk_if_mac_os_x_yes
-#define tk_else_mac_os_x_min_10_3 tk_else_mac_os_x_yes
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
-#define tk_if_mac_os_x_10_3 tk_if_mac_os_x_yes
-#define tk_else_mac_os_x_10_3 tk_else_mac_os_x_yes
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-#else /* MAC_OS_X_VERSION_MIN_REQUIRED */
-#define tk_if_mac_os_x_min_10_3 tk_if_mac_os_x_chk
-#define tk_else_mac_os_x_min_10_3 tk_else_mac_os_x_chk
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
-#define tk_if_mac_os_x_10_3 tk_if_mac_os_x_chk
-#define tk_else_mac_os_x_10_3 tk_else_mac_os_x_chk
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-#endif /* MAC_OS_X_VERSION_MIN_REQUIRED */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
-#define tk_if_mac_os_x_10_3 tk_if_mac_os_x_no
-#define tk_else_mac_os_x_10_3 tk_else_mac_os_x_no
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-/* 10.4 Tiger */
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1040
-#define tk_if_mac_os_x_min_10_4 tk_if_mac_os_x_yes
-#define tk_else_mac_os_x_min_10_4 tk_else_mac_os_x_yes
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
-#define tk_if_mac_os_x_10_4 tk_if_mac_os_x_yes
-#define tk_else_mac_os_x_10_4 tk_else_mac_os_x_yes
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-#else /* MAC_OS_X_VERSION_MIN_REQUIRED */
-#define tk_if_mac_os_x_min_10_4 tk_if_mac_os_x_chk
-#define tk_else_mac_os_x_min_10_4 tk_else_mac_os_x_chk
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
-#define tk_if_mac_os_x_10_4 tk_if_mac_os_x_chk
-#define tk_else_mac_os_x_10_4 tk_else_mac_os_x_chk
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-#endif /* MAC_OS_X_VERSION_MIN_REQUIRED */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1040
-#define tk_if_mac_os_x_10_4 tk_if_mac_os_x_no
-#define tk_else_mac_os_x_10_4 tk_else_mac_os_x_no
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-/* 10.5 Leopard */
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
-#define tk_if_mac_os_x_min_10_5 tk_if_mac_os_x_yes
-#define tk_else_mac_os_x_min_10_5 tk_else_mac_os_x_yes
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
-#define tk_if_mac_os_x_10_5 tk_if_mac_os_x_yes
-#define tk_else_mac_os_x_10_5 tk_else_mac_os_x_yes
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-#else /* MAC_OS_X_VERSION_MIN_REQUIRED */
-#define tk_if_mac_os_x_min_10_5 tk_if_mac_os_x_chk
-#define tk_else_mac_os_x_min_10_5 tk_else_mac_os_x_chk
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
-#define tk_if_mac_os_x_10_5 tk_if_mac_os_x_chk
-#define tk_else_mac_os_x_10_5 tk_else_mac_os_x_chk
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-#endif /* MAC_OS_X_VERSION_MIN_REQUIRED */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1050
-#define tk_if_mac_os_x_10_5 tk_if_mac_os_x_no
-#define tk_else_mac_os_x_10_5 tk_else_mac_os_x_no
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */
-
-/*
- * Macros for DEBUG_ASSERT_MESSAGE et al from Debugging.h.
- */
-
-#undef kComponentSignatureString
-#undef COMPONENT_SIGNATURE
-#define kComponentSignatureString "TkMacOSX"
-#define COMPONENT_SIGNATURE 'Tk '
-
-/*
- * Macros abstracting checks only active in a debug build.
- */
-
-#ifdef TK_MAC_DEBUG
-/*
- * Macro to do debug message output.
- */
-#define TkMacOSXDbgMsg(m, ...) \
- do { \
- fprintf(stderr, "%s:%d: %s(): " m "\n", strrchr(__FILE__, '/')+1, \
- __LINE__, __func__, ##__VA_ARGS__); \
- } while (0)
-
-/*
- * Macro to do debug API failure message output.
- */
-#if !defined(DEBUGLEVEL) || !DEBUGLEVEL
-#define TkMacOSXDbgOSErr(f, err) \
- do { \
- TkMacOSXDbgMsg("%s failed: %ld", #f, err); \
- } while (0)
-#else
-#define TkMacOSXDbgOSErr(f, err) \
- do { \
- DEBUG_ASSERT_MESSAGE(kComponentSignatureString, #f " failed:", \
- __func__, 0, strrchr(__FILE__, '/')+1, __LINE__, err); \
- } while (0)
-#endif
-
-/*
- * Macro to do very common check for noErr return from given API and output
- * debug message in case of failure.
- */
-#define ChkErr(f, ...) ({ \
- OSStatus err = f(__VA_ARGS__); \
- if (err != noErr) { \
- TkMacOSXDbgOSErr(f, err); \
- } \
- err;})
-
-/*
- * Macro to check emptyness of shared QD tmp region before use in debug builds.
- */
-#define TkMacOSXCheckTmpQdRgnEmpty() \
- do { \
- if (!EmptyRgn(tkMacOSXtmpQdRgn)) { \
- Tcl_Panic("tkMacOSXtmpQdRgn nonempty"); \
- } \
- } while(0)
-#else /* TK_MAC_DEBUG */
-#define TkMacOSXDbgMsg(m, ...)
-#define TkMacOSXDbgOSErr(f, err)
-#define ChkErr(f, ...) ({f(__VA_ARGS__);})
-#define TkMacOSXCheckTmpQdRgnEmpty()
-#endif /* TK_MAC_DEBUG */
-
-/*
- * Macro abstracting use of TkMacOSXGetNamedSymbol to init named symbols.
- */
-
-#define TkMacOSXInitNamedSymbol(module, ret, symbol, ...) \
- static ret (* symbol)(__VA_ARGS__) = (void*)(-1L); \
- if (symbol == (void*)(-1L)) { \
- symbol = TkMacOSXGetNamedSymbol(STRINGIFY(module), \
- STRINGIFY(_##symbol)); \
- }
-
-/*
- * Structure encapsulating current drawing environment.
- */
-
-typedef struct TkMacOSXDrawingContext {
- CGContextRef context;
- CGrafPtr port, savePort;
- ThemeDrawingState saveState;
- RgnHandle saveClip;
- HIShapeRef clipRgn;
- PixPatHandle penPat;
- Rect portBounds;
- Boolean portChanged;
-} TkMacOSXDrawingContext;
-
-/*
- * Variables internal to TkAqua.
- */
-
-MODULE_SCOPE RgnHandle tkMacOSXtmpQdRgn;
-MODULE_SCOPE int tkMacOSXUseCGDrawing;
-
-/*
- * Prototypes for TkMacOSXRegion.c.
- */
-
-#if 0
-MODULE_SCOPE void TkMacOSXEmtpyRegion(TkRegion r);
-MODULE_SCOPE int TkMacOSXIsEmptyRegion(TkRegion r);
-#endif
-MODULE_SCOPE HIShapeRef TkMacOSXGetNativeRegion(TkRegion r);
-MODULE_SCOPE void TkMacOSXSetWithNativeRegion(TkRegion r,
- HIShapeRef rgn);
-MODULE_SCOPE void TkMacOSXOffsetRegion(TkRegion r, short dx, short dy);
-MODULE_SCOPE HIShapeRef TkMacOSXHIShapeCreateEmpty(void);
-MODULE_SCOPE HIMutableShapeRef TkMacOSXHIShapeCreateMutableWithRect(
- const CGRect *inRect);
-MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithShape(
- HIMutableShapeRef inDestShape,
- HIShapeRef inSrcShape);
-#if 0
-MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithRect(HIMutableShapeRef inShape,
- const CGRect *inRect);
-#endif
-MODULE_SCOPE OSStatus TkMacOSHIShapeDifferenceWithRect(
- HIMutableShapeRef inShape, const CGRect *inRect);
-MODULE_SCOPE OSStatus TkMacOSHIShapeUnionWithRect(HIMutableShapeRef inShape,
- const CGRect *inRect);
-MODULE_SCOPE OSStatus TkMacOSHIShapeUnion(HIShapeRef inShape1,
- HIShapeRef inShape2, HIMutableShapeRef outResult);
-
-/*
- * Prototypes of TkAqua internal procs.
- */
-
-MODULE_SCOPE void * TkMacOSXGetNamedSymbol(const char *module,
- const char *symbol);
-MODULE_SCOPE void TkMacOSXDisplayChanged(Display *display);
-MODULE_SCOPE void TkMacOSXInitScrollbarMetrics(void);
-MODULE_SCOPE int TkMacOSXUseAntialiasedText(Tcl_Interp *interp,
- int enable);
-MODULE_SCOPE void TkMacOSXInitCarbonEvents(Tcl_Interp *interp);
-MODULE_SCOPE int TkMacOSXInitCGDrawing(Tcl_Interp *interp, int enable,
- int antiAlias);
-MODULE_SCOPE void TkMacOSXInitKeyboard(Tcl_Interp *interp);
-MODULE_SCOPE int TkMacOSXGenerateFocusEvent(Window window,
- int activeFlag);
-MODULE_SCOPE int TkMacOSXGenerateParentMenuSelectEvent(MenuRef menu);
-MODULE_SCOPE int TkMacOSXGenerateMenuSelectEvent(MenuRef menu,
- MenuItemIndex index);
-MODULE_SCOPE void TkMacOSXClearActiveMenu(MenuRef menu);
-MODULE_SCOPE WindowClass TkMacOSXWindowClass(TkWindow *winPtr);
-MODULE_SCOPE int TkMacOSXIsWindowZoomed(TkWindow *winPtr);
-MODULE_SCOPE int TkGenerateButtonEventForXPointer(Window window);
-MODULE_SCOPE EventModifiers TkMacOSXModifierState(void);
-MODULE_SCOPE int TkMacOSXSetupDrawingContext(Drawable d, GC gc,
- int useCG, TkMacOSXDrawingContext *dcPtr);
-MODULE_SCOPE void TkMacOSXRestoreDrawingContext(
- TkMacOSXDrawingContext *dcPtr);
-MODULE_SCOPE void TkMacOSXSetColorInPort(unsigned long pixel, int fg,
- PixPatHandle penPat, CGrafPtr port);
-MODULE_SCOPE void TkMacOSXSetColorInContext(unsigned long pixel,
- CGContextRef context);
-MODULE_SCOPE int TkMacOSXRunTclEventLoop(void);
-MODULE_SCOPE OSStatus TkMacOSXStartTclEventLoopCarbonTimer(void);
-MODULE_SCOPE OSStatus TkMacOSXStopTclEventLoopCarbonTimer(void);
-MODULE_SCOPE void TkMacOSXTrackingLoop(int tracking);
-MODULE_SCOPE OSStatus TkMacOSXReceiveAndDispatchEvent(void);
-MODULE_SCOPE void TkMacOSXInstallWindowCarbonEventHandler(
- Tcl_Interp *interp, WindowRef window);
-MODULE_SCOPE int TkMacOSXMakeFullscreen(TkWindow *winPtr,
- WindowRef window, int fullscreen,
- Tcl_Interp *interp);
-MODULE_SCOPE void TkMacOSXEnterExitFullscreen(TkWindow *winPtr,
- int active);
-MODULE_SCOPE void TkMacOSXBringWindowForward(WindowRef wRef);
-MODULE_SCOPE WindowRef TkMacOSXDrawableWindow(Drawable drawable);
-MODULE_SCOPE void TkMacOSXWinCGBounds(TkWindow *winPtr, CGRect *bounds);
-MODULE_SCOPE HIShapeRef TkMacOSXGetClipRgn(Drawable drawable);
-MODULE_SCOPE Tcl_Obj * TkMacOSXGetStringObjFromCFString(CFStringRef str);
-
-#endif /* _TKMACPRIV */
diff --git a/carbon/tkMacOSXRegion.c b/carbon/tkMacOSXRegion.c
deleted file mode 100644
index e2faab0..0000000
--- a/carbon/tkMacOSXRegion.c
+++ /dev/null
@@ -1,644 +0,0 @@
-/*
- * tkMacOSXRegion.c --
- *
- * Implements X window calls for manipulating regions
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkCreateRegion --
- *
- * Implements the equivelent of the X window function XCreateRegion. See
- * Xwindow documentation for more details.
- *
- * Results:
- * Returns an allocated region handle.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkRegion
-TkCreateRegion(void)
-{
- return (TkRegion) HIShapeCreateMutable();
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkDestroyRegion --
- *
- * Implements the equivelent of the X window function XDestroyRegion. See
- * Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Memory is freed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkDestroyRegion(
- TkRegion r)
-{
- if (r) {
- CFRelease(r);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkIntersectRegion --
- *
- * Implements the equivalent of the X window function XIntersectRegion.
- * See Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkIntersectRegion(
- TkRegion sra,
- TkRegion srb,
- TkRegion dr_return)
-{
- ChkErr(HIShapeIntersect, (HIShapeRef) sra, (HIShapeRef) srb,
- (HIMutableShapeRef) dr_return);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSubtractRegion --
- *
- * Implements the equivalent of the X window function XSubtractRegion.
- * See X window documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSubtractRegion(
- TkRegion sra,
- TkRegion srb,
- TkRegion dr_return)
-{
- ChkErr(HIShapeDifference, (HIShapeRef) sra, (HIShapeRef) srb,
- (HIMutableShapeRef) dr_return);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkUnionRectWithRegion --
- *
- * Implements the equivelent of the X window function
- * XUnionRectWithRegion. See Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkUnionRectWithRegion(
- XRectangle* rectangle,
- TkRegion src_region,
- TkRegion dest_region_return)
-{
- const CGRect r = CGRectMake(rectangle->x, rectangle->y,
- rectangle->width, rectangle->height);
-
- if (src_region == dest_region_return) {
- ChkErr(TkMacOSHIShapeUnionWithRect,
- (HIMutableShapeRef) dest_region_return, &r);
- } else {
- HIShapeRef rectRgn = HIShapeCreateWithRect(&r);
-
- ChkErr(TkMacOSHIShapeUnion, rectRgn, (HIShapeRef) src_region,
- (HIMutableShapeRef) dest_region_return);
- CFRelease(rectRgn);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkRectInRegion --
- *
- * Implements the equivelent of the X window function XRectInRegion. See
- * Xwindow documentation for more details.
- *
- * Results:
- * Returns RectanglePart or RectangleOut. Note that this is not a
- * complete implementation since it doesn't test for RectangleIn.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkRectInRegion(
- TkRegion region,
- int x,
- int y,
- unsigned int width,
- unsigned int height)
-{
- int result;
- const CGRect r = CGRectMake(x, y, width, height);
-
- TK_IF_MAC_OS_X_API (4, HIShapeIntersectsRect,
- result = HIShapeIntersectsRect((HIShapeRef) region, &r) ?
- RectanglePart : RectangleOut;
- ) TK_ELSE_MAC_OS_X (4,
- HIShapeRef rectRgn = HIShapeCreateWithRect(&r);
- HIShapeRef sectRgn = HIShapeCreateIntersection((HIShapeRef) region,
- rectRgn);
-
-#if 1
- result = !HIShapeIsEmpty(sectRgn) ? RectanglePart : RectangleOut;
-#else
- /*
- * More expensive full implementation that tests for RectangleIn,
- * unused by Tk at present.
- */
-
- if (!HIShapeIsEmpty(sectRgn)) {
- HIShapeRef diffRgn = HIShapeCreateDifference(rectRgn, sectRgn);
-
- if (HIShapeIsEmpty(diffRgn)) {
- result = RectangleIn;
- } else {
- result = RectanglePart;
- }
- CFRelease(diffRgn);
- } else {
- result = RectangleOut;
- }
-#endif
- CFRelease(sectRgn);
- CFRelease(rectRgn);
- ) TK_ENDIF;
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkClipBox --
- *
- * Implements the equivelent of the X window function XClipBox. See
- * Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkClipBox(
- TkRegion r,
- XRectangle* rect_return)
-{
- CGRect rect;
-
- HIShapeGetBounds((HIShapeRef) r, &rect);
- rect_return->x = rect.origin.x;
- rect_return->y = rect.origin.y;
- rect_return->width = rect.size.width;
- rect_return->height = rect.size.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpBuildRegionFromAlphaData --
- *
- * Set up a rectangle of the given region based on the supplied alpha
- * data.
- *
- * Results:
- * None
- *
- * Side effects:
- * The region is updated, with extra pixels added to it.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpBuildRegionFromAlphaData(
- TkRegion region, /* Region to update. */
- unsigned int x, /* Where in region to update. */
- unsigned int y, /* Where in region to update. */
- unsigned int width, /* Size of rectangle to update. */
- unsigned int height, /* Size of rectangle to update. */
- unsigned char *dataPtr, /* Data to read from. */
- unsigned int pixelStride, /* num bytes from one piece of alpha
- * data to the next in the line. */
- unsigned int lineStride) /* num bytes from one line of alpha
- * data to the next line. */
-{
- unsigned char *lineDataPtr;
- unsigned int x1, y1, end;
- XRectangle rect;
-
- for (y1 = 0; y1 < height; y1++) {
- lineDataPtr = dataPtr;
- for (x1 = 0; x1 < width; x1 = end) {
- /*
- * Search for first non-transparent pixel.
- */
-
- while ((x1 < width) && !*lineDataPtr) {
- x1++;
- lineDataPtr += pixelStride;
- }
- end = x1;
-
- /*
- * Search for first transparent pixel.
- */
-
- while ((end < width) && *lineDataPtr) {
- end++;
- lineDataPtr += pixelStride;
- }
- if (end > x1) {
- rect.x = x + x1;
- rect.y = y + y1;
- rect.width = end - x1;
- rect.height = 1;
- TkUnionRectWithRegion(&rect, region, region);
- }
- }
- dataPtr += lineStride;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpRetainRegion --
- *
- * Increases reference count of region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpRetainRegion(
- TkRegion r)
-{
- CFRetain(r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpReleaseRegion --
- *
- * Decreases reference count of region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May free memory.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpReleaseRegion(
- TkRegion r)
-{
- CFRelease(r);
-}
-#if 0
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXEmtpyRegion --
- *
- * Set region to emtpy.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXEmtpyRegion(
- TkRegion r)
-{
- ChkErr(HIShapeSetEmpty, (HIMutableShapeRef) r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXIsEmptyRegion --
- *
- * Return native region for given tk region.
- *
- * Results:
- * 1 if empty, 0 otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXIsEmptyRegion(
- TkRegion r)
-{
- return HIShapeIsEmpty((HIMutableShapeRef) r) ? 1 : 0;
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNativeRegion --
- *
- * Return native region for given tk region.
- *
- * Results:
- * Native region, CFRelease when done.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-HIShapeRef
-TkMacOSXGetNativeRegion(
- TkRegion r)
-{
- return (HIShapeRef) CFRetain(r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetWithNativeRegion --
- *
- * Set region to the native region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetWithNativeRegion(
- TkRegion r,
- HIShapeRef rgn)
-{
- ChkErr(TkMacOSXHIShapeSetWithShape, (HIMutableShapeRef) r, rgn);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXOffsetRegion --
- *
- * Offsets region by given distances.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXOffsetRegion(
- TkRegion r,
- short dx,
- short dy)
-{
- ChkErr(HIShapeOffset, (HIMutableShapeRef) r, dx, dy);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXHIShapeCreateEmpty, TkMacOSXHIShapeCreateMutableWithRect,
- * TkMacOSXHIShapeSetWithShape, TkMacOSXHIShapeSetWithRect,
- * TkMacOSHIShapeDifferenceWithRect, TkMacOSHIShapeUnionWithRect,
- * TkMacOSHIShapeUnion --
- *
- * Wrapper functions for missing/buggy HIShape API
- *
- *----------------------------------------------------------------------
- */
-
-HIShapeRef
-TkMacOSXHIShapeCreateEmpty(void)
-{
- HIShapeRef result;
-
- TK_IF_MAC_OS_X_API (4, HIShapeCreateEmpty,
- result = HIShapeCreateEmpty();
- ) TK_ELSE_MAC_OS_X (4,
- static HIShapeRef emptyRgn = NULL;
-
- if (!emptyRgn) {
- HIMutableShapeRef rgn = HIShapeCreateMutable();
-
- emptyRgn = HIShapeCreateCopy(rgn);
- CFRelease(rgn);
- }
- result = HIShapeCreateCopy(emptyRgn);
- ) TK_ENDIF;
-
- return result;
-}
-
-HIMutableShapeRef
-TkMacOSXHIShapeCreateMutableWithRect(
- const CGRect *inRect)
-{
- HIMutableShapeRef result;
-
- TK_IF_MAC_OS_X_API (5, HIShapeCreateMutableWithRect,
- result = HIShapeCreateMutableWithRect(inRect);
- ) TK_ELSE_MAC_OS_X (5,
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = HIShapeCreateMutableCopy(rgn);
- CFRelease(rgn);
- ) TK_ENDIF;
-
- return result;
-}
-
-OSStatus
-TkMacOSXHIShapeSetWithShape(
- HIMutableShapeRef inDestShape,
- HIShapeRef inSrcShape)
-{
- OSStatus result;
-
- TK_IF_MAC_OS_X_API (5, HIShapeSetWithShape,
- result = HIShapeSetWithShape(inDestShape, inSrcShape);
- ) TK_ELSE_MAC_OS_X (5,
- result = HIShapeSetEmpty(inDestShape);
- if (result == noErr) {
- result = HIShapeDifference(inSrcShape, inDestShape, inDestShape);
- }
- ) TK_ENDIF;
-
- return result;
-}
-
-#if 0
-OSStatus
-TkMacOSXHIShapeSetWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = TkMacOSXHIShapeSetWithShape(inShape, rgn);
- CFRelease(rgn);
-
- return result;
-}
-#endif
-
-OSStatus
-TkMacOSHIShapeDifferenceWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = HIShapeDifference(inShape, rgn, inShape);
- CFRelease(rgn);
-
- return result;
-}
-
-OSStatus
-TkMacOSHIShapeUnionWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
-
- TK_IF_MAC_OS_X_API (5, HIShapeUnionWithRect,
- result = HIShapeUnionWithRect(inShape, inRect);
- ) TK_ELSE_MAC_OS_X (5,
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = TkMacOSHIShapeUnion(rgn, inShape, inShape);
- CFRelease(rgn);
- ) TK_ENDIF;
-
- return result;
-}
-
-OSStatus
-TkMacOSHIShapeUnion(
- HIShapeRef inShape1,
- HIShapeRef inShape2,
- HIMutableShapeRef outResult)
-{
- OSStatus result;
-
- TK_IF_HI_TOOLBOX (4,
- result = HIShapeUnion(inShape1, inShape2, outResult);
- ) TK_ELSE_HI_TOOLBOX (4,
- /*
- * Workaround HIShapeUnion bug in 10.3 and earlier.
- */
-
- HIShapeRef rgn = HIShapeCreateCopy(outResult);
-
- result = HIShapeUnion(inShape1, inShape2, (HIMutableShapeRef) rgn);
- if (result == noErr) {
- result = HIShapeSetEmpty(outResult);
- if (result == noErr) {
- result = HIShapeDifference(rgn, outResult, outResult);
- }
- }
- CFRelease(rgn);
- ) TK_ENDIF;
-
- return result;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXScale.c b/carbon/tkMacOSXScale.c
deleted file mode 100644
index bc46596..0000000
--- a/carbon/tkMacOSXScale.c
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * tkMacOSXScale.c --
- *
- * This file implements the Macintosh specific portion of the
- * scale widget.
- *
- * Copyright (c) 1996 by Sun Microsystems, Inc.
- * Copyright (c) 1998-2000 by Scriptics Corporation.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkScale.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_SCALE
-#endif
-*/
-
-/*
- * Defines used in this file.
- */
-
-#define slider 1110
-#define inSlider 1
-#define inInc 2
-#define inDecr 3
-
-/*
- * Declaration of Macintosh specific scale structure.
- */
-
-typedef struct MacScale {
- TkScale info; /* Generic scale info. */
- int flags; /* Flags. */
- ControlRef scaleHandle; /* Handle to the Scale control struct. */
-} MacScale;
-
-/*
- * Globals uses locally in this file.
- */
-static ControlActionUPP scaleActionProc = NULL; /* Pointer to func. */
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static void MacScaleEventProc(ClientData clientData, XEvent *eventPtr);
-static pascal void ScaleActionProc(ControlRef theControl,
- ControlPartCode partCode);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateScale --
- *
- * Allocate a new TkScale structure.
- *
- * Results:
- * Returns a newly allocated TkScale structure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkScale *
-TkpCreateScale(
- Tk_Window tkwin)
-{
- MacScale *macScalePtr = ckalloc(sizeof(MacScale));
-
- macScalePtr->scaleHandle = NULL;
- if (scaleActionProc == NULL) {
- scaleActionProc = NewControlActionUPP(ScaleActionProc);
- }
-
- Tk_CreateEventHandler(tkwin, ButtonPressMask,
- MacScaleEventProc, (ClientData) macScalePtr);
-
- return (TkScale *) macScalePtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyScale --
- *
- * Free Macintosh specific resources.
- *
- * Results:
- * None
- *
- * Side effects:
- * The slider control is destroyed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyScale(
- TkScale *scalePtr)
-{
- MacScale *macScalePtr = (MacScale *) scalePtr;
-
- /*
- * Free Macintosh control.
- */
-
- if (macScalePtr->scaleHandle != NULL) {
- DisposeControl(macScalePtr->scaleHandle);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayScale --
- *
- * This procedure is invoked as an idle handler to redisplay
- * the contents of a scale widget.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The scale gets redisplayed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayScale(
- ClientData clientData) /* Widget record for scale. */
-{
- TkScale *scalePtr = (TkScale *) clientData;
- Tk_Window tkwin = scalePtr->tkwin;
- Tcl_Interp *interp = scalePtr->interp;
- int result;
- char string[PRINT_CHARS];
- MacScale *macScalePtr = (MacScale *) clientData;
- Rect r;
- WindowRef windowRef;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- MacDrawable *macDraw;
- SInt32 initialValue, minValue, maxValue;
- UInt16 numTicks;
-
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("TkpDisplayScale");
-#endif
- scalePtr->flags &= ~REDRAW_PENDING;
- if ((scalePtr->tkwin == NULL) || !Tk_IsMapped(scalePtr->tkwin)) {
- goto done;
- }
-
- /*
- * Invoke the scale's command if needed.
- */
-
- Tcl_Preserve((ClientData) scalePtr);
- if ((scalePtr->flags & INVOKE_COMMAND) && (scalePtr->command != NULL)) {
- Tcl_Preserve((ClientData) interp);
- sprintf(string, scalePtr->format, scalePtr->value);
- result = Tcl_VarEval(interp, scalePtr->command, " ", string, NULL);
- if (result != TCL_OK) {
- Tcl_AddErrorInfo(interp, "\n (command executed by scale)");
- Tcl_BackgroundException(interp, result);
- }
- Tcl_Release((ClientData) interp);
- }
- scalePtr->flags &= ~INVOKE_COMMAND;
- if (scalePtr->flags & SCALE_DELETED) {
- Tcl_Release((ClientData) scalePtr);
- return;
- }
- Tcl_Release((ClientData) scalePtr);
-
- /*
- * Now handle the part of redisplay that is the same for
- * horizontal and vertical scales: border and traversal
- * highlight.
- */
-
- if (scalePtr->highlightWidth != 0) {
- GC gc = Tk_GCForColor(scalePtr->highlightColorPtr, Tk_WindowId(tkwin));
-
- Tk_DrawFocusHighlight(tkwin, gc, scalePtr->highlightWidth,
- Tk_WindowId(tkwin));
- }
- Tk_Draw3DRectangle(tkwin, Tk_WindowId(tkwin), scalePtr->bgBorder,
- scalePtr->highlightWidth, scalePtr->highlightWidth,
- Tk_Width(tkwin) - 2*scalePtr->highlightWidth,
- Tk_Height(tkwin) - 2*scalePtr->highlightWidth,
- scalePtr->borderWidth, scalePtr->relief);
-
- /*
- * Set up port for drawing Macintosh control.
- */
-
- macDraw = (MacDrawable *) Tk_WindowId(tkwin);
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(tkwin));
- windowRef = TkMacOSXDrawableWindow(Tk_WindowId(tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));
-
- /*
- * Create Macintosh control.
- */
-
-#define MAC_OSX_SCROLL_WIDTH 10
-
- if (scalePtr->orient == ORIENT_HORIZONTAL) {
- int offset = (Tk_Height(tkwin) - MAC_OSX_SCROLL_WIDTH)/2;
-
- if (offset < 0) {
- offset = 0;
- }
-
- r.left = macDraw->xOff + scalePtr->inset;
- r.top = macDraw->yOff + offset;
- r.right = macDraw->xOff+Tk_Width(tkwin) - scalePtr->inset;
- r.bottom = macDraw->yOff + offset + MAC_OSX_SCROLL_WIDTH/2;
- } else {
- int offset = (Tk_Width(tkwin) - MAC_OSX_SCROLL_WIDTH)/2;
-
- if (offset < 0) {
- offset = 0;
- }
-
- r.left = macDraw->xOff + offset;
- r.top = macDraw->yOff + scalePtr->inset;
- r.right = macDraw->xOff + offset + MAC_OSX_SCROLL_WIDTH/2;
- r.bottom = macDraw->yOff+Tk_Height(tkwin) - scalePtr->inset;
- }
-
- if (macScalePtr->scaleHandle == NULL) {
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("Initialising scale");
-#endif
- initialValue = scalePtr->value;
- if (scalePtr->orient == ORIENT_HORIZONTAL) {
- minValue = scalePtr->fromValue;
- maxValue = scalePtr->toValue;
- } else {
- minValue = scalePtr->fromValue;
- maxValue = scalePtr->toValue;
- }
-
- if (scalePtr->tickInterval == 0) {
- numTicks = 0;
- } else {
- numTicks = (maxValue - minValue)/scalePtr->tickInterval;
- }
-
- CreateSliderControl(windowRef, &r, initialValue, minValue, maxValue,
- kControlSliderPointsDownOrRight, numTicks, 1, scaleActionProc,
- &(macScalePtr->scaleHandle));
- SetControlReference(macScalePtr->scaleHandle, (UInt32) scalePtr);
-
- if (IsWindowActive(windowRef)) {
- macScalePtr->flags |= ACTIVE;
- }
- } else {
- SetControlBounds(macScalePtr->scaleHandle, &r);
- SetControl32BitValue(macScalePtr->scaleHandle, scalePtr->value);
- SetControl32BitMinimum(macScalePtr->scaleHandle, scalePtr->fromValue);
- SetControl32BitMaximum(macScalePtr->scaleHandle, scalePtr->toValue);
- }
-
- /*
- * Finally draw the control.
- */
-
- SetControlVisibility(macScalePtr->scaleHandle,true,true);
- HiliteControl(macScalePtr->scaleHandle,0);
- Draw1Control(macScalePtr->scaleHandle);
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-done:
- scalePtr->flags &= ~REDRAW_ALL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpScaleElement --
- *
- * Determine which part of a scale widget lies under a given
- * point.
- *
- * Results:
- * The return value is either TROUGH1, SLIDER, TROUGH2, or
- * OTHER, depending on which of the scale's active elements
- * (if any) is under the point at (x,y).
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpScaleElement(
- TkScale *scalePtr, /* Widget record for scale. */
- int x, int y) /* Coordinates within scalePtr's window. */
-{
- MacScale *macScalePtr = (MacScale *) scalePtr;
- ControlPartCode part;
- Point where;
- Rect bounds;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
-
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("TkpScaleElement");
-#endif
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(scalePtr->tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
-
- /*
- * All of the calculations in this procedure mirror those in
- * DisplayScrollbar. Be sure to keep the two consistent.
- */
-
- TkMacOSXWinBounds((TkWindow *) scalePtr->tkwin, &bounds);
- where.h = x + bounds.left;
- where.v = y + bounds.top;
- part = TestControl(macScalePtr->scaleHandle, where);
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-
-#ifdef TK_MAC_DEBUG_SCALE
- fprintf (stderr,"ScalePart %d, pos ( %d %d )\n", part, where.h, where.v );
-#endif
-
- switch (part) {
- case inSlider:
- return SLIDER;
- case inInc:
- if (scalePtr->orient == ORIENT_VERTICAL) {
- return TROUGH1;
- } else {
- return TROUGH2;
- }
- case inDecr:
- if (scalePtr->orient == ORIENT_VERTICAL) {
- return TROUGH2;
- } else {
- return TROUGH1;
- }
- default:
- return OTHER;
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * MacScaleEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for
- * ButtonPress events on scales.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When the window gets deleted, internal structures get
- * cleaned up. When it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-MacScaleEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- MacScale *macScalePtr = (MacScale *) clientData;
- Point where;
- Rect bounds;
- int part;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
-
-#ifdef TK_MAC_DEBUG_SCALE
- fprintf(stderr,"MacScaleEventProc\n" );
-#endif
-
- /*
- * To call Macintosh control routines we must have the port
- * set to the window containing the control. We will then test
- * which part of the control was hit and act accordingly.
- */
-
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(macScalePtr->info.tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(macScalePtr->info.tkwin));
-
- TkMacOSXWinBounds((TkWindow *) macScalePtr->info.tkwin, &bounds);
- where.h = eventPtr->xbutton.x + bounds.left;
- where.v = eventPtr->xbutton.y + bounds.top;
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("calling TestControl");
-#endif
- part = TestControl(macScalePtr->scaleHandle, where);
- if (part == 0) {
- return;
- }
-
- TkMacOSXTrackingLoop(1);
- part = HandleControlClick(macScalePtr->scaleHandle, where,
- TkMacOSXModifierState(), scaleActionProc);
- TkMacOSXTrackingLoop(0);
-
- /*
- * Update the value for the widget.
- */
-
- macScalePtr->info.value = GetControlValue(macScalePtr->scaleHandle);
- /* TkScaleSetValue(&macScalePtr->info, macScalePtr->info.value, 1, 0); */
-
- /*
- * The HandleControlClick call will "eat" the ButtonUp event. We now
- * generate a ButtonUp event so Tk will unset implicit grabs etc.
- */
-
- TkGenerateButtonEventForXPointer(Tk_WindowId(macScalePtr->info.tkwin));
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ScaleActionProc --
- *
- * Callback procedure used by the Macintosh toolbox call
- * HandleControlClick. This call will update the display
- * while the scrollbar is being manipulated by the user.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May change the display.
- *
- *--------------------------------------------------------------
- */
-
-static pascal void
-ScaleActionProc(
- ControlRef theControl, /* Handle to scrollbat control */
- ControlPartCode partCode) /* Part of scrollbar that was "hit" */
-{
- int value;
- TkScale *scalePtr = (TkScale *) GetControlReference(theControl);
-
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("ScaleActionProc");
-#endif
- value = GetControlValue(theControl);
- TkScaleSetValue(scalePtr, value, 1, 1);
- Tcl_Preserve((ClientData) scalePtr);
- TkMacOSXRunTclEventLoop();
- Tcl_Release((ClientData) scalePtr);
-}
-
diff --git a/carbon/tkMacOSXScrlbr.c b/carbon/tkMacOSXScrlbr.c
deleted file mode 100644
index c991c88..0000000
--- a/carbon/tkMacOSXScrlbr.c
+++ /dev/null
@@ -1,1017 +0,0 @@
-/*
- * tkMacOSXScrollbar.c --
- *
- * This file implements the Macintosh specific portion of the scrollbar
- * widget. The Macintosh scrollbar may also draw a windows grow region
- * under certain cases.
- *
- * Copyright (c) 1996 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkScrollbar.h"
-#include "tkMacOSXDebug.h"
-
-#define MIN_SCROLLBAR_VALUE 0
-#define SCROLLBAR_SCALING_VALUE ((double)(LONG_MAX>>1))
-
-/*
- * Declaration of Mac specific scrollbar structure.
- */
-
-typedef struct MacScrollbar {
- TkScrollbar info; /* Generic scrollbar info */
- ControlRef sbHandle; /* Scrollbar control */
- int macFlags; /* Various flags; see below */
- Rect eraseRect; /* Rect to erase before drawing control */
-} MacScrollbar;
-
-/*
- * Flag bits for scrollbars on the Mac:
- *
- * ALREADY_DEAD: Non-zero means this scrollbar has been
- * destroyed, but has not been cleaned up.
- * IN_MODAL_LOOP: Non-zero means this scrollbar is in the middle
- * of a modal loop.
- * ACTIVE: Non-zero means this window is currently
- * active (in the foreground).
- */
-
-#define ALREADY_DEAD 1
-#define IN_MODAL_LOOP 2
-#define ACTIVE 4
-
-/*
- * Globals uses locally in this file.
- */
-static ControlActionUPP scrollActionProc = NULL; /* Pointer to func. */
-static ControlActionUPP thumbActionProc = NULL; /* Pointer to func. */
-static Point mouseDownPoint; /* Used to store the coordinates where the
- * mouse was first pressed to begin dragging
- * the thumb, because ThumbActionProc can't
- * take any args. */
-
-typedef struct ScrollbarMetrics {
- SInt32 width, minHeight, minThumbHeight;
- short topArrowHeight, bottomArrowHeight;
- ControlSize size;
-} ScrollbarMetrics;
-
-static ScrollbarMetrics metrics[2] = {
- {15, 54, 26, 14, 14, kControlSizeNormal}, /* kThemeScrollBarMedium */
- {11, 40, 20, 10, 10, kControlSizeSmall}, /* kThemeScrollBarSmall */
-};
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static pascal void ScrollbarActionProc(ControlRef theControl,
- ControlPartCode partCode);
-static pascal void ThumbActionProc(ControlRef theControl,
- ControlPartCode partCode);
-static int ScrollbarPress(MacScrollbar *, XEvent *);
-static void ScrollbarEventProc(ClientData clientData,
- XEvent *eventPtr);
-static void UpdateControlValues(MacScrollbar *macScrollPtr);
-
-/*
- * The class procedure table for the scrollbar widget. Leave the proc fields
- * initialized to NULL, which should happen automatically because of the scope
- * at which the variable is declared.
- */
-
-const Tk_ClassProcs tkpScrollbarProcs = {
- sizeof(Tk_ClassProcs), /* size */
- NULL, /* worldChangedProc */
- NULL, /* createProc */
- NULL /* modalProc */
-};
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitScrollbarMetrics --
- *
- * This function initializes the current system metrics for a scrollbar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Updates the geometry cache info for all scrollbars.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInitScrollbarMetrics(void)
-{
- const short height = 100, width = 50;
- ThemeTrackDrawInfo info = {0, {0, 0, height, width}, 0, 1, 0, 0,
- kThemeTrackShowThumb, kThemeTrackActive, 0, {{1, 0}}};
- Rect bounds;
-
- ChkErr(GetThemeMetric, kThemeMetricScrollBarWidth, &metrics[0].width);
- ChkErr(GetThemeMetric, kThemeMetricScrollBarMinThumbHeight,
- &metrics[0].minThumbHeight);
- info.kind = kThemeScrollBarMedium;
- ChkErr(GetThemeTrackDragRect, &info, &bounds);
- metrics[0].topArrowHeight = bounds.top;
- metrics[0].bottomArrowHeight = height - bounds.bottom;
- metrics[0].minHeight = metrics[0].minThumbHeight +
- metrics[0].topArrowHeight + metrics[0].bottomArrowHeight;
- ChkErr(GetThemeMetric, kThemeMetricSmallScrollBarWidth, &metrics[1].width);
- ChkErr(GetThemeMetric, kThemeMetricSmallScrollBarMinThumbHeight,
- &metrics[1].minThumbHeight);
- info.kind = kThemeScrollBarSmall;
- ChkErr(GetThemeTrackDragRect, &info, &bounds);
- metrics[1].topArrowHeight = bounds.top;
- metrics[1].bottomArrowHeight = height - bounds.bottom;
- metrics[1].minHeight = metrics[1].minThumbHeight +
- metrics[1].topArrowHeight + metrics[1].bottomArrowHeight;
-
- sprintf(tkDefScrollbarWidth, "%ld", metrics[0].width);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateScrollbar --
- *
- * Allocate a new TkScrollbar structure.
- *
- * Results:
- * Returns a newly allocated TkScrollbar structure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkScrollbar *
-TkpCreateScrollbar(
- Tk_Window tkwin) /* New Tk Window. */
-{
- static int initialized = 0;
- MacScrollbar * macScrollPtr;
-
- if (scrollActionProc == NULL) {
- scrollActionProc = NewControlActionUPP(ScrollbarActionProc);
- thumbActionProc = NewControlActionUPP(ThumbActionProc);
- }
- if (!initialized) {
- TkMacOSXInitScrollbarMetrics();
- initialized = 1;
- }
- macScrollPtr = ckalloc(sizeof(MacScrollbar));
- macScrollPtr->sbHandle = NULL;
- macScrollPtr->macFlags = 0;
- SetRect(&macScrollPtr->eraseRect, 0, 0, 0, 0);
-
- Tk_CreateEventHandler(tkwin, ActivateMask|ExposureMask|
- StructureNotifyMask|FocusChangeMask|ButtonPressMask,
- ScrollbarEventProc, (ClientData) macScrollPtr);
-
- return (TkScrollbar *) macScrollPtr;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpDisplayScrollbar --
- *
- * This procedure redraws the contents of a scrollbar window. It is
- * invoked as a do-when-idle handler, so it only runs when there's
- * nothing else for the application to do.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Information appears on the screen.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpDisplayScrollbar(
- ClientData clientData) /* Information about window. */
-{
- TkScrollbar *scrollPtr = (TkScrollbar *) clientData;
- MacScrollbar *macScrollPtr = (MacScrollbar *) clientData;
- Tk_Window tkwin = scrollPtr->tkwin;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- WindowRef windowRef;
-
- if ((scrollPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) {
- goto done;
- }
-
- /*
- * Draw the focus or any 3D relief we may have.
- */
- if (scrollPtr->highlightWidth != 0) {
- GC fgGC, bgGC;
-
- bgGC = Tk_GCForColor(scrollPtr->highlightBgColorPtr,
- Tk_WindowId(tkwin));
-
- if (scrollPtr->flags & GOT_FOCUS) {
- fgGC = Tk_GCForColor(scrollPtr->highlightColorPtr,
- Tk_WindowId(tkwin));
- TkpDrawHighlightBorder(tkwin, fgGC, bgGC, scrollPtr->highlightWidth,
- Tk_WindowId(tkwin));
- } else {
- TkpDrawHighlightBorder(tkwin, bgGC, bgGC, scrollPtr->highlightWidth,
- Tk_WindowId(tkwin));
- }
- }
- Tk_Draw3DRectangle(tkwin, Tk_WindowId(tkwin), scrollPtr->bgBorder,
- scrollPtr->highlightWidth, scrollPtr->highlightWidth,
- Tk_Width(tkwin) - 2*scrollPtr->highlightWidth,
- Tk_Height(tkwin) - 2*scrollPtr->highlightWidth,
- scrollPtr->borderWidth, scrollPtr->relief);
-
- if (macScrollPtr->sbHandle == NULL) {
- Rect r = {0, 0, 1, 1};
-
- windowRef = TkMacOSXDrawableWindow(Tk_WindowId(tkwin));
- CreateScrollBarControl(windowRef, &r, 0, 0, 0, 0, true, NULL,
- &(macScrollPtr->sbHandle));
- SetControlReference(macScrollPtr->sbHandle, (SInt32) scrollPtr);
-
- if (IsWindowActive(windowRef)) {
- macScrollPtr->macFlags |= ACTIVE;
- }
- }
-
- /*
- * Update the control values before we draw.
- */
-
- UpdateControlValues(macScrollPtr);
-
- /*
- * Set up port for drawing Macintosh control.
- */
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));
-
- /*
- * Scrollbars do not erase the complete control bounds if they are wider
- * than the standard width, so manually erase the extra space.
- */
-
- if (!EmptyRect(&macScrollPtr->eraseRect)) {
- EraseRect(&macScrollPtr->eraseRect);
- }
-
- Draw1Control(macScrollPtr->sbHandle);
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-
- done:
- scrollPtr->flags &= ~REDRAW_PENDING;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpConfigureScrollbar --
- *
- * This procedure is called after the generic code has finished
- * processing configuration options, in order to configure platform
- * specific options.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpConfigureScrollbar(
- register TkScrollbar *scrollPtr)
- /* Information about widget; may or may not
- * already have values for some fields. */
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpComputeScrollbarGeometry --
- *
- * After changes in a scrollbar's size or configuration, this procedure
- * recomputes various geometry information used in displaying the
- * scrollbar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The scrollbar will be displayed differently.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpComputeScrollbarGeometry(
- register TkScrollbar *scrollPtr) /* Scrollbar whose geometry may
- * have changed. */
-{
- int variant, fieldLength;
-
- if (scrollPtr->highlightWidth < 0) {
- scrollPtr->highlightWidth = 0;
- }
- scrollPtr->inset = scrollPtr->highlightWidth + scrollPtr->borderWidth;
- variant = ((scrollPtr->vertical ? Tk_Width(scrollPtr->tkwin) :
- Tk_Height(scrollPtr->tkwin)) - 2 * scrollPtr->inset
- < metrics[0].width) ? 1 : 0;
- scrollPtr->arrowLength = (metrics[variant].topArrowHeight +
- metrics[variant].bottomArrowHeight) / 2;
- fieldLength = (scrollPtr->vertical ? Tk_Height(scrollPtr->tkwin)
- : Tk_Width(scrollPtr->tkwin))
- - 2 * (scrollPtr->arrowLength + scrollPtr->inset);
- if (fieldLength < 0) {
- fieldLength = 0;
- }
- scrollPtr->sliderFirst = fieldLength * scrollPtr->firstFraction;
- scrollPtr->sliderLast = fieldLength * scrollPtr->lastFraction;
-
- /*
- * Adjust the slider so that some piece of it is always displayed in the
- * scrollbar and so that it has at least a minimal width (so it can be
- * grabbed with the mouse).
- */
-
- if (scrollPtr->sliderFirst > (fieldLength - 2*scrollPtr->borderWidth)) {
- scrollPtr->sliderFirst = fieldLength - 2*scrollPtr->borderWidth;
- }
- if (scrollPtr->sliderFirst < 0) {
- scrollPtr->sliderFirst = 0;
- }
- if (scrollPtr->sliderLast < (scrollPtr->sliderFirst +
- metrics[variant].minThumbHeight)) {
- scrollPtr->sliderLast = scrollPtr->sliderFirst +
- metrics[variant].minThumbHeight;
- }
- if (scrollPtr->sliderLast > fieldLength) {
- scrollPtr->sliderLast = fieldLength;
- }
- scrollPtr->sliderFirst += scrollPtr->inset +
- metrics[variant].topArrowHeight;
- scrollPtr->sliderLast += scrollPtr->inset +
- metrics[variant].bottomArrowHeight;
-
- /*
- * Register the desired geometry for the window (leave enough space for
- * the two arrows plus a minimum-size slider, plus border around the whole
- * window, if any). Then arrange for the window to be redisplayed.
- */
-
- if (scrollPtr->vertical) {
- Tk_GeometryRequest(scrollPtr->tkwin, scrollPtr->width +
- 2 * scrollPtr->inset, 2 * (scrollPtr->arrowLength +
- scrollPtr->borderWidth + scrollPtr->inset) +
- metrics[variant].minThumbHeight);
- } else {
- Tk_GeometryRequest(scrollPtr->tkwin, 2 * (scrollPtr->arrowLength +
- scrollPtr->borderWidth + scrollPtr->inset) +
- metrics[variant].minThumbHeight, scrollPtr->width +
- 2 * scrollPtr->inset);
- }
- Tk_SetInternalBorder(scrollPtr->tkwin, scrollPtr->inset);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyScrollbar --
- *
- * Free data structures associated with the scrollbar control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyScrollbar(
- TkScrollbar *scrollPtr) /* Scrollbar to destroy. */
-{
- MacScrollbar *macScrollPtr = (MacScrollbar *)scrollPtr;
-
- if (macScrollPtr->sbHandle != NULL) {
- if (!(macScrollPtr->macFlags & IN_MODAL_LOOP)) {
- DisposeControl(macScrollPtr->sbHandle);
- macScrollPtr->sbHandle = NULL;
- }
- }
- macScrollPtr->macFlags |= ALREADY_DEAD;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpScrollbarPosition --
- *
- * Determine the scrollbar element corresponding to a given position.
- *
- * Results:
- * One of TOP_ARROW, TOP_GAP, etc., indicating which element of the
- * scrollbar covers the position given by (x, y). If (x,y) is outside the
- * scrollbar entirely, then OUTSIDE is returned.
- *
- * Side effects:
- * None.
- *
- *--------------------------------------------------------------
- */
-
-int
-TkpScrollbarPosition(
- TkScrollbar *scrollPtr, /* Scrollbar widget record. */
- int x, int y) /* Coordinates within scrollPtr's
- * window. */
-{
- MacScrollbar *macScrollPtr = (MacScrollbar *) scrollPtr;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- int inactive = 0;
- ControlPartCode part;
- Point where = {y, x};
- Rect bounds;
-
- if ((x < scrollPtr->inset) || (x >= (Tk_Width(scrollPtr->tkwin) -
- scrollPtr->inset)) || (y < scrollPtr->inset) ||
- (y >= (Tk_Height(scrollPtr->tkwin) - scrollPtr->inset))) {
- return OUTSIDE;
- }
-
- /*
- * All of the calculations in this procedure mirror those in
- * DisplayScrollbar. Be sure to keep the two consistent. On the Macintosh
- * we use the OS call TestControl to do this mapping. For TestControl to
- * work, the scrollbar must be active and must be in the current port.
- */
-
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(scrollPtr->tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- UpdateControlValues(macScrollPtr);
- if (!IsControlActive(macScrollPtr->sbHandle)) {
- inactive = true;
- ActivateControl(macScrollPtr->sbHandle);
- }
- TkMacOSXWinBounds((TkWindow *) scrollPtr->tkwin, &bounds);
- where.h += bounds.left;
- where.v += bounds.top;
- part = TestControl(((MacScrollbar *) scrollPtr)->sbHandle, where);
- if (inactive) {
- DeactivateControl(macScrollPtr->sbHandle);
- }
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- switch (part) {
- case kAppearancePartUpButton:
- return TOP_ARROW;
- case kAppearancePartPageUpArea:
- return TOP_GAP;
- case kAppearancePartIndicator:
- return SLIDER;
- case kAppearancePartPageDownArea:
- return BOTTOM_GAP;
- case kAppearancePartDownButton:
- return BOTTOM_ARROW;
- default:
- return OUTSIDE;
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ThumbActionProc --
- *
- * Callback procedure used by the Macintosh toolbox call
- * HandleControlClick. This call is used to track the thumb of the
- * scrollbar. Unlike the ScrollbarActionProc function this function is
- * called once and basically takes over tracking the scrollbar from the
- * control. This is done to avoid conflicts with what the control plans
- * to draw.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May change the display.
- *
- *--------------------------------------------------------------
- */
-
-static pascal void
-ThumbActionProc(
- ControlRef theControl,
- ControlPartCode partCode)
-{
- TkScrollbar *scrollPtr = (TkScrollbar *)(intptr_t)
- GetControlReference(theControl);
- MacScrollbar *macScrollPtr = (MacScrollbar *) scrollPtr;
- Tcl_DString cmdString;
- /*int origValue;*/ /* dead code */
- int variant;
- short trackBarSize;
- double oldFirstFraction, newFirstFraction;
- char valueString[40];
- Point currentPoint = { 0, 0 };
- Rect trackRect;
- Tcl_Interp *interp;
- MouseTrackingResult trackingResult;
- OSStatus err;
-
- if (scrollPtr == NULL) {
- return;
- }
-
- Tcl_DStringInit(&cmdString);
- /*origValue = GetControl32BitValue(macScrollPtr->sbHandle);*/ /* dead code */
- GetControlBounds(macScrollPtr->sbHandle, &trackRect);
-
- if (scrollPtr->vertical) {
- variant = (trackRect.right - trackRect.left) < metrics[0].width ? 1 : 0;
- trackBarSize = trackRect.bottom - trackRect.top -
- metrics[variant].topArrowHeight -
- metrics[variant].bottomArrowHeight;
- InsetRect(&trackRect, -25, -113);
- } else {
- variant = (trackRect.bottom - trackRect.top) < metrics[0].width ? 1 : 0;
- trackBarSize = trackRect.right - trackRect.left -
- metrics[variant].topArrowHeight -
- metrics[variant].bottomArrowHeight;
- InsetRect(&trackRect, -113, -25);
- }
-
- /*
- * Track the mouse while the button is held down. If the mouse is moved,
- * we calculate the value that should be passed to the "command" part of
- * the scrollbar. Since the mouse may move a distance too small to cause a
- * change to the first fraction, each calculation must be done versus what
- * the first fraction was when the mouse button was initially pressed.
- * Otherwise, moving the mouse too slowly will cause the calculated
- * fraction delta to be zero and the scrollbar won't respond.
- */
-
- oldFirstFraction = scrollPtr->firstFraction;
-
- TkMacOSXTrackingLoop(1);
- do {
- err = ChkErr(TrackMouseLocationWithOptions, NULL,
- kTrackMouseLocationOptionDontConsumeMouseUp,
- kEventDurationForever, &currentPoint, NULL, &trackingResult);
- if ((err == noErr) && ((trackingResult == kMouseTrackingMouseDragged)
- || (trackingResult == kMouseTrackingMouseMoved))) {
- /*
- * Calculate where the scrollbar should move to, based on where the
- * mouse button was pressed and where the scrollbar initially was
- * at that time. Note that PtInRect() will return false if
- * currentPoint or trackRect are not in is not in current graphics
- * port, which may happen if any of the waiting idle events change
- * the port (e.g. with SetPort()) but fail to restore it before
- * returning and the scrollbar will lock in place.
- */
-
- newFirstFraction = oldFirstFraction;
- if (PtInRect(currentPoint, &trackRect)) {
- short pixDiff;
-
- if (scrollPtr->vertical) {
- pixDiff = currentPoint.v - mouseDownPoint.v;
- } else {
- pixDiff = currentPoint.h - mouseDownPoint.h;
- }
- newFirstFraction += (double)pixDiff / trackBarSize;
- if (newFirstFraction > 1.0) {
- newFirstFraction = 1.0;
- } else if (newFirstFraction < 0.0) {
- newFirstFraction = 0.0;
- }
- }
-
- /*
- * Move the scrollbar thumb to the new first fraction given its
- * position when initially pressed and how far the mouse has
- * moved. Process waiting idle tasks afterward to allow for the
- * display to update.
- */
-
- Tcl_PrintDouble(NULL, newFirstFraction, valueString);
- Tcl_DStringSetLength(&cmdString, 0);
- Tcl_DStringAppend(&cmdString, scrollPtr->command,
- scrollPtr->commandSize);
- Tcl_DStringAppendElement(&cmdString, "moveto");
- Tcl_DStringAppendElement(&cmdString, valueString);
- interp = scrollPtr->interp;
- Tcl_Preserve(interp);
- Tcl_EvalEx(interp, Tcl_DStringValue(&cmdString),
- Tcl_DStringLength(&cmdString), TCL_EVAL_GLOBAL);
- Tcl_Release(interp);
- TkMacOSXRunTclEventLoop();
- }
- } while ((err == noErr) && trackingResult != kMouseTrackingMouseReleased);
- TkMacOSXTrackingLoop(0);
- Tcl_DStringFree(&cmdString);
- return;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ScrollbarActionProc --
- *
- * Callback procedure used by the Macintosh toolbox call
- * HandleControlClick. This call will update the display while the
- * scrollbar is being manipulated by the user.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May change the display.
- *
- *--------------------------------------------------------------
- */
-
-static pascal void
-ScrollbarActionProc(
- ControlRef theControl, /* Handle to scrollbat control */
- ControlPartCode partCode) /* Part of scrollbar that was "hit" */
-{
- TkScrollbar *scrollPtr = (TkScrollbar *)(intptr_t)
- GetControlReference(theControl);
- MacScrollbar *macScrollPtr = (MacScrollbar *) scrollPtr;
- Tcl_DString cmdString;
-
- Tcl_DStringInit(&cmdString);
- Tcl_DStringAppend(&cmdString, scrollPtr->command,
- scrollPtr->commandSize);
-
- if ( partCode == kAppearancePartUpButton ||
- partCode == kAppearancePartDownButton ) {
- Tcl_DStringAppendElement(&cmdString, "scroll");
- Tcl_DStringAppendElement(&cmdString,
- (partCode == kAppearancePartUpButton) ? "-1" : "1");
- Tcl_DStringAppendElement(&cmdString, "unit");
- } else if (partCode == kAppearancePartPageUpArea ||
- partCode == kAppearancePartPageDownArea ) {
- Tcl_DStringAppendElement(&cmdString, "scroll");
- Tcl_DStringAppendElement(&cmdString,
- (partCode == kAppearancePartPageUpArea) ? "-1" : "1");
- Tcl_DStringAppendElement(&cmdString, "page");
- } else if (partCode == kAppearancePartIndicator) {
- char valueString[TCL_DOUBLE_SPACE];
-
- Tcl_PrintDouble(NULL, (GetControl32BitValue(macScrollPtr->sbHandle) -
- MIN_SCROLLBAR_VALUE) / SCROLLBAR_SCALING_VALUE, valueString);
- Tcl_DStringAppendElement(&cmdString, "moveto");
- Tcl_DStringAppendElement(&cmdString, valueString);
- }
- Tcl_Preserve(scrollPtr->interp);
- Tcl_EvalEx(scrollPtr->interp, Tcl_DStringValue(&cmdString),
- Tcl_DStringLength(&cmdString), TCL_EVAL_GLOBAL);
- Tcl_Release(scrollPtr->interp);
- Tcl_DStringFree(&cmdString);
- TkMacOSXRunTclEventLoop();
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ScrollbarPress --
- *
- * This procedure is invoked in response to <ButtonPress> events.
- * Enters a modal loop to handle scrollbar interactions.
- *
- *--------------------------------------------------------------
- */
-
-static int
-ScrollbarPress(MacScrollbar *macScrollPtr, XEvent *eventPtr)
-{
- TkScrollbar *scrollPtr = &macScrollPtr->info;
- Point where;
- Rect bounds;
- ControlPartCode part;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- Window window;
-
- Tcl_Preserve(scrollPtr);
- macScrollPtr->macFlags |= IN_MODAL_LOOP;
-
- /*
- * To call Macintosh control routines we must have the port set to the
- * window containing the control. We will then test which part of the
- * control was hit and act accordingly.
- */
-
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(scrollPtr->tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(scrollPtr->tkwin));
-
- TkMacOSXWinBounds((TkWindow *) scrollPtr->tkwin, &bounds);
- where.h = eventPtr->xbutton.x + bounds.left;
- where.v = eventPtr->xbutton.y + bounds.top;
- part = TestControl(macScrollPtr->sbHandle, where);
- TkMacOSXTrackingLoop(1);
- if (part == kAppearancePartIndicator && scrollPtr->jump == false) {
- /*
- * Case 1: In thumb, no jump scrolling. Call track control with
- * the thumb action proc which will do most of the work.
- */
-
- mouseDownPoint.h = where.h;
- mouseDownPoint.v = where.v;
- HandleControlClick(macScrollPtr->sbHandle, where,
- TkMacOSXModifierState(), thumbActionProc);
- } else if (part == kAppearancePartIndicator) {
- /*
- * Case 2: in thumb with jump scrolling. Call HandleControlClick
- * with a NULL action proc. Use the new value of the control to
- * set update the control.
- */
-
- part = HandleControlClick(macScrollPtr->sbHandle, where,
- TkMacOSXModifierState(), NULL);
- if (part == kAppearancePartIndicator) {
- Tcl_Interp *interp = scrollPtr->interp;
- Tcl_DString cmdString;
- char valueString[TCL_DOUBLE_SPACE];
-
- Tcl_PrintDouble(NULL,
- (GetControl32BitValue(macScrollPtr->sbHandle) -
- MIN_SCROLLBAR_VALUE) / SCROLLBAR_SCALING_VALUE,
- valueString);
- Tcl_DStringInit(&cmdString);
- Tcl_DStringAppend(&cmdString, scrollPtr->command,
- strlen(scrollPtr->command));
- Tcl_DStringAppendElement(&cmdString, "moveto");
- Tcl_DStringAppendElement(&cmdString, valueString);
-
- Tcl_Preserve(interp);
- Tcl_EvalEx(interp, Tcl_DStringValue(&cmdString),
- Tcl_DStringLength(&cmdString), TCL_EVAL_GLOBAL);
- Tcl_Release(interp);
- Tcl_DStringFree(&cmdString);
- TkMacOSXRunTclEventLoop();
- }
- } else if (part != 0) {
- /*
- * Case 3: in any other part of the scrollbar. We call
- * HandleControlClick with the scrollActionProc which will do most
- * all the work.
- */
-
- HandleControlClick(macScrollPtr->sbHandle, where,
- TkMacOSXModifierState(), scrollActionProc);
-
- /*
- * Workaround for Carbon bug where the scrollbar down arrow
- * sometimes gets "stuck" after the mousebutton has been released.
- */
-
- if (scrollPtr->tkwin) {
- TkMacOSXSetUpClippingRgn(Tk_WindowId(scrollPtr->tkwin));
- }
- Draw1Control(macScrollPtr->sbHandle);
- }
- TkMacOSXTrackingLoop(0);
-
- /*
- * The HandleControlClick call will "eat" the ButtonUp event. We now
- * generate a ButtonUp event so Tk will unset implicit grabs etc.
- */
-
- if (scrollPtr->tkwin) {
- window = Tk_WindowId(scrollPtr->tkwin);
- TkGenerateButtonEventForXPointer(window);
- }
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-
- if (macScrollPtr->sbHandle && (macScrollPtr->macFlags & ALREADY_DEAD)) {
- DisposeControl(macScrollPtr->sbHandle);
- macScrollPtr->sbHandle = NULL;
- }
- macScrollPtr->macFlags &= ~IN_MODAL_LOOP;
- Tcl_Release(scrollPtr);
-
- return TCL_OK;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ScrollbarEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for various events on
- * scrollbars.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When the window gets deleted, internal structures get cleaned up. When
- * it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-ScrollbarEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- TkScrollbar *scrollPtr = (TkScrollbar *) clientData;
- MacScrollbar *macScrollPtr = (MacScrollbar *) clientData;
-
- if (eventPtr->type == UnmapNotify) {
- TkMacOSXSetScrollbarGrow((TkWindow *) scrollPtr->tkwin, false);
- } else if (eventPtr->type == ActivateNotify) {
- macScrollPtr->macFlags |= ACTIVE;
- TkScrollbarEventuallyRedraw((ClientData) scrollPtr);
- } else if (eventPtr->type == DeactivateNotify) {
- macScrollPtr->macFlags &= ~ACTIVE;
- TkScrollbarEventuallyRedraw((ClientData) scrollPtr);
- } else if (eventPtr->type == ButtonPress) {
- ScrollbarPress(macScrollPtr, eventPtr);
- } else {
- TkScrollbarEventProc(clientData, eventPtr);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UpdateControlValues --
- *
- * This procedure updates the Macintosh scrollbar control to display the
- * values defined by the Tk scrollbar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The Macintosh control is updated.
- *
- *--------------------------------------------------------------
- */
-
-static void
-UpdateControlValues(
- MacScrollbar *macScrollPtr) /* Scrollbar data struct. */
-{
- TkScrollbar *scrollPtr = (TkScrollbar *) macScrollPtr;
- Tk_Window tkwin = scrollPtr->tkwin;
- MacDrawable *macDraw = (MacDrawable *) Tk_WindowId(scrollPtr->tkwin);
- double dViewSize;
- Rect contrlRect, portRect;
- int variant, active;
- short width, height;
-
- contrlRect.left = macDraw->xOff + scrollPtr->inset;
- contrlRect.top = macDraw->yOff + scrollPtr->inset;
- contrlRect.right = macDraw->xOff + Tk_Width(tkwin) - scrollPtr->inset;
- contrlRect.bottom = macDraw->yOff + Tk_Height(tkwin) - scrollPtr->inset;
-
- GetPortBounds(GetWindowPort(GetControlOwner(macScrollPtr->sbHandle)),
- &portRect);
-
- /*
- * If the scrollbar is flush against the bottom right hand corner then we
- * leave space to draw the grow region for the window.
- */
-
- if (portRect.bottom == contrlRect.bottom &&
- portRect.right == contrlRect.right) {
- TkMacOSXSetScrollbarGrow((TkWindow *) tkwin, true);
- if (macDraw->toplevel &&
- TkMacOSXResizable(macDraw->toplevel->winPtr)) {
- int growSize;
-
- switch (TkMacOSXWindowClass(macDraw->toplevel->winPtr)) {
- case kFloatingWindowClass:
- case kUtilityWindowClass:
- growSize = metrics[1].width - 1;
- break;
- case kDocumentWindowClass:
- case kMovableAlertWindowClass:
- case kMovableModalWindowClass:
- default:
- growSize = metrics[0].width - 1;
- break;
- }
- if (scrollPtr->vertical) {
- contrlRect.bottom -= growSize;
- } else {
- contrlRect.right -= growSize;
- }
- }
- } else {
- TkMacOSXSetScrollbarGrow((TkWindow *) tkwin, false);
- }
-
- if (IsControlVisible (macScrollPtr->sbHandle)) {
- SetControlVisibility(macScrollPtr->sbHandle, false, false);
- }
-
- if (scrollPtr->vertical) {
- width = contrlRect.right - contrlRect.left;
- height = contrlRect.bottom - contrlRect.top;
- } else {
- width = contrlRect.bottom - contrlRect.top;
- height = contrlRect.right - contrlRect.left;
- }
- variant = width < metrics[0].width ? 1 : 0;
- SetControlData(macScrollPtr->sbHandle, kControlEntireControl,
- kControlSizeTag, sizeof(ControlSize),
- &(metrics[variant].size));
-
- macScrollPtr->eraseRect = contrlRect;
- if (scrollPtr->vertical) {
- macScrollPtr->eraseRect.left += metrics[variant].width;
- } else {
- macScrollPtr->eraseRect.top += metrics[variant].width;
- }
-
- /*
- * Ensure we set scrollbar control bounds only once all size adjustments
- * have been computed.
- */
-
- SetControlBounds(macScrollPtr->sbHandle, &contrlRect);
-
- /*
- * Given the Tk parameters for the fractions of the start and end of the
- * thumb, the following calculation determines the location for the
- * Macintosh thumb. The Aqua scroll control works as follows. The
- * scrollbar's value is the position of the left (or top) side of the view
- * area in the content area being scrolled. The maximum value of the
- * control is therefore the dimension of the content area less the size of
- * the view area. Since these values are all integers, and Tk gives the
- * thumb position as fractions, we have introduced a scaling factor.
- */
-
- dViewSize = (scrollPtr->lastFraction - scrollPtr->firstFraction)
- * SCROLLBAR_SCALING_VALUE;
- SetControl32BitMinimum(macScrollPtr->sbHandle, MIN_SCROLLBAR_VALUE);
- SetControl32BitMaximum(macScrollPtr->sbHandle, MIN_SCROLLBAR_VALUE +
- SCROLLBAR_SCALING_VALUE - dViewSize);
- SetControlViewSize(macScrollPtr->sbHandle, dViewSize);
- SetControl32BitValue(macScrollPtr->sbHandle, MIN_SCROLLBAR_VALUE +
- SCROLLBAR_SCALING_VALUE * scrollPtr->firstFraction);
-
- if((scrollPtr->firstFraction <= 0.0 && scrollPtr->lastFraction >= 1.0)
- || height <= metrics[variant].minHeight) {
- /* Disable scrollbar */
- SetControl32BitMaximum(macScrollPtr->sbHandle, MIN_SCROLLBAR_VALUE);
- }
- active = ((macScrollPtr->macFlags & ACTIVE) != 0);
- if (active != IsControlActive(macScrollPtr->sbHandle)) {
- if (active) {
- ActivateControl(macScrollPtr->sbHandle);
- } else {
- DeactivateControl(macScrollPtr->sbHandle);
- }
- }
- SetControlVisibility(macScrollPtr->sbHandle, true, false);
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/carbon/tkMacOSXSend.c b/carbon/tkMacOSXSend.c
deleted file mode 100644
index df6b2af..0000000
--- a/carbon/tkMacOSXSend.c
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- * tkMacOSXSend.c --
- *
- * This file provides procedures that implement the "send" command,
- * allowing commands to be passed from interpreter to interpreter. This
- * current implementation for the Mac has most functionality stubed out.
- *
- * The current plan, which we have not had time to implement, is for the
- * first Wish app to create a gestalt of type 'WIsH'. This gestalt will
- * point to a table, in system memory, of Tk apps. Each Tk app, when it
- * starts up, will register their name, and process ID, in this table.
- * This will allow us to implement "tk appname".
- *
- * Then the send command will look up the process id of the target app in
- * this table, and send an AppleEvent to that process. The AppleEvent
- * handler is much like the do script handler, except that you have to
- * specify the name of the tk app as well, since there may be many
- * interps in one wish app, and you need to send it to the right one.
- *
- * Implementing this has been on our list of things to do, but what with
- * the demise of Tcl at Sun, and the lack of resources at Scriptics it
- * may not get done for awhile. So this sketch is offered for the brave
- * to attempt if they need the functionality...
- *
- * Copyright (c) 1989-1994 The Regents of the University of California.
- * Copyright (c) 1994-1998 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXInt.h"
-
-/*
- * The following structure is used to keep track of the interpreters
- * registered by this process.
- */
-
-typedef struct RegisteredInterp {
- char *name; /* Interpreter's name (malloc-ed). */
- Tcl_Interp *interp; /* Interpreter associated with name. */
- struct RegisteredInterp *nextPtr;
- /* Next in list of names associated with
- * interps in this process. NULL means end of
- * list. */
-} RegisteredInterp;
-
-/*
- * A registry of all interpreters for a display is kept in a property
- * "InterpRegistry" on the root window of the display. It is organized as a
- * series of zero or more concatenated strings (in no particular order), each
- * of the form
- * window space name '\0'
- * where "window" is the hex id of the comm. window to use to talk to an
- * interpreter named "name".
- *
- * When the registry is being manipulated by an application (e.g. to add or
- * remove an entry), it is loaded into memory using a structure of the
- * following type:
- */
-
-typedef struct NameRegistry {
- TkDisplay *dispPtr; /* Display from which the registry was
- * read. */
- int locked; /* Non-zero means that the display was locked
- * when the property was read in. */
- int modified; /* Non-zero means that the property has been
- * modified, so it needs to be written out
- * when the NameRegistry is closed. */
- unsigned long propLength; /* Length of the property, in bytes. */
- char *property; /* The contents of the property, or NULL if
- * none. See format description above; this is
- * *not* terminated by the first null
- * character. Dynamically allocated. */
- int allocedByX; /* Non-zero means must free property with
- * XFree; zero means use ckfree. */
-} NameRegistry;
-
-static int initialized = false; /* A flag to denote if we have initialized
- * yet. */
-
-static RegisteredInterp *interpListPtr = NULL;
- /* List of all interpreters registered by this
- * process. */
-
-/*
- * The information below is used for communication between processes during
- * "send" commands. Each process keeps a private window, never even mapped,
- * with one property, "Comm". When a command is sent to an interpreter, the
- * command is appended to the comm property of the communication window
- * associated with the interp's process. Similarly, when a result is returned
- * from a sent command, it is also appended to the comm property.
- *
- * Each command and each result takes the form of ASCII text. For a command,
- * the text consists of a zero character followed by several null-terminated
- * ASCII strings. The first string consists of the single letter "c".
- * Subsequent strings have the form "option value" where the following options
- * are supported:
- *
- * -r commWindow serial
- *
- * This option means that a response should be sent to the window whose X
- * identifier is "commWindow" (in hex), and the response should be
- * identified with the serial number given by "serial" (in decimal). If
- * this option isn't specified then the send is asynchronous and no
- * response is sent.
- *
- * -n name
- *
- * "Name" gives the name of the application for which the command is
- * intended. This option must be present.
- *
- * -s script
- *
- * "Script" is the script to be executed. This option must be present.
- *
- * The options may appear in any order. The -n and -s options must be present,
- * but -r may be omitted for asynchronous RPCs. For compatibility with future
- * releases that may add new features, there may be additional options
- * present; as long as they start with a "-" character, they will be ignored.
- *
- *
- * A result also consists of a zero character followed by several null-
- * terminated ASCII strings. The first string consists of the single letter
- * "r". Subsequent strings have the form "option value" where the following
- * options are supported:
- *
- * -s serial
- *
- * Identifies the command for which this is the result. It is the same as
- * the "serial" field from the -s option in the command. This option must
- * be present.
- *
- * -c code
- *
- * "Code" is the completion code for the script, in decimal. If the code
- * is omitted it defaults to TCL_OK.
- *
- * -r result
- *
- * "Result" is the result string for the script, which may be either a
- * result or an error message. If this field is omitted then it defaults
- * to an empty string.
- *
- * -i errorInfo
- *
- * "ErrorInfo" gives a string with which to initialize the errorInfo
- * variable. This option may be omitted; it is ignored unless the
- * completion code is TCL_ERROR.
- *
- * -e errorCode
- *
- * "ErrorCode" gives a string with with to initialize the errorCode
- * variable. This option may be omitted; it is ignored unless the
- * completion code is TCL_ERROR.
- *
- * Options may appear in any order, and only the -s option must be present. As
- * with commands, there may be additional options besides these; unknown
- * options are ignored.
- */
-
-/*
- * Maximum size property that can be read at one time by this module:
- */
-
-#define MAX_PROP_WORDS 100000
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static int SendInit(Tcl_Interp *interp);
-
-/*
- *--------------------------------------------------------------
- *
- * Tk_SetAppName --
- *
- * This procedure is called to associate an ASCII name with a Tk
- * application. If the application has already been named, the name
- * replaces the old one.
- *
- * Results:
- * The return value is the name actually given to the application. This
- * will normally be the same as name, but if name was already in use for
- * an application then a name of the form "name #2" will be chosen, with
- * a high enough number to make the name unique.
- *
- * Side effects:
- * Registration info is saved, thereby allowing the "send" command to be
- * used later to invoke commands in the application. In addition, the
- * "send" command is created in the application's interpreter. The
- * registration will be removed automatically if the interpreter is
- * deleted or the "send" command is removed.
- *
- *--------------------------------------------------------------
- */
-
-const char *
-Tk_SetAppName(
- Tk_Window tkwin, /* Token for any window in the application to
- * be named: it is just used to identify the
- * application and the display. */
- const char *name) /* The name that will be used to refer to the
- * interpreter in later "send" commands. Must
- * be globally unique. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- Tcl_Interp *interp = winPtr->mainPtr->interp;
- int i, suffix, offset, result;
- RegisteredInterp *riPtr, *prevPtr;
- const char *actualName;
- Tcl_DString dString;
- Tcl_Obj *resultObjPtr, *interpNamePtr;
- char *interpName;
-
- if (!initialized) {
- SendInit(interp);
- }
-
- /*
- * See if the application is already registered; if so, remove its current
- * name from the registry. The deletion of the command will take care of
- * disposing of this entry.
- */
-
- for (riPtr = interpListPtr, prevPtr = NULL; riPtr != NULL;
- prevPtr = riPtr, riPtr = riPtr->nextPtr) {
- if (riPtr->interp == interp) {
- if (prevPtr == NULL) {
- interpListPtr = interpListPtr->nextPtr;
- } else {
- prevPtr->nextPtr = riPtr->nextPtr;
- }
- break;
- }
- }
-
- /*
- * Pick a name to use for the application. Use "name" if it's not already
- * in use. Otherwise add a suffix such as " #2", trying larger and larger
- * numbers until we eventually find one that is unique.
- */
-
- actualName = name;
- suffix = 1;
- offset = 0;
- Tcl_DStringInit(&dString);
-
- TkGetInterpNames(interp, tkwin);
- resultObjPtr = Tcl_GetObjResult(interp);
- Tcl_IncrRefCount(resultObjPtr);
- for (i = 0; ; ) {
- result = Tcl_ListObjIndex(NULL, resultObjPtr, i, &interpNamePtr);
- if (result != TCL_OK || interpNamePtr == NULL) {
- break;
- }
- interpName = Tcl_GetString(interpNamePtr);
- if (strcmp(actualName, interpName) == 0) {
- if (suffix == 1) {
- Tcl_DStringAppend(&dString, name, -1);
- Tcl_DStringAppend(&dString, " #", 2);
- offset = Tcl_DStringLength(&dString);
- Tcl_DStringSetLength(&dString, offset + 10);
- actualName = Tcl_DStringValue(&dString);
- }
- suffix++;
- sprintf(Tcl_DStringValue(&dString) + offset, "%d", suffix);
- i = 0;
- } else {
- i++;
- }
- }
-
- Tcl_DecrRefCount(resultObjPtr);
- Tcl_ResetResult(interp);
-
- /*
- * We have found a unique name. Now add it to the registry.
- */
-
- riPtr = ckalloc(sizeof(RegisteredInterp));
- riPtr->interp = interp;
- riPtr->name = ckalloc(strlen(actualName) + 1);
- riPtr->nextPtr = interpListPtr;
- interpListPtr = riPtr;
- strcpy(riPtr->name, actualName);
-
- /*
- * TODO: DeleteProc
- */
-
- Tcl_CreateObjCommand(interp, "send", Tk_SendObjCmd, riPtr, NULL);
- if (Tcl_IsSafe(interp)) {
- Tcl_HideCommand(interp, "send", "send");
- }
- Tcl_DStringFree(&dString);
-
- return riPtr->name;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * Tk_SendObjCmd --
- *
- * This procedure is invoked to process the "send" Tcl command. See the
- * user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *--------------------------------------------------------------
- */
-
-int
-Tk_SendObjCmd(
- ClientData clientData, /* Used only for deletion */
- Tcl_Interp *interp, /* The interp we are sending from */
- int objc, /* Number of arguments */
- Tcl_Obj *const objv[]) /* The arguments */
-{
- const char *const sendOptions[] = {"-async", "-displayof", "-", NULL};
- char *stringRep, *destName;
- /*int async = 0;*/
- int i, index, firstArg;
- RegisteredInterp *riPtr;
- Tcl_Obj *listObjPtr;
- int result = TCL_OK;
-
- for (i = 1; i < (objc - 1); ) {
- stringRep = Tcl_GetString(objv[i]);
- if (stringRep[0] == '-') {
- if (Tcl_GetIndexFromObj(interp, objv[i], sendOptions, "option", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == 0) {
- /*async = 1;*/
- i++;
- } else if (index == 1) {
- i += 2;
- } else {
- i++;
- }
- } else {
- break;
- }
- }
-
- if (objc < (i + 2)) {
- Tcl_WrongNumArgs(interp, 1, objv,
- "?-option value ...? interpName arg ?arg ...?");
- return TCL_ERROR;
- }
-
- destName = Tcl_GetString(objv[i]);
- firstArg = i + 1;
-
- /*
- * See if the target interpreter is local. If so, execute the command
- * directly without going through the DDE server. The only tricky thing is
- * passing the result from the target interpreter to the invoking
- * interpreter. Watch out: they could be the same!
- */
-
- for (riPtr = interpListPtr; (riPtr != NULL)
- && (strcmp(destName, riPtr->name)); riPtr = riPtr->nextPtr) {
- /*
- * Empty loop body.
- */
- }
-
- if (riPtr != NULL) {
- /*
- * This command is to a local interp. No need to go through the
- * server.
- */
-
- Tcl_Interp *localInterp;
-
- Tcl_Preserve(riPtr);
- localInterp = riPtr->interp;
- Tcl_Preserve(localInterp);
- if (firstArg == (objc - 1)) {
- /*
- * This might be one of those cases where the new parser is
- * faster.
- */
-
- result = Tcl_EvalObjEx(localInterp, objv[firstArg],
- TCL_EVAL_DIRECT);
- } else {
- listObjPtr = Tcl_NewListObj(0, NULL);
- for (i = firstArg; i < objc; i++) {
- Tcl_ListObjAppendList(interp, listObjPtr, objv[i]);
- }
- Tcl_IncrRefCount(listObjPtr);
- result = Tcl_EvalObjEx(localInterp, listObjPtr, TCL_EVAL_DIRECT);
- Tcl_DecrRefCount(listObjPtr);
- }
- if (interp != localInterp) {
- if (result == TCL_ERROR) {
- /* Tcl_Obj *errorObjPtr; */
-
- /*
- * An error occurred, so transfer error information from the
- * destination interpreter back to our interpreter. Must clear
- * interp's result before calling Tcl_AddErrorInfo, since
- * Tcl_AddErrorInfo will store the interp's result in
- * errorInfo before appending riPtr's $errorInfo; we've
- * already got everything we need in riPtr's $errorInfo.
- */
-
- Tcl_ResetResult(interp);
- Tcl_AddErrorInfo(interp, Tcl_GetVar2(localInterp,
- "errorInfo", NULL, TCL_GLOBAL_ONLY));
- /* errorObjPtr = Tcl_GetObjVar2(localInterp, "errorCode", NULL,
- TCL_GLOBAL_ONLY);
- Tcl_SetObjErrorCode(interp, errorObjPtr); */
- }
- Tcl_SetObjResult(interp, Tcl_GetObjResult(localInterp));
- }
- Tcl_Release(riPtr);
- Tcl_Release(localInterp);
- } else {
- /*
- * TODO: This is a non-local request. Send the script to the server
- * and poll it for a result.
- */
- }
-
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetInterpNames --
- *
- * This procedure is invoked to fetch a list of all the interpreter names
- * currently registered for the display of a particular window.
- *
- * Results:
- * A standard Tcl return value. Interp->result will be set to hold a list
- * of all the interpreter names defined for tkwin's display. If an error
- * occurs, then TCL_ERROR is returned and interp->result will hold an
- * error message.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkGetInterpNames(
- Tcl_Interp *interp, /* Interpreter for returning a result. */
- Tk_Window tkwin) /* Window whose display is to be used for the
- * lookup. */
-{
- Tcl_Obj *listObjPtr;
- RegisteredInterp *riPtr;
-
- listObjPtr = Tcl_NewListObj(0, NULL);
- riPtr = interpListPtr;
- while (riPtr != NULL) {
- Tcl_ListObjAppendElement(interp, listObjPtr,
- Tcl_NewStringObj(riPtr->name, -1));
- riPtr = riPtr->nextPtr;
- }
-
- Tcl_SetObjResult(interp, listObjPtr);
- return TCL_OK;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SendInit --
- *
- * This procedure is called to initialize the communication channels for
- * sending commands and receiving results.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets up various data structures and windows.
- *
- *--------------------------------------------------------------
- */
-
-static int
-SendInit(
- Tcl_Interp *interp) /* Interpreter to use for error reporting (no
- * errors are ever returned, but the
- * interpreter is needed anyway). */
-{
- return TCL_OK;
-}
diff --git a/carbon/tkMacOSXSubwindows.c b/carbon/tkMacOSXSubwindows.c
deleted file mode 100644
index 437906f..0000000
--- a/carbon/tkMacOSXSubwindows.c
+++ /dev/null
@@ -1,1476 +0,0 @@
-/*
- * tkMacOSXSubwindows.c --
- *
- * Implements subwindows for the macintosh version of Tk.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2008 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXWm.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_CLIP_REGIONS
-#endif
-*/
-
-/*
- * Prototypes for functions used only in this file.
- */
-
-static void MoveResizeWindow(MacDrawable *macWin);
-static void GenerateConfigureNotify(TkWindow *winPtr,
- int includeWin);
-static void UpdateOffsets(TkWindow *winPtr, int deltaX,
- int deltaY);
-static void NotifyVisibility(TkWindow *winPtr, XEvent *eventPtr);
-
-/*
- *----------------------------------------------------------------------
- *
- * AllocGWorld --
- * Simplifies the allocation of new drawable ports.
- *
- *----------------------------------------------------------------------
- */
-
-static inline void
-AllocGWorld(
- int width,
- int height,
- int mono,
- CGrafPtr *grafPtrPtr)
-{
- Rect bounds = {0, 0, height, width};
-
-#ifdef __LITTLE_ENDIAN__
- ChkErr(NewGWorld, grafPtrPtr, mono ? 1 : 0, &bounds, NULL, NULL,
- kNativeEndianPixMap);
-#else
- ChkErr(NewGWorld, grafPtrPtr, mono ? 1 : 0, &bounds, NULL, NULL, 0);
-#endif
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDestroyWindow --
- *
- * Dealocates the given X Window.
- *
- * Results:
- * The window id is returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDestroyWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
- WindowRef winRef;
-
- /*
- * Remove any dangling pointers that may exist if the window we are
- * deleting is being tracked by the grab code.
- */
-
- TkPointerDeadWindow(macWin->winPtr);
- macWin->toplevel->referenceCount--;
-
- if (!Tk_IsTopLevel(macWin->winPtr)) {
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- if (macWin->winPtr->parentPtr != NULL) {
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr->parentPtr);
- }
- if (macWin->visRgn) {
- CFRelease(macWin->visRgn);
- }
- if (macWin->aboveVisRgn) {
- CFRelease(macWin->aboveVisRgn);
- }
-
- if (macWin->toplevel->referenceCount == 0) {
- ckfree(macWin->toplevel);
- }
- ckfree(macWin);
- return;
- }
-
- /*
- * We are relying on the Activate Mac OS event to pass the focus away from
- * a window that is getting Destroyed to the Front non-floating window. BUT
- * we don't get activate events when a floating window is destroyed, since
- * the front non-floating window doesn't in fact get activated... So maybe
- * we can check here and if we are destroying a floating window, we can
- * pass the focus back to the front non-floating window...
- */
-
- if (macWin->grafPtr != NULL) {
- TkWindow *focusPtr = TkGetFocusWin(macWin->winPtr);
-
- if (focusPtr == NULL
- || (focusPtr->mainPtr->winPtr == macWin->winPtr)) {
- winRef = TkMacOSXDrawableWindow(window);
- if (TkpIsWindowFloating (winRef)) {
- Window window = TkMacOSXGetXWindow(ActiveNonFloatingWindow());
-
- if (window != None) {
- TkMacOSXGenerateFocusEvent(window, 1);
- }
- }
- }
- }
- if (macWin->visRgn) {
- CFRelease(macWin->visRgn);
- }
- if (macWin->aboveVisRgn) {
- CFRelease(macWin->aboveVisRgn);
- }
-
- /*
- * Delete the Mac window and remove it from the windowTable. The window
- * could be NULL if the window was never mapped. However, we don't do this
- * for embedded windows, they don't go in the window list, and they do not
- * own their portPtr's.
- */
-
- if (!Tk_IsEmbedded(macWin->winPtr)) {
- WindowRef winRef = TkMacOSXDrawableWindow(window);
-
- if (winRef) {
- TkMacOSXWindowList *listPtr, *prevPtr;
- WindowGroupRef group;
-
- if (GetWindowProperty(winRef, 'Tk ', 'TsGp', sizeof(group), NULL,
- &group) == noErr) {
- TkDisplay *dispPtr = TkGetDisplayList();
- ItemCount i = CountWindowGroupContents(group,
- kWindowGroupContentsReturnWindows);
- WindowRef macWin;
- WindowGroupRef newGroup;
- Window window;
-
- while (i > 0) {
- ChkErr(GetIndexedWindow, group, i--, 0, &macWin);
- if (!macWin) {
- continue;
- }
-
- window = TkMacOSXGetXWindow(macWin);
- newGroup = NULL;
- if (window != None) {
- TkWindow *winPtr = (TkWindow *)
- Tk_IdToWindow(dispPtr->display, window);
-
- if (winPtr && winPtr->wmInfoPtr) {
- newGroup = GetWindowGroupOfClass(
- winPtr->wmInfoPtr->macClass);
- }
- }
- if (!newGroup) {
- newGroup =
- GetWindowGroupOfClass(kDocumentWindowClass);
- }
- ChkErr(SetWindowGroup, macWin, newGroup);
- }
- ChkErr(SetWindowGroupOwner, group, NULL);
- ChkErr(ReleaseWindowGroup, group);
- }
- TkMacOSXUnregisterMacWindow(winRef);
- DisposeWindow(winRef);
-
- for (listPtr=tkMacOSXWindowListPtr, prevPtr=NULL;
- tkMacOSXWindowListPtr != NULL;
- prevPtr=listPtr, listPtr=listPtr->nextPtr) {
- if (listPtr->winPtr == macWin->winPtr) {
- if (prevPtr == NULL) {
- tkMacOSXWindowListPtr = listPtr->nextPtr;
- } else {
- prevPtr->nextPtr = listPtr->nextPtr;
- }
- ckfree(listPtr);
- break;
- }
- }
- }
- }
-
- macWin->grafPtr = NULL;
-
- /*
- * Delay deletion of a toplevel data structure untill all children have
- * been deleted.
- */
-
- if (macWin->toplevel->referenceCount == 0) {
- ckfree(macWin->toplevel);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XMapWindow --
- *
- * Map the given X Window to the screen. See X window documentation for
- * more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The subwindow or toplevel may appear on the screen.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XMapWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
- XEvent event;
-
- /*
- * Under certain situations it's possible for this function to be called
- * before the toplevel window it's associated with has actually been
- * mapped. In that case we need to create the real Macintosh window now as
- * this function as well as other X functions assume that the portPtr is
- * valid.
- */
-
- if (!TkMacOSXHostToplevelExists(macWin->toplevel->winPtr)) {
- TkMacOSXMakeRealWindowExist(macWin->toplevel->winPtr);
- }
-
- display->request++;
- macWin->winPtr->flags |= TK_MAPPED;
- if (Tk_IsTopLevel(macWin->winPtr)) {
- if (!Tk_IsEmbedded(macWin->winPtr)) {
- /*
- * XXX This should be ShowSheetWindow for kSheetWindowClass
- * XXX windows that have a wmPtr->master parent set.
- */
-
- WindowRef wRef = TkMacOSXDrawableWindow(window);
-
- if ((macWin->winPtr->wmInfoPtr->macClass == kSheetWindowClass)
- && (macWin->winPtr->wmInfoPtr->master != None)) {
- ShowSheetWindow(wRef, TkMacOSXDrawableWindow(
- macWin->winPtr->wmInfoPtr->master));
- } else {
- ShowWindow(wRef);
- }
- }
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr);
-
- /*
- * We only need to send the MapNotify event for toplevel windows.
- */
-
- event.xany.serial = display->request;
- event.xany.send_event = False;
- event.xany.display = display;
-
- event.xmap.window = window;
- event.xmap.type = MapNotify;
- event.xmap.event = window;
- event.xmap.override_redirect = macWin->winPtr->atts.override_redirect;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- } else {
- /*
- * Generate damage for that area of the window.
- */
-
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr->parentPtr);
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- }
-
- /*
- * Generate VisibilityNotify events for window and all mapped children.
- */
-
- event.xany.send_event = False;
- event.xany.display = display;
- event.xvisibility.type = VisibilityNotify;
- event.xvisibility.state = VisibilityUnobscured;
- NotifyVisibility(macWin->winPtr, &event);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * NotifyVisibility --
- *
- * Recursively called helper proc for XMapWindow().
-
- * Results:
- * None.
- *
- * Side effects:
- * VisibilityNotify events are queued.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-NotifyVisibility(
- TkWindow *winPtr,
- XEvent *eventPtr)
-{
- if (winPtr->atts.event_mask & VisibilityChangeMask) {
- eventPtr->xany.serial = LastKnownRequestProcessed(winPtr->display);
- eventPtr->xvisibility.window = winPtr->window;
- Tk_QueueWindowEvent(eventPtr, TCL_QUEUE_TAIL);
- }
- for (winPtr = winPtr->childList; winPtr != NULL;
- winPtr = winPtr->nextPtr) {
- if (winPtr->flags & TK_MAPPED) {
- NotifyVisibility(winPtr, eventPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XUnmapWindow --
- *
- * Unmap the given X Window to the screen. See X window documentation for
- * more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The subwindow or toplevel may be removed from the screen.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XUnmapWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
- XEvent event;
-
- display->request++;
- macWin->winPtr->flags &= ~TK_MAPPED;
- if (Tk_IsTopLevel(macWin->winPtr)) {
- if (!Tk_IsEmbedded(macWin->winPtr) &&
- macWin->winPtr->wmInfoPtr->hints.initial_state!=IconicState) {
- /*
- * XXX This should be HideSheetWindow for kSheetWindowClass
- * XXX windows that have a wmPtr->master parent set.
- */
-
- WindowRef wref = TkMacOSXDrawableWindow(window);
-
- if ((macWin->winPtr->wmInfoPtr->macClass == kSheetWindowClass)
- && (macWin->winPtr->wmInfoPtr->master != None)) {
- HideSheetWindow(wref);
- } else {
- HideWindow(wref);
- }
- }
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr);
-
- /*
- * We only need to send the UnmapNotify event for toplevel windows.
- */
-
- event.xany.serial = display->request;
- event.xany.send_event = False;
- event.xany.display = display;
-
- event.xunmap.type = UnmapNotify;
- event.xunmap.window = window;
- event.xunmap.event = window;
- event.xunmap.from_configure = false;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- } else {
- /*
- * Generate damage for that area of the window.
- */
-
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr->parentPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XResizeWindow --
- *
- * Resize a given X window. See X windows documentation for further
- * details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XResizeWindow(
- Display *display, /* Display. */
- Window window, /* Window. */
- unsigned int width,
- unsigned int height)
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- WindowRef w = TkMacOSXDrawableWindow(window);
-
- if (w) {
- Rect bounds;
-
- ChkErr(GetWindowBounds, w, kWindowContentRgn, &bounds);
- bounds.right = bounds.left + width;
- bounds.bottom = bounds.top + height;
- ChkErr(SetWindowBounds, w, kWindowContentRgn, &bounds);
- }
- } else {
- MoveResizeWindow(macWin);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XMoveResizeWindow --
- *
- * Move or resize a given X window. See X windows documentation
- * for further details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XMoveResizeWindow(
- Display *display, /* Display. */
- Window window, /* Window. */
- int x, int y,
- unsigned int width,
- unsigned int height)
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- WindowRef w = TkMacOSXDrawableWindow(window);
-
- if (w) {
- Rect bounds;
-
- bounds.left = x + macWin->winPtr->wmInfoPtr->xInParent;
- bounds.right = bounds.left + width;
- bounds.top = y + macWin->winPtr->wmInfoPtr->yInParent;
- bounds.bottom = bounds.top + height;
- ChkErr(SetWindowBounds, w, kWindowContentRgn, &bounds);
- }
- } else {
- MoveResizeWindow(macWin);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XMoveWindow --
- *
- * Move a given X window. See X windows documentation for further
- * details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XMoveWindow(
- Display *display, /* Display. */
- Window window, /* Window. */
- int x, int y)
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- WindowRef w = TkMacOSXDrawableWindow(window);
-
- if (w) {
- ChkErr(MoveWindowStructure, w, x, y);
- }
- } else {
- MoveResizeWindow(macWin);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MoveResizeWindow --
- *
- * Helper proc for XResizeWindow, XMoveResizeWindow and XMoveWindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-MoveResizeWindow(
- MacDrawable *macWin)
-{
- int deltaX = 0, deltaY = 0, parentBorderwidth = 0;
- MacDrawable *macParent = NULL;
- CGrafPtr destPort = TkMacOSXGetDrawablePort((Drawable) macWin);
-
- /*
- * Find the Parent window, for an embedded window it will be its container.
- */
-
- if (Tk_IsEmbedded(macWin->winPtr)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(macWin->winPtr);
-
- if (contWinPtr) {
- macParent = contWinPtr->privatePtr;
- } else {
- /*
- * Here we should handle out of process embedding. At this point,
- * we are assuming that the changes.x,y is not maintained, if you
- * need the info get it from Tk_GetRootCoords, and that the
- * toplevel sits at 0,0 when it is drawn.
- */
- }
- } else {
- /*
- * TODO: update all xOff & yOffs
- */
-
- macParent = macWin->winPtr->parentPtr->privatePtr;
- parentBorderwidth = macWin->winPtr->parentPtr->changes.border_width;
- }
-
- if (macParent) {
- deltaX = macParent->xOff + parentBorderwidth +
- macWin->winPtr->changes.x - macWin->xOff;
- deltaY = macParent->yOff + parentBorderwidth +
- macWin->winPtr->changes.y - macWin->yOff;
- }
- if (destPort) {
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- if (macParent) {
- TkMacOSXInvalClipRgns((Tk_Window) macParent->winPtr);
- }
- }
- UpdateOffsets(macWin->winPtr, deltaX, deltaY);
- if (destPort) {
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- }
- GenerateConfigureNotify(macWin->winPtr, 0);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateConfigureNotify --
- *
- * Generates ConfigureNotify events for all the child widgets of the
- * widget passed in the winPtr parameter. If includeWin is true, also
- * generates ConfigureNotify event for the widget itself.
- *
- * Results:
- * None.
- *
- * Side effects:
- * ConfigureNotify events will be posted.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GenerateConfigureNotify(
- TkWindow *winPtr,
- int includeWin)
-{
- TkWindow *childPtr;
-
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) || Tk_IsTopLevel(childPtr)) {
- continue;
- }
- GenerateConfigureNotify(childPtr, 1);
- }
- if (includeWin) {
- TkDoConfigureNotify(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XRaiseWindow --
- *
- * Change the stacking order of a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the stacking order of the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XRaiseWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- TkWmRestackToplevel(macWin->winPtr, Above, NULL);
- } else {
- /*
- * TODO: this should generate damage
- */
- }
-}
-
-#if 0
-/*
- *----------------------------------------------------------------------
- *
- * XLowerWindow --
- *
- * Change the stacking order of a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the stacking order of the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XLowerWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- TkWmRestackToplevel(macWin->winPtr, Below, NULL);
- } else {
- /*
- * TODO: this should generate damage
- */
- }
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XConfigureWindow --
- *
- * Change the size, position, stacking, or border of the specified window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the attributes of the specified window. Note that we ignore the
- * passed in values and use the values stored in the TkWindow data
- * structure.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XConfigureWindow(
- Display *display, /* Display. */
- Window w, /* Window. */
- unsigned int value_mask,
- XWindowChanges *values)
-{
- MacDrawable *macWin = (MacDrawable *) w;
- TkWindow *winPtr = macWin->winPtr;
-
- display->request++;
-
- /*
- * Change the shape and/or position of the window.
- */
-
- if (value_mask & (CWX|CWY|CWWidth|CWHeight)) {
- XMoveResizeWindow(display, w, winPtr->changes.x, winPtr->changes.y,
- winPtr->changes.width, winPtr->changes.height);
- }
-
- /*
- * Change the stacking order of the window. Tk actually keeps all the
- * information we need for stacking order. All we need to do is make sure
- * the clipping regions get updated and generate damage that will ensure
- * things get drawn correctly.
- */
-
- if (value_mask & CWStackMode) {
- Rect bounds;
- WindowRef wRef = TkMacOSXDrawableWindow(w);
-
- if (wRef) {
- TkMacOSXInvalClipRgns((Tk_Window) winPtr->parentPtr);
- TkMacOSXWinBounds(winPtr, &bounds);
- InvalWindowRect(wRef, &bounds);
- }
- }
-
- /* TkGenWMMoveRequestEvent(macWin->winPtr,
- macWin->winPtr->changes.x, macWin->winPtr->changes.y); */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUpdateClipRgn --
- *
- * This function updates the cliping regions for a given window and all of
- * its children. Once updated the TK_CLIP_INVALID flag in the subwindow
- * data structure is unset. The TK_CLIP_INVALID flag should always be
- * unset before any drawing is attempted.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The clip regions for the window and its children are updated.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXUpdateClipRgn(
- TkWindow *winPtr)
-{
- MacDrawable *macWin;
-
- if (winPtr == NULL) {
- return;
- }
- macWin = winPtr->privatePtr;
- if (macWin && macWin->flags & TK_CLIP_INVALID) {
- TkWindow *win2Ptr;
-
- if (Tk_IsMapped(winPtr)) {
- int rgnChanged = 0;
- CGRect bounds;
- HIMutableShapeRef rgn;
-
- /*
- * Start with a region defined by the window bounds.
- */
-
- TkMacOSXWinCGBounds(winPtr, &bounds);
- rgn = TkMacOSXHIShapeCreateMutableWithRect(&bounds);
-
- /*
- * Clip away the area of any windows that may obscure this window.
- * For a non-toplevel window, first, clip to the parents visible
- * clip region. Second, clip away any siblings that are higher in
- * the stacking order. For an embedded toplevel, just clip to the
- * container's visible clip region. Remember, we only allow one
- * contained window in a frame, and don't support any other widgets
- * in the frame either. This is not currently enforced, however.
- */
-
- if (!Tk_IsTopLevel(winPtr)) {
- TkMacOSXUpdateClipRgn(winPtr->parentPtr);
- if (winPtr->parentPtr) {
- ChkErr(HIShapeIntersect,
- winPtr->parentPtr->privatePtr->aboveVisRgn,
- rgn, rgn);
- }
- win2Ptr = winPtr;
- while ((win2Ptr = win2Ptr->nextPtr)) {
- if (Tk_IsTopLevel(win2Ptr) || !Tk_IsMapped(win2Ptr)) {
- continue;
- }
- TkMacOSXWinCGBounds(win2Ptr, &bounds);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- }
- } else if (Tk_IsEmbedded(winPtr)) {
- win2Ptr = TkpGetOtherWindow(winPtr);
- if (win2Ptr) {
- TkMacOSXUpdateClipRgn(win2Ptr);
- ChkErr(HIShapeIntersect,
- win2Ptr->privatePtr->aboveVisRgn, rgn, rgn);
- } else if (tkMacOSXEmbedHandler != NULL) {
- HIShapeRef visRgn;
-
- TkMacOSXCheckTmpQdRgnEmpty();
- tkMacOSXEmbedHandler->getClipProc((Tk_Window) winPtr,
- tkMacOSXtmpQdRgn);
- visRgn = HIShapeCreateWithQDRgn(tkMacOSXtmpQdRgn);
- SetEmptyRgn(tkMacOSXtmpQdRgn);
- ChkErr(HIShapeIntersect, visRgn, rgn, rgn);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- } else if (winPtr->wmInfoPtr->attributes &
- kWindowResizableAttribute) {
- HIViewRef growBoxView;
- OSErr err = HIViewFindByID(HIViewGetRoot(
- TkMacOSXDrawableWindow(winPtr->window)),
- kHIViewWindowGrowBoxID, &growBoxView);
-
- if (err == noErr) {
- ChkErr(HIViewGetFrame, growBoxView, &bounds);
- bounds = CGRectOffset(bounds,
- -winPtr->wmInfoPtr->xInParent,
- -winPtr->wmInfoPtr->yInParent);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- }
- }
- macWin->aboveVisRgn = HIShapeCreateCopy(rgn);
-
- /*
- * The final clip region is the aboveVis region (or visible region)
- * minus all the children of this window. If the window is a
- * container, we must also subtract the region of the embedded
- * window.
- */
-
- win2Ptr = winPtr->childList;
- while (win2Ptr) {
- if (Tk_IsTopLevel(win2Ptr) || !Tk_IsMapped(win2Ptr)) {
- win2Ptr = win2Ptr->nextPtr;
- continue;
- }
- TkMacOSXWinCGBounds(win2Ptr, &bounds);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- rgnChanged = 1;
- win2Ptr = win2Ptr->nextPtr;
- }
-
- if (Tk_IsContainer(winPtr)) {
- win2Ptr = TkpGetOtherWindow(winPtr);
- if (win2Ptr) {
- if (Tk_IsMapped(win2Ptr)) {
- TkMacOSXWinCGBounds(win2Ptr, &bounds);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- rgnChanged = 1;
- }
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-
- if (rgnChanged) {
- HIShapeRef diffRgn = HIShapeCreateDifference(
- macWin->aboveVisRgn, rgn);
-
- if (!HIShapeIsEmpty(diffRgn)) {
- macWin->visRgn = HIShapeCreateCopy(rgn);
- }
- CFRelease(diffRgn);
- }
- CFRelease(rgn);
- } else {
- /*
- * An unmapped window has empty clip regions to prevent any
- * (erroneous) drawing into it or its children from becoming
- * visible. [Bug 940117]
- */
-
- if (!Tk_IsTopLevel(winPtr)) {
- TkMacOSXUpdateClipRgn(winPtr->parentPtr);
- } else if (Tk_IsEmbedded(winPtr)) {
- win2Ptr = TkpGetOtherWindow(winPtr);
- if (win2Ptr) {
- TkMacOSXUpdateClipRgn(win2Ptr);
- }
- }
- macWin->aboveVisRgn = TkMacOSXHIShapeCreateEmpty();
- }
- if (!macWin->visRgn) {
- macWin->visRgn = HIShapeCreateCopy(macWin->aboveVisRgn);
- }
- macWin->flags &= ~TK_CLIP_INVALID;
-
-#ifdef TK_MAC_DEBUG_CLIP_REGIONS
- TkMacOSXDebugFlashRegion((Drawable) macWin, macWin->visRgn);
-#endif /* TK_MAC_DEBUG_CLIP_REGIONS */
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXVisableClipRgn --
- *
- * This function returnd the Macintosh cliping region for the given
- * window. A NULL Rgn means the window is not visible.
- *
- * Results:
- * The region.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkRegion
-TkMacOSXVisableClipRgn(
- TkWindow *winPtr)
-{
- if (winPtr->privatePtr->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(winPtr);
- }
- return (TkRegion)HIShapeCreateMutableCopy(winPtr->privatePtr->visRgn);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInvalidateWindow --
- *
- * This function makes the window as invalid will generate damage for the
- * window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Damage is created.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInvalidateWindow(
- MacDrawable *macWin, /* Make window that's causing damage. */
- int flag) /* Should be TK_WINDOW_ONLY or
- * TK_PARENT_WINDOW */
-{
- WindowRef windowRef;
- HIShapeRef rgn;
-
- windowRef = TkMacOSXDrawableWindow((Drawable)macWin);
- if (macWin->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(macWin->winPtr);
- }
- rgn = (flag == TK_WINDOW_ONLY) ? macWin->visRgn : macWin->aboveVisRgn;
- if (!HIShapeIsEmpty(rgn)) {
- TkMacOSXCheckTmpQdRgnEmpty();
- ChkErr(HIShapeGetAsQDRgn, rgn, tkMacOSXtmpQdRgn);
- InvalWindowRgn(windowRef, tkMacOSXtmpQdRgn);
- SetEmptyRgn(tkMacOSXtmpQdRgn);
- }
-#ifdef TK_MAC_DEBUG_CLIP_REGIONS
- TkMacOSXDebugFlashRegion((Drawable) macWin, rgn);
-#endif /* TK_MAC_DEBUG_CLIP_REGIONS */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetDrawableWindow --
- *
- * This function returns the WindowRef for a given X drawable.
- *
- * Results:
- * A WindowRef, or NULL for off screen pixmaps.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-WindowRef
-TkMacOSXDrawableWindow(
- Drawable drawable)
-{
- MacDrawable *macWin = (MacDrawable *) drawable;
- WindowRef result = NULL;
-
- if (!macWin || macWin->flags & TK_IS_PIXMAP) {
- result = NULL;
- } else {
- result = GetWindowFromPort(TkMacOSXGetDrawablePort(drawable));
- }
- return result;
-}
-
-void *
-TkMacOSXDrawable(
- Drawable drawable)
-{
- return TkMacOSXDrawableWindow(drawable);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetDrawablePort --
- *
- * This function returns the Graphics Port for a given X drawable.
- *
- * Results:
- * A CGrafPort. Either an off screen pixmap or a Window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void *
-TkMacOSXGetDrawablePort(
- Drawable drawable)
-{
- MacDrawable *macWin = (MacDrawable *) drawable;
- CGrafPtr resultPort = NULL;
-
- if (!macWin) {
- return NULL;
- }
-
- /*
- * Handle toplevel windows.
- */
-
- if (macWin->toplevel) {
- TkWindow *contWinPtr;
-
- if (!(macWin->toplevel->flags & TK_EMBEDDED)) {
- return macWin->toplevel->grafPtr;
- }
-
- /*
- * If the Drawable is in an embedded window, use the Port of its
- * container.
- *
- * TRICKY POINT: we can have cases when a toplevel is being destroyed
- * where the winPtr for the toplevel has been freed, but the children
- * are not all the way destroyed. The children will call this function
- * as they are being destroyed, but Tk_IsEmbedded will return garbage.
- * So we check the copy of the TK_EMBEDDED flag we put into the
- * toplevel's macWin flags.
- */
-
- contWinPtr = TkpGetOtherWindow(macWin->toplevel->winPtr);
-
- resultPort = NULL;
- if (contWinPtr != NULL) {
- resultPort = TkMacOSXGetDrawablePort((Drawable)
- contWinPtr->privatePtr);
- } else if (tkMacOSXEmbedHandler != NULL) {
- resultPort = tkMacOSXEmbedHandler->getPortProc((Tk_Window)
- macWin->winPtr);
- }
-
- if (!resultPort) {
- /*
- * FIXME: So far as I can tell, the only time that this happens is
- * when we are tearing down an embedded child interpreter, and most
- * of the time, this is harmless... However, we really need to find
- * why the embedding loses.
- */
-
- TkMacOSXDbgMsg("Couldn't find container");
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
-
- return resultPort;
- }
-
- if ((macWin->flags & TK_IS_PIXMAP) && !macWin->grafPtr) {
- AllocGWorld(macWin->size.width, macWin->size.height,
- macWin->flags & TK_IS_BW_PIXMAP, &macWin->grafPtr);
- }
- return macWin->grafPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetRootControl --
- *
- * This function returns the Root Control for a given X drawable.
- *
- * Results:
- * A ControlRef .
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void *
-TkMacOSXGetRootControl(
- Drawable drawable)
-{
- /*
- * will probably need to fix this up for embedding
- */
-
- MacDrawable *macWin = (MacDrawable *) drawable;
- TkWindow *contWinPtr;
-
- if (macWin == NULL) {
- return NULL;
- }
-
- if (!(macWin->toplevel->flags & TK_EMBEDDED)) {
- return macWin->toplevel->rootControl;
- }
-
- contWinPtr = TkpGetOtherWindow(macWin->toplevel->winPtr);
- if (contWinPtr == NULL) {
- return NULL;
- }
-
- return TkMacOSXGetRootControl((Drawable) contWinPtr->privatePtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInvalClipRgns --
- *
- * This function invalidates the clipping regions for a given window and
- * all of its children. This function should be called whenever changes
- * are made to subwindows that would affect the size or position of
- * windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The cliping regions for the window and its children are mark invalid.
- * (Make sure they are valid before drawing.)
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInvalClipRgns(
- Tk_Window tkwin)
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- TkWindow *childPtr;
- MacDrawable *macWin = winPtr->privatePtr;
-
- /*
- * If already marked we can stop because all descendants will also already
- * be marked.
- */
-
- if (!macWin || macWin->flags & TK_CLIP_INVALID) {
- return;
- }
-
- macWin->flags |= TK_CLIP_INVALID;
- if (macWin->visRgn) {
- CFRelease(macWin->visRgn);
- macWin->visRgn = NULL;
- }
- if (macWin->aboveVisRgn) {
- CFRelease(macWin->aboveVisRgn);
- macWin->aboveVisRgn = NULL;
- }
-
- /*
- * Invalidate clip regions for all children & their descendants, unless the
- * child is a toplevel.
- */
-
- childPtr = winPtr->childList;
- while (childPtr) {
- if (!Tk_IsTopLevel(childPtr)) {
- TkMacOSXInvalClipRgns((Tk_Window) childPtr);
- }
- childPtr = childPtr->nextPtr;
- }
-
- /*
- * Also, if the window is a container, mark its embedded window.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
-
- if (childPtr) {
- TkMacOSXInvalClipRgns((Tk_Window) childPtr);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWinBounds --
- *
- * Given a Tk window this function determines the windows bounds in
- * relation to the Macintosh window's coordinate system. This is also the
- * same coordinate system as the Tk toplevel window in which this window
- * is contained.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXWinBounds(
- TkWindow *winPtr,
- void *b)
-{
- Rect *bounds = b;
- bounds->left = winPtr->privatePtr->xOff;
- bounds->top = winPtr->privatePtr->yOff;
- bounds->right = bounds->left + winPtr->changes.width;
- bounds->bottom = bounds->top + winPtr->changes.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWinCGBounds --
- *
- * Given a Tk window this function determines the windows bounds in
- * relation to the Macintosh window's coordinate system. This is also the
- * same coordinate system as the Tk toplevel window in which this window
- * is contained.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXWinCGBounds(
- TkWindow *winPtr,
- CGRect *bounds)
-{
- bounds->origin.x = winPtr->privatePtr->xOff;
- bounds->origin.y = winPtr->privatePtr->yOff;
- bounds->size.width = winPtr->changes.width;
- bounds->size.height = winPtr->changes.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateOffsets --
- *
- * Updates the X & Y offsets of the given TkWindow from the TopLevel it is
- * a decendant of.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The xOff & yOff fields for the Mac window datastructure is updated to
- * the proper offset.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateOffsets(
- TkWindow *winPtr,
- int deltaX,
- int deltaY)
-{
- TkWindow *childPtr;
-
- if (winPtr->privatePtr == NULL) {
- /*
- * We haven't called Tk_MakeWindowExist for this window yet. The offset
- * information will be postponed and calulated at that time. (This will
- * usually only happen when a mapped parent is being moved but has
- * child windows that have yet to be mapped.)
- */
-
- return;
- }
-
- winPtr->privatePtr->xOff += deltaX;
- winPtr->privatePtr->yOff += deltaY;
-
- childPtr = winPtr->childList;
- while (childPtr != NULL) {
- if (!Tk_IsTopLevel(childPtr)) {
- UpdateOffsets(childPtr, deltaX, deltaY);
- }
- childPtr = childPtr->nextPtr;
- }
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL) {
- UpdateOffsets(childPtr,deltaX,deltaY);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetPixmap --
- *
- * Creates an in memory drawing surface.
- *
- * Results:
- * Returns a handle to a new pixmap.
- *
- * Side effects:
- * Allocates a new Macintosh GWorld.
- *
- *----------------------------------------------------------------------
- */
-
-Pixmap
-Tk_GetPixmap(
- Display *display, /* Display for new pixmap (can be null). */
- Drawable d, /* Drawable where pixmap will be used (ignored). */
- int width, /* Dimensions of pixmap. */
- int height,
- int depth) /* Bits per pixel for pixmap. */
-{
- MacDrawable *macPix;
-
- if (display != NULL) {
- display->request++;
- }
- macPix = ckalloc(sizeof(MacDrawable));
- macPix->winPtr = NULL;
- macPix->xOff = 0;
- macPix->yOff = 0;
- macPix->visRgn = NULL;
- macPix->aboveVisRgn = NULL;
- macPix->drawRect = CGRectNull;
- macPix->referenceCount = 0;
- macPix->toplevel = NULL;
- macPix->flags = TK_IS_PIXMAP | (depth == 1 ? TK_IS_BW_PIXMAP : 0);
- macPix->grafPtr = NULL;
- macPix->context = NULL;
- macPix->size = CGSizeMake(width, height);
- AllocGWorld(width, height, depth==1, &macPix->grafPtr);
-
- return (Pixmap) macPix;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_FreePixmap --
- *
- * Release the resources associated with a pixmap.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Deletes the Macintosh GWorld created by Tk_GetPixmap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_FreePixmap(
- Display *display, /* Display. */
- Pixmap pixmap) /* Pixmap to destroy */
-{
- MacDrawable *macPix = (MacDrawable *) pixmap;
-
- display->request++;
- if (macPix->grafPtr) {
- DisposeGWorld(macPix->grafPtr);
- }
- if (macPix->context) {
- TkMacOSXDbgMsg("Cannot free CG backed Pixmap");
- }
- ckfree(macPix);
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/carbon/tkMacOSXTest.c b/carbon/tkMacOSXTest.c
deleted file mode 100644
index d8e8aca..0000000
--- a/carbon/tkMacOSXTest.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * tkMacOSXTest.c --
- *
- * Contains commands for platform specific tests for
- * the Macintosh platform.
- *
- * Copyright (c) 1996 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXInt.h"
-
-/*
- * Forward declarations of procedures defined later in this file:
- */
-
-static int DebuggerCmd (ClientData dummy, Tcl_Interp *interp,
- int argc, const char **argv);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkplatformtestInit --
- *
- * Defines commands that test platform specific functionality for
- * Unix platforms.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Defines new commands.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkplatformtestInit(
- Tcl_Interp *interp) /* Interpreter to add commands to. */
-{
- /*
- * Add commands for platform specific tests on MacOS here.
- */
-
- Tcl_CreateCommand(interp, "debugger", DebuggerCmd,
- (ClientData) 0, (Tcl_CmdDeleteProc *) NULL);
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DebuggerCmd --
- *
- * This procedure simply calls the low level debugger.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-DebuggerCmd(
- ClientData clientData, /* Not used. */
- Tcl_Interp *interp, /* Not used. */
- int argc, /* Not used. */
- const char **argv) /* Not used. */
-{
- Debugger();
- return TCL_OK;
-}
diff --git a/carbon/tkMacOSXWindowEvent.c b/carbon/tkMacOSXWindowEvent.c
deleted file mode 100644
index 99ab918..0000000
--- a/carbon/tkMacOSXWindowEvent.c
+++ /dev/null
@@ -1,984 +0,0 @@
-/*
- * tkMacOSXWindowEvent.c --
- *
- * This file defines the routines for both creating and handling Window
- * Manager class events for Tk.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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 unless
- * explicitly disclaimed in individual files.
- *
- * Apple hereby grants permission to use, copy, modify, distribute, and
- * license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that
- * this notice is included verbatim in any distributions. No written
- * agreement, license, or royalty fee is required for any of the
- * authorized uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms described here,
- * provided that the new terms are clearly indicated on the first page of
- * each file where they apply.
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE SOFTWARE
- * BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
- * CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS
- * DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF APPLE OR THE
- * AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. APPLE,
- * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
- * NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND
- * APPLE, THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf of the
- * U.S. government, the Government shall have only "Restricted Rights" in
- * the software and related documentation as defined in the Federal
- * Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are
- * acquiring the software on behalf of the Department of Defense, the
- * software shall be classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in Clause
- * 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
- * authors grant the U.S. Government and others acting in its behalf
- * permission to use and distribute the software in accordance with the
- * terms specified in this license.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_CLIP_REGIONS
-#endif
-*/
-
-/*
- * Declaration of functions used only in this file
- */
-
-static int GenerateUpdateEvent(Window window);
-static int GenerateUpdates(HIMutableShapeRef updateRgn,
- CGRect *updateBounds, TkWindow *winPtr);
-static int GenerateActivateEvents(Window window, int activeFlag);
-static void ClearPort(CGrafPtr port, HIShapeRef updateRgn);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessApplicationEvent --
- *
- * This processes Application level events, mainly activate and
- * deactivate.
- *
- * Results:
- * 0.
- *
- * Side effects:
- * Hide or reveal floating windows.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessApplicationEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- Tcl_CmdInfo dummy;
-
- /*
- * This is a bit of a hack. We get "show" events both when we come back
- * from being hidden, and whenever we are activated. I only want to run
- * the "show" proc when we have been hidden already, not as a substitute
- * for <Activate>. So I use this toggle...
- */
-
- static int toggleHide = 0;
-
- switch (eventPtr->eKind) {
- case kEventAppActivated:
- ShowFloatingWindows();
- break;
- case kEventAppDeactivated:
- TkSuspendClipboard();
- HideFloatingWindows();
- break;
- case kEventAppQuit:
- statusPtr->stopProcessing = 1;
- break;
- case kEventAppHidden:
- if (toggleHide == 0) {
- toggleHide = 1;
- if (eventPtr->interp && Tcl_GetCommandInfo(eventPtr->interp,
- "::tk::mac::OnHide", &dummy)) {
- Tcl_GlobalEval(eventPtr->interp, "::tk::mac::OnHide");
- }
- }
- statusPtr->stopProcessing = 1;
- break;
- case kEventAppShown:
- if (toggleHide == 1) {
- toggleHide = 0;
- if (eventPtr->interp && Tcl_GetCommandInfo(eventPtr->interp,
- "::tk::mac::OnShow", &dummy)) {
- Tcl_GlobalEval(eventPtr->interp, "::tk::mac::OnShow");
- }
- }
- statusPtr->stopProcessing = 1;
- break;
- case kEventAppAvailableWindowBoundsChanged: {
- static UInt32 prevId = 0;
- UInt32 id;
- OSStatus err;
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamTransactionID, typeUInt32, NULL, sizeof(id), NULL,
- &id);
- if (err != noErr || id != prevId) {
- TkDisplay *dispPtr = TkGetDisplayList();
-
- prevId = id;
- TkMacOSXDisplayChanged(dispPtr->display);
- }
- /*
- * Should we call ::tk::mac::OnDisplayChanged?
- */
- break;
- }
- default:
- break;
- }
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessAppearanceEvent --
- *
- * This processes Appearance events.
- *
- * Results:
- * 0.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessAppearanceEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- switch (eventPtr->eKind) {
- case kEventAppearanceScrollBarVariantChanged:
- TkMacOSXInitScrollbarMetrics();
- break;
- default:
- break;
- }
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessWindowEvent --
- *
- * This processes Window level events, mainly activate and deactivate.
- *
- * Results:
- * 0.
- *
- * Side effects:
- * Cause Windows to be moved forward or backward in the window stack.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXProcessWindowEvent(
- TkMacOSXEvent *eventPtr,
- MacEventStatus *statusPtr)
-{
- OSStatus err;
- WindowRef whichWindow;
- Window window;
- int eventFound = false;
- TkDisplay *dispPtr;
- TkWindow *winPtr;
-
- switch (eventPtr->eKind) {
- case kEventWindowActivated:
- case kEventWindowDeactivated:
- case kEventWindowUpdate:
- case kEventWindowExpanding:
- case kEventWindowBoundsChanged:
- case kEventWindowDragStarted:
- case kEventWindowDragCompleted:
- case kEventWindowConstrain:
- case kEventWindowGetRegion:
- case kEventWindowDrawContent:
- break;
- default:
- return 0;
- break;
- }
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamDirectObject, typeWindowRef, NULL, sizeof(whichWindow),
- NULL, &whichWindow);
- if (err != noErr) {
- return 0;
- }
-
- window = TkMacOSXGetXWindow(whichWindow);
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *) Tk_IdToWindow(dispPtr->display, window);
-
- switch (eventPtr->eKind) {
- case kEventWindowActivated:
- case kEventWindowDeactivated:
- if (window != None) {
- int activate = (eventPtr->eKind == kEventWindowActivated);
-
- eventFound |= GenerateActivateEvents(window, activate);
- eventFound |= TkMacOSXGenerateFocusEvent(window, activate);
- if (winPtr) {
- TkMacOSXEnterExitFullscreen(winPtr, activate);
- }
- statusPtr->stopProcessing = 1;
- }
- break;
- case kEventWindowUpdate:
- if (window != None && GenerateUpdateEvent(window)) {
- eventFound = true;
- statusPtr->stopProcessing = 1;
- }
- break;
- case kEventWindowExpanding:
- if (winPtr) {
- winPtr->wmInfoPtr->hints.initial_state =
- TkMacOSXIsWindowZoomed(winPtr) ? ZoomState : NormalState;
- Tk_MapWindow((Tk_Window) winPtr);
-
- /*
- * Need to process all Tk events generated by Tk_MapWindow()
- * before returning to ensure all children are mapped, as
- * otherwise the Activate event that follows Expanding would not
- * be processed by any unmapped children.
- */
-
- while (Tcl_ServiceEvent(TCL_WINDOW_EVENTS)) {/*empty body*/};
- while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) {/*empty body*/};
- }
- break;
- case kEventWindowBoundsChanged:
- if (winPtr) {
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- UInt32 attr;
- Rect bounds;
- int x = -1, y = -1, width = -1, height = -1, flags = 0;
-
- ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamAttributes, typeUInt32, NULL, sizeof(attr),
- NULL, &attr);
- ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamCurrentBounds, typeQDRectangle, NULL,
- sizeof(bounds), NULL, &bounds);
- if (attr & kWindowBoundsChangeOriginChanged) {
- x = bounds.left - wmPtr->xInParent;
- y = bounds.top - wmPtr->yInParent;
- flags |= TK_LOCATION_CHANGED;
- }
- if (attr & kWindowBoundsChangeSizeChanged) {
- width = bounds.right - bounds.left;
- height = bounds.bottom - bounds.top;
- flags |= TK_SIZE_CHANGED;
- }
- TkMacOSXInvalClipRgns((Tk_Window) winPtr);
- TkMacOSXInvalidateWindow((MacDrawable*) window, TK_PARENT_WINDOW);
- TkGenWMConfigureEvent((Tk_Window)winPtr, x, y, width, height,
- flags);
- if (attr & kWindowBoundsChangeUserResize ||
- attr & kWindowBoundsChangeUserDrag) {
- TkMacOSXRunTclEventLoop();
- }
- if (wmPtr->attributes & kWindowResizableAttribute) {
- HIViewRef growBoxView;
-
- err = HIViewFindByID(HIViewGetRoot(whichWindow),
- kHIViewWindowGrowBoxID, &growBoxView);
- if (err == noErr) {
- ChkErr(HIViewSetNeedsDisplay, growBoxView, true);
- }
- }
- }
- break;
- case kEventWindowDragStarted:
- if (!(TkMacOSXModifierState() & cmdKey)) {
- TkMacOSXBringWindowForward(whichWindow);
- }
- TkMacOSXTrackingLoop(1);
- break;
- case kEventWindowDragCompleted: {
- Rect maxBounds, bounds, strWidths;
- int h = 0, v = 0;
-
- TkMacOSXTrackingLoop(0);
- ChkErr(GetWindowGreatestAreaDevice, whichWindow, kWindowDragRgn, NULL,
- &maxBounds);
- ChkErr(GetWindowBounds, whichWindow, kWindowStructureRgn, &bounds);
- ChkErr(GetWindowStructureWidths, whichWindow, &strWidths);
- if (bounds.left > maxBounds.right - strWidths.left) {
- h = maxBounds.right - (strWidths.left ? strWidths.left : 40)
- - bounds.left;
- } else if (bounds.right < maxBounds.left + strWidths.right) {
- h = maxBounds.left + (strWidths.right ? strWidths.right : 40)
- - bounds.right;
- }
- if (bounds.top > maxBounds.bottom - strWidths.top) {
- v = maxBounds.bottom - (strWidths.top ? strWidths.top : 40)
- - bounds.top;
- } else if (bounds.bottom < maxBounds.top + strWidths.bottom) {
- v = maxBounds.top + (strWidths.bottom ? strWidths.bottom : 40)
- - bounds.bottom;
- } else if (strWidths.top && bounds.top < maxBounds.top) {
- v = maxBounds.top - bounds.top;
- }
- if (h || v) {
- OffsetRect(&bounds, h, v);
- ChkErr(SetWindowBounds, whichWindow, kWindowStructureRgn,&bounds);
- }
- break;
- }
- case kEventWindowConstrain:
- if (winPtr && (winPtr->wmInfoPtr->flags & WM_FULLSCREEN) &&
- TkMacOSXMakeFullscreen(winPtr,whichWindow,1,NULL) == TCL_OK) {
- statusPtr->stopProcessing = 1;
- }
- break;
- case kEventWindowGetRegion:
- if (winPtr && (winPtr->wmInfoPtr->flags & WM_TRANSPARENT)) {
- WindowRegionCode code;
-
- statusPtr->stopProcessing = (CallNextEventHandler(
- eventPtr->callRef, eventPtr->eventRef) == noErr);
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamWindowRegionCode, typeWindowRegionCode, NULL,
- sizeof(code), NULL, &code);
- if (err == noErr && code == kWindowOpaqueRgn) {
- RgnHandle rgn;
-
- err = ChkErr(GetEventParameter, eventPtr->eventRef,
- kEventParamRgnHandle, typeQDRgnHandle, NULL,
- sizeof(rgn), NULL, &rgn);
- if (err == noErr) {
- SetEmptyRgn(rgn);
- statusPtr->stopProcessing = 1;
- }
- }
- }
- break;
- case kEventWindowDrawContent:
- if (winPtr && (winPtr->wmInfoPtr->flags & WM_TRANSPARENT)) {
- CGrafPtr port;
-
- GetPort(&port);
- ClearPort(port, NULL);
- }
- break;
- }
-
- return eventFound;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateUpdateEvent --
- *
- * Given a Macintosh window update event this function generates all the
- * Expose XEvents needed by Tk.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateUpdateEvent(
- Window window)
-{
- WindowRef macWindow;
- TkDisplay *dispPtr;
- TkWindow *winPtr;
- int result = 0;
- CGRect updateBounds;
- HIShapeRef rgn;
- HIMutableShapeRef updateRgn;
- int dx, dy;
-
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *)Tk_IdToWindow(dispPtr->display, window);
-
- if (winPtr ==NULL ){
- return result;
- }
- macWindow = TkMacOSXDrawableWindow(window);
- TK_IF_MAC_OS_X_API (5, HIWindowCopyShape,
- ChkErr(HIWindowCopyShape, macWindow, kWindowUpdateRgn,
- kHICoordSpaceWindow, &rgn);
- dx = -winPtr->wmInfoPtr->xInParent;
- dy = -winPtr->wmInfoPtr->yInParent;
- ) TK_ELSE_MAC_OS_X (5,
- Rect bounds;
-
- TkMacOSXCheckTmpQdRgnEmpty();
- ChkErr(GetWindowRegion, macWindow, kWindowUpdateRgn, tkMacOSXtmpQdRgn);
- rgn = HIShapeCreateWithQDRgn(tkMacOSXtmpQdRgn);
- SetEmptyRgn(tkMacOSXtmpQdRgn);
- ChkErr(GetWindowBounds, macWindow, kWindowContentRgn, &bounds);
- dx = -bounds.left;
- dy = -bounds.top;
- ) TK_ENDIF;
-
- updateRgn = HIShapeCreateMutableCopy(rgn);
- CFRelease(rgn);
- ChkErr(HIShapeOffset, updateRgn, dx, dy);
- HIShapeGetBounds(updateRgn, &updateBounds);
-#ifdef TK_MAC_DEBUG_CLIP_REGIONS
- TkMacOSXDebugFlashRegion(window, updateRgn);
-#endif /* TK_MAC_DEBUG_CLIP_REGIONS */
- BeginUpdate(macWindow);
- if (winPtr->wmInfoPtr->flags & WM_TRANSPARENT) {
- ClearPort(TkMacOSXGetDrawablePort(window), updateRgn);
- }
- result = GenerateUpdates(updateRgn, &updateBounds, winPtr);
- EndUpdate(macWindow);
- CFRelease(updateRgn);
- if (result) {
- /*
- * Ensure there are no pending idle-time redraws that could prevent
- * the just posted Expose events from generating new redraws.
- */
-
- Tcl_DoOneEvent(TCL_IDLE_EVENTS|TCL_DONT_WAIT);
- }
- return result;
- }
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateUpdates --
- *
- * Given a Macintosh update region and a Tk window this function geneates
- * a X Expose event for the window if it is within the update region. The
- * function will then recursivly have each damaged window generate Expose
- * events for its child windows.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateUpdates(
- HIMutableShapeRef updateRgn,
- CGRect *updateBounds,
- TkWindow *winPtr)
-{
- TkWindow *childPtr;
- XEvent event;
- CGRect bounds, damageBounds;
- HIShapeRef boundsRgn, damageRgn;
-
- TkMacOSXWinCGBounds(winPtr, &bounds);
- if (!CGRectIntersectsRect(bounds, *updateBounds)) {
- return 0;
- }
- TK_IF_MAC_OS_X_API (4, HIShapeIntersectsRect,
- if (!HIShapeIntersectsRect(updateRgn, &bounds)) {
- return 0;
- }
- ) TK_ENDIF
-
- /*
- * Compute the bounding box of the area that the damage occured in.
- */
-
- boundsRgn = HIShapeCreateWithRect(&bounds);
- damageRgn = HIShapeCreateIntersection(updateRgn, boundsRgn);
- if (HIShapeIsEmpty(damageRgn)) {
- CFRelease(damageRgn);
- CFRelease(boundsRgn);
- return 0;
- }
- HIShapeGetBounds(damageRgn, &damageBounds);
- ChkErr(TkMacOSHIShapeUnion, boundsRgn, updateRgn, updateRgn);
- HIShapeGetBounds(updateRgn, updateBounds);
- CFRelease(damageRgn);
- CFRelease(boundsRgn);
-
- event.xany.serial = Tk_Display(winPtr)->request;
- event.xany.send_event = false;
- event.xany.window = Tk_WindowId(winPtr);
- event.xany.display = Tk_Display(winPtr);
- event.type = Expose;
- event.xexpose.x = damageBounds.origin.x - bounds.origin.x;
- event.xexpose.y = damageBounds.origin.y - bounds.origin.y;
- event.xexpose.width = damageBounds.size.width;
- event.xexpose.height = damageBounds.size.height;
- event.xexpose.count = 0;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
-
- /*
- * Generate updates for the children of this window
- */
-
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) || Tk_IsTopLevel(childPtr)) {
- continue;
- }
- GenerateUpdates(updateRgn, updateBounds, childPtr);
- }
-
- /*
- * Generate updates for any contained windows
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL && Tk_IsMapped(childPtr)) {
- GenerateUpdates(updateRgn, updateBounds, childPtr);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-
- return 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateActivateEvents --
- *
- * Given a Macintosh window activate event this function generates all
- * the X Activate events needed by Tk.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-GenerateActivateEvents(
- Window window, /* Root X window for event. */
- int activeFlag)
-{
- TkWindow *winPtr;
- TkDisplay *dispPtr;
-
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *) Tk_IdToWindow(dispPtr->display, window);
- if (winPtr == NULL || winPtr->window == None) {
- return false;
- }
-
- TkGenerateActivateEvents(winPtr,activeFlag);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGenerateFocusEvent --
- *
- * Given a Macintosh window activate event this function generates all
- * the X Focus events needed by Tk.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXGenerateFocusEvent(
- Window window, /* Root X window for event. */
- int activeFlag)
-{
- XEvent event;
- Tk_Window tkwin;
- TkDisplay *dispPtr;
-
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, window);
- if (tkwin == NULL) {
- return false;
- }
-
- /*
- * Don't send focus events to windows of class help or to windows with the
- * kWindowNoActivatesAttribute.
- */
-
- if (((TkWindow *)tkwin)->wmInfoPtr->macClass == kHelpWindowClass ||
- ((TkWindow *)tkwin)->wmInfoPtr->attributes &
- kWindowNoActivatesAttribute) {
- return false;
- }
-
- /*
- * Generate FocusIn and FocusOut events. This event is only sent to the
- * toplevel window.
- */
-
- if (activeFlag) {
- event.xany.type = FocusIn;
- } else {
- event.xany.type = FocusOut;
- }
-
- event.xany.serial = dispPtr->display->request;
- event.xany.send_event = False;
- event.xfocus.display = dispPtr->display;
- event.xfocus.window = window;
- event.xfocus.mode = NotifyNormal;
- event.xfocus.detail = NotifyDetailNone;
-
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenWMConfigureEvent --
- *
- * Generate a ConfigureNotify event for Tk. Depending on the value of
- * flag the values of width/height, x/y, or both may be changed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A ConfigureNotify event is sent to Tk.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGenWMConfigureEvent(
- Tk_Window tkwin,
- int x,
- int y,
- int width,
- int height,
- int flags)
-{
- XEvent event;
- WmInfo *wmPtr;
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- if (tkwin == NULL) {
- return;
- }
-
- event.type = ConfigureNotify;
- event.xconfigure.serial = Tk_Display(tkwin)->request;
- event.xconfigure.send_event = False;
- event.xconfigure.display = Tk_Display(tkwin);
- event.xconfigure.event = Tk_WindowId(tkwin);
- event.xconfigure.window = Tk_WindowId(tkwin);
- event.xconfigure.border_width = winPtr->changes.border_width;
- event.xconfigure.override_redirect = winPtr->atts.override_redirect;
- if (winPtr->changes.stack_mode == Above) {
- event.xconfigure.above = winPtr->changes.sibling;
- } else {
- event.xconfigure.above = None;
- }
-
- if (!(flags & TK_LOCATION_CHANGED)) {
- x = Tk_X(tkwin);
- y = Tk_Y(tkwin);
- }
- if (!(flags & TK_SIZE_CHANGED)) {
- width = Tk_Width(tkwin);
- height = Tk_Height(tkwin);
- }
- event.xconfigure.x = x;
- event.xconfigure.y = y;
- event.xconfigure.width = width;
- event.xconfigure.height = height;
-
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
-
- /*
- * Update window manager information.
- */
-
- if (Tk_IsTopLevel(winPtr)) {
- wmPtr = winPtr->wmInfoPtr;
- if (flags & TK_LOCATION_CHANGED) {
- wmPtr->x = x;
- wmPtr->y = y;
- wmPtr->flags &= ~(WM_NEGATIVE_X | WM_NEGATIVE_Y);
- }
- if ((flags & TK_SIZE_CHANGED) && !(wmPtr->flags & WM_SYNC_PENDING) &&
- ((width != Tk_Width(tkwin)) || (height != Tk_Height(tkwin)))) {
- if ((wmPtr->width == -1) && (width == winPtr->reqWidth)) {
- /*
- * Don't set external width, since the user didn't change it
- * from what the widgets asked for.
- */
- } else {
- if (wmPtr->gridWin != NULL) {
- wmPtr->width = wmPtr->reqGridWidth
- + (width - winPtr->reqWidth)/wmPtr->widthInc;
- if (wmPtr->width < 0) {
- wmPtr->width = 0;
- }
- } else {
- wmPtr->width = width;
- }
- }
- if ((wmPtr->height == -1) && (height == winPtr->reqHeight)) {
- /*
- * Don't set external height, since the user didn't change it
- * from what the widgets asked for.
- */
- } else {
- if (wmPtr->gridWin != NULL) {
- wmPtr->height = wmPtr->reqGridHeight
- + (height - winPtr->reqHeight)/wmPtr->heightInc;
- if (wmPtr->height < 0) {
- wmPtr->height = 0;
- }
- } else {
- wmPtr->height = height;
- }
- }
- wmPtr->configWidth = width;
- wmPtr->configHeight = height;
- }
- }
-
- /*
- * Now set up the changes structure. Under X we wait for the
- * ConfigureNotify to set these values. On the Mac we know imediatly that
- * this is what we want - so we just set them. However, we need to make
- * sure the windows clipping region is marked invalid so the change is
- * visible to the subwindow.
- */
-
- winPtr->changes.x = x;
- winPtr->changes.y = y;
- winPtr->changes.width = width;
- winPtr->changes.height = height;
- TkMacOSXInvalClipRgns(tkwin);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenWMDestroyEvent --
- *
- * Generate a WM Destroy event for Tk.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A WM_PROTOCOL/WM_DELETE_WINDOW event is sent to Tk.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGenWMDestroyEvent(
- Tk_Window tkwin)
-{
- XEvent event;
-
- event.xany.serial = Tk_Display(tkwin)->request;
- event.xany.send_event = False;
- event.xany.display = Tk_Display(tkwin);
-
- event.xclient.window = Tk_WindowId(tkwin);
- event.xclient.type = ClientMessage;
- event.xclient.message_type = Tk_InternAtom(tkwin, "WM_PROTOCOLS");
- event.xclient.format = 32;
- event.xclient.data.l[0] = Tk_InternAtom(tkwin, "WM_DELETE_WINDOW");
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmProtocolEventProc --
- *
- * This procedure is called by the Tk_HandleEvent whenever a
- * ClientMessage event arrives whose type is "WM_PROTOCOLS". This
- * procedure handles the message from the window manager in an
- * appropriate fashion.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Depends on what sort of handler, if any, was set up for the protocol.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmProtocolEventProc(
- TkWindow *winPtr, /* Window to which the event was sent. */
- XEvent *eventPtr) /* X event. */
-{
- WmInfo *wmPtr;
- ProtocolHandler *protPtr;
- Tcl_Interp *interp;
- Atom protocol;
- int result;
-
- wmPtr = winPtr->wmInfoPtr;
- if (wmPtr == NULL) {
- return;
- }
- protocol = (Atom) eventPtr->xclient.data.l[0];
- for (protPtr = wmPtr->protPtr; protPtr != NULL;
- protPtr = protPtr->nextPtr) {
- if (protocol == protPtr->protocol) {
- Tcl_Preserve(protPtr);
- interp = protPtr->interp;
- Tcl_Preserve(interp);
- result = Tcl_GlobalEval(interp, protPtr->command);
- if (result != TCL_OK) {
- Tcl_AppendObjToErrorInfo(interp, Tcl_ObjPrintf(
- "\n (command for \"%s\" window manager protocol)",
- Tk_GetAtomName((Tk_Window) winPtr, protocol)));
- Tcl_BackgroundException(interp, result);
- }
- Tcl_Release(interp);
- Tcl_Release(protPtr);
- return;
- }
- }
-
- /*
- * No handler was present for this protocol. If this is a WM_DELETE_WINDOW
- * message then just destroy the window.
- */
-
- if (protocol == Tk_InternAtom((Tk_Window) winPtr, "WM_DELETE_WINDOW")) {
- Tk_DestroyWindow((Tk_Window) winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXIsAppInFront --
- *
- * Returns 1 if this app is the foreground app.
- *
- * Results:
- * 1 if app is in front, 0 otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_MacOSXIsAppInFront(void)
-{
- OSStatus err;
- ProcessSerialNumber frontPsn, ourPsn = {0, kCurrentProcess};
- Boolean isFrontProcess = true;
-
- err = ChkErr(GetFrontProcess, &frontPsn);
- if (err == noErr) {
- ChkErr(SameProcess, &frontPsn, &ourPsn, &isFrontProcess);
- }
-
- return (isFrontProcess == true);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ClearPort --
- *
- * Clear (i.e. fill with transparent color) the given port.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ClearPort(
- CGrafPtr port,
- HIShapeRef updateRgn)
-{
- CGContextRef context;
- Rect bounds;
- CGRect rect;
-
- GetPortBounds(port, &bounds);
- QDBeginCGContext(port, &context);
- SyncCGContextOriginWithPort(context, port);
- CGContextConcatCTM(context, CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0,
- bounds.bottom - bounds.top));
- if (updateRgn) {
- ChkErr(HIShapeReplacePathInCGContext, updateRgn, context);
- CGContextEOClip(context);
- }
- rect = CGRectMake(0, 0, bounds.right, bounds.bottom);
- CGContextClearRect(context, rect);
- QDEndCGContext(port, &context);
-}
-
-/*
- * Local Variables:
- * fill-column: 78
- * c-basic-offset: 4
- * End:
- */
diff --git a/carbon/tkMacOSXWm.c b/carbon/tkMacOSXWm.c
deleted file mode 100644
index d4b7665..0000000
--- a/carbon/tkMacOSXWm.c
+++ /dev/null
@@ -1,6559 +0,0 @@
-/*
- * tkMacOSXWm.c --
- *
- * This module takes care of the interactions between a Tk-based
- * application and the window manager. Among other things, it implements
- * the "wm" command and passes geometry information to the window
- * manager.
- *
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkScrollbar.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_WINDOWS
-#endif
-*/
-
-/*
- * Data for [wm attributes] command:
- */
-typedef enum {
- WMATT_ALPHA, WMATT_FULLSCREEN, WMATT_MODIFIED, WMATT_NOTIFY,
- WMATT_TITLEPATH, WMATT_TOPMOST, WMATT_TRANSPARENT,
- _WMATT_LAST_ATTRIBUTE
-} WmAttribute;
-
-static const char *const WmAttributeNames[] = {
- "-alpha", "-fullscreen", "-modified", "-notify",
- "-titlepath", "-topmost", "-transparent",
- NULL
-};
-
-/*
- * This is a list of all of the toplevels that have been mapped so far. It is
- * used by the menu code to inval windows that were damaged by menus, and will
- * eventually also be used to keep track of floating windows.
- */
-
-TkMacOSXWindowList *tkMacOSXWindowListPtr = NULL;
-
-/*
- * The variable below is used to enable or disable tracing in this module. If
- * tracing is enabled, then information is printed on standard output about
- * interesting interactions with the window manager.
- */
-
-static int wmTracing = 0;
-
-/*
- * The following structure is the official type record for geometry management
- * of top-level windows.
- */
-
-static void TopLevelReqProc(ClientData dummy, Tk_Window tkwin);
-
-static const Tk_GeomMgr wmMgrType = {
- "wm", /* name */
- TopLevelReqProc, /* requestProc */
- NULL, /* lostSlaveProc */
-};
-
-/*
- * The following keeps state for Aqua dock icon bounce notification.
- */
-
-static int tkMacOSXWmAttrNotifyVal = 0;
-
-/*
- * Hash table for Mac Window -> TkWindow mapping.
- */
-
-static Tcl_HashTable windowTable;
-static int windowHashInit = false;
-
-/*
- * Forward declarations for procedures defined in this file:
- */
-
-static void InitialWindowBounds(TkWindow *winPtr,
- WindowRef macWindow, Rect *geometry);
-static int ParseGeometry(Tcl_Interp *interp, char *string,
- TkWindow *winPtr);
-static void TopLevelEventProc(ClientData clientData,
- XEvent *eventPtr);
-static void WmStackorderToplevelWrapperMap(TkWindow *winPtr,
- Display *display, Tcl_HashTable *table);
-static void UpdateGeometryInfo(ClientData clientData);
-static void UpdateSizeHints(TkWindow *winPtr);
-static void UpdateVRootGeometry(WmInfo *wmPtr);
-static int WmAspectCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmAttributesCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmClientCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmColormapwindowsCmd(Tk_Window tkwin,
- TkWindow *winPtr, Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmCommandCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmDeiconifyCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmFocusmodelCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmForgetCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmFrameCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmGeometryCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmGridCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmGroupCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconbitmapCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconifyCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconmaskCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconnameCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconphotoCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconpositionCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconwindowCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmManageCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmMaxsizeCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmMinsizeCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmOverrideredirectCmd(Tk_Window tkwin,
- TkWindow *winPtr, Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmPositionfromCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmProtocolCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmResizableCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmSizefromCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmStackorderCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmStateCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmTitleCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmTransientCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmWithdrawCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static void WmUpdateGeom(WmInfo *wmPtr, TkWindow *winPtr);
-static int WmWinStyle(Tcl_Interp *interp, TkWindow *winPtr,
- int objc, Tcl_Obj *const objv[]);
-static void ApplyWindowClassAttributeChanges(TkWindow *winPtr,
- WindowRef macWindow, WindowClass oldClass,
- WindowAttributes oldAttributes, int create);
-static void ApplyMasterOverrideChanges(TkWindow *winPtr,
- WindowRef macWindow);
-static WindowGroupRef WmGetWindowGroup(TkWindow *winPtr);
-static void GetMinSize(TkWindow *winPtr, int *minWidthPtr,
- int *minHeightPtr);
-static void GetMaxSize(TkWindow *winPtr, int *maxWidthPtr,
- int *maxHeightPtr);
-static void RemapWindows(TkWindow *winPtr,
- MacDrawable *parentWin);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmNewWindow --
- *
- * This procedure is invoked whenever a new top-level window is created.
- * Its job is to initialize the WmInfo structure for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A WmInfo structure gets allocated and initialized.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmNewWindow(
- TkWindow *winPtr) /* Newly-created top-level window. */
-{
- WmInfo *wmPtr = ckalloc(sizeof(WmInfo));
-
- wmPtr->winPtr = winPtr;
- wmPtr->reparent = None;
- wmPtr->titleUid = NULL;
- wmPtr->iconName = NULL;
- wmPtr->master = None;
- wmPtr->hints.flags = InputHint | StateHint;
- wmPtr->hints.input = True;
- wmPtr->hints.initial_state = NormalState;
- wmPtr->hints.icon_pixmap = None;
- wmPtr->hints.icon_window = None;
- wmPtr->hints.icon_x = wmPtr->hints.icon_y = 0;
- wmPtr->hints.icon_mask = None;
- wmPtr->hints.window_group = None;
- wmPtr->leaderName = NULL;
- wmPtr->masterWindowName = NULL;
- wmPtr->icon = NULL;
- wmPtr->iconFor = NULL;
- wmPtr->sizeHintsFlags = 0;
- wmPtr->minWidth = wmPtr->minHeight = 1;
- wmPtr->maxWidth = 0;
- wmPtr->maxHeight = 0;
- wmPtr->gridWin = NULL;
- wmPtr->widthInc = wmPtr->heightInc = 1;
- wmPtr->minAspect.x = wmPtr->minAspect.y = 1;
- wmPtr->maxAspect.x = wmPtr->maxAspect.y = 1;
- wmPtr->reqGridWidth = wmPtr->reqGridHeight = -1;
- wmPtr->gravity = NorthWestGravity;
- wmPtr->width = -1;
- wmPtr->height = -1;
- wmPtr->x = winPtr->changes.x;
- wmPtr->y = winPtr->changes.y;
- wmPtr->parentWidth = winPtr->changes.width
- + 2*winPtr->changes.border_width;
- wmPtr->parentHeight = winPtr->changes.height
- + 2*winPtr->changes.border_width;
- wmPtr->xInParent = 0;
- wmPtr->yInParent = 0;
- wmPtr->cmapList = NULL;
- wmPtr->cmapCount = 0;
- wmPtr->configX = 0;
- wmPtr->configY = 0;
- wmPtr->configWidth = -1;
- wmPtr->configHeight = -1;
- wmPtr->vRoot = None;
- wmPtr->protPtr = NULL;
- wmPtr->cmdArgv = NULL;
- wmPtr->clientMachine = NULL;
- wmPtr->flags = WM_NEVER_MAPPED;
- wmPtr->style = -1;
- wmPtr->macClass = kDocumentWindowClass;
- wmPtr->attributes = kWindowStandardDocumentAttributes
- | kWindowLiveResizeAttribute;
- wmPtr->scrollWinPtr = NULL;
- winPtr->wmInfoPtr = wmPtr;
-
- UpdateVRootGeometry(wmPtr);
-
- /*
- * Tk must monitor structure events for top-level windows, in order to
- * detect size and position changes caused by window managers.
- */
-
- Tk_CreateEventHandler((Tk_Window) winPtr, StructureNotifyMask,
- TopLevelEventProc, winPtr);
-
- /*
- * Arrange for geometry requests to be reflected from the window to the
- * window manager.
- */
-
- Tk_ManageGeometry((Tk_Window) winPtr, &wmMgrType, (ClientData) 0);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmMapWindow --
- *
- * This procedure is invoked to map a top-level window. This module gets
- * a chance to update all window-manager-related information in
- * properties before the window manager sees the map event and checks the
- * properties. It also gets to decide whether or not to even map the
- * window after all.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Properties of winPtr may get updated to provide up-to-date information
- * to the window manager. The window may also get mapped, but it may not
- * be if this procedure decides that isn't appropriate (e.g. because the
- * window is withdrawn).
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmMapWindow(
- TkWindow *winPtr) /* Top-level window that's about to be
- * mapped. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (wmPtr->flags & WM_NEVER_MAPPED) {
- wmPtr->flags &= ~WM_NEVER_MAPPED;
-
- /*
- * Create the underlying Mac window for this Tk window.
- */
-
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- TkMacOSXMakeRealWindowExist(winPtr);
- }
-
- /*
- * Generate configure event when we first map the window.
- */
-
- TkGenWMConfigureEvent((Tk_Window) winPtr, wmPtr->x, wmPtr->y, -1, -1,
- TK_LOCATION_CHANGED);
-
- /*
- * This is the first time this window has ever been mapped. Store all
- * the window-manager-related information for the window.
- */
-
- if (wmPtr->titleUid == NULL) {
- wmPtr->titleUid = winPtr->nameUid;
- }
-
- if (!Tk_IsEmbedded(winPtr)) {
- TkSetWMName(winPtr, wmPtr->titleUid);
- }
-
- TkWmSetClass(winPtr);
-
- if (wmPtr->iconName != NULL) {
- XSetIconName(winPtr->display, winPtr->window, wmPtr->iconName);
- }
-
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- }
- if (wmPtr->hints.initial_state == WithdrawnState) {
- return;
- }
-
- /*
- * TODO: we need to display a window if it's iconic on creation.
- */
-
- if (wmPtr->hints.initial_state == IconicState) {
- return;
- }
-
- /*
- * Update geometry information.
- */
-
- wmPtr->flags |= WM_ABOUT_TO_MAP;
- if (wmPtr->flags & WM_UPDATE_PENDING) {
- Tk_CancelIdleCall(UpdateGeometryInfo, winPtr);
- }
- UpdateGeometryInfo(winPtr);
- wmPtr->flags &= ~WM_ABOUT_TO_MAP;
-
- /*
- * Map the window.
- */
-
- XMapWindow(winPtr->display, winPtr->window);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmUnmapWindow --
- *
- * This procedure is invoked to unmap a top-level window. On the
- * Macintosh all we do is call XUnmapWindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Unmaps the window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmUnmapWindow(
- TkWindow *winPtr) /* Top-level window that's about to be
- * mapped. */
-{
- XUnmapWindow(winPtr->display, winPtr->window);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmDeadWindow --
- *
- * This procedure is invoked when a top-level window is about to be
- * deleted. It cleans up the wm-related data structures for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The WmInfo structure for winPtr gets freed up.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmDeadWindow(
- TkWindow *winPtr) /* Top-level window that's being deleted. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- WmInfo *wmPtr2;
-
- if (wmPtr == NULL) {
- return;
- }
- if (wmPtr->hints.flags & IconPixmapHint) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
- }
- if (wmPtr->hints.flags & IconMaskHint) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_mask);
- }
- if (wmPtr->iconName != NULL) {
- ckfree(wmPtr->iconName);
- }
- if (wmPtr->leaderName != NULL) {
- ckfree(wmPtr->leaderName);
- }
- if (wmPtr->masterWindowName != NULL) {
- ckfree(wmPtr->masterWindowName);
- }
- if (wmPtr->icon != NULL) {
- wmPtr2 = ((TkWindow *) wmPtr->icon)->wmInfoPtr;
- wmPtr2->iconFor = NULL;
- }
- if (wmPtr->iconFor != NULL) {
- wmPtr2 = ((TkWindow *) wmPtr->iconFor)->wmInfoPtr;
- wmPtr2->icon = NULL;
- wmPtr2->hints.flags &= ~IconWindowHint;
- }
- while (wmPtr->protPtr != NULL) {
- ProtocolHandler *protPtr;
-
- protPtr = wmPtr->protPtr;
- wmPtr->protPtr = protPtr->nextPtr;
- Tcl_EventuallyFree(protPtr, TCL_DYNAMIC);
- }
- if (wmPtr->cmdArgv != NULL) {
- ckfree(wmPtr->cmdArgv);
- }
- if (wmPtr->clientMachine != NULL) {
- ckfree(wmPtr->clientMachine);
- }
- if (wmPtr->flags & WM_UPDATE_PENDING) {
- Tk_CancelIdleCall(UpdateGeometryInfo, winPtr);
- }
- ckfree(wmPtr);
- winPtr->wmInfoPtr = NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmSetClass --
- *
- * This procedure is invoked whenever a top-level window's class is
- * changed. If the window has been mapped then this procedure updates the
- * window manager property for the class. If the window hasn't been
- * mapped, the update is deferred until just before the first mapping.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A window property may get updated.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmSetClass(
- TkWindow *winPtr) /* Newly-created top-level window. */
-{
- return;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_WmObjCmd --
- *
- * This procedure is invoked to process the "wm" Tcl command. See the
- * user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-/* ARGSUSED */
-int
-Tk_WmObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = (Tk_Window) clientData;
- static const char *const optionStrings[] = {
- "aspect", "attributes", "client", "colormapwindows",
- "command", "deiconify", "focusmodel", "forget",
- "frame", "geometry", "grid", "group",
- "iconbitmap", "iconify", "iconmask", "iconname",
- "iconphoto", "iconposition", "iconwindow",
- "manage", "maxsize", "minsize", "overrideredirect",
- "positionfrom", "protocol", "resizable", "sizefrom",
- "stackorder", "state", "title", "transient",
- "withdraw", NULL };
- enum options {
- WMOPT_ASPECT, WMOPT_ATTRIBUTES, WMOPT_CLIENT, WMOPT_COLORMAPWINDOWS,
- WMOPT_COMMAND, WMOPT_DEICONIFY, WMOPT_FOCUSMODEL, WMOPT_FORGET,
- WMOPT_FRAME, WMOPT_GEOMETRY, WMOPT_GRID, WMOPT_GROUP,
- WMOPT_ICONBITMAP, WMOPT_ICONIFY, WMOPT_ICONMASK, WMOPT_ICONNAME,
- WMOPT_ICONPHOTO, WMOPT_ICONPOSITION, WMOPT_ICONWINDOW,
- WMOPT_MANAGE, WMOPT_MAXSIZE, WMOPT_MINSIZE, WMOPT_OVERRIDEREDIRECT,
- WMOPT_POSITIONFROM, WMOPT_PROTOCOL, WMOPT_RESIZABLE, WMOPT_SIZEFROM,
- WMOPT_STACKORDER, WMOPT_STATE, WMOPT_TITLE, WMOPT_TRANSIENT,
- WMOPT_WITHDRAW };
- int index, length;
- char *argv1;
- TkWindow *winPtr;
-
- if (objc < 2) {
- wrongNumArgs:
- Tcl_WrongNumArgs(interp, 1, objv, "option window ?arg ...?");
- return TCL_ERROR;
- }
-
- argv1 = Tcl_GetStringFromObj(objv[1], &length);
- if ((argv1[0] == 't') && (strncmp(argv1, "tracing", length) == 0)
- && (length >= 3)) {
- if ((objc != 2) && (objc != 3)) {
- Tcl_WrongNumArgs(interp, 2, objv, "?boolean?");
- return TCL_ERROR;
- }
- if (objc == 2) {
- Tcl_SetObjResult(interp, Tcl_NewBooleanObj(wmTracing));
- return TCL_OK;
- }
- return Tcl_GetBooleanFromObj(interp, objv[2], &wmTracing);
- }
-
- if (Tcl_GetIndexFromObj(interp, objv[1], optionStrings, "option", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
-
- if (objc < 3) {
- goto wrongNumArgs;
- }
-
- if (TkGetWindowFromObj(interp, tkwin, objv[2], (Tk_Window *) &winPtr)
- != TCL_OK) {
- return TCL_ERROR;
- }
- if (!Tk_IsTopLevel(winPtr)
- && (index != WMOPT_MANAGE) && (index != WMOPT_FORGET)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't a top-level window", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "LOOKUP", "TOPLEVEL", winPtr->pathName,
- NULL);
- return TCL_ERROR;
- }
-
- switch ((enum options) index) {
- case WMOPT_ASPECT:
- return WmAspectCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ATTRIBUTES:
- return WmAttributesCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_CLIENT:
- return WmClientCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_COLORMAPWINDOWS:
- return WmColormapwindowsCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_COMMAND:
- return WmCommandCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_DEICONIFY:
- return WmDeiconifyCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_FOCUSMODEL:
- return WmFocusmodelCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_FORGET:
- return WmForgetCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_FRAME:
- return WmFrameCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_GEOMETRY:
- return WmGeometryCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_GRID:
- return WmGridCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_GROUP:
- return WmGroupCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONBITMAP:
- return WmIconbitmapCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONIFY:
- return WmIconifyCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONMASK:
- return WmIconmaskCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONNAME:
- return WmIconnameCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONPHOTO:
- return WmIconphotoCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONPOSITION:
- return WmIconpositionCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONWINDOW:
- return WmIconwindowCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_MANAGE:
- return WmManageCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_MAXSIZE:
- return WmMaxsizeCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_MINSIZE:
- return WmMinsizeCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_OVERRIDEREDIRECT:
- return WmOverrideredirectCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_POSITIONFROM:
- return WmPositionfromCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_PROTOCOL:
- return WmProtocolCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_RESIZABLE:
- return WmResizableCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_SIZEFROM:
- return WmSizefromCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_STACKORDER:
- return WmStackorderCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_STATE:
- return WmStateCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_TITLE:
- return WmTitleCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_TRANSIENT:
- return WmTransientCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_WITHDRAW:
- return WmWithdrawCmd(tkwin, winPtr, interp, objc, objv);
- }
-
- /* This should not happen */
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmAspectCmd --
- *
- * This procedure is invoked to process the "wm aspect" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmAspectCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int numer1, denom1, numer2, denom2;
-
- if ((objc != 3) && (objc != 7)) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?minNumer minDenom maxNumer maxDenom?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & PAspect) {
- Tcl_Obj *aspect[4];
-
- aspect[0] = Tcl_NewIntObj(wmPtr->minAspect.x);
- aspect[1] = Tcl_NewIntObj(wmPtr->minAspect.y);
- aspect[2] = Tcl_NewIntObj(wmPtr->maxAspect.x);
- aspect[3] = Tcl_NewIntObj(wmPtr->maxAspect.y);
- Tcl_SetObjResult(interp, Tcl_NewListObj(4, aspect));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->sizeHintsFlags &= ~PAspect;
- } else {
- if ((Tcl_GetIntFromObj(interp, objv[3], &numer1) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &denom1) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[5], &numer2) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[6], &denom2) != TCL_OK)) {
- return TCL_ERROR;
- }
- if ((numer1 <= 0) || (denom1 <= 0) || (numer2 <= 0) ||
- (denom2 <= 0)) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "aspect number can't be <= 0", -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "ASPECT", NULL);
- return TCL_ERROR;
- }
- wmPtr->minAspect.x = numer1;
- wmPtr->minAspect.y = denom1;
- wmPtr->maxAspect.x = numer2;
- wmPtr->maxAspect.y = denom2;
- wmPtr->sizeHintsFlags |= PAspect;
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmSetAttribute --
- *
- * Helper routine for WmAttributesCmd. Sets the value of the specified
- * attribute.
- *
- * Returns:
- *
- * TCL_OK if successful, TCL_ERROR otherwise. In case of an error, leaves
- * a message in the interpreter's result.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmSetAttribute(
- TkWindow *winPtr, /* Toplevel to work with */
- WindowRef macWindow,
- Tcl_Interp *interp, /* Current interpreter */
- WmAttribute attribute, /* Code of attribute to set */
- Tcl_Obj *value) /* New value */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int boolean;
-
- switch (attribute) {
- case WMATT_ALPHA: {
- double dval;
-
- if (Tcl_GetDoubleFromObj(interp, value, &dval) != TCL_OK) {
- return TCL_ERROR;
- }
-
- /*
- * The user should give (transparent) 0 .. 1.0 (opaque)
- */
-
- if (dval < 0.0) {
- dval = 0.0;
- } else if (dval > 1.0) {
- dval = 1.0;
- }
- ChkErr(SetWindowAlpha, macWindow, dval);
- break;
- }
- case WMATT_FULLSCREEN:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != ((wmPtr->flags & WM_FULLSCREEN) != 0)) {
- if (TkMacOSXMakeFullscreen(winPtr, macWindow, boolean, interp)
- != TCL_OK) {
- return TCL_ERROR;
- }
- }
- break;
- case WMATT_MODIFIED:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != IsWindowModified(macWindow)) {
- ChkErr(SetWindowModified, macWindow, boolean);
- }
- break;
- case WMATT_NOTIFY:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean == !tkMacOSXWmAttrNotifyVal) {
- static NMRec notifyRec;
-
- if (boolean) {
- bzero(&notifyRec, sizeof(notifyRec));
- notifyRec.qType = nmType;
- notifyRec.nmMark = 1;
- ChkErr(NMInstall, &notifyRec);
- } else {
- ChkErr(NMRemove, &notifyRec);
- }
- tkMacOSXWmAttrNotifyVal = boolean;
- }
- break;
- case WMATT_TITLEPATH: {
- const char *path = Tcl_FSGetNativePath(value);
- OSStatus err;
-
- if (path && *path) {
- FSRef ref;
- Boolean d;
-
- err = ChkErr(FSPathMakeRef, (const unsigned char*)path, &ref, &d);
- if (err == noErr) {
- TK_IF_MAC_OS_X_API (4, HIWindowSetProxyFSRef,
- err = ChkErr(HIWindowSetProxyFSRef, macWindow, &ref);
- ) TK_ELSE_MAC_OS_X (4,
- AliasHandle alias;
-
- err = ChkErr(FSNewAlias, NULL, &ref, &alias);
- if (err == noErr) {
- err = ChkErr(SetWindowProxyAlias, macWindow, alias);
- DisposeHandle((Handle) alias);
- }
- ) TK_ENDIF
- }
- } else {
- int len;
-
- Tcl_GetStringFromObj(value, &len);
- if (!len) {
- err = ChkErr(RemoveWindowProxy, macWindow);
- } else {
- err = fnfErr;
- }
- }
- if (err != noErr) {
- return TCL_ERROR;
- }
- break;
- }
- case WMATT_TOPMOST:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != ((wmPtr->flags & WM_TOPMOST) != 0)) {
- WindowGroupRef group;
-
- if (boolean) {
- wmPtr->flags |= WM_TOPMOST;
- } else {
- wmPtr->flags &= ~WM_TOPMOST;
- }
- group = WmGetWindowGroup(winPtr);
- if (group && group != GetWindowGroup(macWindow)) {
- ChkErr(SetWindowGroup, macWindow, group);
- }
- }
- break;
- case WMATT_TRANSPARENT:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != ((wmPtr->flags & WM_TRANSPARENT) != 0)) {
- WindowAttributes oldAttributes = wmPtr->attributes;
-
- if (boolean) {
- wmPtr->flags |= WM_TRANSPARENT;
- wmPtr->attributes |= kWindowNoShadowAttribute;
- TK_IF_MAC_OS_X_API (3, HIWindowChangeFeatures,
- UInt32 features;
-
- ChkErr(GetWindowFeatures, macWindow, &features);
- if (features & kWindowIsOpaque) {
- ChkErr(HIWindowChangeFeatures, macWindow, 0,
- kWindowIsOpaque);
- }
- ) TK_ENDIF
- } else {
- wmPtr->flags &= ~WM_TRANSPARENT;
- wmPtr->attributes &= ~kWindowNoShadowAttribute;
- }
- ApplyWindowClassAttributeChanges(winPtr, macWindow,
- wmPtr->macClass, oldAttributes, 1);
- ChkErr(ReshapeCustomWindow, macWindow);
- TkMacOSXInvalidateWindow((MacDrawable *) winPtr->window,
- TK_PARENT_WINDOW);
- }
- break;
- case _WMATT_LAST_ATTRIBUTE:
- default:
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGetAttribute --
- *
- * Helper routine for WmAttributesCmd. Returns the current value of the
- * specified attribute.
- *
- *----------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-WmGetAttribute(
- TkWindow *winPtr, /* Toplevel to work with */
- WindowRef macWindow,
- WmAttribute attribute) /* Code of attribute to get */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tcl_Obj *result = NULL;
-
- switch (attribute) {
- case WMATT_ALPHA: {
- float fval = 1.0;
-
- ChkErr(GetWindowAlpha, macWindow, &fval);
- result = Tcl_NewDoubleObj(fval);
- break;
- }
- case WMATT_FULLSCREEN:
- result = Tcl_NewBooleanObj(wmPtr->flags & WM_FULLSCREEN);
- break;
- case WMATT_MODIFIED:
- result = Tcl_NewBooleanObj(IsWindowModified(macWindow));
- break;
- case WMATT_NOTIFY:
- result = Tcl_NewBooleanObj(tkMacOSXWmAttrNotifyVal);
- break;
- case WMATT_TITLEPATH: {
- FSRef ref;
- UInt8 path[PATH_MAX+1];
- OSStatus err;
-
- TK_IF_MAC_OS_X_API (4, HIWindowSetProxyFSRef,
- err = ChkErr(HIWindowGetProxyFSRef, macWindow, &ref);
- ) TK_ELSE_MAC_OS_X (4,
- Boolean wasChanged;
- AliasHandle alias;
-
- err = ChkErr(GetWindowProxyAlias, macWindow, &alias);
- if (err == noErr) {
- err = ChkErr(FSResolveAlias, NULL, alias, &ref, &wasChanged);
- }
- ) TK_ENDIF
- if (err == noErr) {
- err = ChkErr(FSRefMakePath, &ref, path, PATH_MAX);
- }
- if (err != noErr) {
- *path = 0;
- }
- result = Tcl_NewStringObj((char*) path, -1);
- break;
- }
- case WMATT_TOPMOST:
- result = Tcl_NewBooleanObj(wmPtr->flags & WM_TOPMOST);
- break;
- case WMATT_TRANSPARENT:
- result = Tcl_NewBooleanObj(wmPtr->flags & WM_TRANSPARENT);
- break;
- case _WMATT_LAST_ATTRIBUTE:
- default:
- break;
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmAttributesCmd --
- *
- * This procedure is invoked to process the "wm attributes" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmAttributesCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int attribute = 0;
- WindowRef macWindow;
-
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- }
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- TkMacOSXMakeRealWindowExist(winPtr);
- }
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
-
- if (objc == 3) { /* wm attributes $win */
- Tcl_Obj *result = Tcl_NewObj();
-
- for (attribute = 0; attribute < _WMATT_LAST_ATTRIBUTE; ++attribute) {
- Tcl_ListObjAppendElement(NULL, result,
- Tcl_NewStringObj(WmAttributeNames[attribute], -1));
- Tcl_ListObjAppendElement(NULL, result,
- WmGetAttribute(winPtr, macWindow, attribute));
- }
- Tcl_SetObjResult(interp, result);
- } else if (objc == 4) { /* wm attributes $win -attribute */
- if (Tcl_GetIndexFromObj(interp, objv[3], WmAttributeNames,
- "attribute", 0, &attribute) != TCL_OK) {
- return TCL_ERROR;
- }
- Tcl_SetObjResult(interp, WmGetAttribute(winPtr, macWindow, attribute));
- } else if ((objc - 3) % 2 == 0) { /* wm attributes $win -att value... */
- int i;
-
- for (i = 3; i < objc; i += 2) {
- if (Tcl_GetIndexFromObj(interp, objv[i], WmAttributeNames,
- "attribute", 0, &attribute) != TCL_OK) {
- return TCL_ERROR;
- }
- if (WmSetAttribute(winPtr, macWindow, interp, attribute, objv[i+1])
- != TCL_OK) {
- return TCL_ERROR;
- }
- }
- } else {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?-attribute ?value ...??");
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmClientCmd --
- *
- * This procedure is invoked to process the "wm client" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmClientCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char *argv3;
- int length;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?name?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->clientMachine != NULL) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(wmPtr->clientMachine, -1));
- }
- return TCL_OK;
- }
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- if (argv3[0] == 0) {
- if (wmPtr->clientMachine != NULL) {
- ckfree(wmPtr->clientMachine);
- wmPtr->clientMachine = NULL;
- }
- return TCL_OK;
- }
- if (wmPtr->clientMachine != NULL) {
- ckfree(wmPtr->clientMachine);
- }
- wmPtr->clientMachine = ckalloc(length + 1);
- strcpy(wmPtr->clientMachine, argv3);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmColormapwindowsCmd --
- *
- * This procedure is invoked to process the "wm colormapwindows" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmColormapwindowsCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- TkWindow **cmapList, *winPtr2;
- int i, windowObjc, gotToplevel = 0;
- Tcl_Obj **windowObjv, *resultObj;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?windowList?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- resultObj = Tcl_NewObj();
- for (i = 0; i < wmPtr->cmapCount; i++) {
- if ((i == (wmPtr->cmapCount-1))
- && (wmPtr->flags & WM_ADDED_TOPLEVEL_COLORMAP)) {
- break;
- }
- Tcl_ListObjAppendElement(NULL, resultObj,
- TkNewWindowObj((Tk_Window) wmPtr->cmapList[i]));
- }
- Tcl_SetObjResult(interp, resultObj);
- return TCL_OK;
- }
- if (Tcl_ListObjGetElements(interp, objv[3], &windowObjc, &windowObjv)
- != TCL_OK) {
- return TCL_ERROR;
- }
- cmapList = ckalloc((windowObjc+1) * sizeof(TkWindow*));
- for (i = 0; i < windowObjc; i++) {
- if (TkGetWindowFromObj(interp, tkwin, windowObjv[i],
- (Tk_Window *) &winPtr2) != TCL_OK) {
- ckfree(cmapList);
- return TCL_ERROR;
- }
- if (winPtr2 == winPtr) {
- gotToplevel = 1;
- }
- if (winPtr2->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr2);
- }
- cmapList[i] = winPtr2;
- }
- if (!gotToplevel) {
- wmPtr->flags |= WM_ADDED_TOPLEVEL_COLORMAP;
- cmapList[windowObjc] = winPtr;
- windowObjc++;
- } else {
- wmPtr->flags &= ~WM_ADDED_TOPLEVEL_COLORMAP;
- }
- wmPtr->flags |= WM_COLORMAPS_EXPLICIT;
- if (wmPtr->cmapList != NULL) {
- ckfree(wmPtr->cmapList);
- }
- wmPtr->cmapList = cmapList;
- wmPtr->cmapCount = windowObjc;
-
- /*
- * On the Macintosh all of this is just an excercise in compatability as
- * we don't support colormaps. If we did they would be installed here.
- */
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmCommandCmd --
- *
- * This procedure is invoked to process the "wm command" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmCommandCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char *argv3;
- int cmdArgc;
- const char **cmdArgv;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?value?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->cmdArgv != NULL) {
- argv3 = Tcl_Merge(wmPtr->cmdArgc, wmPtr->cmdArgv);
- Tcl_SetObjResult(interp, Tcl_NewStringObj(argv3, -1));
- ckfree(argv3);
- }
- return TCL_OK;
- }
- argv3 = Tcl_GetString(objv[3]);
- if (argv3[0] == 0) {
- if (wmPtr->cmdArgv != NULL) {
- ckfree(wmPtr->cmdArgv);
- wmPtr->cmdArgv = NULL;
- }
- return TCL_OK;
- }
- if (Tcl_SplitList(interp, argv3, &cmdArgc, &cmdArgv) != TCL_OK) {
- return TCL_ERROR;
- }
- if (wmPtr->cmdArgv != NULL) {
- ckfree(wmPtr->cmdArgv);
- }
- wmPtr->cmdArgc = cmdArgc;
- wmPtr->cmdArgv = cmdArgv;
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmDeiconifyCmd --
- *
- * This procedure is invoked to process the "wm deiconify" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmDeiconifyCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't deiconify %s: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "DEICONIFY", "ICON", NULL);
- return TCL_ERROR;
- }
- if (winPtr->flags & TK_EMBEDDED) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't deiconify %s: it is an embedded window",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "DEICONIFY", "EMBEDDED", NULL);
- return TCL_ERROR;
- }
- TkpWmSetState(winPtr, TkMacOSXIsWindowZoomed(winPtr) ?
- ZoomState : NormalState);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmFocusmodelCmd --
- *
- * This procedure is invoked to process the "wm focusmodel" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmFocusmodelCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "active", "passive", NULL };
- enum options {
- OPT_ACTIVE, OPT_PASSIVE };
- int index;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?active|passive?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- wmPtr->hints.input ? "passive" : "active", -1));
- return TCL_OK;
- }
-
- if (Tcl_GetIndexFromObj(interp, objv[3], optionStrings, "argument", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_ACTIVE) {
- wmPtr->hints.input = False;
- } else { /* OPT_PASSIVE */
- wmPtr->hints.input = True;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmForgetCmd --
- *
- * This procedure is invoked to process the "wm forget" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmForgetCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel or Frame to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
-#if 1
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "wm forget is not yet supported", -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "UNSUPPORTED", NULL);
- return TCL_ERROR;
-#else
- register Tk_Window frameWin = (Tk_Window)winPtr;
- char *oldClass = (char*)Tk_Class(frameWin);
-
- if (Tk_IsTopLevel(frameWin)) {
- MacDrawable *macWin = (MacDrawable *) winPtr->window;
- CGrafPtr destPort = TkMacOSXGetDrawablePort(winPtr->window);
-
- TkFocusJoin(winPtr);
- Tk_UnmapWindow(frameWin);
-
- if (destPort != NULL) {
- WindowRef winRef = GetWindowFromPort(destPort);
-
- TkMacOSXUnregisterMacWindow(winRef);
- DisposeWindow(winRef);
- }
- macWin->grafPtr = NULL;
- macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;
- macWin->flags &= ~TK_HOST_EXISTS;
-
- RemapWindows(winPtr, macWin);
- TkWmDeadWindow(winPtr);
- winPtr->flags &=
- ~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
-
- TkMapTopFrame(frameWin);
- } else {
- /* Already not managed by wm - ignore it */
- }
- return TCL_OK;
-#endif
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmFrameCmd --
- *
- * This procedure is invoked to process the "wm frame" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmFrameCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Window window;
-
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
- window = wmPtr->reparent;
- if (window == None) {
- window = Tk_WindowId((Tk_Window) winPtr);
- }
- Tcl_SetObjResult(interp, Tcl_ObjPrintf("0x%x", (unsigned) window));
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGeometryCmd --
- *
- * This procedure is invoked to process the "wm geometry" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmGeometryCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char xSign, ySign;
- int width, height;
- char *argv3;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?newGeometry?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- xSign = (wmPtr->flags & WM_NEGATIVE_X) ? '-' : '+';
- ySign = (wmPtr->flags & WM_NEGATIVE_Y) ? '-' : '+';
- if (wmPtr->gridWin != NULL) {
- width = wmPtr->reqGridWidth + (winPtr->changes.width
- - winPtr->reqWidth)/wmPtr->widthInc;
- height = wmPtr->reqGridHeight + (winPtr->changes.height
- - winPtr->reqHeight)/wmPtr->heightInc;
- } else {
- width = winPtr->changes.width;
- height = winPtr->changes.height;
- }
- Tcl_SetObjResult(interp, Tcl_ObjPrintf("%dx%d%c%d%c%d",
- width, height, xSign, wmPtr->x, ySign, wmPtr->y));
- return TCL_OK;
- }
- argv3 = Tcl_GetString(objv[3]);
- if (*argv3 == '\0') {
- wmPtr->width = -1;
- wmPtr->height = -1;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
- }
- return ParseGeometry(interp, argv3, winPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGridCmd --
- *
- * This procedure is invoked to process the "wm grid" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmGridCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int reqWidth, reqHeight, widthInc, heightInc;
- const char *errorMsg;
-
- if ((objc != 3) && (objc != 7)) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?baseWidth baseHeight widthInc heightInc?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & PBaseSize) {
- Tcl_Obj *grid[4];
-
- grid[0] = Tcl_NewIntObj(wmPtr->reqGridWidth);
- grid[1] = Tcl_NewIntObj(wmPtr->reqGridHeight);
- grid[2] = Tcl_NewIntObj(wmPtr->widthInc);
- grid[3] = Tcl_NewIntObj(wmPtr->heightInc);
- Tcl_SetObjResult(interp, Tcl_NewListObj(4, grid));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- /*
- * Turn off gridding and reset the width and height to make sense as
- * ungridded numbers.
- */
-
- wmPtr->sizeHintsFlags &= ~(PBaseSize|PResizeInc);
- if (wmPtr->width != -1) {
- wmPtr->width = winPtr->reqWidth + (wmPtr->width
- - wmPtr->reqGridWidth)*wmPtr->widthInc;
- wmPtr->height = winPtr->reqHeight + (wmPtr->height
- - wmPtr->reqGridHeight)*wmPtr->heightInc;
- }
- wmPtr->widthInc = 1;
- wmPtr->heightInc = 1;
- } else {
- if ((Tcl_GetIntFromObj(interp, objv[3], &reqWidth) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &reqHeight) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[5], &widthInc) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[6], &heightInc)!=TCL_OK)) {
- return TCL_ERROR;
- }
- if (reqWidth < 0) {
- errorMsg = "baseWidth can't be < 0";
- goto error;
- } else if (reqHeight < 0) {
- errorMsg = "baseHeight can't be < 0";
- goto error;
- } else if (widthInc <= 0) {
- errorMsg = "widthInc can't be <= 0";
- goto error;
- } else if (heightInc <= 0) {
- errorMsg = "heightInc can't be <= 0";
- goto error;
- }
- Tk_SetGrid((Tk_Window) winPtr, reqWidth, reqHeight, widthInc,
- heightInc);
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-
- error:
- Tcl_SetObjResult(interp, Tcl_NewStringObj(errorMsg, -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "GRID", NULL);
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGroupCmd --
- *
- * This procedure is invoked to process the "wm group" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmGroupCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tk_Window tkwin2;
- char *argv3;
- int length;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?pathName?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->hints.flags & WindowGroupHint) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(wmPtr->leaderName, -1));
- }
- return TCL_OK;
- }
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- if (*argv3 == '\0') {
- wmPtr->hints.flags &= ~WindowGroupHint;
- if (wmPtr->leaderName != NULL) {
- ckfree(wmPtr->leaderName);
- }
- wmPtr->leaderName = NULL;
- } else {
- if (TkGetWindowFromObj(interp, tkwin, objv[3], &tkwin2) != TCL_OK) {
- return TCL_ERROR;
- }
- Tk_MakeWindowExist(tkwin2);
- if (wmPtr->leaderName != NULL) {
- ckfree(wmPtr->leaderName);
- }
- wmPtr->hints.window_group = Tk_WindowId(tkwin2);
- wmPtr->hints.flags |= WindowGroupHint;
- wmPtr->leaderName = ckalloc(length + 1);
- strcpy(wmPtr->leaderName, argv3);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconbitmapCmd --
- *
- * This procedure is invoked to process the "wm iconbitmap" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconbitmapCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Pixmap pixmap;
- char *str;
- int len;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?bitmap?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->hints.flags & IconPixmapHint) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- Tk_NameOfBitmap(winPtr->display,
- wmPtr->hints.icon_pixmap), -1));
- }
- return TCL_OK;
- }
- str = Tcl_GetStringFromObj(objv[3], &len);
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- }
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- TkMacOSXMakeRealWindowExist(winPtr);
- }
- if (WmSetAttribute(winPtr, TkMacOSXDrawableWindow(winPtr->window), interp,
- WMATT_TITLEPATH, objv[3]) == TCL_OK) {
- if (!len) {
- if (wmPtr->hints.icon_pixmap != None) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
- wmPtr->hints.icon_pixmap = None;
- }
- wmPtr->hints.flags &= ~IconPixmapHint;
- }
- } else {
- pixmap = Tk_GetBitmap(interp, (Tk_Window) winPtr, Tk_GetUid(str));
- if (pixmap == None) {
- return TCL_ERROR;
- }
- wmPtr->hints.icon_pixmap = pixmap;
- wmPtr->hints.flags |= IconPixmapHint;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconifyCmd --
- *
- * This procedure is invoked to process the "wm iconify" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconifyCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
-
- if (Tk_Attributes((Tk_Window) winPtr)->override_redirect) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": override-redirect flag is set",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "OVERRIDE_REDIRECT",
- NULL);
- return TCL_ERROR;
- } else if (wmPtr->master != None) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": it is a transient", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "TRANSIENT", NULL);
- return TCL_ERROR;
- } else if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify %s: it is an icon for %s",
- winPtr->pathName, Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "ICON", NULL);
- return TCL_ERROR;
- } else if (winPtr->flags & TK_EMBEDDED) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify %s: it is an embedded window",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "EMBEDDED", NULL);
- return TCL_ERROR;
- }
-
- TkpWmSetState(winPtr, IconicState);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconmaskCmd --
- *
- * This procedure is invoked to process the "wm iconmask" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconmaskCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Pixmap pixmap;
- char *argv3;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?bitmap?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->hints.flags & IconMaskHint) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- Tk_NameOfBitmap(winPtr->display,
- wmPtr->hints.icon_mask), -1));
- }
- return TCL_OK;
- }
- argv3 = Tcl_GetString(objv[3]);
- if (*argv3 == '\0') {
- if (wmPtr->hints.icon_mask != None) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_mask);
- }
- wmPtr->hints.flags &= ~IconMaskHint;
- } else {
- pixmap = Tk_GetBitmap(interp, tkwin, argv3);
- if (pixmap == None) {
- return TCL_ERROR;
- }
- wmPtr->hints.icon_mask = pixmap;
- wmPtr->hints.flags |= IconMaskHint;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconnameCmd --
- *
- * This procedure is invoked to process the "wm iconname" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconnameCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- const char *argv3;
- int length;
-
- if (objc > 4) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?newName?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->iconName != NULL) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(wmPtr->iconName, -1));
- }
- return TCL_OK;
- }
-
- if (wmPtr->iconName != NULL) {
- ckfree(wmPtr->iconName);
- }
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- wmPtr->iconName = ckalloc(length + 1);
- strcpy(wmPtr->iconName, argv3);
- if (!(wmPtr->flags & WM_NEVER_MAPPED)) {
- XSetIconName(winPtr->display, winPtr->window, wmPtr->iconName);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconphotoCmd --
- *
- * This procedure is invoked to process the "wm iconphoto" Tcl command.
- * See the user documentation for details on what it does. Not yet
- * implemented for OS X.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconphotoCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_PhotoHandle photo;
- int i, width, height, isDefault = 0;
-
- if (objc < 4) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?-default? image1 ?image2 ...?");
- return TCL_ERROR;
- }
- if (strcmp(Tcl_GetString(objv[3]), "-default") == 0) {
- isDefault = 1;
- if (objc == 4) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?-default? image1 ?image2 ...?");
- return TCL_ERROR;
- }
- }
-
- /*
- * Iterate over all images to retrieve their sizes, in order to allocate a
- * buffer large enough to hold all images.
- */
-
- for (i = 3 + isDefault; i < objc; i++) {
- photo = Tk_FindPhoto(interp, Tcl_GetString(objv[i]));
- if (photo == NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't use \"%s\" as iconphoto: not a photo image",
- Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONPHOTO", "PHOTO", NULL);
- return TCL_ERROR;
- }
- Tk_PhotoGetSize(photo, &width, &height);
- }
-
- /*
- * TODO: This requires implementation for OS X, but we silently return for
- * now.
- */
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconpositionCmd --
- *
- * This procedure is invoked to process the "wm iconposition" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconpositionCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int x, y;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?x y?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->hints.flags & IconPositionHint) {
- Tcl_Obj *pos[2];
-
- pos[0] = Tcl_NewIntObj(wmPtr->hints.icon_x);
- pos[1] = Tcl_NewIntObj(wmPtr->hints.icon_y);
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, pos));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->hints.flags &= ~IconPositionHint;
- } else {
- if ((Tcl_GetIntFromObj(interp, objv[3], &x) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &y) != TCL_OK)){
- return TCL_ERROR;
- }
- wmPtr->hints.icon_x = x;
- wmPtr->hints.icon_y = y;
- wmPtr->hints.flags |= IconPositionHint;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconwindowCmd --
- *
- * This procedure is invoked to process the "wm iconwindow" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconwindowCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tk_Window tkwin2;
- WmInfo *wmPtr2;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?pathName?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->icon != NULL) {
- Tcl_SetObjResult(interp, TkNewWindowObj(wmPtr->icon));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->hints.flags &= ~IconWindowHint;
- if (wmPtr->icon != NULL) {
- wmPtr2 = ((TkWindow *) wmPtr->icon)->wmInfoPtr;
- wmPtr2->iconFor = NULL;
- wmPtr2->hints.initial_state = WithdrawnState;
- }
- wmPtr->icon = NULL;
- } else {
- if (TkGetWindowFromObj(interp, tkwin, objv[3], &tkwin2) != TCL_OK) {
- return TCL_ERROR;
- }
- if (!Tk_IsTopLevel(tkwin2)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't use %s as icon window: not at top level",
- Tk_PathName(tkwin2)));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONWINDOW", "TOPLEVEL",
- NULL);
- return TCL_ERROR;
- }
- wmPtr2 = ((TkWindow *) tkwin2)->wmInfoPtr;
- if (wmPtr2->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s is already an icon for %s",
- Tcl_GetString(objv[3]), Tk_PathName(wmPtr2->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONWINDOW", "ICON", NULL);
- return TCL_ERROR;
- }
- if (wmPtr->icon != NULL) {
- WmInfo *wmPtr3 = ((TkWindow *) wmPtr->icon)->wmInfoPtr;
- wmPtr3->iconFor = NULL;
- }
- Tk_MakeWindowExist(tkwin2);
- wmPtr->hints.icon_window = Tk_WindowId(tkwin2);
- wmPtr->hints.flags |= IconWindowHint;
- wmPtr->icon = tkwin2;
- wmPtr2->iconFor = (Tk_Window) winPtr;
- if (!(wmPtr2->flags & WM_NEVER_MAPPED)) {
- /*
- * Don't have iconwindows on the Mac. We just withdraw.
- */
-
- Tk_UnmapWindow(tkwin2);
- }
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmManageCmd --
- *
- * This procedure is invoked to process the "wm manage" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmManageCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel or Frame to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
-#if 1
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "wm manage is not yet supported", -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "UNSUPPORTED", NULL);
- return TCL_ERROR;
-#else
- register Tk_Window frameWin = (Tk_Window)winPtr;
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char *oldClass = (char*)Tk_Class(frameWin);
-
- if (!Tk_IsTopLevel(frameWin)) {
- MacDrawable *macWin = (MacDrawable *) winPtr->window;
-
- if (!Tk_IsManageable(frameWin)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" is not manageable: must be a"
- " frame, labelframe or toplevel",
- Tk_PathName(frameWin)));
- Tcl_SetErrorCode(interp, "TK", "WM", "MANAGE", NULL);
- return TCL_ERROR;
- }
- TkFocusSplit(winPtr);
- Tk_UnmapWindow(frameWin);
- if (wmPtr == NULL) {
- TkWmNewWindow(winPtr);
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- macWin = (MacDrawable *) winPtr->window;
- }
- TkWmMapWindow(winPtr);
- Tk_UnmapWindow(frameWin);
- }
- wmPtr = winPtr->wmInfoPtr;
- winPtr->flags &= ~TK_MAPPED;
- macWin->grafPtr = NULL;
- macWin->toplevel = macWin;
- RemapWindows(winPtr, macWin);
- winPtr->flags |=
- (TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
- TkMapTopFrame(frameWin);
- } else if (Tk_IsTopLevel(frameWin)) {
- /* Already managed by wm - ignore it */
- }
- return TCL_OK;
-#endif
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmMaxsizeCmd --
- *
- * This procedure is invoked to process the "wm maxsize" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmMaxsizeCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int width, height;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?width height?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_Obj *size[2];
-
- GetMaxSize(winPtr, &width, &height);
- size[0] = Tcl_NewIntObj(width);
- size[1] = Tcl_NewIntObj(height);
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, size));
- return TCL_OK;
- }
- if ((Tcl_GetIntFromObj(interp, objv[3], &width) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &height) != TCL_OK)) {
- return TCL_ERROR;
- }
- wmPtr->maxWidth = width;
- wmPtr->maxHeight = height;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmMinsizeCmd --
- *
- * This procedure is invoked to process the "wm minsize" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmMinsizeCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int width, height;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?width height?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_Obj *size[2];
-
- GetMinSize(winPtr, &width, &height);
- size[0] = Tcl_NewIntObj(width);
- size[1] = Tcl_NewIntObj(height);
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, size));
- return TCL_OK;
- }
- if ((Tcl_GetIntFromObj(interp, objv[3], &width) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &height) != TCL_OK)) {
- return TCL_ERROR;
- }
- wmPtr->minWidth = width;
- wmPtr->minHeight = height;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmOverrideredirectCmd --
- *
- * This procedure is invoked to process the "wm overrideredirect" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmOverrideredirectCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int boolean;
- XSetWindowAttributes atts;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?boolean?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_SetObjResult(interp, Tcl_NewBooleanObj(
- Tk_Attributes((Tk_Window) winPtr)->override_redirect));
- return TCL_OK;
- }
- if (Tcl_GetBooleanFromObj(interp, objv[3], &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- atts.override_redirect = (boolean) ? True : False;
- Tk_ChangeWindowAttributes((Tk_Window) winPtr, CWOverrideRedirect, &atts);
- ApplyMasterOverrideChanges(winPtr, NULL);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmPositionfromCmd --
- *
- * This procedure is invoked to process the "wm positionfrom" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmPositionfromCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "program", "user", NULL };
- enum options {
- OPT_PROGRAM, OPT_USER };
- int index;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?user/program?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & USPosition) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("user", -1));
- } else if (wmPtr->sizeHintsFlags & PPosition) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("program", -1));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->sizeHintsFlags &= ~(USPosition|PPosition);
- } else {
- if (Tcl_GetIndexFromObj(interp, objv[3], optionStrings, "argument", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_USER) {
- wmPtr->sizeHintsFlags &= ~PPosition;
- wmPtr->sizeHintsFlags |= USPosition;
- } else {
- wmPtr->sizeHintsFlags &= ~USPosition;
- wmPtr->sizeHintsFlags |= PPosition;
- }
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmProtocolCmd --
- *
- * This procedure is invoked to process the "wm protocol" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmProtocolCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- register ProtocolHandler *protPtr, *prevPtr;
- Atom protocol;
- char *cmd;
- int cmdLength;
- Tcl_Obj *resultObj;
-
- if ((objc < 3) || (objc > 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?name? ?command?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- /*
- * Return a list of all defined protocols for the window.
- */
-
- resultObj = Tcl_NewObj();
- for (protPtr = wmPtr->protPtr; protPtr != NULL;
- protPtr = protPtr->nextPtr) {
- Tcl_ListObjAppendElement(NULL, resultObj, Tcl_NewStringObj(
- Tk_GetAtomName((Tk_Window)winPtr, protPtr->protocol),-1));
- }
- Tcl_SetObjResult(interp, resultObj);
- return TCL_OK;
- }
- protocol = Tk_InternAtom((Tk_Window) winPtr, Tcl_GetString(objv[3]));
- if (objc == 4) {
- /*
- * Return the command to handle a given protocol.
- */
-
- for (protPtr = wmPtr->protPtr; protPtr != NULL;
- protPtr = protPtr->nextPtr) {
- if (protPtr->protocol == protocol) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(protPtr->command, -1));
- return TCL_OK;
- }
- }
- return TCL_OK;
- }
-
- /*
- * Delete any current protocol handler, then create a new one with the
- * specified command, unless the command is empty.
- */
-
- for (protPtr = wmPtr->protPtr, prevPtr = NULL; protPtr != NULL;
- prevPtr = protPtr, protPtr = protPtr->nextPtr) {
- if (protPtr->protocol == protocol) {
- if (prevPtr == NULL) {
- wmPtr->protPtr = protPtr->nextPtr;
- } else {
- prevPtr->nextPtr = protPtr->nextPtr;
- }
- Tcl_EventuallyFree(protPtr, TCL_DYNAMIC);
- break;
- }
- }
- cmd = Tcl_GetStringFromObj(objv[4], &cmdLength);
- if (cmdLength > 0) {
- protPtr = ckalloc(HANDLER_SIZE(cmdLength));
- protPtr->protocol = protocol;
- protPtr->nextPtr = wmPtr->protPtr;
- wmPtr->protPtr = protPtr;
- protPtr->interp = interp;
- strcpy(protPtr->command, cmd);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmResizableCmd --
- *
- * This procedure is invoked to process the "wm resizable" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmResizableCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int width, height;
- WindowAttributes oldAttributes = wmPtr->attributes;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?width height?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_Obj *resize[2];
-
- resize[0] = Tcl_NewBooleanObj(!(wmPtr->flags & WM_WIDTH_NOT_RESIZABLE));
- resize[1] = Tcl_NewBooleanObj(!(wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE));
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, resize));
- return TCL_OK;
- }
- if ((Tcl_GetBooleanFromObj(interp, objv[3], &width) != TCL_OK)
- || (Tcl_GetBooleanFromObj(interp, objv[4], &height) != TCL_OK)) {
- return TCL_ERROR;
- }
- if (width) {
- wmPtr->flags &= ~WM_WIDTH_NOT_RESIZABLE;
- wmPtr->attributes |= kWindowHorizontalZoomAttribute;
- } else {
- wmPtr->flags |= WM_WIDTH_NOT_RESIZABLE;
- wmPtr->attributes &= ~kWindowHorizontalZoomAttribute;
- }
- if (height) {
- wmPtr->flags &= ~WM_HEIGHT_NOT_RESIZABLE;
- wmPtr->attributes |= kWindowVerticalZoomAttribute;
- } else {
- wmPtr->flags |= WM_HEIGHT_NOT_RESIZABLE;
- wmPtr->attributes &= ~kWindowVerticalZoomAttribute;
- }
- if (width || height) {
- wmPtr->attributes |= kWindowResizableAttribute;
- } else {
- wmPtr->attributes &= ~kWindowResizableAttribute;
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (wmPtr->scrollWinPtr != NULL) {
- TkScrollbarEventuallyRedraw(wmPtr->scrollWinPtr->instanceData);
- }
- WmUpdateGeom(wmPtr, winPtr);
- ApplyWindowClassAttributeChanges(winPtr, NULL, wmPtr->macClass,
- oldAttributes, 1);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmSizefromCmd --
- *
- * This procedure is invoked to process the "wm sizefrom" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmSizefromCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "program", "user", NULL };
- enum options {
- OPT_PROGRAM, OPT_USER };
- int index;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?user|program?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & USSize) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("user", -1));
- } else if (wmPtr->sizeHintsFlags & PSize) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("program", -1));
- }
- return TCL_OK;
- }
-
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->sizeHintsFlags &= ~(USSize|PSize);
- } else {
- if (Tcl_GetIndexFromObj(interp, objv[3], optionStrings, "argument", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_USER) {
- wmPtr->sizeHintsFlags &= ~PSize;
- wmPtr->sizeHintsFlags |= USSize;
- } else { /* OPT_PROGRAM */
- wmPtr->sizeHintsFlags &= ~USSize;
- wmPtr->sizeHintsFlags |= PSize;
- }
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmStackorderCmd --
- *
- * This procedure is invoked to process the "wm stackorder" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmStackorderCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- TkWindow **windows, **windowPtr;
- static const char *const optionStrings[] = {
- "isabove", "isbelow", NULL
- };
- enum options {
- OPT_ISABOVE, OPT_ISBELOW
- };
- Tcl_Obj *resultObj;
- int index;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?isabove|isbelow window?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- windows = TkWmStackorderToplevel(winPtr);
- if (windows == NULL) {
- Tcl_Panic("TkWmStackorderToplevel failed");
- }
-
- resultObj = Tcl_NewObj();
- for (windowPtr = windows; *windowPtr ; windowPtr++) {
- Tcl_ListObjAppendElement(NULL, resultObj,
- TkNewWindowObj((Tk_Window) *windowPtr));
- }
- Tcl_SetObjResult(interp, resultObj);
- ckfree(windows);
- return TCL_OK;
- } else {
- TkWindow *winPtr2;
- int index1 = -1, index2 = -1, result;
-
- if (TkGetWindowFromObj(interp, tkwin, objv[4], (Tk_Window *) &winPtr2)
- != TCL_OK) {
- return TCL_ERROR;
- }
-
- if (!Tk_IsTopLevel(winPtr2)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't a top-level window",
- winPtr2->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "TOPLEVEL", NULL);
- return TCL_ERROR;
- }
-
- if (!Tk_IsMapped(winPtr)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't mapped", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "MAPPED", NULL);
- return TCL_ERROR;
- } else if (!Tk_IsMapped(winPtr2)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't mapped", winPtr2->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "MAPPED", NULL);
- return TCL_ERROR;
- }
-
- /*
- * Lookup stacking order of all toplevels that are children of "." and
- * find the position of winPtr and winPtr2 in the stacking order.
- */
-
- windows = TkWmStackorderToplevel(winPtr->mainPtr->winPtr);
- if (windows == NULL) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "TkWmStackorderToplevel failed", -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "FAIL", NULL);
- return TCL_ERROR;
- }
-
- for (windowPtr = windows; *windowPtr ; windowPtr++) {
- if (*windowPtr == winPtr) {
- index1 = windowPtr - windows;
- }
- if (*windowPtr == winPtr2) {
- index2 = windowPtr - windows;
- }
- }
- if (index1 == -1) {
- Tcl_Panic("winPtr window not found");
- }
- if (index2 == -1) {
- Tcl_Panic("winPtr2 window not found");
- }
-
- ckfree(windows);
-
- if (Tcl_GetIndexFromObj(interp, objv[3], optionStrings, "argument", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_ISABOVE) {
- result = index1 > index2;
- } else { /* OPT_ISBELOW */
- result = index1 < index2;
- }
- Tcl_SetObjResult(interp, Tcl_NewBooleanObj(result));
- return TCL_OK;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmStateCmd --
- *
- * This procedure is invoked to process the "wm state" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmStateCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "normal", "iconic", "withdrawn", "zoomed", NULL };
- enum options {
- OPT_NORMAL, OPT_ICONIC, OPT_WITHDRAWN, OPT_ZOOMED };
- int index;
-
- if ((objc < 3) || (objc > 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?state?");
- return TCL_ERROR;
- }
- if (objc == 4) {
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't change state of %s: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE", "ICON", NULL);
- return TCL_ERROR;
- }
- if (winPtr->flags & TK_EMBEDDED) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't change state of %s: it is an embedded window",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE", "EMBEDDED", NULL);
- return TCL_ERROR;
- }
-
- if (Tcl_GetIndexFromObj(interp, objv[3], optionStrings, "argument", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
-
- if (index == OPT_NORMAL) {
- TkpWmSetState(winPtr, NormalState);
-
- /*
- * This varies from 'wm deiconify' because it does not force the
- * window to be raised and receive focus
- */
- } else if (index == OPT_ICONIC) {
- if (Tk_Attributes((Tk_Window) winPtr)->override_redirect) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": override-redirect flag is set",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE",
- "OVERRIDE_REDIRECT", NULL);
- return TCL_ERROR;
- }
- if (wmPtr->master != None) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": it is a transient",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE", "TRANSIENT",
- NULL);
- return TCL_ERROR;
- }
- TkpWmSetState(winPtr, IconicState);
- } else if (index == OPT_WITHDRAWN) {
- TkpWmSetState(winPtr, WithdrawnState);
- } else { /* OPT_ZOOMED */
- TkpWmSetState(winPtr, ZoomState);
- }
- } else if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("icon", -1));
- } else {
- if (wmPtr->hints.initial_state == NormalState ||
- wmPtr->hints.initial_state == ZoomState) {
- wmPtr->hints.initial_state = (TkMacOSXIsWindowZoomed(winPtr) ?
- ZoomState : NormalState);
- }
- switch (wmPtr->hints.initial_state) {
- case NormalState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("normal", -1));
- break;
- case IconicState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("iconic", -1));
- break;
- case WithdrawnState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("withdrawn", -1));
- break;
- case ZoomState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("zoomed", -1));
- break;
- }
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmTitleCmd --
- *
- * This procedure is invoked to process the "wm title" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmTitleCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char *argv3;
- int length;
-
- if (objc > 4) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?newTitle?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- wmPtr->titleUid ? wmPtr->titleUid : winPtr->nameUid, -1));
- return TCL_OK;
- }
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- wmPtr->titleUid = Tk_GetUid(argv3);
- if (!(wmPtr->flags & WM_NEVER_MAPPED) && !Tk_IsEmbedded(winPtr)) {
- TkSetWMName(winPtr, wmPtr->titleUid);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmTransientCmd --
- *
- * This procedure is invoked to process the "wm transient" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmTransientCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tk_Window master;
- WmInfo *wmPtr2;
- char *argv3;
- int length;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?master?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->master != None) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(wmPtr->masterWindowName, -1));
- }
- return TCL_OK;
- }
- if (Tcl_GetString(objv[3])[0] == '\0') {
- wmPtr->master = None;
- if (wmPtr->masterWindowName != NULL) {
- ckfree(wmPtr->masterWindowName);
- }
- wmPtr->masterWindowName = NULL;
- } else {
- if (TkGetWindowFromObj(interp, tkwin, objv[3], &master) != TCL_OK) {
- return TCL_ERROR;
- }
- Tk_MakeWindowExist(master);
-
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't make \"%s\" a transient: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "ICON", NULL);
- return TCL_ERROR;
- }
-
- wmPtr2 = ((TkWindow *) master)->wmInfoPtr;
-
- /* Under some circumstances, wmPtr2 is NULL here */
- if (wmPtr2 != NULL && wmPtr2->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't make \"%s\" a master: it is an icon for %s",
- Tcl_GetString(objv[3]), Tk_PathName(wmPtr2->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "ICON", NULL);
- return TCL_ERROR;
- }
-
- if ((TkWindow *) master == winPtr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't make \"%s\" its own master", Tk_PathName(winPtr)));
- Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "SELF", NULL);
- return TCL_ERROR;
- }
-
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- wmPtr->master = Tk_WindowId(master);
- if (wmPtr->masterWindowName != NULL) {
- ckfree(wmPtr->masterWindowName);
- }
- wmPtr->masterWindowName = ckalloc(length+1);
- strcpy(wmPtr->masterWindowName, argv3);
- }
- ApplyMasterOverrideChanges(winPtr, NULL);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmWithdrawCmd --
- *
- * This procedure is invoked to process the "wm withdraw" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmWithdrawCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't withdraw %s: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "WITHDRAW", "ICON", NULL);
- return TCL_ERROR;
- }
- TkpWmSetState(winPtr, WithdrawnState);
- return TCL_OK;
-}
-
-/*
- * Invoked by those wm subcommands that affect geometry.
- * Schedules a geometry update.
- */
-
-static void
-WmUpdateGeom(
- WmInfo *wmPtr,
- TkWindow *winPtr)
-{
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_SetGrid --
- *
- * This procedure is invoked by a widget when it wishes to set a grid
- * coordinate system that controls the size of a top-level window. It
- * provides a C interface equivalent to the "wm grid" command and is
- * usually asscoiated with the -setgrid option.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Grid-related information will be passed to the window manager, so that
- * the top-level window associated with tkwin will resize on even grid
- * units. If some other window already controls gridding for the
- * top-level window then this procedure call has no effect.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_SetGrid(
- Tk_Window tkwin, /* Token for window. New window mgr info will
- * be posted for the top-level window
- * associated with this window. */
- int reqWidth, /* Width (in grid units) corresponding to the
- * requested geometry for tkwin. */
- int reqHeight, /* Height (in grid units) corresponding to the
- * requested geometry for tkwin. */
- int widthInc, int heightInc)/* Pixel increments corresponding to a change
- * of one grid unit. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr;
-
- /*
- * Ensure widthInc and heightInc are greater than 0
- */
-
- if (widthInc <= 0) {
- widthInc = 1;
- }
- if (heightInc <= 0) {
- heightInc = 1;
- }
-
- /*
- * Find the top-level window for tkwin, plus the window manager
- * information.
- */
-
- while (!(winPtr->flags & TK_TOP_LEVEL)) {
- winPtr = winPtr->parentPtr;
- }
- wmPtr = winPtr->wmInfoPtr;
-
- if ((wmPtr->gridWin != NULL) && (wmPtr->gridWin != tkwin)) {
- return;
- }
-
- if ((wmPtr->reqGridWidth == reqWidth)
- && (wmPtr->reqGridHeight == reqHeight)
- && (wmPtr->widthInc == widthInc)
- && (wmPtr->heightInc == heightInc)
- && ((wmPtr->sizeHintsFlags & (PBaseSize|PResizeInc))
- == (PBaseSize|PResizeInc))) {
- return;
- }
-
- /*
- * If gridding was previously off, then forget about any window size
- * requests made by the user or via "wm geometry": these are in pixel
- * units and there's no easy way to translate them to grid units since the
- * new requested size of the top-level window in pixels may not yet have
- * been registered yet (it may filter up the hierarchy in DoWhenIdle
- * handlers). However, if the window has never been mapped yet then just
- * leave the window size alone: assume that it is intended to be in grid
- * units but just happened to have been specified before this procedure
- * was called.
- */
-
- if ((wmPtr->gridWin == NULL) && !(wmPtr->flags & WM_NEVER_MAPPED)) {
- wmPtr->width = -1;
- wmPtr->height = -1;
- }
-
- /*
- * Set the new gridding information, and start the process of passing all
- * of this information to the window manager.
- */
-
- wmPtr->gridWin = tkwin;
- wmPtr->reqGridWidth = reqWidth;
- wmPtr->reqGridHeight = reqHeight;
- wmPtr->widthInc = widthInc;
- wmPtr->heightInc = heightInc;
- wmPtr->sizeHintsFlags |= PBaseSize|PResizeInc;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_UnsetGrid --
- *
- * This procedure cancels the effect of a previous call to Tk_SetGrid.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If tkwin currently controls gridding for its top-level window,
- * gridding is cancelled for that top-level window; if some other window
- * controls gridding then this procedure has no effect.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_UnsetGrid(
- Tk_Window tkwin) /* Token for window that is currently
- * controlling gridding. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr;
-
- /*
- * Find the top-level window for tkwin, plus the window manager
- * information.
- */
-
- while (!(winPtr->flags & TK_TOP_LEVEL)) {
- winPtr = winPtr->parentPtr;
- }
- wmPtr = winPtr->wmInfoPtr;
- if (tkwin != wmPtr->gridWin) {
- return;
- }
-
- wmPtr->gridWin = NULL;
- wmPtr->sizeHintsFlags &= ~(PBaseSize|PResizeInc);
- if (wmPtr->width != -1) {
- wmPtr->width = winPtr->reqWidth + (wmPtr->width
- - wmPtr->reqGridWidth)*wmPtr->widthInc;
- wmPtr->height = winPtr->reqHeight + (wmPtr->height
- - wmPtr->reqGridHeight)*wmPtr->heightInc;
- }
- wmPtr->widthInc = 1;
- wmPtr->heightInc = 1;
-
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TopLevelEventProc --
- *
- * This procedure is invoked when a top-level (or other externally-
- * managed window) is restructured in any way.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Tk's internal data structures for the window get modified to reflect
- * the structural change.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TopLevelEventProc(
- ClientData clientData, /* Window for which event occurred. */
- XEvent *eventPtr) /* Event that just happened. */
-{
- TkWindow *winPtr = clientData;
-
- winPtr->wmInfoPtr->flags |= WM_VROOT_OFFSET_STALE;
- if (eventPtr->type == DestroyNotify) {
- if (!(winPtr->flags & TK_ALREADY_DEAD)) {
- /*
- * A top-level window was deleted externally (e.g., by the window
- * manager). This is probably not a good thing, but cleanup as
- * best we can. The error handler is needed because
- * Tk_DestroyWindow will try to destroy the window, but of course
- * it's already gone.
- */
-
- Tk_ErrorHandler handler = Tk_CreateErrorHandler(winPtr->display,
- -1, -1, -1, NULL, NULL);
-
- Tk_DestroyWindow((Tk_Window) winPtr);
- Tk_DeleteErrorHandler(handler);
- }
- if (wmTracing) {
- TkMacOSXDbgMsg("TopLevelEventProc: %s deleted", winPtr->pathName);
- }
- } else if (eventPtr->type == ReparentNotify) {
- Tcl_Panic("recieved unwanted reparent event");
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TopLevelReqProc --
- *
- * This procedure is invoked by the geometry manager whenever the
- * requested size for a top-level window is changed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Arrange for the window to be resized to satisfy the request (this
- * happens as a when-idle action).
- *
- *----------------------------------------------------------------------
- */
-
- /* ARGSUSED */
-static void
-TopLevelReqProc(
- ClientData dummy, /* Not used. */
- Tk_Window tkwin) /* Information about window. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr;
-
- wmPtr = winPtr->wmInfoPtr;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateGeometryInfo --
- *
- * This procedure is invoked when a top-level window is first mapped, and
- * also as a when-idle procedure, to bring the geometry and/or position
- * of a top-level window back into line with what has been requested by
- * the user and/or widgets. This procedure doesn't return until the
- * window manager has responded to the geometry change.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window's size and location may change, unless the WM prevents that
- * from happening.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateGeometryInfo(
- ClientData clientData) /* Pointer to the window's record. */
-{
- TkWindow *winPtr = clientData;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int x, y, width, height, min, max;
-
- wmPtr->flags &= ~WM_UPDATE_PENDING;
-
- if (wmPtr->flags & WM_FULLSCREEN) {
- return;
- }
-
- /*
- * Compute the new size for the top-level window. See the user
- * documentation for details on this, but the size requested depends on
- * (a) the size requested internally by the window's widgets, (b) the size
- * requested by the user in a "wm geometry" command or via wm-based
- * interactive resizing (if any), and (c) whether or not the window is
- * gridded. Don't permit sizes <= 0 because this upsets the X server.
- */
-
- if (wmPtr->width == -1) {
- width = winPtr->reqWidth;
- } else if (wmPtr->gridWin != NULL) {
- width = winPtr->reqWidth
- + (wmPtr->width - wmPtr->reqGridWidth)*wmPtr->widthInc;
- } else {
- width = wmPtr->width;
- }
- if (width <= 0) {
- width = 1;
- }
-
- /*
- * Account for window max/min width
- */
-
- if (wmPtr->gridWin != NULL) {
- min = winPtr->reqWidth
- + (wmPtr->minWidth - wmPtr->reqGridWidth)*wmPtr->widthInc;
- if (wmPtr->maxWidth > 0) {
- max = winPtr->reqWidth
- + (wmPtr->maxWidth - wmPtr->reqGridWidth)*wmPtr->widthInc;
- } else {
- max = 0;
- }
- } else {
- min = wmPtr->minWidth;
- max = wmPtr->maxWidth;
- }
- if (width < min) {
- width = min;
- } else if ((max > 0) && (width > max)) {
- width = max;
- }
-
- if (wmPtr->height == -1) {
- height = winPtr->reqHeight;
- } else if (wmPtr->gridWin != NULL) {
- height = winPtr->reqHeight
- + (wmPtr->height - wmPtr->reqGridHeight)*wmPtr->heightInc;
- } else {
- height = wmPtr->height;
- }
- if (height <= 0) {
- height = 1;
- }
-
- /*
- * Account for window max/min height
- */
-
- if (wmPtr->gridWin != NULL) {
- min = winPtr->reqHeight
- + (wmPtr->minHeight - wmPtr->reqGridHeight)*wmPtr->heightInc;
- if (wmPtr->maxHeight > 0) {
- max = winPtr->reqHeight
- + (wmPtr->maxHeight-wmPtr->reqGridHeight)*wmPtr->heightInc;
- } else {
- max = 0;
- }
- } else {
- min = wmPtr->minHeight;
- max = wmPtr->maxHeight;
- }
- if (height < min) {
- height = min;
- } else if ((max > 0) && (height > max)) {
- height = max;
- }
-
- /*
- * Compute the new position for the upper-left pixel of the window's
- * decorative frame. This is tricky, because we need to include the border
- * widths supplied by a reparented parent in this calculation, but can't
- * use the parent's current overall size since that may change as a result
- * of this code.
- */
-
- if (wmPtr->flags & WM_NEGATIVE_X) {
- x = wmPtr->vRootWidth - wmPtr->x
- - (width + (wmPtr->parentWidth - winPtr->changes.width));
- } else {
- x = wmPtr->x;
- }
- if (wmPtr->flags & WM_NEGATIVE_Y) {
- y = wmPtr->vRootHeight - wmPtr->y
- - (height + (wmPtr->parentHeight - winPtr->changes.height));
- } else {
- y = wmPtr->y;
- }
-
- /*
- * If the window's size is going to change and the window is supposed to
- * not be resizable by the user, then we have to update the size hints.
- * There may also be a size-hint-update request pending from somewhere
- * else, too.
- */
-
- if (((width != winPtr->changes.width)
- || (height != winPtr->changes.height))
- && (wmPtr->gridWin == NULL)
- && !(wmPtr->sizeHintsFlags & (PMinSize|PMaxSize))) {
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- }
- if (wmPtr->flags & WM_UPDATE_SIZE_HINTS) {
- UpdateSizeHints(winPtr);
- }
-
- /*
- * Reconfigure the window if it isn't already configured correctly. A few
- * tricky points:
- *
- * 1. If the window is embedded and the container is also in this process,
- * don't actually reconfigure the window; just pass the desired size on
- * to the container. Also, zero out any position information, since
- * embedded windows are not allowed to move.
- * 2. Sometimes the window manager will give us a different size than we
- * asked for (e.g. mwm has a minimum size for windows), so base the
- * size check on what we *asked for* last time, not what we got.
- * 3. Don't move window unless a new position has been requested for it.
- * This is because of "features" in some window managers (e.g. twm, as
- * of 4/24/91) where they don't interpret coordinates according to
- * ICCCM. Moving a window to its current location may cause it to shift
- * position on the screen.
- */
-
- if (Tk_IsEmbedded(winPtr)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(winPtr);
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
-
- if (contWinPtr != NULL) {
- /*
- * This window is embedded and the container is also in this
- * process, so we don't need to do anything special about the
- * geometry, except to make sure that the desired size is known by
- * the container. Also, zero out any position information, since
- * embedded windows are not allowed to move.
- */
-
- wmPtr->x = wmPtr->y = 0;
- wmPtr->flags &= ~(WM_NEGATIVE_X|WM_NEGATIVE_Y);
- Tk_GeometryRequest((Tk_Window) contWinPtr, width, height);
- }
- return;
- }
- if (wmPtr->flags & WM_MOVE_PENDING) {
- wmPtr->configWidth = width;
- wmPtr->configHeight = height;
- if (wmTracing) {
- TkMacOSXDbgMsg("Moving to %d %d, resizing to %d x %d", x, y,
- width, height);
- }
- wmPtr->flags |= WM_SYNC_PENDING;
- XMoveResizeWindow(winPtr->display, winPtr->window, x, y,
- (unsigned) width, (unsigned) height);
- wmPtr->flags &= ~WM_SYNC_PENDING;
- } else if ((width != wmPtr->configWidth)
- || (height != wmPtr->configHeight)) {
- wmPtr->configWidth = width;
- wmPtr->configHeight = height;
- if (wmTracing) {
- TkMacOSXDbgMsg("Resizing to %d x %d\n", width, height);
- }
- wmPtr->flags |= WM_SYNC_PENDING;
- XResizeWindow(winPtr->display, winPtr->window, (unsigned) width,
- (unsigned) height);
- wmPtr->flags &= ~WM_SYNC_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateSizeHints --
- *
- * This procedure is called to update the window manager's size hints
- * information from the information in a WmInfo structure.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Properties get changed for winPtr.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateSizeHints(
- TkWindow *winPtr)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- wmPtr->flags &= ~WM_UPDATE_SIZE_HINTS;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ParseGeometry --
- *
- * This procedure parses a geometry string and updates information used
- * to control the geometry of a top-level window.
- *
- * Results:
- * A standard Tcl return value, plus an error message in the interp's
- * result if an error occurs.
- *
- * Side effects:
- * The size and/or location of winPtr may change.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-ParseGeometry(
- Tcl_Interp *interp, /* Used for error reporting. */
- char *string, /* String containing new geometry. Has the
- * standard form "=wxh+x+y". */
- TkWindow *winPtr) /* Pointer to top-level window whose geometry
- * is to be changed. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int x, y, width, height, flags;
- char *end;
- char *p = string;
-
- /*
- * The leading "=" is optional.
- */
-
- if (*p == '=') {
- p++;
- }
-
- /*
- * Parse the width and height, if they are present. Don't actually update
- * any of the fields of wmPtr until we've successfully parsed the entire
- * geometry string.
- */
-
- width = wmPtr->width;
- height = wmPtr->height;
- x = wmPtr->x;
- y = wmPtr->y;
- flags = wmPtr->flags;
- if (isdigit(UCHAR(*p))) {
- width = strtoul(p, &end, 10);
- p = end;
- if (*p != 'x') {
- goto error;
- }
- p++;
- if (!isdigit(UCHAR(*p))) {
- goto error;
- }
- height = strtoul(p, &end, 10);
- p = end;
- }
-
- /*
- * Parse the X and Y coordinates, if they are present.
- */
-
- if (*p != '\0') {
- flags &= ~(WM_NEGATIVE_X | WM_NEGATIVE_Y);
- if (*p == '-') {
- flags |= WM_NEGATIVE_X;
- } else if (*p != '+') {
- goto error;
- }
- p++;
- if (!isdigit(UCHAR(*p)) && (*p != '-')) {
- goto error;
- }
- x = strtol(p, &end, 10);
- p = end;
- if (*p == '-') {
- flags |= WM_NEGATIVE_Y;
- } else if (*p != '+') {
- goto error;
- }
- p++;
- if (!isdigit(UCHAR(*p)) && (*p != '-')) {
- goto error;
- }
- y = strtol(p, &end, 10);
- if (*end != '\0') {
- goto error;
- }
-
- /*
- * Assume that the geometry information came from the user, unless an
- * explicit source has been specified. Otherwise most window managers
- * assume that the size hints were program-specified and they ignore
- * them.
- */
-
- if (!(wmPtr->sizeHintsFlags & (USPosition|PPosition))) {
- wmPtr->sizeHintsFlags |= USPosition;
- flags |= WM_UPDATE_SIZE_HINTS;
- }
- }
-
- /*
- * Everything was parsed OK. Update the fields of *wmPtr and arrange for
- * the appropriate information to be percolated out to the window manager
- * at the next idle moment.
- */
-
- wmPtr->width = width;
- wmPtr->height = height;
- if ((x != wmPtr->x) || (y != wmPtr->y)
- || ((flags & (WM_NEGATIVE_X|WM_NEGATIVE_Y))
- != (wmPtr->flags & (WM_NEGATIVE_X|WM_NEGATIVE_Y)))) {
- if (wmPtr->flags & WM_FULLSCREEN) {
- wmPtr->configX = x;
- wmPtr->configY = y;
- } else {
- wmPtr->x = x;
- wmPtr->y = y;
- }
- flags |= WM_MOVE_PENDING;
- }
- wmPtr->flags = flags;
-
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
- return TCL_OK;
-
- error:
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "bad geometry specifier \"%s\"", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "GEOMETRY", NULL);
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetRootCoords --
- *
- * Given a token for a window, this procedure traces through the window's
- * lineage to find the (virtual) root-window coordinates corresponding to
- * point (0,0) in the window.
- *
- * Results:
- * The locations pointed to by xPtr and yPtr are filled in with the root
- * coordinates of the (0,0) point in tkwin. If a virtual root window is
- * in effect for the window, then the coordinates in the virtual root are
- * returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_GetRootCoords(
- Tk_Window tkwin, /* Token for window. */
- int *xPtr, /* Where to store x-displacement of (0,0). */
- int *yPtr) /* Where to store y-displacement of (0,0). */
-{
- int x, y;
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- /*
- * Search back through this window's parents all the way to a top-level
- * window, combining the offsets of each window within its parent.
- */
-
- x = y = 0;
- while (1) {
- x += winPtr->changes.x + winPtr->changes.border_width;
- y += winPtr->changes.y + winPtr->changes.border_width;
- if (winPtr->flags & TK_TOP_LEVEL) {
- TkWindow *otherPtr;
-
- if (!(Tk_IsEmbedded(winPtr))) {
- x += winPtr->wmInfoPtr->xInParent;
- y += winPtr->wmInfoPtr->yInParent;
- break;
- }
-
- otherPtr = TkpGetOtherWindow(winPtr);
- if (otherPtr == NULL) {
- if (tkMacOSXEmbedHandler->getOffsetProc != NULL) {
- Point theOffset;
-
- /*
- * We do not require that the changes.x & changes.y for a
- * non-Tk master window be kept up to date. So we first
- * subtract off the possibly bogus values that have been
- * added on at the top of this pass through the loop, and
- * then call out to the getOffsetProc to give us the
- * correct offset.
- */
-
- x -= winPtr->changes.x + winPtr->changes.border_width;
- y -= winPtr->changes.y + winPtr->changes.border_width;
-
- tkMacOSXEmbedHandler->getOffsetProc((Tk_Window) winPtr,
- &theOffset);
-
- x += theOffset.h;
- y += theOffset.v;
- }
- break;
- }
-
- /*
- * The container window is in the same application. Query its
- * coordinates.
- */
-
- winPtr = otherPtr;
-
- /*
- * Remember to offset by the container window here, since at the
- * end of this if branch, we will pop out to the container's
- * parent...
- */
-
- x += winPtr->changes.x + winPtr->changes.border_width;
- y += winPtr->changes.y + winPtr->changes.border_width;
- }
- winPtr = winPtr->parentPtr;
- }
- *xPtr = x;
- *yPtr = y;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_CoordsToWindow --
- *
- * This is a Macintosh specific implementation of this function. Given
- * the root coordinates of a point, this procedure returns the token for
- * the top-most window covering that point, if there exists such a window
- * in this application.
- *
- * Results:
- * The return result is either a token for the window corresponding to
- * rootX and rootY, or else NULL to indicate that there is no such
- * window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-Tk_CoordsToWindow(
- int rootX, int rootY, /* Coordinates of point in root window. If a
- * virtual-root window manager is in use,
- * these coordinates refer to the virtual
- * root, not the real root. */
- Tk_Window tkwin) /* Token for any window in application; used
- * to identify the display. */
-{
- WindowPtr whichWin;
- Point where;
- Window rootChild;
- TkWindow *winPtr, *childPtr;
- TkWindow *nextPtr; /* Coordinates of highest child found so far
- * that contains point. */
- int x, y; /* Coordinates in winPtr. */
- int tmpx, tmpy, bd;
- TkDisplay *dispPtr;
-
- /*
- * Step 1: find the top-level window that contains the desired point.
- */
-
- where.h = rootX;
- where.v = rootY;
- FindWindow(where, &whichWin);
- if (whichWin == NULL) {
- return NULL;
- }
- rootChild = TkMacOSXGetXWindow(whichWin);
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *) Tk_IdToWindow(dispPtr->display, rootChild);
- if (winPtr == NULL) {
- return NULL;
- }
-
- /*
- * Step 2: work down through the hierarchy underneath this window. At each
- * level, scan through all the children to find the highest one in the
- * stacking order that contains the point. Then repeat the whole process
- * on that child.
- */
-
- x = rootX - winPtr->wmInfoPtr->xInParent;
- y = rootY - winPtr->wmInfoPtr->yInParent;
- while (1) {
- x -= winPtr->changes.x;
- y -= winPtr->changes.y;
- nextPtr = NULL;
-
- /*
- * Container windows cannot have children. So if it is a container,
- * look there, otherwise inspect the children.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL) {
- if (Tk_IsMapped(childPtr)) {
- tmpx = x - childPtr->changes.x;
- tmpy = y - childPtr->changes.y;
- bd = childPtr->changes.border_width;
-
- if ((tmpx >= -bd) && (tmpy >= -bd)
- && (tmpx < (childPtr->changes.width + bd))
- && (tmpy < (childPtr->changes.height + bd))) {
- nextPtr = childPtr;
- }
- }
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- } else {
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) ||
- (childPtr->flags & TK_TOP_LEVEL)) {
- continue;
- }
- tmpx = x - childPtr->changes.x;
- tmpy = y - childPtr->changes.y;
- bd = childPtr->changes.border_width;
- if ((tmpx >= -bd) && (tmpy >= -bd)
- && (tmpx < (childPtr->changes.width + bd))
- && (tmpy < (childPtr->changes.height + bd))) {
- nextPtr = childPtr;
- }
- }
- }
- if (nextPtr == NULL) {
- break;
- }
- winPtr = nextPtr;
- }
- return (Tk_Window) winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_TopCoordsToWindow --
- *
- * Given a Tk Window, and coordinates of a point relative to that window
- * this procedure returns the top-most child of the window (excluding
- * toplevels) covering that point, if there exists such a window in this
- * application. It also sets newX, and newY to the coords of the point
- * relative to the window returned.
- *
- * Results:
- * The return result is either a token for the window corresponding to
- * rootX and rootY, or else NULL to indicate that there is no such
- * window. newX and newY are also set to the coords of the point relative
- * to the returned window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-Tk_TopCoordsToWindow(
- Tk_Window tkwin, /* Token for a Tk Window which defines the
- * coordinates for rootX & rootY */
- int rootX, int rootY, /* Coordinates of a point in tkWin. */
- int *newX, int *newY) /* Coordinates of point in the upperMost child
- * of tkWin containing (rootX,rootY) */
-{
- TkWindow *winPtr, *childPtr;
- TkWindow *nextPtr; /* Coordinates of highest child found so far
- * that contains point. */
- int x, y; /* Coordinates in winPtr. */
- Window *children; /* Children of winPtr, or NULL. */
-
- winPtr = (TkWindow *) tkwin;
- x = rootX;
- y = rootY;
- while (1) {
- nextPtr = NULL;
- children = NULL;
-
- /*
- * Container windows cannot have children. So if it is a container,
- * look there, otherwise inspect the children.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL) {
- if (Tk_IsMapped(childPtr) &&
- x > childPtr->changes.x &&
- x < childPtr->changes.x + childPtr->changes.width &&
- y > childPtr->changes.y &&
- y < childPtr->changes.y + childPtr->changes.height) {
- nextPtr = childPtr;
- }
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- } else {
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) ||
- (childPtr->flags & TK_TOP_LEVEL)) {
- continue;
- }
- if (x < childPtr->changes.x || y < childPtr->changes.y) {
- continue;
- }
- if (x > childPtr->changes.x + childPtr->changes.width ||
- y > childPtr->changes.y + childPtr->changes.height) {
- continue;
- }
- nextPtr = childPtr;
- }
- }
- if (nextPtr == NULL) {
- break;
- }
- winPtr = nextPtr;
- x -= winPtr->changes.x;
- y -= winPtr->changes.y;
- }
- *newX = x;
- *newY = y;
- return (Tk_Window) winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateVRootGeometry --
- *
- * This procedure is called to update all the virtual root geometry
- * information in wmPtr.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The vRootX, vRootY, vRootWidth, and vRootHeight fields in wmPtr are
- * filled with the most up-to-date information.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateVRootGeometry(
- WmInfo *wmPtr) /* Window manager information to be updated.
- * The wmPtr->vRoot field must be valid. */
-{
- TkWindow *winPtr = wmPtr->winPtr;
- unsigned int bd, dummy;
- Window dummy2;
- Status status;
- Tk_ErrorHandler handler;
-
- /*
- * If this isn't a virtual-root window manager, just return information
- * about the screen.
- */
-
- wmPtr->flags &= ~WM_VROOT_OFFSET_STALE;
- if (wmPtr->vRoot == None) {
- noVRoot:
- wmPtr->vRootX = wmPtr->vRootY = 0;
- wmPtr->vRootWidth = DisplayWidth(winPtr->display, winPtr->screenNum);
- wmPtr->vRootHeight = DisplayHeight(winPtr->display, winPtr->screenNum);
- return;
- }
-
- /*
- * Refresh the virtual root information if it's out of date.
- */
-
- handler = Tk_CreateErrorHandler(winPtr->display, -1, -1, -1, NULL, NULL);
- status = XGetGeometry(winPtr->display, wmPtr->vRoot,
- &dummy2, &wmPtr->vRootX, &wmPtr->vRootY,
- &wmPtr->vRootWidth, &wmPtr->vRootHeight, &bd, &dummy);
- if (wmTracing) {
- TkMacOSXDbgMsg("x = %d, y = %d, width = %d, height = %d, status = %d",
- wmPtr->vRootX, wmPtr->vRootY, wmPtr->vRootWidth,
- wmPtr->vRootHeight, status);
- }
- Tk_DeleteErrorHandler(handler);
- if (status == 0) {
- /*
- * The virtual root is gone! Pretend that it never existed.
- */
-
- wmPtr->vRoot = None;
- goto noVRoot;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetVRootGeometry --
- *
- * This procedure returns information about the virtual root window
- * corresponding to a particular Tk window.
- *
- * Results:
- * The values at xPtr, yPtr, widthPtr, and heightPtr are set with the
- * offset and dimensions of the root window corresponding to tkwin. If
- * tkwin is being managed by a virtual root window manager these values
- * correspond to the virtual root window being used for tkwin; otherwise
- * the offsets will be 0 and the dimensions will be those of the screen.
- *
- * Side effects:
- * Vroot window information is refreshed if it is out of date.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_GetVRootGeometry(
- Tk_Window tkwin, /* Window whose virtual root is to be
- * queried. */
- int *xPtr, int *yPtr, /* Store x and y offsets of virtual root
- * here. */
- int *widthPtr, /* Store dimensions of virtual root here. */
- int *heightPtr)
-{
- WmInfo *wmPtr;
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- /*
- * Find the top-level window for tkwin, and locate the window manager
- * information for that window.
- */
-
- while (!(winPtr->flags & TK_TOP_LEVEL)) {
- winPtr = winPtr->parentPtr;
- }
- wmPtr = winPtr->wmInfoPtr;
-
- /*
- * Make sure that the geometry information is up-to-date, then copy it out
- * to the caller.
- */
-
- if (wmPtr->flags & WM_VROOT_OFFSET_STALE) {
- UpdateVRootGeometry(wmPtr);
- }
- *xPtr = wmPtr->vRootX;
- *yPtr = wmPtr->vRootY;
- *widthPtr = wmPtr->vRootWidth;
- *heightPtr = wmPtr->vRootHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MoveToplevelWindow --
- *
- * This procedure is called instead of Tk_MoveWindow to adjust the x-y
- * location of a top-level window. It delays the actual move to a later
- * time and keeps window-manager information up-to-date with the move.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window is eventually moved so that its upper-left corner
- * (actually, the upper-left corner of the window's decorative frame, if
- * there is one) is at (x,y).
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MoveToplevelWindow(
- Tk_Window tkwin, /* Window to move. */
- int x, int y) /* New location for window (within parent). */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- Tcl_Panic("Tk_MoveToplevelWindow called with non-toplevel window");
- }
- wmPtr->x = x;
- wmPtr->y = y;
- wmPtr->flags |= WM_MOVE_PENDING;
- wmPtr->flags &= ~(WM_NEGATIVE_X|WM_NEGATIVE_Y);
- if (!(wmPtr->sizeHintsFlags & (USPosition|PPosition))) {
- wmPtr->sizeHintsFlags |= USPosition;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- }
-
- /*
- * If the window has already been mapped, must bring its geometry
- * up-to-date immediately, otherwise an event might arrive from the server
- * that would overwrite wmPtr->x and wmPtr->y and lose the new position.
- */
-
- if (!(wmPtr->flags & WM_NEVER_MAPPED)) {
- if (wmPtr->flags & WM_UPDATE_PENDING) {
- Tk_CancelIdleCall(UpdateGeometryInfo, winPtr);
- }
- UpdateGeometryInfo(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmRestackToplevel --
- *
- * This procedure restacks a top-level window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * WinPtr gets restacked as specified by aboveBelow and otherPtr. This
- * procedure doesn't return until the restack has taken effect and the
- * ConfigureNotify event for it has been received.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmRestackToplevel(
- TkWindow *winPtr, /* Window to restack. */
- int aboveBelow, /* Gives relative position for restacking;
- * must be Above or Below. */
- TkWindow *otherPtr) /* Window relative to which to restack; if
- * NULL, then winPtr gets restacked above or
- * below *all* siblings. */
-{
- WmInfo *wmPtr;
-
- WindowRef macWindow, otherMacWindow, frontWindow, tmpWindow;
-
- wmPtr = winPtr->wmInfoPtr;
-
- /*
- * Get the mac window. Make sure it exists & is mapped.
- */
-
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- }
- if (winPtr->wmInfoPtr->flags & WM_NEVER_MAPPED) {
- /*
- * Can't set stacking order properly until the window is on the screen
- * (mapping it may give it a reparent window), so make sure it's on
- * the screen.
- */
-
- TkWmMapWindow(winPtr);
- }
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
-
- /*
- * Get the window in which a raise or lower is in relation to.
- */
-
- if (otherPtr != NULL) {
- if (otherPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) otherPtr);
- }
- if (otherPtr->wmInfoPtr->flags & WM_NEVER_MAPPED) {
- TkWmMapWindow(otherPtr);
- }
- otherMacWindow = TkMacOSXDrawableWindow(otherPtr->window);
- } else {
- otherMacWindow = NULL;
- }
-
- frontWindow = ActiveNonFloatingWindow();
-
- if (aboveBelow == Above) {
- if (macWindow == frontWindow) {
- /*
- * Do nothing - it's already at the top.
- */
- } else if (otherMacWindow == frontWindow || otherMacWindow == NULL) {
- /*
- * Raise the window to the top. If the window is visible then we
- * also make it the active window.
- */
-
- if (wmPtr->hints.initial_state == WithdrawnState) {
- BringToFront(macWindow);
- } else {
- SelectWindow(macWindow);
- }
- } else {
- /*
- * Find the window to be above. (Front window will actually be the
- * window to be behind.) Front window is NULL if no other windows.
- */
-
- while (frontWindow != NULL &&
- (tmpWindow=GetNextWindow(frontWindow)) != otherMacWindow) {
- frontWindow = tmpWindow;
- }
- if (frontWindow != NULL) {
- SendBehind(macWindow, frontWindow);
- }
- }
- } else {
- /*
- * Send behind. If it was in front find another window to make active.
- */
-
- if (macWindow == frontWindow) {
- tmpWindow = GetNextWindow(macWindow);
- if (tmpWindow != NULL) {
- SelectWindow(tmpWindow);
- }
- }
- SendBehind(macWindow, otherMacWindow);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmAddToColormapWindows --
- *
- * This procedure is called to add a given window to the
- * WM_COLORMAP_WINDOWS property for its top-level, if it isn't already
- * there. It is invoked by the Tk code that creates a new colormap, in
- * order to make sure that colormap information is propagated to the
- * window manager by default.
- *
- * Results:
- * None.
- *
- * Side effects:
- * WinPtr's window gets added to the WM_COLORMAP_WINDOWS property of its
- * nearest top-level ancestor, unless the colormaps have been set
- * explicitly with the "wm colormapwindows" command.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmAddToColormapWindows(
- TkWindow *winPtr) /* Window with a non-default colormap. Should
- * not be a top-level window. */
-{
- TkWindow *topPtr;
- TkWindow **oldPtr, **newPtr;
- int count, i;
-
- if (winPtr->window == None) {
- return;
- }
-
- for (topPtr = winPtr->parentPtr; ; topPtr = topPtr->parentPtr) {
- if (topPtr == NULL) {
- /*
- * Window is being deleted. Skip the whole operation.
- */
-
- return;
- }
- if (topPtr->flags & TK_TOP_LEVEL) {
- break;
- }
- }
- if (topPtr->wmInfoPtr->flags & WM_COLORMAPS_EXPLICIT) {
- return;
- }
-
- /*
- * Make sure that the window isn't already in the list.
- */
-
- count = topPtr->wmInfoPtr->cmapCount;
- oldPtr = topPtr->wmInfoPtr->cmapList;
-
- for (i = 0; i < count; i++) {
- if (oldPtr[i] == winPtr) {
- return;
- }
- }
-
- /*
- * Make a new bigger array and use it to reset the property. Automatically
- * add the toplevel itself as the last element of the list.
- */
-
- newPtr = ckalloc((count+2) * sizeof(TkWindow *));
- if (count > 0) {
- memcpy(newPtr, oldPtr, count * sizeof(TkWindow *));
- }
- if (count == 0) {
- count++;
- }
- newPtr[count-1] = winPtr;
- newPtr[count] = topPtr;
- if (oldPtr != NULL) {
- ckfree(oldPtr);
- }
-
- topPtr->wmInfoPtr->cmapList = newPtr;
- topPtr->wmInfoPtr->cmapCount = count+1;
-
- /*
- * On the Macintosh all of this is just an excercise in compatability as
- * we don't support colormaps. If we did they would be installed here.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmRemoveFromColormapWindows --
- *
- * This procedure is called to remove a given window from the
- * WM_COLORMAP_WINDOWS property for its top-level. It is invoked when
- * windows are deleted.
- *
- * Results:
- * None.
- *
- * Side effects:
- * WinPtr's window gets removed from the WM_COLORMAP_WINDOWS property of
- * its nearest top-level ancestor, unless the top-level itself is being
- * deleted too.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmRemoveFromColormapWindows(
- TkWindow *winPtr) /* Window that may be present in
- * WM_COLORMAP_WINDOWS property for its
- * top-level. Should not be a top-level
- * window. */
-{
- TkWindow *topPtr, **oldPtr;
- int count, i, j;
-
- for (topPtr = winPtr->parentPtr; ; topPtr = topPtr->parentPtr) {
- if (topPtr == NULL) {
- /*
- * Ancestors have been deleted, so skip the whole operation. Seems
- * like this can't ever happen?
- */
-
- return;
- }
- if (topPtr->flags & TK_TOP_LEVEL) {
- break;
- }
- }
- if (topPtr->flags & TK_ALREADY_DEAD) {
- /*
- * Top-level is being deleted, so there's no need to cleanup the
- * WM_COLORMAP_WINDOWS property.
- */
-
- return;
- }
-
- /*
- * Find the window and slide the following ones down to cover it up.
- */
-
- count = topPtr->wmInfoPtr->cmapCount;
- oldPtr = topPtr->wmInfoPtr->cmapList;
- for (i = 0; i < count; i++) {
- if (oldPtr[i] == winPtr) {
- for (j = i ; j < count-1; j++) {
- oldPtr[j] = oldPtr[j+1];
- }
- topPtr->wmInfoPtr->cmapCount = count - 1;
- break;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetPointerCoords --
- *
- * Fetch the position of the mouse pointer.
- *
- * Results:
- * *xPtr and *yPtr are filled in with the (virtual) root coordinates of
- * the mouse pointer for tkwin's display. If the pointer isn't on tkwin's
- * screen, then -1 values are returned for both coordinates. The argument
- * tkwin must be a toplevel window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGetPointerCoords(
- Tk_Window tkwin, /* Toplevel window that identifies screen on
- * which lookup is to be done. */
- int *xPtr, int *yPtr) /* Store pointer coordinates here. */
-{
- XQueryPointer(NULL, None, NULL, NULL, xPtr, yPtr, NULL, NULL, NULL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitialWindowBounds --
- *
- * This function calculates the initial bounds for a new Mac toplevel
- * window. Unless the geometry is specified by the user this code will
- * auto place the windows in a cascade diagonially across the main
- * monitor of the Mac.
- *
- * Results:
- * The bounds are returned in geometry.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-InitialWindowBounds(
- TkWindow *winPtr, /* Window to get initial bounds for. */
- WindowRef macWindow,
- Rect *geometry) /* On return the initial bounds. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (!(wmPtr->sizeHintsFlags & (USPosition | PPosition))) {
- WindowRef parent;
-
- parent = GetFrontWindowOfClass(wmPtr->macClass, false);
- if (parent && parent == macWindow) {
- parent = GetNextWindowOfClass(parent, wmPtr->macClass, false);
- }
- if (parent && parent != macWindow) {
- Rect bounds;
-
- ChkErr(RepositionWindow, macWindow, parent,
- kWindowCascadeOnParentWindowScreen);
- ChkErr(GetWindowBounds, macWindow, kWindowStructureRgn, &bounds);
- wmPtr->x = bounds.left;
- wmPtr->y = bounds.top;
- } else {
- static SInt16 menuBarHeight = 0;
-
- if (!menuBarHeight) {
- ChkErr(GetThemeMenuBarHeight, &menuBarHeight);
- }
- wmPtr->x = 5;
- wmPtr->y = menuBarHeight + 5;
- }
- }
-
- geometry->left = wmPtr->x;
- geometry->top = wmPtr->y;
- geometry->right = wmPtr->x + winPtr->changes.width;
- geometry->bottom = wmPtr->y + winPtr->changes.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXResizable --
- *
- * This function determines if the passed in window is part of a toplevel
- * window that is resizable. If the window is resizable in the x, y or
- * both directions, true is returned.
- *
- * Results:
- * True if resizable, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXResizable(
- TkWindow *winPtr) /* Tk window or NULL. */
-{
- WmInfo *wmPtr;
-
- if (winPtr == NULL) {
- return false;
- }
- while (winPtr->wmInfoPtr == NULL) {
- winPtr = winPtr->parentPtr;
- }
-
- wmPtr = winPtr->wmInfoPtr;
- if ((wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) &&
- (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE)) {
- return false;
- } else {
- return true;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGrowToplevel --
- *
- * The function is invoked when the user clicks in the grow region of a
- * Tk window. The function will handle the dragging procedure and not
- * return until completed. Finally, the function may place information
- * Tk's event queue is the window was resized.
- *
- * Results:
- * True if events were placed on event queue, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXGrowToplevel(
- void *whichWindow,
- XPoint s)
-{
- Point start = {s.y, s.x};
- Point where = start;
- TkDisplay *dispPtr;
- Rect portRect;
- CGrafPtr destPort = GetWindowPort(whichWindow);
-
- QDGlobalToLocalPoint(destPort, &where);
- GetPortBounds(destPort, &portRect);
- if (where.h > (portRect.right - 16) &&
- where.v > (portRect.bottom - 16)) {
- Window window;
- TkWindow *winPtr;
- WmInfo *wmPtr;
- int minWidth, minHeight, maxWidth, maxHeight;
- Rect limits, bounds, *maxBounds;
- Boolean resizeResult;
-
- window = TkMacOSXGetXWindow(whichWindow);
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *) Tk_IdToWindow(dispPtr->display, window);
- wmPtr = winPtr->wmInfoPtr;
- maxBounds = (Rect*)(dispPtr->display->screens->ext_data);
-
- if ((wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) &&
- (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE)) {
- return false;
- }
- GetMinSize(winPtr, &minWidth, &minHeight);
- GetMaxSize(winPtr, &maxWidth, &maxHeight);
- if (wmPtr->gridWin != NULL) {
- int base = winPtr->reqWidth - (wmPtr->reqGridWidth
- * wmPtr->widthInc);
-
- if (base < 0) {
- base = 0;
- }
- limits.left = base + (minWidth * wmPtr->widthInc);
- limits.right = base + (maxWidth * wmPtr->widthInc);
- base = winPtr->reqHeight - (wmPtr->reqGridHeight
- * wmPtr->heightInc);
- if (base < 0) {
- base = 0;
- }
- limits.top = base + (minHeight * wmPtr->heightInc);
- limits.bottom = base + (maxHeight * wmPtr->heightInc);
- } else {
- limits.left = minWidth;
- limits.right = maxWidth;
- limits.top = minHeight;
- limits.bottom = maxHeight;
- }
- if (wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) {
- limits.left = limits.right = winPtr->changes.width;
- }
- if (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE) {
- limits.top = limits.bottom = winPtr->changes.height;
- }
- if (PtInRect(start, maxBounds)) {
- Rect strBounds, strWidths, limitBounds;
-
- ChkErr(GetWindowBounds, whichWindow, kWindowStructureRgn,
- &strBounds);
- ChkErr(GetWindowStructureWidths, whichWindow, &strWidths);
-
- limitBounds.left = limits.left + (strBounds.left + strWidths.left);
- limitBounds.right = limits.right +
- (strBounds.left + strWidths.left + strWidths.right);
- limitBounds.top = limits.top + (strBounds.top + strWidths.top);
- limitBounds.bottom = limits.bottom +
- (strBounds.top + strWidths.top + strWidths.bottom);
- if (limitBounds.left < maxBounds->left) {
- limitBounds.left = maxBounds->left;
- }
- if (limitBounds.right > maxBounds->right) {
- limitBounds.right = maxBounds->right;
- }
- if (limitBounds.top < maxBounds->top) {
- limitBounds.top = maxBounds->top;
- }
- if (limitBounds.bottom > maxBounds->bottom) {
- limitBounds.bottom = maxBounds->bottom;
- }
- limits.left = limitBounds.left - (strBounds.left + strWidths.left);
- limits.right = limitBounds.right -
- (strBounds.left + strWidths.left + strWidths.right);
- limits.top = limitBounds.top - (strBounds.top + strWidths.top);
- limits.bottom = limitBounds.bottom -
- (strBounds.top + strWidths.top + strWidths.bottom);
- }
- TkMacOSXTrackingLoop(1);
- resizeResult = ResizeWindow(whichWindow, start, &limits, &bounds);
- TkMacOSXTrackingLoop(0);
- if (resizeResult) {
- return true;
- }
- }
- return false;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSetWMName --
- *
- * Set the title for a toplevel window. If the window is embedded, do not
- * change the window title.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The title of the window is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSetWMName(
- TkWindow *winPtr,
- Tk_Uid titleUid)
-{
- CFStringRef title;
-
- if (Tk_IsEmbedded(winPtr)) {
- return;
- }
-
- title = CFStringCreateWithBytes(NULL, (const unsigned char *) titleUid,
- strlen(titleUid), kCFStringEncodingUTF8, false);
- if (title) {
- WindowRef macWin = TkMacOSXDrawableWindow(winPtr->window);
-
- SetWindowTitleWithCFString(macWin, title);
- CFRelease(title);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetTransientMaster --
- *
- * If the passed window has the TRANSIENT_FOR property set this will
- * return the master window. Otherwise it will return None.
- *
- * Results:
- * The master window or None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Window
-TkGetTransientMaster(
- TkWindow *winPtr)
-{
- if (winPtr->wmInfoPtr != NULL) {
- return winPtr->wmInfoPtr->master;
- }
- return None;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetXWindow --
- *
- * Returns the X window Id associated with the given WindowRef.
- *
- * Results:
- * The window id is returned. None is returned if not a Tk window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Window
-TkMacOSXGetXWindow(
- void *macWinPtr)
-{
- Tcl_HashEntry *hPtr;
-
- if ((macWinPtr == NULL) || !windowHashInit) {
- return None;
- }
- hPtr = Tcl_FindHashEntry(&windowTable, (char *) macWinPtr);
- if (hPtr == NULL) {
- return None;
- }
- return (Window) Tcl_GetHashValue(hPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXIsWindowZoomed --
- *
- * Ask Carbon if the given window is in the zoomed out state. Because
- * dragging & growing a window can change the Carbon zoom state, we
- * cannot rely on wmInfoPtr->hints.initial_state for this information.
- *
- * Results:
- * True if window is zoomed out, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXIsWindowZoomed(
- TkWindow *winPtr)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int maxWidth, maxHeight;
- Point idealSize;
-
- if ((wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) &&
- (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE)) {
- return false;
- }
- GetMaxSize(winPtr, &maxWidth, &maxHeight);
- if (wmPtr->gridWin != NULL) {
- int base = winPtr->reqWidth - (wmPtr->reqGridWidth * wmPtr->widthInc);
-
- if (base < 0) {
- base = 0;
- }
- maxWidth = base + (maxWidth * wmPtr->widthInc);
- base = winPtr->reqHeight - (wmPtr->reqGridHeight * wmPtr->heightInc);
- if (base < 0) {
- base = 0;
- }
- maxHeight = base + (maxHeight * wmPtr->heightInc);
- }
- if (wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) {
- idealSize.h = winPtr->changes.width;
- } else {
- idealSize.h = maxWidth;
- }
- if (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE) {
- idealSize.v = winPtr->changes.height;
- } else {
- idealSize.v = maxHeight;
- }
-
- return IsWindowInStandardState(TkMacOSXDrawableWindow(winPtr->window),
- &idealSize, NULL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXZoomToplevel --
- *
- * The function is invoked when the user clicks in the zoom region of a
- * Tk window or when the window state is set/unset to "zoomed" manually.
- * If the window is to be zoomed (in or out), the window size is changed
- * and events are generated to let Tk know what happened.
- *
- * Results:
- * True if events were placed on event queue, false otherwise.
- *
- * Side effects:
- * The window may be resized & events placed on Tk's queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXZoomToplevel(
- void *whichWindow, /* The Macintosh window to zoom. */
- short zoomPart) /* Either inZoomIn or inZoomOut */
-{
- Window window;
- TkDisplay *dispPtr;
- TkWindow *winPtr;
- WmInfo *wmPtr;
- Point idealSize;
- int maxWidth, maxHeight;
- OSStatus err;
-
- window = TkMacOSXGetXWindow(whichWindow);
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *) Tk_IdToWindow(dispPtr->display, window);
- wmPtr = winPtr->wmInfoPtr;
-
- if ((wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) &&
- (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE)) {
- return false;
- }
- GetMaxSize(winPtr, &maxWidth, &maxHeight);
- if (wmPtr->gridWin != NULL) {
- int base = winPtr->reqWidth - (wmPtr->reqGridWidth * wmPtr->widthInc);
-
- if (base < 0) {
- base = 0;
- }
- maxWidth = base + (maxWidth * wmPtr->widthInc);
- base = winPtr->reqHeight - (wmPtr->reqGridHeight * wmPtr->heightInc);
- if (base < 0) {
- base = 0;
- }
- maxHeight = base + (maxHeight * wmPtr->heightInc);
- }
- if (wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) {
- idealSize.h = winPtr->changes.width;
- } else {
- idealSize.h = maxWidth;
- }
- if (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE) {
- idealSize.v = winPtr->changes.height;
- } else {
- idealSize.v = maxHeight;
- }
-
- /*
- * Do nothing if already in desired zoom state.
- */
-
- if (!IsWindowInStandardState(whichWindow, &idealSize, NULL) ==
- (zoomPart == inZoomIn)) {
- return false;
- }
-
- err = ChkErr(ZoomWindowIdeal, whichWindow, zoomPart, &idealSize);
- if (err != noErr) {
- return false;
- }
- wmPtr->hints.initial_state =
- (zoomPart == inZoomIn ? NormalState : ZoomState);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkUnsupported1Cmd --
- *
- * This procedure is invoked to process the
- * "::tk::unsupported::MacWindowStyle" Tcl command. This command allows
- * you to set the style of decoration for a Macintosh window.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Changes the style of a new Mac window.
- *
- *----------------------------------------------------------------------
- */
-
-/* ARGSUSED */
-int
-TkUnsupported1ObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- static const char *const subcmds[] = {
- "style", NULL
- };
- enum SubCmds {
- TKMWS_STYLE
- };
- Tk_Window tkwin = clientData;
- TkWindow *winPtr;
- int index;
-
- if (objc < 3) {
- Tcl_WrongNumArgs(interp, 1, objv, "option window ?arg ...?");
- return TCL_ERROR;
- }
-
- winPtr = (TkWindow *)
- Tk_NameToWindow(interp, Tcl_GetString(objv[2]), tkwin);
- if (winPtr == NULL) {
- return TCL_ERROR;
- }
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't a top-level window", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WINDOWSTYLE", "TOPLEVEL", NULL);
- return TCL_ERROR;
- }
-
- if (Tcl_GetIndexFromObj(interp, objv[1], subcmds, "option", 0,
- &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (((enum SubCmds) index) == TKMWS_STYLE) {
- if ((objc < 3) || (objc > 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?class attributes?");
- return TCL_ERROR;
- }
- return WmWinStyle(interp, winPtr, objc, objv);
- }
- /* won't be reached */
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmWinStyle --
- *
- * This procedure is invoked to process the
- * "::tk::unsupported::MacWindowStyle style" subcommand. This command
- * allows you to set the style of decoration for a Macintosh window.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Changes the style of a new Mac window.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmWinStyle(
- Tcl_Interp *interp, /* Current interpreter. */
- TkWindow *winPtr, /* Window to be manipulated. */
- int objc, /* Number of arguments. */
- Tcl_Obj * const objv[]) /* Argument objects. */
-{
- struct StrIntMap {
- const char *strValue;
- UInt32 intValue;
- };
- static const struct StrIntMap styleMap[] = {
- { "documentProc", documentProc },
- { "noGrowDocProc", documentProc },
- { "dBoxProc", dBoxProc },
- { "plainDBox", plainDBox },
- { "altDBoxProc", altDBoxProc },
- { "movableDBoxProc", movableDBoxProc },
- { "zoomDocProc", zoomDocProc },
- { "zoomNoGrow", zoomNoGrow },
- { "floatProc", floatGrowProc },
- { "floatGrowProc", floatGrowProc },
- { "floatZoomProc", floatZoomGrowProc },
- { "floatZoomGrowProc", floatZoomGrowProc },
- { "floatSideProc", floatSideGrowProc },
- { "floatSideGrowProc", floatSideGrowProc },
- { "floatSideZoomProc", floatSideZoomGrowProc },
- { "floatSideZoomGrowProc", floatSideZoomGrowProc },
- { NULL, 0 }
- };
- static const struct StrIntMap classMap[] = {
- { "alert", kAlertWindowClass },
- { "moveableAlert", kMovableAlertWindowClass },
- { "modal", kModalWindowClass },
- { "moveableModal", kMovableModalWindowClass },
- { "floating", kFloatingWindowClass },
- { "document", kDocumentWindowClass },
- { "utility", kUtilityWindowClass },
- { "help", kHelpWindowClass },
- { "sheet", kSheetWindowClass },
- { "toolbar", kToolbarWindowClass },
- { "plain", kPlainWindowClass },
- { "overlay", kOverlayWindowClass },
- { "sheetAlert", kSheetAlertWindowClass },
- { "altPlain", kAltPlainWindowClass },
- { "simple", kSimpleWindowClass },
- { "drawer", kDrawerWindowClass },
- { NULL, 0 }
- };
- static const struct StrIntMap compositeAttrMap[] = {
- { "none", kWindowNoAttributes },
- { "standardDocument", kWindowStandardDocumentAttributes },
- { "standardFloating", kWindowStandardFloatingAttributes },
- { "fullZoom", kWindowFullZoomAttribute },
- { NULL, 0 }
- };
- static const struct StrIntMap attrMap[] = {
- { "closeBox", kWindowCloseBoxAttribute },
- { "horizontalZoom", kWindowHorizontalZoomAttribute },
- { "verticalZoom", kWindowVerticalZoomAttribute },
- { "collapseBox", kWindowCollapseBoxAttribute },
- { "resizable", kWindowResizableAttribute },
- { "sideTitlebar", kWindowSideTitlebarAttribute },
- { "toolbarButton", kWindowToolbarButtonAttribute },
- { "unifiedTitleAndToolbar", kWindowUnifiedTitleAndToolbarAttribute },
- { "metal", kWindowMetalAttribute },
- { "noTitleBar", kWindowNoTitleBarAttribute },
- { "texturedSquareCorners", kWindowTexturedSquareCornersAttribute },
- { "metalNoContentSeparator", kWindowMetalNoContentSeparatorAttribute },
- { "doesNotCycle", kWindowDoesNotCycleAttribute },
- { "noUpdates", kWindowNoUpdatesAttribute },
- { "noActivates", kWindowNoActivatesAttribute },
- { "opaqueForEvents", kWindowOpaqueForEventsAttribute },
- { "noShadow", kWindowNoShadowAttribute },
- { "hideOnSuspend", kWindowHideOnSuspendAttribute },
- { "hideOnFullScreen", kWindowHideOnFullScreenAttribute },
- { "inWindowMenu", kWindowInWindowMenuAttribute },
- { "liveResize", kWindowLiveResizeAttribute },
- { "ignoreClicks", kWindowIgnoreClicksAttribute },
- { "noConstrain", kWindowNoConstrainAttribute },
- { NULL, 0 }
- };
- int index, i;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (objc == 3) {
- if (wmPtr->style != -1) {
- for (i = 0; styleMap[i].strValue != NULL; i++) {
- if (wmPtr->style == (short) styleMap[i].intValue) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(styleMap[i].strValue, -1));
- return TCL_OK;
- }
- }
- Tcl_Panic("invalid style");
- } else {
- Tcl_Obj *attributeList, *newResult = NULL;
- WindowAttributes attributes;
-
- for (i = 0; classMap[i].strValue != NULL; i++) {
- if (wmPtr->macClass == classMap[i].intValue) {
- newResult = Tcl_NewStringObj(classMap[i].strValue, -1);
- break;
- }
- }
- if (newResult == NULL) {
- Tcl_Panic("invalid class");
- }
-
- attributeList = Tcl_NewObj();
- attributes = wmPtr->attributes;
-
- for (i = 0; compositeAttrMap[i].strValue != NULL; i++) {
- UInt32 intValue = compositeAttrMap[i].intValue;
-
- if (intValue && (attributes & intValue) == intValue) {
- Tcl_ListObjAppendElement(NULL, attributeList,
- Tcl_NewStringObj(compositeAttrMap[i].strValue,
- -1));
- attributes &= ~intValue;
- break;
- }
- }
- for (i = 0; attrMap[i].strValue != NULL; i++) {
- if (attributes & attrMap[i].intValue) {
- Tcl_ListObjAppendElement(NULL, attributeList,
- Tcl_NewStringObj(attrMap[i].strValue, -1));
- }
- }
- Tcl_ListObjAppendElement(NULL, newResult, attributeList);
- Tcl_SetObjResult(interp, newResult);
- }
- } else if (objc == 4) {
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], styleMap,
- sizeof(struct StrIntMap), "style", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- wmPtr->style = styleMap[index].intValue;
- } else if (objc == 5) {
- int attrObjc;
- Tcl_Obj **attrObjv = NULL;
- WindowClass oldClass = wmPtr->macClass;
- WindowAttributes oldAttributes = wmPtr->attributes;
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], classMap,
- sizeof(struct StrIntMap), "class", 0, &index) != TCL_OK) {
- goto badClassAttrs;
- }
- wmPtr->macClass = classMap[index].intValue;
- if (!IsValidWindowClass(wmPtr->macClass)) {
- goto badClassAttrs;
- }
- if (Tcl_ListObjGetElements(interp, objv[4], &attrObjc, &attrObjv)
- != TCL_OK) {
- goto badClassAttrs;
- }
- wmPtr->attributes = kWindowNoAttributes;
- for (i = 0; i < attrObjc; i++) {
- if (Tcl_GetIndexFromObjStruct(interp, attrObjv[i],
- compositeAttrMap, sizeof(struct StrIntMap),
- "attribute", 0, &index) == TCL_OK) {
- wmPtr->attributes |= compositeAttrMap[index].intValue;
- } else if (Tcl_GetIndexFromObjStruct(interp, attrObjv[i],
- attrMap, sizeof(struct StrIntMap),
- "attribute", 0, &index) == TCL_OK) {
- Tcl_ResetResult(interp);
- wmPtr->attributes |= attrMap[index].intValue;
- } else {
- goto badClassAttrs;
- }
- }
- ApplyWindowClassAttributeChanges(winPtr, NULL, oldClass, oldAttributes,
- 0);
- wmPtr->style = -1;
- return TCL_OK;
-
- badClassAttrs:
- wmPtr->macClass = oldClass;
- wmPtr->attributes = oldAttributes;
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMakeMenuWindow --
- *
- * Configure the window to be either a undecorated pull-down (or pop-up)
- * menu, or as a toplevel floating menu (palette).
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the style bit used to create a new Mac toplevel.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMakeMenuWindow(
- Tk_Window tkwin, /* New window. */
- int transient) /* 1 means menu is only posted briefly as a
- * popup or pulldown or cascade. 0 means menu
- * is always visible, e.g. as a floating
- * menu. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- if (transient) {
- winPtr->wmInfoPtr->macClass = kSimpleWindowClass;
- winPtr->wmInfoPtr->attributes = kWindowNoActivatesAttribute;
- } else {
- winPtr->wmInfoPtr->macClass = kFloatingWindowClass;
- winPtr->wmInfoPtr->attributes = kWindowStandardFloatingAttributes;
- winPtr->wmInfoPtr->flags |= WM_WIDTH_NOT_RESIZABLE;
- winPtr->wmInfoPtr->flags |= WM_HEIGHT_NOT_RESIZABLE;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMakeRealWindowExist --
- *
- * This function finally creates the real Macintosh window that the Mac
- * actually understands.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A new Macintosh toplevel is created.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXMakeRealWindowExist(
- TkWindow *winPtr) /* Tk window. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- WindowRef newWindow = NULL;
- ControlRef rootControl = NULL;
- MacDrawable *macWin;
- Rect initialBounds = {42, 0, 43, 1}, geometry, strWidths;
- short structureW, structureH;
- TkMacOSXWindowList *listPtr;
- OSStatus err;
-
- if (TkMacOSXHostToplevelExists(winPtr)) {
- return;
- }
-
- macWin = (MacDrawable *) winPtr->window;
-
- /*
- * If this is embedded, make sure its container's toplevel exists,
- * then return...
- */
-
- if (Tk_IsEmbedded(winPtr)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(winPtr);
-
- if (contWinPtr != NULL) {
- TkMacOSXMakeRealWindowExist(
- contWinPtr->privatePtr->toplevel->winPtr);
- macWin->flags |= TK_HOST_EXISTS;
- return;
- }
-
- if (tkMacOSXEmbedHandler == NULL) {
- Tcl_Panic("TkMacOSXMakeRealWindowExist could not find container");
- }
- if (tkMacOSXEmbedHandler->containerExistProc &&
- tkMacOSXEmbedHandler->containerExistProc((Tk_Window) winPtr)
- != TCL_OK) {
- Tcl_Panic("ContainerExistProc could not make container");
- }
- return;
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-
- if (wmPtr->style == -1) {
- if (!IsValidWindowClass(wmPtr->macClass)) {
- TkMacOSXDbgMsg("Invalid window class: %ld", wmPtr->macClass);
- wmPtr->macClass = kPlainWindowClass;
- }
- wmPtr->attributes = (wmPtr->attributes | kWindowAsyncDragAttribute) &
- GetAvailableWindowAttributes(wmPtr->macClass);
- err = ChkErr(CreateNewWindow, wmPtr->macClass, wmPtr->attributes,
- &initialBounds, &newWindow);
- if (err != noErr) {
- newWindow = NULL;
- }
- } else {
- TkMacOSXDbgMsg("Window creation via NewCWindow API is deprecated, "
- "use a window class instead of style %d", wmPtr->style);
- newWindow = NewCWindow(NULL, &initialBounds, "\p", false,
- wmPtr->style, (WindowRef) -1, true, 0);
- }
-
- if (newWindow == NULL) {
- Tcl_Panic("couldn't allocate new Mac window");
- }
-
- ChkErr(GetWindowStructureWidths, newWindow, &strWidths);
- if (wmPtr->macClass == kFloatingWindowClass) {
- /*
- * Workaround GetWindowStructureWidths() Carbon bug:
- */
-
- strWidths.top = 16;
- }
- wmPtr->xInParent = strWidths.left;
- wmPtr->yInParent = strWidths.top;
- structureW = strWidths.left + strWidths.right;
- structureH = strWidths.top + strWidths.bottom;
- wmPtr->parentWidth = winPtr->changes.width + structureW;
- wmPtr->parentHeight = winPtr->changes.height + structureH;
- InitialWindowBounds(winPtr, newWindow, &geometry);
- geometry.right += structureW;
- geometry.bottom += structureH;
- ChkErr(SetWindowBounds, newWindow, kWindowStructureRgn, &geometry);
-
- TkMacOSXInstallWindowCarbonEventHandler(NULL, newWindow);
- if (ChkErr(CreateRootControl, newWindow, &rootControl) != noErr ) {
- Tcl_Panic("couldn't create root control for new Mac window");
- }
- if (wmPtr->attributes & kWindowResizableAttribute) {
- HIViewRef growBoxView;
-
- err = HIViewFindByID(HIViewGetRoot(newWindow),
- kHIViewWindowGrowBoxID, &growBoxView);
- if (err == noErr && !HIGrowBoxViewIsTransparent(growBoxView)) {
- ChkErr(HIGrowBoxViewSetTransparent, growBoxView, true);
- }
- }
-
- /*
- * Add this window to the list of toplevel windows.
- */
-
- listPtr = ckalloc(sizeof(TkMacOSXWindowList));
- listPtr->nextPtr = tkMacOSXWindowListPtr;
- listPtr->winPtr = winPtr;
- tkMacOSXWindowListPtr = listPtr;
-
- macWin->grafPtr = GetWindowPort(newWindow);
- macWin->rootControl = rootControl;
-
- if (wmPtr->master != None || winPtr->atts.override_redirect) {
- ApplyMasterOverrideChanges(winPtr, newWindow);
- }
- SetWindowModified(newWindow, false);
- TkMacOSXRegisterOffScreenWindow((Window) macWin, (GWorldPtr) newWindow);
- macWin->flags |= TK_HOST_EXISTS;
- ChkErr(GetWindowClass, newWindow, &(wmPtr->macClass));
- ChkErr(GetWindowAttributes, newWindow, &(wmPtr->attributes));
-
-#ifdef TK_MAC_DEBUG_WINDOWS
- TkMacOSXInitNamedDebugSymbol(HIToolbox, void, DebugPrintWindow, WindowRef);
- if (DebugPrintWindow) {
- DebugPrintWindow(newWindow);
- }
-#endif /* TK_MAC_DEBUG_WINDOWS */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXRegisterOffScreenWindow --
- *
- * This function adds the passed in Off Screen Port to the hash table
- * that maps Mac windows to root X windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * An entry is added to the windowTable hash table.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXRegisterOffScreenWindow(
- Window window, /* Window structure. */
- void *portPtr) /* Pointer to a Mac GWorld. */
-{
- Tcl_HashEntry *valueHashPtr;
- int isNew;
-
- if (!windowHashInit) {
- Tcl_InitHashTable(&windowTable, TCL_ONE_WORD_KEYS);
- windowHashInit = true;
- }
- valueHashPtr = Tcl_CreateHashEntry(&windowTable, (char *) portPtr, &isNew);
- if (!isNew) {
- Tcl_Panic("Same macintosh window allocated twice!");
- }
- Tcl_SetHashValue(valueHashPtr, window);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUnregisterMacWindow --
- *
- * Given a macintosh port window, this function removes the association
- * between this window and the root X window that Tk cares about.
- *
- * Results:
- * None.
- *
- * Side effects:
- * An entry is removed from the windowTable hash table.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXUnregisterMacWindow(
- void *macWinPtr) /* Reference to a Mac Window */
-{
- Tcl_HashEntry *entryPtr;
-
- if (!windowHashInit) {
- Tcl_Panic("TkMacOSXUnregisterMacWindow: unmapping before inited");
- }
- entryPtr = Tcl_FindHashEntry(&windowTable,(char *) macWinPtr);
- if (!entryPtr) {
- TkMacOSXDbgMsg("Failed to find window %08x", (int) macWinPtr);
- } else {
- Tcl_DeleteHashEntry(entryPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetScrollbarGrow --
- *
- * Sets a flag for a toplevel window indicating that the passed Tk
- * scrollbar window will display the grow region for the toplevel window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A flag is set int windows toplevel parent.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetScrollbarGrow(
- TkWindow *winPtr, /* Tk scrollbar window. */
- int flag) /* Boolean value true or false. */
-{
- if (flag) {
- winPtr->privatePtr->toplevel->flags |= TK_SCROLLBAR_GROW;
- winPtr->privatePtr->toplevel->winPtr->wmInfoPtr->scrollWinPtr = winPtr;
- } else if (winPtr->privatePtr->toplevel->winPtr->wmInfoPtr->scrollWinPtr
- == winPtr) {
- winPtr->privatePtr->toplevel->flags &= ~TK_SCROLLBAR_GROW;
- winPtr->privatePtr->toplevel->winPtr->wmInfoPtr->scrollWinPtr = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmFocusToplevel --
- *
- * This is a utility procedure invoked by focus-management code. It
- * exists because of the extra wrapper windows that exist under Unix; its
- * job is to map from wrapper windows to the corresponding toplevel
- * windows. On PCs and Macs there are no wrapper windows so no mapping is
- * necessary; this procedure just determines whether a window is a
- * toplevel or not.
- *
- * Results:
- * If winPtr is a toplevel window, returns the pointer to the window;
- * otherwise returns NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow *
-TkWmFocusToplevel(
- TkWindow *winPtr) /* Window that received a focus-related
- * event. */
-{
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- return NULL;
- }
- return winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetWrapperWindow --
- *
- * This is a utility procedure invoked by focus-management code. It maps
- * to the wrapper for a top-level, which is just the same as the
- * top-level on Macs and PCs.
- *
- * Results:
- * If winPtr is a toplevel window, returns the pointer to the window;
- * otherwise returns NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow *
-TkpGetWrapperWindow(
- TkWindow *winPtr) /* Window that received a focus-related
- * event. */
-{
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- return NULL;
- }
- return winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpWmSetState --
- *
- * Sets the window manager state for the wrapper window of a given
- * toplevel window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May maximize, minimize, restore, or withdraw a window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpWmSetState(
- TkWindow *winPtr, /* Toplevel window to operate on. */
- int state) /* One of IconicState, ZoomState, NormalState,
- * or WithdrawnState. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- WindowRef macWin;
-
- wmPtr->hints.initial_state = state;
- if (wmPtr->flags & WM_NEVER_MAPPED) {
- return;
- }
-
- macWin = TkMacOSXDrawableWindow(winPtr->window);
-
- if (state == WithdrawnState) {
- Tk_UnmapWindow((Tk_Window) winPtr);
- } else if (state == IconicState) {
- /*
- * The window always gets unmapped. If we can show the icon version of
- * the window we also collapse it.
- */
-
- if (IsWindowCollapsable(macWin) && !IsWindowCollapsed(macWin)) {
- CollapseWindow(macWin, true);
- }
- Tk_UnmapWindow((Tk_Window) winPtr);
- } else if (state == NormalState) {
- Tk_MapWindow((Tk_Window) winPtr);
- if (IsWindowCollapsable(macWin) && IsWindowCollapsed(macWin)) {
- CollapseWindow(macWin, false);
- }
- TkMacOSXZoomToplevel(macWin, inZoomIn);
- } else if (state == ZoomState) {
- Tk_MapWindow((Tk_Window) winPtr);
- if (IsWindowCollapsable(macWin) && IsWindowCollapsed(macWin)) {
- CollapseWindow(macWin, false);
- }
- TkMacOSXZoomToplevel(macWin, inZoomOut);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpIsWindowFloating --
- *
- * Returns 1 if a window is floating, 0 otherwise.
- *
- * Results:
- * 1 or 0 depending on window's floating attribute.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpIsWindowFloating(
- void *wRef)
-{
- WindowClass class;
-
- if (wRef == NULL) {
- return 0;
- }
-
- GetWindowClass(wRef, &class);
- return (class == kFloatingWindowClass);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWindowClass --
- *
- * Returns OS X window class of window
- *
- * Results:
- * 1 or 0 depending on window's floating attribute.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE WindowClass
-TkMacOSXWindowClass(
- TkWindow *winPtr)
-{
- return winPtr->wmInfoPtr->macClass;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkMacOSXWindowOffset --
- *
- * Determines the x and y offset from the orgin of the toplevel window
- * dressing (the structure region, i.e. title bar) and the orgin of the
- * content area.
- *
- * Results:
- * The x & y offset in pixels.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXWindowOffset(
- void *wRef,
- int *xOffset,
- int *yOffset)
-{
- Window window;
- TkDisplay *dispPtr;
- TkWindow *winPtr;
-
- window = TkMacOSXGetXWindow(wRef);
- dispPtr = TkGetDisplayList();
- winPtr = (TkWindow *) Tk_IdToWindow(dispPtr->display, window);
- *xOffset = winPtr->wmInfoPtr->xInParent;
- *yOffset = winPtr->wmInfoPtr->yInParent;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetMS --
- *
- * Return a relative time in milliseconds. It doesn't matter when the
- * epoch was.
- *
- * Results:
- * Number of milliseconds.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-unsigned long
-TkpGetMS(void)
-{
- Tcl_Time now;
-
- Tcl_GetTime(&now);
- return (long) now.sec * 1000 + now.usec / 1000;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XSetInputFocus --
- *
- * Change the focus window for the application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XSetInputFocus(
- Display* display,
- Window focus,
- int revert_to,
- Time time)
-{
- /*
- * Don't need to do a thing. Tk manages the focus for us.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpChangeFocus --
- *
- * This procedure is a stub on the Mac because we always own the focus if
- * we are a front most application.
- *
- * Results:
- * The return value is the serial number of the command that changed the
- * focus. It may be needed by the caller to filter out focus change
- * events that were queued before the command. If the procedure doesn't
- * actually change the focus then it returns 0.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpChangeFocus(
- TkWindow *winPtr, /* Window that is to receive the X focus. */
- int force) /* Non-zero means claim the focus even if it
- * didn't originally belong to topLevelPtr's
- * application. */
-{
- /*
- * We don't really need to do anything on the Mac. Tk will keep all this
- * state for us.
- */
-
- if (winPtr->atts.override_redirect) {
- return 0;
- }
-
- /*
- * Remember the current serial number for the X server and issue a dummy
- * server request. This marks the position at which we changed the focus,
- * so we can distinguish FocusIn and FocusOut events on either side of the
- * mark.
- */
-
- return NextRequest(winPtr->display);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmStackorderToplevelWrapperMap --
- *
- * This procedure will create a table that maps the reparent wrapper X id
- * for a toplevel to the TkWindow structure that is wraps. Tk keeps track
- * of a mapping from the window X id to the TkWindow structure but that
- * does us no good here since we only get the X id of the wrapper window.
- * Only those toplevel windows that are mapped have a position in the
- * stacking order.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Adds entries to the passed hashtable.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-WmStackorderToplevelWrapperMap(
- TkWindow *winPtr, /* TkWindow to recurse on */
- Display *display, /* X display of parent window */
- Tcl_HashTable *table) /* Maps mac window to TkWindow */
-{
- TkWindow *childPtr;
- Tcl_HashEntry *hPtr;
- WindowRef macWindow;
- int newEntry;
-
- if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr)
- && (winPtr->display == display)) {
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
-
- hPtr = Tcl_CreateHashEntry(table,
- (const char *) macWindow, &newEntry);
- Tcl_SetHashValue(hPtr, winPtr);
- }
-
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- WmStackorderToplevelWrapperMap(childPtr, display, table);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmStackorderToplevel --
- *
- * This procedure returns the stack order of toplevel windows.
- *
- * Results:
- * An array of pointers to tk window objects in stacking order or else
- * NULL if there was an error.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow **
-TkWmStackorderToplevel(
- TkWindow *parentPtr) /* Parent toplevel window. */
-{
- WindowRef frontWindow;
- TkWindow *childWinPtr, **windows, **windowPtr;
- Tcl_HashTable table;
- Tcl_HashEntry *hPtr;
- Tcl_HashSearch search;
-
- /*
- * Map mac windows to a TkWindow of the wrapped toplevel.
- */
-
- Tcl_InitHashTable(&table, TCL_ONE_WORD_KEYS);
- WmStackorderToplevelWrapperMap(parentPtr, parentPtr->display, &table);
-
- windows = ckalloc((table.numEntries+1) * sizeof(TkWindow *));
-
- /*
- * Special cases: If zero or one toplevels were mapped there is no need to
- * enumerate Windows.
- */
-
- switch (table.numEntries) {
- case 0:
- windows[0] = NULL;
- goto done;
- case 1:
- hPtr = Tcl_FirstHashEntry(&table, &search);
- windows[0] = Tcl_GetHashValue(hPtr);
- windows[1] = NULL;
- goto done;
- }
-
- frontWindow = GetFrontWindowOfClass(kAllWindowClasses, false);
- if (frontWindow == NULL) {
- ckfree(windows);
- windows = NULL;
- } else {
- windowPtr = windows + table.numEntries;
- *windowPtr-- = NULL;
- while (frontWindow != NULL) {
- hPtr = Tcl_FindHashEntry(&table, (char *) frontWindow);
- if (hPtr != NULL) {
- childWinPtr = Tcl_GetHashValue(hPtr);
- *windowPtr-- = childWinPtr;
- }
- frontWindow = GetNextWindow(frontWindow);
- }
- if (windowPtr != windows-1) {
- Tcl_Panic("num matched toplevel windows does not equal num "
- "children");
- }
- }
-
- done:
- Tcl_DeleteHashTable(&table);
- return windows;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ApplyWindowClassAttributeChanges --
- *
- * This procedure applies carbon window class and attribute changes.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ApplyWindowClassAttributeChanges(
- TkWindow *winPtr,
- WindowRef macWindow,
- WindowClass oldClass,
- WindowAttributes oldAttributes,
- int create)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- WindowAttributes newAttributes = wmPtr->attributes |
- kWindowAsyncDragAttribute;
-
- if (wmPtr->macClass != oldClass || newAttributes != oldAttributes) {
- Rect strWidths;
-
- if (!macWindow) {
- if (winPtr->window == None) {
- if (create) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- } else {
- return;
- }
- }
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- if (create) {
- TkMacOSXMakeRealWindowExist(winPtr);
- } else {
- return;
- }
- }
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
- }
- if (wmPtr->macClass != oldClass) {
- TK_IF_MAC_OS_X_API (4, HIWindowChangeClass,
- ChkErr(HIWindowChangeClass, macWindow, wmPtr->macClass);
- ) TK_ENDIF
- ChkErr(GetWindowClass, macWindow, &(wmPtr->macClass));
- }
- if (newAttributes != oldAttributes) {
- newAttributes &= GetAvailableWindowAttributes(wmPtr->macClass);
- ChkErr(ChangeWindowAttributes, macWindow,
- newAttributes & (newAttributes ^ oldAttributes),
- oldAttributes & (newAttributes ^ oldAttributes));
- }
- ChkErr(GetWindowAttributes, macWindow, &(wmPtr->attributes));
- if ((wmPtr->attributes ^ oldAttributes) & kWindowResizableAttribute) {
- if (wmPtr->attributes & kWindowResizableAttribute) {
- HIViewRef growBoxView;
- OSStatus err = HIViewFindByID(HIViewGetRoot(macWindow),
- kHIViewWindowGrowBoxID, &growBoxView);
-
- if (err == noErr && !HIGrowBoxViewIsTransparent(growBoxView)) {
- ChkErr(HIGrowBoxViewSetTransparent, growBoxView, true);
- }
- }
- TkMacOSXInvalClipRgns((Tk_Window) winPtr);
- TkMacOSXInvalidateWindow((MacDrawable *) winPtr->window,
- TK_PARENT_WINDOW);
- }
-
- /*
- * The change of window class/attributes might have changed the window
- * structure widths:
- */
-
- GetWindowStructureWidths(macWindow, &strWidths);
- wmPtr->xInParent = strWidths.left;
- wmPtr->yInParent = strWidths.top;
- wmPtr->parentWidth = winPtr->changes.width + strWidths.left
- + strWidths.right;
- wmPtr->parentHeight = winPtr->changes.height + strWidths.top
- + strWidths.bottom;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ApplyMasterOverrideChanges --
- *
- * This procedure applies changes to override_redirect or master.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ApplyMasterOverrideChanges(
- TkWindow *winPtr,
- WindowRef macWindow)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- WindowClass oldClass = wmPtr->macClass;
- WindowAttributes oldAttributes = wmPtr->attributes;
-
- /*
- * FIX: We need an UpdateWrapper equivalent to make this 100% correct
- */
-
- if (winPtr->atts.override_redirect) {
- if (oldClass == kDocumentWindowClass) {
- wmPtr->macClass = kSimpleWindowClass;
- wmPtr->attributes = kWindowNoAttributes;
- }
- wmPtr->attributes |= kWindowNoActivatesAttribute;
- } else {
- if (oldClass == kSimpleWindowClass &&
- oldAttributes == kWindowNoActivatesAttribute) {
- wmPtr->macClass = kDocumentWindowClass;
- wmPtr->attributes = kWindowStandardDocumentAttributes
- | kWindowLiveResizeAttribute;
- }
- wmPtr->attributes &= ~kWindowNoActivatesAttribute;
- }
- if (!macWindow && winPtr->window != None &&
- TkMacOSXHostToplevelExists(winPtr)) {
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
- }
- if (macWindow) {
- WindowGroupRef group;
-
- ApplyWindowClassAttributeChanges(winPtr, macWindow, oldClass,
- oldAttributes, 0);
-
- if (winPtr->atts.override_redirect && wmPtr->master != None) {
- wmPtr->flags |= WM_TOPMOST;
- } else {
- wmPtr->flags &= ~WM_TOPMOST;
- }
- group = WmGetWindowGroup(winPtr);
- if (group && group != GetWindowGroup(macWindow)) {
- ChkErr(SetWindowGroup, macWindow, group);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGetWindowGroup --
- *
- * Gets the window group a toplevel should be placed in.
- *
- * Results:
- * A WindowGroupRef.
- *
- * Side effects:
- * A transient window group for the master (if any) may be created.
- *
- *----------------------------------------------------------------------
- */
-
-static WindowGroupRef
-WmGetWindowGroup(
- TkWindow *winPtr)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- WindowGroupRef group = NULL;
-
- if (wmPtr->flags & WM_TOPMOST) {
- group = GetWindowGroupOfClass(kUtilityWindowClass);
- } else if (wmPtr->master != None) {
- TkDisplay *dispPtr = TkGetDisplayList();
- TkWindow *masterWinPtr = (TkWindow *)
- Tk_IdToWindow(dispPtr->display, wmPtr->master);
-
- if (masterWinPtr && masterWinPtr->window != None &&
- TkMacOSXHostToplevelExists(masterWinPtr)) {
- WindowRef masterMacWin =
- TkMacOSXDrawableWindow(masterWinPtr->window);
-
- if (masterMacWin && GetWindowProperty(masterMacWin, 'Tk ', 'TsGp',
- sizeof(group), NULL, &group) != noErr) {
- ChkErr(CreateWindowGroup, 0, &group);
- if (group) {
- ChkErr(SetWindowGroupParent, group,
- GetWindowGroup(masterMacWin));
- ChkErr(SetWindowGroupOwner, group, masterMacWin);
- ChkErr(SetWindowProperty, masterMacWin, 'Tk ', 'TsGp',
- sizeof(group), &group);
- }
- }
- }
- }
- if (!group) {
- group = GetWindowGroupOfClass(wmPtr->macClass);
- }
- return group;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMakeFullscreen --
- *
- * This procedure sets a fullscreen window to the size of the screen.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXMakeFullscreen(
- TkWindow *winPtr,
- WindowRef window,
- int fullscreen,
- Tcl_Interp *interp)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int result = TCL_OK, wasFullscreen = (wmPtr->flags & WM_FULLSCREEN);
-
- if (fullscreen) {
- int screenWidth = WidthOfScreen(Tk_Screen(winPtr));
- int screenHeight = HeightOfScreen(Tk_Screen(winPtr));
-
- /*
- * Check max width and height if set by the user.
- */
-
- if ((wmPtr->maxWidth > 0 && wmPtr->maxWidth < screenWidth)
- || (wmPtr->maxHeight > 0 && wmPtr->maxHeight < screenHeight)) {
- if (interp) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't set fullscreen attribute for \"%s\": max"
- " width/height is too small", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "FULLSCREEN",
- "CONSTRAINT_FAILURE", NULL);
- }
- result = TCL_ERROR;
- wmPtr->flags &= ~WM_FULLSCREEN;
- } else {
- Rect bounds, screenBounds = {0, 0, screenHeight, screenWidth};
-
- ChkErr(GetWindowBounds, window, kWindowContentRgn, &bounds);
- if (!EqualRect(&bounds, &screenBounds)) {
- if (!wasFullscreen) {
- wmPtr->configX = wmPtr->x;
- wmPtr->configY = wmPtr->y;
- wmPtr->configAttributes = wmPtr->attributes;
- wmPtr->attributes &= ~kWindowResizableAttribute;
- ApplyWindowClassAttributeChanges(winPtr, window,
- wmPtr->macClass, wmPtr->configAttributes, 0);
- }
- wmPtr->flags |= WM_SYNC_PENDING;
- ChkErr(SetWindowBounds, window, kWindowContentRgn,
- &screenBounds);
- wmPtr->flags &= ~WM_SYNC_PENDING;
- }
- wmPtr->flags |= WM_FULLSCREEN;
- }
- } else {
- wmPtr->flags &= ~WM_FULLSCREEN;
- }
- if (wasFullscreen && !(wmPtr->flags & WM_FULLSCREEN)) {
- WindowAttributes oldAttributes = wmPtr->attributes;
- Rect bounds = {wmPtr->configY, wmPtr->configX,
- wmPtr->configY + wmPtr->yInParent + wmPtr->configHeight,
- wmPtr->configX + wmPtr->xInParent + wmPtr->configWidth};
-
- wmPtr->attributes |= wmPtr->configAttributes &
- kWindowResizableAttribute;
- ApplyWindowClassAttributeChanges(winPtr, window, wmPtr->macClass,
- oldAttributes, 0);
- wmPtr->flags |= WM_SYNC_PENDING;
- ChkErr(SetWindowBounds, window, kWindowStructureRgn, &bounds);
- wmPtr->flags &= ~WM_SYNC_PENDING;
- }
- TkMacOSXEnterExitFullscreen(winPtr, IsWindowActive(window));
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXEnterExitFullscreen --
- *
- * This procedure enters or exits fullscreen mode if required.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXEnterExitFullscreen(
- TkWindow *winPtr,
- int active)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- SystemUIMode mode;
- SystemUIOptions options;
-
- GetSystemUIMode(&mode, &options);
- if (wmPtr->flags & WM_FULLSCREEN && active) {
- static SystemUIMode fullscreenMode = 0;
- static SystemUIOptions fullscreenOptions = 0;
-
- if (!fullscreenMode) {
- TK_IF_HI_TOOLBOX (3,
- fullscreenMode = kUIModeAllSuppressed;
- ) TK_ELSE_HI_TOOLBOX (3,
- fullscreenMode = kUIModeAllHidden;
- fullscreenOptions = kUIOptionAutoShowMenuBar;
- ) TK_ENDIF
- }
- if (mode != fullscreenMode) {
- ChkErr(SetSystemUIMode, fullscreenMode, fullscreenOptions);
- }
- } else {
- if (mode != kUIModeNormal) {
- ChkErr(SetSystemUIMode, kUIModeNormal, 0);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMinSize --
- *
- * This function computes the current minWidth and minHeight values for a
- * window, taking into account the possibility that they may be
- * defaulted.
- *
- * Results:
- * The values at *minWidthPtr and *minHeightPtr are filled in with the
- * minimum allowable dimensions of wmPtr's window, in grid units. If the
- * requested minimum is smaller than the system required minimum, then
- * this function computes the smallest size that will satisfy both the
- * system and the grid constraints.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GetMinSize(
- TkWindow *winPtr, /* Toplevel window to operate on. */
- int *minWidthPtr, /* Where to store the current minimum width of
- * the window. */
- int *minHeightPtr) /* Where to store the current minimum height
- * of the window. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int minWidth = 1, minHeight = 1;
-
- /*
- * Compute the minimum width & height by taking the default client size and
- * rounding it up to the nearest grid unit. Return the greater of the
- * default minimum and the specified minimum.
- */
-
- switch (wmPtr->macClass) {
- case kDocumentWindowClass:
- case kMovableAlertWindowClass:
- case kMovableModalWindowClass:
- minWidth = 72;
- if (wmPtr->attributes & kWindowResizableAttribute) {
- minHeight = 15;
- }
- if (wmPtr->attributes & kWindowToolbarButtonAttribute) {
- minWidth += 29;
- }
- break;
- case kFloatingWindowClass:
- case kUtilityWindowClass:
- minWidth = 59;
- if (wmPtr->attributes & kWindowResizableAttribute) {
- minHeight = 11;
- }
- if (wmPtr->attributes & kWindowSideTitlebarAttribute) {
- int tmp = minWidth;
-
- minWidth = minHeight;
- minHeight = tmp;
- } else if (wmPtr->attributes & kWindowToolbarButtonAttribute) {
- minWidth += 29;
- }
- break;
- default:
- if (wmPtr->attributes & kWindowResizableAttribute) {
- minWidth = 15;
- minHeight = 15;
- }
- break;
- }
-
- if (wmPtr->gridWin != NULL) {
- int base = winPtr->reqWidth - (wmPtr->reqGridWidth * wmPtr->widthInc);
-
- if (base < 0) {
- base = 0;
- }
- minWidth = ((minWidth - base) + wmPtr->widthInc-1)/wmPtr->widthInc;
- base = winPtr->reqHeight - (wmPtr->reqGridHeight * wmPtr->heightInc);
- if (base < 0) {
- base = 0;
- }
- minHeight = ((minHeight - base) + wmPtr->heightInc-1)/wmPtr->heightInc;
- }
- if (minWidth < wmPtr->minWidth) {
- minWidth = wmPtr->minWidth;
- }
- if (minHeight < wmPtr->minHeight) {
- minHeight = wmPtr->minHeight;
- }
- *minWidthPtr = minWidth;
- *minHeightPtr = minHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMaxSize --
- *
- * This function computes the current maxWidth and maxHeight values for a
- * window, taking into account the possibility that they may be
- * defaulted.
- *
- * Results:
- * The values at *maxWidthPtr and *maxHeightPtr are filled in with the
- * maximum allowable dimensions of wmPtr's window, in grid units. If no
- * maximum has been specified for the window, then this function computes
- * the largest sizes that will fit on the screen.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GetMaxSize(
- TkWindow *winPtr, /* Toplevel window to operate on. */
- int *maxWidthPtr, /* Where to store the current maximum width of
- * the window. */
- int *maxHeightPtr) /* Where to store the current maximum height
- * of the window. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- Rect *maxBounds = (Rect*)(winPtr->display->screens->ext_data);
-
- if (wmPtr->maxWidth > 0) {
- *maxWidthPtr = wmPtr->maxWidth;
- } else {
- int maxWidth = maxBounds->right - maxBounds->left - wmPtr->xInParent;
-
- if (wmPtr->gridWin != NULL) {
- maxWidth = wmPtr->reqGridWidth
- + (maxWidth - winPtr->reqWidth)/wmPtr->widthInc;
- }
- *maxWidthPtr = maxWidth;
- }
- if (wmPtr->maxHeight > 0) {
- *maxHeightPtr = wmPtr->maxHeight;
- } else {
- int maxHeight = maxBounds->bottom - maxBounds->top - wmPtr->yInParent;
-
- if (wmPtr->gridWin != NULL) {
- maxHeight = wmPtr->reqGridHeight
- + (maxHeight - winPtr->reqHeight)/wmPtr->heightInc;
- }
- *maxHeightPtr = maxHeight;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RemapWindows
- *
- * Adjust parent/child relation ships of the given window hierarchy.
- *
- * Results:
- * none
- *
- * Side effects:
- * keeps windowing system (X11) happy
- *
- *----------------------------------------------------------------------
- */
-
-static void
-RemapWindows(
- TkWindow *winPtr,
- MacDrawable *parentWin)
-{
- TkWindow *childPtr;
-
- /*
- * Remove the OS specific window. It will get rebuilt when the window gets
- * Mapped.
- */
-
- if (winPtr->window != None) {
- MacDrawable *macWin = (MacDrawable *) winPtr->window;
-
- macWin->grafPtr = NULL;
- macWin->toplevel = parentWin->toplevel;
- winPtr->flags &= ~TK_MAPPED;
-#ifdef TK_REBUILD_TOPLEVEL
- winPtr->flags |= TK_REBUILD_TOPLEVEL;
-#endif
- }
-
- /* Repeat for all the children */
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- RemapWindows(childPtr, (MacDrawable *) winPtr->window);
- }
-}
-
-/*
- * Local Variables:
- * fill-column: 78
- * c-basic-offset: 4
- * End:
- */
diff --git a/carbon/tkMacOSXWm.h b/carbon/tkMacOSXWm.h
deleted file mode 100644
index ce4bede..0000000
--- a/carbon/tkMacOSXWm.h
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * tkMacOSXWm.h --
- *
- * Declarations of Macintosh specific window manager structures.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 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
- * unless explicitly disclaimed in individual files.
- *
- *
- * Apple hereby grants permission to use, copy, modify,
- * distribute, and license this software and its documentation
- * for any purpose, provided that existing copyright notices are
- * retained in all copies and that this notice is included
- * verbatim in any distributions. No written agreement, license,
- * or royalty fee is required for any of the authorized
- * uses. Modifications to this software may be copyrighted by
- * their authors and need not follow the licensing terms
- * described here, provided that the new terms are clearly
- * indicated on the first page of each file where they apply.
- *
- *
- * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE
- * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
- * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
- * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND
- * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS
- * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE
- * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
- * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * GOVERNMENT USE: If you are acquiring this software on behalf
- * of the U.S. government, the Government shall have only
- * "Restricted Rights" in the software and related documentation
- * as defined in the Federal Acquisition Regulations (FARs) in
- * Clause 52.227.19 (c) (2). If you are acquiring the software
- * on behalf of the Department of Defense, the software shall be
- * classified as "Commercial Computer Software" and the
- * Government shall have only "Restricted Rights" as defined in
- * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
- * foregoing, the authors grant the U.S. Government and others
- * acting in its behalf permission to use and distribute the
- * software in accordance with the terms specified in this
- * license.
- */
-
-#ifndef _TKMACWM
-#define _TKMACWM
-
-#include "tkMacOSXInt.h"
-
-/*
- * A data structure of the following type holds information for
- * each window manager protocol (such as WM_DELETE_WINDOW) for
- * which a handler (i.e. a Tcl command) has been defined for a
- * particular top-level window.
- */
-
-typedef struct ProtocolHandler {
- Atom protocol; /* Identifies the protocol. */
- struct ProtocolHandler *nextPtr;
- /* Next in list of protocol handlers for
- * the same top-level window, or NULL for
- * end of list. */
- Tcl_Interp *interp; /* Interpreter in which to invoke command. */
- char command[4]; /* Tcl command to invoke when a client
- * message for this protocol arrives.
- * The actual size of the structure varies
- * to accommodate the needs of the actual
- * command. THIS MUST BE THE LAST FIELD OF
- * THE STRUCTURE. */
-} ProtocolHandler;
-
-#define HANDLER_SIZE(cmdLength) \
-((unsigned) (sizeof(ProtocolHandler) - 3 + cmdLength))
-
-/*
- * A data structure of the following type holds window-manager-related
- * information for each top-level window in an application.
- */
-
-typedef struct TkWmInfo {
- TkWindow *winPtr; /* Pointer to main Tk information for
- * this window. */
- Window reparent; /* If the window has been reparented, this
- * gives the ID of the ancestor of the window
- * that is a child of the root window (may
- * not be window's immediate parent). If
- * the window isn't reparented, this has the
- * value None. */
- Tk_Uid titleUid; /* Title to display in window caption. If
- * NULL, use name of widget. */
- char *iconName; /* Name to display in icon. */
- Window master; /* Master window for TRANSIENT_FOR property,
- * or None. */
- XWMHints hints; /* Various pieces of information for
- * window manager. */
- char *leaderName; /* Path name of leader of window group
- * (corresponds to hints.window_group).
- * Malloc-ed. Note: this field doesn't
- * get updated if leader is destroyed. */
- char *masterWindowName; /* Path name of window specified as master
- * in "wm transient" command, or NULL.
- * Malloc-ed. Note: this field doesn't
- * get updated if masterWindowName is
- * destroyed. */
- Tk_Window icon; /* Window to use as icon for this window,
- * or NULL. */
- Tk_Window iconFor; /* Window for which this window is icon, or
- * NULL if this isn't an icon for anyone. */
-
- /*
- * Information used to construct an XSizeHints structure for
- * the window manager:
- */
-
- int sizeHintsFlags; /* Flags word for XSizeHints structure.
- * If the PBaseSize flag is set then the
- * window is gridded; otherwise it isn't
- * gridded. */
- int minWidth, minHeight; /* Minimum dimensions of window, in
- * grid units, not pixels. */
- int maxWidth, maxHeight; /* Maximum dimensions of window, in
- * grid units, not pixels. */
- Tk_Window gridWin; /* Identifies the window that controls
- * gridding for this top-level, or NULL if
- * the top-level isn't currently gridded. */
- int widthInc, heightInc; /* Increments for size changes (# pixels
- * per step). */
- struct {
- int x; /* numerator */
- int y; /* denominator */
- } minAspect, maxAspect; /* Min/max aspect ratios for window. */
- int reqGridWidth, reqGridHeight;
- /* The dimensions of the window (in
- * grid units) requested through
- * the geometry manager. */
- int gravity; /* Desired window gravity. */
-
- /*
- * Information used to manage the size and location of a window.
- */
-
- int width, height; /* Desired dimensions of window, specified
- * in grid units. These values are
- * set by the "wm geometry" command and by
- * ConfigureNotify events (for when wm
- * resizes window). -1 means user hasn't
- * requested dimensions. */
- int x, y; /* Desired X and Y coordinates for window.
- * These values are set by "wm geometry",
- * plus by ConfigureNotify events (when wm
- * moves window). These numbers are
- * different than the numbers stored in
- * winPtr->changes because (a) they could be
- * measured from the right or bottom edge
- * of the screen (see WM_NEGATIVE_X and
- * WM_NEGATIVE_Y flags) and (b) if the window
- * has been reparented then they refer to the
- * parent rather than the window itself. */
- int parentWidth, parentHeight;
- /* Width and height of reparent, in pixels
- * *including border*. If window hasn't been
- * reparented then these will be the outer
- * dimensions of the window, including
- * border. */
- int xInParent, yInParent; /* Offset of window within reparent, measured
- * from upper-left outer corner of parent's
- * border to upper-left outer corner of child's
- * border. If not reparented then these are
- * zero. */
- int configX, configY; /* x,y position of toplevel when window is
- * switched into fullscreen state, */
- int configWidth, configHeight;
- /* Dimensions passed to last request that we
- * issued to change geometry of window. Used
- * to eliminate redundant resize operations. */
-
- /*
- * Information about the virtual root window for this top-level,
- * if there is one.
- */
-
- Window vRoot; /* Virtual root window for this top-level,
- * or None if there is no virtual root
- * window (i.e. just use the screen's root). */
- int vRootX, vRootY; /* Position of the virtual root inside the
- * root window. If the WM_VROOT_OFFSET_STALE
- * flag is set then this information may be
- * incorrect and needs to be refreshed from
- * the X server. If vRoot is None then these
- * values are both 0. */
- unsigned int vRootWidth, vRootHeight;
- /* Dimensions of the virtual root window.
- * If vRoot is None, gives the dimensions
- * of the containing screen. This information
- * is never stale, even though vRootX and
- * vRootY can be. */
-
- /*
- * List of children of the toplevel which have private colormaps.
- */
-
- TkWindow **cmapList; /* Array of window with private colormaps. */
- int cmapCount; /* Number of windows in array. */
-
- /*
- * Miscellaneous information.
- */
-
- ProtocolHandler *protPtr; /* First in list of protocol handlers for
- * this window (NULL means none). */
- int cmdArgc; /* Number of elements in cmdArgv below. */
- const char **cmdArgv; /* Array of strings to store in the
- * WM_COMMAND property. NULL means nothing
- * available. */
- char *clientMachine; /* String to store in WM_CLIENT_MACHINE
- * property, or NULL. */
- int flags; /* Miscellaneous flags, defined below. */
-
- /*
- * Macintosh information.
- */
- WindowClass macClass;
- WindowAttributes attributes, configAttributes;
- TkWindow *scrollWinPtr; /* Ptr to scrollbar handling grow widget. */
- short style; /* Legacy window style. */
-} WmInfo;
-
-
-/*
- * Flag values for WmInfo structures:
- *
- * WM_NEVER_MAPPED - non-zero means window has never been
- * mapped; need to update all info when
- * window is first mapped.
- * WM_UPDATE_PENDING - non-zero means a call to UpdateGeometryInfo
- * has already been scheduled for this
- * window; no need to schedule another one.
- * WM_NEGATIVE_X - non-zero means x-coordinate is measured in
- * pixels from right edge of screen, rather
- * than from left edge.
- * WM_NEGATIVE_Y - non-zero means y-coordinate is measured in
- * pixels up from bottom of screen, rather than
- * down from top.
- * WM_UPDATE_SIZE_HINTS - non-zero means that new size hints need to be
- * propagated to window manager.
- * WM_SYNC_PENDING - set to non-zero while waiting for the window
- * manager to respond to some state change.
- * WM_VROOT_OFFSET_STALE - non-zero means that (x,y) offset information
- * about the virtual root window is stale and
- * needs to be fetched fresh from the X server.
- * WM_ABOUT_TO_MAP - non-zero means that the window is about to
- * be mapped by TkWmMapWindow. This is used
- * by UpdateGeometryInfo to modify its behavior.
- * WM_MOVE_PENDING - non-zero means the application has requested
- * a new position for the window, but it hasn't
- * been reflected through the window manager
- * yet.
- * WM_COLORMAPS_EXPLICIT - non-zero means the colormap windows were
- * set explicitly via "wm colormapwindows".
- * WM_ADDED_TOPLEVEL_COLORMAP - non-zero means that when "wm colormapwindows"
- * was called the top-level itself wasn't
- * specified, so we added it implicitly at
- * the end of the list.
- * WM_WIDTH_NOT_RESIZABLE - non-zero means that we're not supposed to
- * allow the user to change the width of the
- * window (controlled by "wm resizable"
- * command).
- * WM_HEIGHT_NOT_RESIZABLE - non-zero means that we're not supposed to
- * allow the user to change the height of the
- * window (controlled by "wm resizable"
- * command).
- */
-
-#define WM_NEVER_MAPPED 0x0001
-#define WM_UPDATE_PENDING 0x0002
-#define WM_NEGATIVE_X 0x0004
-#define WM_NEGATIVE_Y 0x0008
-#define WM_UPDATE_SIZE_HINTS 0x0010
-#define WM_SYNC_PENDING 0x0020
-#define WM_VROOT_OFFSET_STALE 0x0040
-#define WM_ABOUT_TO_MAP 0x0080
-#define WM_MOVE_PENDING 0x0100
-#define WM_COLORMAPS_EXPLICIT 0x0200
-#define WM_ADDED_TOPLEVEL_COLORMAP 0x0400
-#define WM_WIDTH_NOT_RESIZABLE 0x0800
-#define WM_HEIGHT_NOT_RESIZABLE 0x1000
-#define WM_TOPMOST 0x2000
-#define WM_FULLSCREEN 0x4000
-#define WM_TRANSPARENT 0x8000
-
-#endif
-
diff --git a/carbon/tkMacOSXXCursors.r b/carbon/tkMacOSXXCursors.r
deleted file mode 100644
index 81d2c00..0000000
--- a/carbon/tkMacOSXXCursors.r
+++ /dev/null
@@ -1,958 +0,0 @@
-/*
- * tkMacOSXXCursors.r --
- *
- * This file defines a set of Macintosh cursor resources that
- * emulate the X cursor set. All of these cursors were
- * constructed and donated by Grant Neufeld. (gneufeld@ccs.carleton.ca)
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-/*
- * All of the X cursors are defined as 'CURS' resources. However, a
- * subset of the X cursors are also defined as 'crsr' resources. Tk
- * will attempt to first use the color cursors ('crsr') if it doesn't
- * exist it will attempt to use the black & white cursor ('CURS').
- */
-
-data 'CURS' (3000, "X_cursor") {
- $"E007 F00F F81F 7C3E 3E7C 1FF8 0FF0 07E0"
- $"07E0 0FF0 1FF8 3E7C 7C3E F81F F00F E007"
- $"0000 6006 700E 381C 1C38 0E70 07E0 03C0"
- $"03C0 07E0 0E70 1C38 381C 700E 6006 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3001, "arrow") {
- $"0000 0006 001E 007C 01FC 07F8 00F8 01F0"
- $"03B0 0720 0E20 1C00 3800 7000 2000 0000"
- $"0007 001F 007F 01FE 07FE 1FFC 7FFC 03F8"
- $"07F8 0FF0 1F70 3E60 7C60 F840 7040 2000"
- $"0001 000E"
-};
-
-data 'CURS' (3002, "based_arrow_down") {
- $"0000 0000 0000 1FE0 0000 1FE0 0300 0300"
- $"0300 0B40 0780 0300 0000 0000 0000 0000"
- $"0000 0000 0000 1FE0 0000 1FE0 0780 0780"
- $"3FF0 1FE0 0FC0 0780 0300 0000 0000 0000"
- $"000B 0006"
-};
-
-data 'CURS' (3003, "based_arrow_up") {
- $"0000 0000 0000 0000 0300 0780 0B40 0300"
- $"0300 0300 1FE0 0000 1FE0 0000 0000 0000"
- $"0000 0000 0000 0300 0780 0FC0 1FE0 3FF0"
- $"0780 0780 1FE0 0000 1FE0 0000 0000 0000"
- $"0004 0006"
-};
-
-data 'CURS' (3004, "boat") {
- $"0000 0000 0000 0000 0100 03C0 8460 FFFF"
- $"0018 0020 0040 FFC0 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0100 03C0 87E0 FFFF"
- $"FFF8 FFE0 FFC0 FFC0 0000 0000 0000 0000"
- $"0007 000F"
-};
-
-data 'CURS' (3005, "bogosity") {
- $"0000 711C 1110 1110 1110 7FFC 5114 5114"
- $"5114 5114 7FFC 1110 1110 1110 711C 0000"
- $"0000 0000 0000 0000 0000 7FFC 7FFC 7FFC"
- $"7FFC 7FFC 7FFC 0000 0000 0000 0000 0000"
- $"0001 0007"
-};
-
-data 'CURS' (3006, "bottom_left_corner") {
- $"0000 0000 0000 0000 C000 C020 C840 C880"
- $"C900 CA00 CC00 CFC0 C000 C000 FFF0 FFF0"
- $"0000 0000 0000 0000 0000 0020 0840 0880"
- $"0900 0A00 0C00 0FC0 0000 0000 0000 0000"
- $"000F 0000"
-};
-
-data 'CURS' (3007, "bottom_right_corner") {
- $"0000 0000 0000 0000 0003 0403 0213 0113"
- $"0093 0053 0033 03F3 0003 0003 0FFF 0FFF"
- $"0000 0000 0000 0000 0000 0400 0210 0110"
- $"0090 0050 0030 03F0 0000 0000 0000 0000"
- $"000F 000F"
-};
-
-data 'CURS' (3008, "bottom_side") {
- $"0000 0000 0100 0100 0100 0100 0100 1110"
- $"0920 0540 0380 0100 0000 7FFC 7FFC 0000"
- $"0000 0000 0100 0100 0100 0100 0100 1110"
- $"0920 0540 0380 0100 0000 0000 0000 0000"
- $"000B 0007"
-};
-
-data 'CURS' (3009, "bottom_tee") {
- $"0000 0000 0000 0180 0180 0180 0180 0180"
- $"0180 0180 7FFE 7FFE 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"000B 0007"
-};
-
-data 'CURS' (3010, "box_spiral") {
- $"FFFE 8000 BFFE A002 AFFA A80A ABEA AA2A"
- $"AAAA ABAA A82A AFEA A00A BFFA 8002 FFFE"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0008 0008"
-};
-
-data 'CURS' (3011, "center_ptr") {
- $"0000 0300 0300 0780 0780 0FC0 0FC0 1FE0"
- $"1FE0 3330 2310 0300 0300 0300 0300 0000"
- $"0300 0780 0780 0FC0 0FC0 1FE0 1FE0 3FF0"
- $"3FF0 7FF8 77B8 6798 0780 0780 0780 0780"
- $"0001 0006"
-};
-
-data 'CURS' (3012, "circle") {
- $"0000 03C0 0FF0 1FF8 3C3C 381C 700E 700E"
- $"700E 700E 381C 3C3C 1FF8 0FF0 03C0 0000"
- $"03C0 0FF0 1FF8 3FFC 7FFE 7C3E F81F F81F"
- $"F81F F81F 7C3E 7FFE 3FFC 1FF8 0FF0 03C0"
- $"0007 0007"
-};
-
-data 'CURS' (3013, "clock") {
- $"1FF8 33CC 6466 4992 4F12 4422 63C6 3FFC"
- $"2994 2994 2994 2BD4 6996 781E 7FFE 7FFE"
- $"1FF8 3FFC 7FFE 7FFE 7FFE 7FFE 7FFE 3FFC"
- $"3FFC 3FFC 3FFC 3FFC 7FFE 7FFE 7FFE 7FFE"
- $"0004 0008"
-};
-
-data 'CURS' (3014, "coffee_mug") {
- $"03F8 0C06 1001 1C07 33F9 7001 D001 9001"
- $"960D DA55 7A55 36ED 10A1 1001 0802 07FC"
- $"03F8 0FFE 1FFF 1FFF 3FFF 7FFF FFFF FFFF"
- $"FFFF FFFF 7FFF 3FFF 1FFF 1FFF 0FFE 07FC"
- $"0004 0003"
-};
-
-data 'CURS' (3015, "cross") {
- $"0280 0280 0280 0280 0280 0280 FEFE 0000"
- $"FEFE 0280 0280 0280 0280 0280 0280 0000"
- $"0380 0380 0380 0380 0380 0380 FFFE FFFE"
- $"FFFE 0380 0380 0380 0380 0380 0380 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3016, "cross_reverse") {
- $"4284 A28A 5294 2AA8 16D0 0AA0 FD7E 0280"
- $"FD7E 0AA0 16D0 2AA8 5294 A28A 4284 0000"
- $"4384 E38E 739C 3BB8 1FF0 0FE0 FFFE FFFE"
- $"FFFE 0FE0 1FF0 3BB8 739C E38E 4384 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3017, "crosshair") {
- $"0100 0100 0100 0100 0100 0100 0100 FEFE"
- $"0100 0100 0100 0100 0100 0100 0100 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3018, "diamond_cross") {
- $"0280 06C0 0AA0 1290 2288 4284 FEFE 0000"
- $"FEFE 4284 2288 1290 0AA0 06C0 0280 0000"
- $"0280 06C0 0EE0 1EF0 3EF8 7EFC FEFE 0000"
- $"FEFE 7EFC 3EF8 1EF0 0EE0 06C0 0280 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3019, "dot") {
- $"0000 0000 0780 1FE0 1FE0 3FF0 3FF0 3FF0"
- $"3FF0 1FE0 1FE0 0780 0000 0000 0000 0000"
- $"0000 0780 1FE0 3FF0 3FF0 7FF8 7FF8 7FF8"
- $"7FF8 3FF0 3FF0 1FE0 0780 0000 0000 0000"
- $"0006 0006"
-};
-
-data 'CURS' (3020, "dotbox") {
- $"0000 0000 3FFC 2004 2004 2004 2004 2184"
- $"2184 2004 2004 2004 2004 3FFC 0000 0000"
- $"0000 0000 3FFC 3FFC 300C 300C 318C 33CC"
- $"33CC 318C 300C 300C 3FFC 3FFC 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3021, "double_arrow") {
- $"0000 0180 03C0 07E0 0DB0 1998 0180 0180"
- $"0180 0180 1998 0DB0 07E0 03C0 0180 0000"
- $"0180 03C0 07E0 0FF0 1FF8 3FFC 3BDC 03C0"
- $"03C0 3BDC 3FFC 1FF8 0FF0 07E0 03C0 0180"
- $"0007 0007"
-};
-
-data 'CURS' (3022, "draft_large") {
- $"0000 0002 000C 003C 00F8 03F8 0FF0 00F0"
- $"0160 0260 0440 0840 1000 2000 4000 0000"
- $"0003 000F 003E 00FE 03FC 0FFC 3FF8 FFF8"
- $"03F0 07F0 0EE0 1CE0 38C0 70C0 E080 4080"
- $"0001 000E"
-};
-
-data 'CURS' (3023, "draft_small") {
- $"0000 0002 000C 003C 00F8 03F8 0070 00B0"
- $"0120 0220 0400 0800 1000 2000 4000 0000"
- $"0003 000F 003E 00FE 03FC 0FFC 3FF8 01F8"
- $"03F0 0770 0E60 1C60 3840 7040 E000 4000"
- $"0001 000E"
-};
-
-data 'CURS' (3024, "draped_box") {
- $"0000 0000 3FFC 2244 2664 2C34 381C 2184"
- $"2184 381C 2C34 2664 2244 3FFC 0000 0000"
- $"0000 0000 3FFC 3E7C 3E7C 3C3C 399C 23C4"
- $"23C4 399C 3C3C 3E7C 3E7C 3FFC 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3025, "exchange") {
- $"0000 47C0 6FE0 7C30 4810 4C00 7E00 0000"
- $"0000 00FC 0064 1024 187C 0FEC 07C4 0000"
- $"C7C0 EFE0 FFF0 FFF8 FC38 FE10 FF00 FF80"
- $"03FE 01FE 10FE 387E 3FFE 1FFE 0FEE 07C6"
- $"0007 0007"
-};
-
-data 'CURS' (3026, "fleur") {
- $"0000 0180 03C0 07E0 0180 1188 318C 7FFE"
- $"7FFE 318C 1188 0180 07E0 03C0 0180 0000"
- $"0180 03C0 07E0 0FF0 17E8 3BDC 7FFE FFFF"
- $"FFFF 7FFE 3BDC 17E8 0FF0 07E0 03C0 0180"
- $"0007 0007"
-};
-
-data 'CURS' (3027, "gobbler") {
- $"0000 0078 0070 4036 4FB0 7FF0 7E30 7C30"
- $"3038 00F0 0FE0 0400 0400 0400 0F00 0000"
- $"00FC 00FC E0FF FFFF FFFF FFF8 FFF8 FFF8"
- $"FFFC 7FFC 3FF8 1FF0 0E00 1F80 1F80 1F80"
- $"0003 000E"
-};
-
-data 'CURS' (3028, "gumby") {
- $"3F00 10C0 C820 EAA0 C820 CBA0 F838 383E"
- $"0826 0826 092E 0926 0920 1110 2108 3EF8"
- $"3F00 1FC0 CFE0 EFE0 CFE0 CFE0 FFF8 3FFE"
- $"0FE6 0FE6 0FEE 0FE6 0FE0 1FF0 3FF8 3EF8"
- $"0000 0002"
-};
-
-data 'CURS' (3029, "hand1") {
- $"000C 003C 00F0 01E0 03C0 07E0 0FF0 2FE0"
- $"7FF0 5FF0 07E0 07C0 4A00 6200 3400 1800"
- $"000C 003C 00F0 01E0 03C0 07E0 0FF0 2FE0"
- $"7FF0 7FF0 7FE0 7FC0 7E00 7E00 3C00 1800"
- $"0000 000D"
-};
-
-data 'CURS' (3030, "hand2") {
- $"0000 3FC0 4020 3F10 0808 0708 0808 0714"
- $"0822 0641 0182 0124 0088 0050 0020 0000"
- $"0000 3FC0 7FE0 3FF0 0FF8 07F8 0FF8 07FC"
- $"0FFE 07FF 01FE 01FC 00F8 0070 0020 0000"
- $"0002 0001"
-};
-
-data 'CURS' (3031, "heart") {
- $"0000 3EF8 638C C106 8002 8002 8002 8002"
- $"C006 600C 3018 1830 0C60 06C0 0380 0000"
- $"0000 3EF8 7FFC FFFE FFFE FFFE FFFE FFFE"
- $"FFFE 7FFC 3FF8 1FF0 0FE0 07C0 0380 0000"
- $"0003 0007"
-};
-
-data 'CURS' (3032, "icon") {
- $"FFFF D555 AAAB D555 A00B D005 A00B D005"
- $"A00B D005 A00B D005 AAAB D555 AAAB FFFF"
- $"FFFF FFFF FFFF FFFF F00F F00F F00F F00F"
- $"F00F F00F F00F F00F FFFF FFFF FFFF FFFF"
- $"0007 0007"
-};
-
-data 'CURS' (3033, "iron_cross") {
- $"0000 3FFC 1FF8 4FF2 67E6 73CE 799E 7FFE"
- $"7FFE 799E 73CE 67E6 4FF2 1FF8 3FFC 0000"
- $"7FFE 7FFE FFFF FFFF FFFF FFFF FFFF FFFF"
- $"FFFF FFFF FFFF FFFF FFFF FFFF 7FFE 7FFE"
- $"0007 0006"
-};
-
-data 'CURS' (3034, "left_ptr") {
- $"0000 0800 0C00 0E00 0F00 0F80 0FC0 0FE0"
- $"0FF0 0F80 0D80 08C0 00C0 0060 0060 0000"
- $"1800 1C00 1E00 1F00 1F80 1FC0 1FE0 1FF0"
- $"1FF8 1FFC 1FC0 1DE0 19E0 10F0 00F0 0070"
- $"0001 0004"
-};
-
-data 'CURS' (3035, "left_side") {
- $"0000 6000 6000 6080 6100 6200 6400 6FFC"
- $"6400 6200 6100 6080 6000 6000 0000 0000"
- $"0000 0000 0000 0080 0100 0200 0400 0FFC"
- $"0400 0200 0100 0080 0000 0000 0000 0000"
- $"0007 0004"
-};
-
-data 'CURS' (3036, "left_tee") {
- $"0000 0C00 0C00 0C00 0C00 0C00 0C00 0FF8"
- $"0FF8 0C00 0C00 0C00 0C00 0C00 0C00 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0007 0004"
-};
-
-data 'CURS' (3037, "leftbutton") {
- $"8002 7FFC 7FFC 4444 4554 4554 4554 4554"
- $"4444 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 8002"
- $"FFFE FFFE FFFE FFFE FFFE FFFE FFFE FFFE"
- $"FFFE FFFE FFFE FFFE FFFE FFFE FFFE FFFE"
- $"0004 0003"
-};
-
-data 'CURS' (3038, "ll_angle") {
- $"0000 0000 0000 0C00 0C00 0C00 0C00 0C00"
- $"0C00 0C00 0FF8 0FF8 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"000B 0004"
-};
-
-data 'CURS' (3039, "lr_angle") {
- $"0000 0000 0000 0030 0030 0030 0030 0030"
- $"0030 0030 1FF0 1FF0 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"000B 000B"
-};
-
-data 'CURS' (3040, "man") {
- $"0380 1EF0 0280 8100 4387 244B 1D70 0540"
- $"0440 0280 0440 0920 1290 1450 783C F83F"
- $"0380 1FF0 0380 8100 4387 27CB 1FF0 07C0"
- $"07C0 0380 07C0 0FE0 1EF0 1C70 783C F83F"
- $"0001 0007"
-};
-
-data 'CURS' (3041, "middlebutton") {
- $"8002 7FFC 7FFC 4444 5454 5454 5454 5454"
- $"4444 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 8002"
- $"FFFE FFFE FFFE FFFE FFFE FFFE FFFE FFFE"
- $"FFFE FFFE FFFE FFFE FFFE FFFE FFFE FFFE"
- $"0004 0007"
-};
-
-data 'CURS' (3042, "mouse") {
- $"0600 0100 0180 0FF0 1008 17E8 1428 1428"
- $"17E8 1008 1008 1008 1008 1008 1008 0FF0"
- $"0600 0100 0180 0FF0 1FF8 1FF8 1FF8 1FF8"
- $"1FF8 1FF8 1FF8 1FF8 1FF8 1FF8 1FF8 0FF0"
- $"0000 0000"
-};
-
-data 'CURS' (3043, "pencil") {
- $"0000 00F0 0088 0108 0190 0270 0220 0440"
- $"0440 0880 0880 1100 1E00 1C00 1800 1000"
- $"0000 00F0 00F8 01F8 01F0 03F0 03E0 07C0"
- $"07C0 0F80 0F80 1F00 1E00 1C00 1800 1000"
- $"000F 0003"
-};
-
-data 'CURS' (3044, "pirate") {
- $"03C0 07E0 0FF0 1998 1998 0FF0 07E0 03C0"
- $"43C2 43C3 2184 1C38 03C0 0FF1 781F 4002"
- $"07E0 0FF0 1FF8 3FFC 3FFC 1FF8 0FF0 47E2"
- $"E7E7 E7E7 7FFF 3FFC 1FF9 7FFF FFFF F81F"
- $"000A 0007"
-};
-
-data 'CURS' (3045, "plus") {
- $"0000 0000 0000 0180 0180 0180 0180 1FF8"
- $"1FF8 0180 0180 0180 0180 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3046, "question_arrow") {
- $"07C0 0FE0 1C70 1830 1C30 0C70 00E0 03C0"
- $"0380 0280 0280 0EE0 06C0 0380 0100 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 3FF8 1FF0 0FE0 07C0 0380 0100"
- $"000E 0007"
-};
-
-data 'CURS' (3047, "right_ptr") {
- $"0000 0010 0030 0070 00F0 01F0 03F0 07F0"
- $"0FF0 01F0 01B0 0310 0300 0600 0600 0000"
- $"0018 0038 0078 00F8 01F8 03F8 07F8 0FF8"
- $"1FF8 3FF8 03F8 07B8 0798 0F08 0F00 0E00"
- $"0001 000B"
-};
-
-data 'CURS' (3048, "right_side") {
- $"0000 0000 0006 0006 0106 0086 0046 0026"
- $"3FF6 0026 0046 0086 0106 0006 0006 0000"
- $"0000 0000 0000 0000 0100 0080 0040 0020"
- $"3FF0 0020 0040 0080 0100 0000 0000 0000"
- $"0008 000B"
-};
-
-data 'CURS' (3049, "right_tee") {
- $"0000 0030 0030 0030 0030 0030 0030 1FF0"
- $"1FF0 0030 0030 0030 0030 0030 0030 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0007 000A"
-};
-
-data 'CURS' (3050, "rightbutton") {
- $"8002 7FFC 7FFC 4444 5544 5544 5544 5544"
- $"4444 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 8002"
- $"FFFE FFFE FFFE FFFE FFFE FFFE FFFE FFFE"
- $"FFFE FFFE FFFE FFFE FFFE FFFE FFFE FFFE"
- $"0004 0003"
-};
-
-data 'CURS' (3051, "rtl_logo") {
- $"0000 7FFE 4022 4022 4022 7FE2 4422 4422"
- $"4422 4422 47FE 4402 4402 4402 7FFE 0000"
- $"0000 7FFE 7FFE 6076 7FF6 7FF6 7C36 6C36"
- $"6C36 6C3E 6FFE 6FFE 6E06 7FFE 7FFE 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3052, "sailboat") {
- $"0000 0040 0040 0160 0160 0360 0370 0770"
- $"0770 0F78 0F78 1F78 1F7C 3E38 0000 0000"
- $"0040 00E0 01E0 03F0 03F0 07F0 07F8 0FF8"
- $"0FF8 1FFC 1FFC 3FFC 3FFE 7F7C 7E38 0000"
- $"000C 0008"
-};
-
-data 'CURS' (3053, "sb_down_arrow") {
- $"0280 0280 0280 0280 0280 0280 0280 0280"
- $"0280 0280 0280 0FE0 07C0 0380 0100 0000"
- $"0380 0380 0380 0380 0380 0380 0380 0380"
- $"0380 0380 0380 1FF0 0FE0 07C0 0380 0100"
- $"000E 0007"
-};
-
-data 'CURS' (3054, "sb_h_double_arrow") {
- $"0000 0000 0000 0000 0810 1818 3FFC 781E"
- $"3FFC 1818 0810 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0810 1818 381C 7FFE FFFF"
- $"7FFE 381C 1818 0810 0000 0000 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3055, "sb_left_arrow") {
- $"0000 0000 0000 0000 0800 1800 3FFF 7800"
- $"3FFF 1800 0800 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0800 1800 3800 7FFF FFFF"
- $"7FFF 3800 1800 0800 0000 0000 0000 0000"
- $"0007 0001"
-};
-
-data 'CURS' (3056, "sb_right_arrow") {
- $"0000 0000 0000 0000 0000 0010 0018 FFFC"
- $"001E FFFC 0018 0010 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0010 0018 001C FFFE"
- $"FFFF FFFE 001C 0018 0010 0000 0000 0000"
- $"0008 000E"
-};
-
-data 'CURS' (3057, "sb_up_arrow") {
- $"0000 0080 01C0 03E0 07F0 0140 0140 0140"
- $"0140 0140 0140 0140 0140 0140 0140 0140"
- $"0080 01C0 03E0 07F0 0FF8 01C0 01C0 01C0"
- $"01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0"
- $"0001 0008"
-};
-
-data 'CURS' (3058, "sb_v_double_arrow") {
- $"0000 0100 0380 07C0 0FE0 0280 0280 0280"
- $"0280 0280 0280 0FE0 07C0 0380 0100 0000"
- $"0100 0380 07C0 0FE0 1FF0 0380 0380 0380"
- $"0380 0380 0380 1FF0 0FE0 07C0 0380 0100"
- $"0007 0007"
-};
-
-data 'CURS' (3059, "shuttle") {
- $"0020 0070 00F8 01DE 05DE 09DE 11DE 11DE"
- $"11DE 11DE 31DE 71DE FDDE 1888 0078 0030"
- $"0020 0070 00F8 01FE 07FE 0FFE 1FFE 1FFE"
- $"1FFE 1FFE 3FFE 7FFE FFFE 18F8 0078 0030"
- $"0000 000A"
-};
-
-data 'CURS' (3060, "sizing") {
- $"0000 7F80 4000 4000 4000 47E0 4420 4422"
- $"4422 0422 07E2 0012 000A 0006 01FE 0000"
- $"FFC0 FFC0 FFC0 E000 EFF0 EFF0 EC37 EC37"
- $"EC37 EC37 0FF7 0FFF 001F 03FF 03FF 03FF"
- $"000E 000E"
-};
-
-data 'CURS' (3061, "spider") {
- $"2010 1020 1020 0840 0840 8787 6798 1FE0"
- $"1FE0 6798 8787 0840 0840 1020 1020 2010"
- $"7038 3870 3870 1CE0 9FE7 EFDF FFFF 7FF8"
- $"7FF8 FFFF EFDF 9FE7 1CE0 3870 3870 7038"
- $"0007 0007"
-};
-
-data 'CURS' (3062, "spraycan") {
- $"0018 0040 0D18 1E40 1A18 3F00 2100 3900"
- $"2900 3900 2900 3900 3900 2100 2100 3F00"
- $"0000 0000 0C00 1E00 1E00 3F00 3F00 3F00"
- $"3F00 3F00 3F00 3F00 3F00 3F00 3F00 3F00"
- $"0002 0007"
-};
-
-data 'CURS' (3063, "star") {
- $"0100 0280 0280 0280 0440 0440 0440 3938"
- $"C006 3838 0920 1290 2448 2828 3018 2008"
- $"0100 0380 0380 0380 07C0 07C0 07C0 3FF8"
- $"FFFE 3FF8 0FE0 1EF0 3C78 3838 3018 2008"
- $"0007 0007"
-};
-
-data 'CURS' (3064, "target") {
- $"0000 0380 0FE0 1C70 3018 600C C106 C286"
- $"C106 600C 3018 1C70 0FE0 0380 0000 0000"
- $"0000 0380 0FE0 1FF0 3C78 701C E38E E38E"
- $"E38E 701C 3C78 1FF0 0FE0 0380 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3065, "tcross") {
- $"0100 0100 0100 0100 0100 0100 0100 FFFE"
- $"0100 0100 0100 0100 0100 0100 0100 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0007 0007"
-};
-
-data 'CURS' (3066, "top_left_arrow") {
- $"0000 6000 7800 3E00 3F80 1FE0 1E00 0D00"
- $"0C80 0440 0420 0010 0008 0004 0000 0000"
- $"E000 F800 FE00 7F80 7FE0 3FF8 3FFE 1F80"
- $"1FC0 0EE0 0E70 0638 061C 020E 0204 0000"
- $"0001 0001"
-};
-
-data 'CURS' (3067, "top_left_corner") {
- $"FFF0 FFF0 C000 C000 CFC0 CC00 CA00 C900"
- $"C880 C840 C020 C000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0FC0 0C00 0A00 0900"
- $"0880 0840 0020 0000 0000 0000 0000 0000"
- $"0000 0000"
-};
-
-data 'CURS' (3068, "top_right_corner") {
- $"0FFF 0FFF 0003 0003 03F3 0033 0053 0093"
- $"0113 0213 0403 0003 0000 0000 0000 0000"
- $"0000 0000 0000 0000 03F0 0030 0050 0090"
- $"0110 0210 0400 0000 0000 0000 0000 0000"
- $"0000 000F"
-};
-
-data 'CURS' (3069, "top_side") {
- $"0000 7FFC 7FFC 0000 0100 0380 0540 0920"
- $"1110 0100 0100 0100 0100 0100 0000 0000"
- $"0000 0000 0000 0000 0100 0380 0540 0920"
- $"1110 0100 0100 0100 0100 0100 0000 0000"
- $"0004 0007"
-};
-
-data 'CURS' (3070, "top_tee") {
- $"0000 0000 0000 0000 7FFE 7FFE 0180 0180"
- $"0180 0180 0180 0180 0180 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0004 0007"
-};
-
-data 'CURS' (3071, "trek") {
- $"0100 0000 0380 07C0 0FE0 0EE0 0FE0 07C0"
- $"0380 0100 0BA0 0D60 0920 0820 0820 0000"
- $"0000 0380 07C0 0FE0 1FF0 1FF0 1FF0 0FE0"
- $"07C0 0BA0 1FF0 1FF0 1FF0 1D70 1C70 0820"
- $"0000 0007"
-};
-
-data 'CURS' (3072, "ul_angle") {
- $"0000 0000 0000 0FF8 0FF8 0C00 0C00 0C00"
- $"0C00 0C00 0C00 0C00 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0003 0004"
-};
-
-data 'CURS' (3073, "umbrella") {
- $"0000 0890 0228 49A6 27C8 1930 610C 0100"
- $"0100 0100 0100 0100 0140 0140 0080 0000"
- $"0000 0FF0 1FF8 7FFE 7FFC FFFE FBBE E38E"
- $"0380 0380 0380 03C0 03E0 03E0 01C0 0080"
- $"0004 0007"
-};
-
-data 'CURS' (3074, "ur_angle") {
- $"0000 0000 0000 0000 1FF0 1FF0 0030 0030"
- $"0030 0030 0030 0030 0030 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0004 000B"
-};
-
-data 'CURS' (3075, "watch") {
- $"07E0 07E0 07E0 07E0 0810 1088 1088 108C"
- $"138C 1008 1008 0810 07E0 07E0 07E0 07E0"
- $"07E0 07E0 07E0 07E0 0FF0 1FF8 1FF8 1FFC"
- $"1FFC 1FF8 1FF8 0FF0 07E0 07E0 07E0 07E0"
- $"0008 000D"
-};
-
-data 'CURS' (3076, "xterm") {
- $"0C60 0280 0100 0100 0100 0100 0100 0100"
- $"0100 0100 0100 0100 0100 0100 0280 0C60"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"000B 0007"
-};
-
-/*
- * The following are color versions of some of the
- * cursors defined above. The color cursors will be
- * used if the exist in preference to the black & white
- * cursors.
- */
-
-data 'crsr' (3004, "boat", purgeable) {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0100 03C0"
- $"8460 FFFF 0018 0020 0040 FFC0 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0100 03C0"
- $"87E0 FFFF FFF8 FFE0 FFC0 FFC0 0000 0000"
- $"0000 0000 0007 000F 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 000F 0000 0000 0000 00FF FF00"
- $"0000 F000 0F32 25F0 0000 6FFF FFFF FFFF"
- $"FFFF 2222 2222 221F F000 2222 2222 21F0"
- $"0000 3333 3333 4F00 0000 FFFF FFFF FF00"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0007 0000 FFFF FFFF"
- $"FFFF 0001 BBBB BBBB BBBB 0002 EEEE EEEE"
- $"EEEE 0003 DDDD DDDD DDDD 0004 CCCC CCCC"
- $"CCCC 0005 4444 4444 4444 0006 1111 1111"
- $"1111 000F 0000 0000 0000"
-};
-
-data 'crsr' (3013, "clock") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 1FF8 33CC 6466 4992 4F12 4422"
- $"63C6 3FFC 2994 2994 2994 2BD4 6996 781E"
- $"7FFE 7FFE 1FF8 3FFC 7FFE 7FFE 7FFE 7FFE"
- $"7FFE 3FFC 3FFC 3FFC 3FFC 3FFC 7FFE 7FFE"
- $"7FFE 7FFE 0004 0008 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 000F FFFF FFFF F000 00F6 05FF FF50"
- $"6F00 0F60 5F00 56F5 06F0 0F00 F021 F30F"
- $"00F0 0F00 F6F1 000F 00F0 0F00 5F00 00F5"
- $"00F0 0F60 05FF FF50 06F0 00FF FFFF FFFF"
- $"FF00 00F0 F001 100F 0F00 00F0 F001 100F"
- $"0F00 00F0 F021 120F 0F00 00F0 F01F F10F"
- $"0F00 0FF0 F021 120F 0FF0 0FF4 F500 005F"
- $"4FF0 0FFF FFFF FFFF FFF0 0FFF FFFF FFFF"
- $"FFF0 0000 0000 0000 0007 0000 FFFF FFFF"
- $"FFFF 0001 4444 4444 4444 0002 AAAA AAAA"
- $"AAAA 0003 EEEE EEEE EEEE 0004 5555 5555"
- $"5555 0005 DDDD DDDD DDDD 0006 7777 7777"
- $"7777 000F 0000 0000 0000"
-};
-
-data 'crsr' (3014, "coffee_mug") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 03F8 0C06 1001 1C07 33F9 7001"
- $"D001 9001 960D DA55 7A55 36ED 10A1 1001"
- $"0802 07FC 03F8 0FFE 1FFF 1FFF 3FFF 7FFF"
- $"FFFF FFFF FFFF FFFF 7FFF 3FFF 1FFF 1FFF"
- $"0FFE 07FC 0004 0003 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 00FF FFFF F000 0000 FF42 2222"
- $"4FF0 000F 4221 1111 224F 000F FF11 1111"
- $"1FFF 00FF 24FF FFFF F42F 0F5F 2222 2222"
- $"222F F52F 2222 2222 222F F40F 2222 2222"
- $"222F F40F 4FF2 2224 FF2F F52F F2F2 2F2F"
- $"2F2F 0F5F F2F2 535F 2F2F 00FF 4FF2 F3F4"
- $"FF2F 000F 2222 F2F2 222F 000F 4222 2222"
- $"224F 0000 F422 2222 24F0 0000 0FFF FFFF"
- $"FF00 0000 0000 0000 0006 0000 FFFF FFFF"
- $"FFFF 0001 CCCC 9999 6666 0002 CCCC CCCC"
- $"FFFF 0003 3333 3333 6666 0004 9999 9999"
- $"FFFF 0005 6666 6666 CCCC 000F 0000 0000"
- $"0000"
-};
-
-data 'crsr' (3027, "gobbler") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0000 0078 0070 4036 4FB0 7FF0"
- $"7E30 7C30 3038 00F0 0FE0 0400 0400 0400"
- $"0F00 0000 00FC 00FC E0FF FFFF FFFF FFF8"
- $"FFF8 FFF8 FFFC 7FFC 3FF8 1FF0 0E00 1F80"
- $"1F80 1F80 0003 000E 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0000 0000 0000 0000 0000 0222"
- $"2000 0000 0000 0111 0000 0300 0000 0011"
- $"0220 0100 1616 1011 0000 0361 6111 1111"
- $"0000 0111 1114 4415 0000 0311 1144 4451"
- $"0000 0011 4444 4415 1000 0004 4444 5151"
- $"0000 0000 1515 1510 0000 0000 0200 0000"
- $"0000 0000 0300 0000 0000 0000 0200 0000"
- $"0000 0000 2323 0000 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0006 0000 FFFF FFFF"
- $"FFFF 0001 CCCC 9999 6666 0002 DDDD 0000"
- $"0000 0003 FFFF 6666 3333 0004 CCCC CCCC"
- $"CCCC 0005 8888 8888 8888 0006 FFFF CCCC"
- $"9999"
-};
-
-data 'crsr' (3028, "gumby") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 3F00 10C0 C820 EAA0 C820 CBA0"
- $"F838 383E 0826 0826 092E 0926 0920 1110"
- $"2108 3EF8 3F00 1FC0 CFE0 EFE0 CFE0 CFE0"
- $"FFF8 3FFE 0FE6 0FE6 0FEE 0FE6 0FE0 1FF0"
- $"3FF8 3EF8 0000 0002 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 00FF FFFF 0000 0000 000F 1212 FF00"
- $"0000 FF00 F131 31F0 0000 FFF0 F3F3 F3F0"
- $"0000 FF00 F131 31F0 0000 FF00 F2FF F2F0"
- $"0000 4FFF F121 21FF F000 00FF F212 12FF"
- $"FF40 0000 F121 21F0 0FF0 0000 F212 12F0"
- $"0FF0 0000 F12F 21F0 FFF0 0000 F21F 12F0"
- $"0FF0 0000 F12F 21F0 0000 000F 121F 121F"
- $"0000 00F1 212F 2121 F000 00FF FFF0 FFFF"
- $"F000 0000 0000 0000 0005 0000 FFFF FFFF"
- $"FFFF 0001 0000 BBBB 0000 0002 CCCC CCCC"
- $"CCCC 0003 AAAA AAAA AAAA 0004 4444 4444"
- $"4444 000F 0000 0000 0000"
-};
-
-data 'crsr' (3031, "heart") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0000 3EF8 638C C106 8002 8002"
- $"8002 8002 C006 600C 3018 1830 0C60 06C0"
- $"0380 0000 0000 3EF8 7FFC FFFE FFFE FFFE"
- $"FFFE FFFE FFFE 7FFC 3FF8 1FF0 0FE0 07C0"
- $"0380 0000 0003 0007 0000 0000 0000 0000"
- $"0000 0000 8004 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0002 0001 0002 0000 0000 0000 00D2 0000"
- $"0000 0000 0000 0FFC FFC0 3AAB AA70 E99B"
- $"999C E665 A65C E999 999C E666 665C E999"
- $"999C D666 665C 3599 9970 0D66 65C0 0359"
- $"9700 00D6 5C00 0035 7000 000F C000 0000"
- $"0000 0000 0000 0000 0003 0000 FFFF FFFF"
- $"FFFF 0001 DDDD 0000 0000 0002 FFFF 6666"
- $"CCCC 0003 0000 0000 0000"
-};
-
-data 'crsr' (3042, "mouse", purgeable) {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 BE00 0100 0180 0FF0 1008 17E8"
- $"1428 1428 17E8 1008 1008 1008 1008 1008"
- $"1008 0FF0 FE00 0100 0180 0FF0 1FF8 1FF8"
- $"1FF8 1FF8 1FF8 1FF8 1FF8 1FF8 1FF8 1FF8"
- $"1FF8 0FF0 0001 0007 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 1379 4AF0 0000 0000 0000 000F 0000"
- $"0000 0000 000F F000 0000 0000 FFFF FFFF"
- $"0000 000F 2111 1112 F000 000F 3655 5563"
- $"F000 000F 3513 1351 F000 000F 3533 3351"
- $"F000 000F 3655 5561 F000 000F 3311 1111"
- $"F000 000F 3333 3333 F000 000F 3333 3333"
- $"F000 000F 2222 2222 F000 000F 8888 8888"
- $"F000 000F 7888 8887 F000 0000 FFFF FFFF"
- $"0000 0000 0000 0000 000B 0000 FFFF FFFF"
- $"FFFF 0001 EEEE EEEE EEEE 0002 CCCC CCCC"
- $"CCCC 0003 DDDD DDDD DDDD 0004 4444 4444"
- $"4444 0005 2222 2222 2222 0006 5555 5555"
- $"5555 0007 AAAA AAAA AAAA 0008 BBBB BBBB"
- $"BBBB 0009 7777 7777 7777 000A 1111 1111"
- $"1111 000F 0000 0000 0000"
-};
-
-data 'crsr' (3043, "pencil", purgeable) {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0000 00F0 0088 0108 0190 0270"
- $"0220 0440 0440 0880 0880 1100 1E00 1C00"
- $"1800 1000 0000 00F0 00F8 01F8 01F0 03F0"
- $"03E0 07C0 07C0 0F80 0F80 1F00 1E00 1C00"
- $"1800 1000 000F 0003 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0000 0000 0000 0000 0000 FFFF"
- $"0000 0000 0000 F404 F000 0000 000F 4042"
- $"F000 0000 000F F42F 0000 0000 00F5 3FFF"
- $"0000 0000 00F3 52F0 0000 0000 0F35 1F00"
- $"0000 0000 0F53 2F00 0000 0000 F532 F000"
- $"0000 0000 F312 F000 0000 000F 352F 0000"
- $"0000 000F FFF0 0000 0000 000F FF00 0000"
- $"0000 000F F000 0000 0000 000F 0000 0000"
- $"0000 0000 0000 0000 0006 0000 FFFF FFFF"
- $"FFFF 0001 CCCC CCCC CCCC 0002 8888 8888"
- $"8888 0003 FFFF FFFF 0000 0004 DDDD 0000"
- $"0000 0005 FFFF 6666 3333 000F 0000 0000"
- $"0000"
-};
-
-data 'crsr' (3059, "shuttle") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0020 0070 00F8 01DE 05DE 09DE"
- $"11DE 11DE 11DE 11DE 31DE 71DE FDDE 1888"
- $"0078 0030 0020 0070 00F8 01FE 07FE 0FFE"
- $"1FFE 1FFE 1FFE 1FFE 3FFE 7FFE FFFE 18F8"
- $"0078 0030 0000 000A 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0000 00F0 0000 0000 0000 0F3F"
- $"0000 0000 0000 F343 F000 0000 000F 3404"
- $"3FF0 0000 0F4F 3404 3FF0 0000 F55F 3404"
- $"3FF0 000F 505F 3404 3FF0 000F 005F 3404"
- $"3FF0 000F 005F 3404 3FF0 000F 005F 3404"
- $"3FF0 00F3 005F 3404 3FF0 0F33 505F 3404"
- $"3FF0 FFF3 3F4F 3404 3FF0 000F F000 1222"
- $"1000 0000 0000 0111 1000 0000 0000 0011"
- $"0000 0000 0000 0000 0006 0000 FFFF FFFF"
- $"FFFF 0001 FFFF 6666 3333 0002 DDDD 0000"
- $"0000 0003 4444 4444 4444 0004 8888 8888"
- $"8888 0005 DDDD DDDD DDDD 000F 0000 0000"
- $"0000"
-};
-
-data 'crsr' (3062, "spraycan") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0018 0040 0D18 1E40 1A18 3F00"
- $"2100 3900 2900 3900 2900 3900 3900 2100"
- $"2100 3F00 0000 0000 0C00 1E00 1E00 3F00"
- $"3F00 3F00 3F00 3F00 3F00 3F00 3F00 3F00"
- $"3F00 3F00 0002 0007 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0000 0005 2000 0000 0000 0460"
- $"0000 0000 FF1F 6005 2000 000F 33F0 0460"
- $"0000 000F 10F0 0005 2000 00FF FFFF 0000"
- $"0000 00F8 170F 0000 0000 00F5 F70F 0000"
- $"0000 00FA F70F 0000 0000 00F9 F70F 0000"
- $"0000 00FA F70F 0000 0000 00F9 F70F 0000"
- $"0000 00F5 F70F 0000 0000 00F8 170F 0000"
- $"0000 00F8 170F 0000 0000 00FF FFFF 0000"
- $"0000 0000 0000 0000 000B 0000 FFFF FFFF"
- $"FFFF 0001 AAAA AAAA AAAA 0002 7777 7777"
- $"7777 0003 5555 5555 5555 0004 2222 2222"
- $"2222 0005 4444 4444 4444 0006 BBBB BBBB"
- $"BBBB 0007 DDDD DDDD DDDD 0008 EEEE EEEE"
- $"EEEE 0009 6666 6666 CCCC 000A CCCC CCCC"
- $"FFFF 000F 0000 0000 0000"
-};
-
-data 'crsr' (3063, "star") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0100 0280 0280 0280 0440 0440"
- $"0440 3938 C006 3838 0920 1290 2448 2828"
- $"3018 2008 0100 0380 0380 0380 07C0 07C0"
- $"07C0 3FF8 FFFE 3FF8 0FE0 1EF0 3C78 3838"
- $"3018 2008 0007 0007 0000 0000 0000 0000"
- $"0000 0000 8004 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0002 0001 0002 0000 0000 0000 00D2 0000"
- $"0000 0003 0000 000D C000 000D C000 000D"
- $"C000 0035 7000 0035 7000 0035 7000 0FD7"
- $"5FC0 F555 557C 0FD5 5FC0 00D7 5C00 035C"
- $"D700 0D70 35C0 0DC0 0DC0 0F00 03C0 0C00"
- $"00C0 0000 0000 0000 0002 0000 FFFF FFFF"
- $"FFFF 0001 FFFF FFFF 0000 0003 0000 0000"
- $"0000"
-};
-
-data 'crsr' (3071, "trek") {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 0100 0000 0380 07C0 0FE0 0EE0"
- $"0FE0 07C0 0380 0100 0BA0 0D60 0920 0820"
- $"0820 0000 0000 0380 07C0 0FE0 1FF0 1FF0"
- $"1FF0 0FE0 07C0 0BA0 1FF0 1FF0 1FF0 1D70"
- $"1C70 0820 0000 0007 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0005 0000 0000 0000 0005 0000"
- $"0000 0000 00FF F000 0000 0000 0F31 3F00"
- $"0000 0000 F322 23F0 0000 0000 F110 11F0"
- $"0000 0000 F311 13F0 0000 0000 0F31 3F00"
- $"0000 0000 00FF F000 0000 0000 000F 0000"
- $"0000 0000 F0FF F0F0 0000 0000 FF0F 0FF0"
- $"0000 0000 400F 0040 0000 0000 4000 0040"
- $"0000 0000 4000 0040 0000 0000 0000 0000"
- $"0000 0000 0000 0000 0006 0000 FFFF FFFF"
- $"FFFF 0001 EEEE EEEE EEEE 0002 9999 9999"
- $"FFFF 0003 DDDD DDDD DDDD 0004 3333 3333"
- $"6666 0005 DDDD 0000 0000 000F 0000 0000"
- $"0000"
-};
-
-data 'crsr' (3075, "watch", purgeable) {
- $"8001 0000 0060 0000 0092 0000 0000 0000"
- $"0000 0000 07E0 07E0 07E0 07E0 0810 1088"
- $"1088 108C 138C 1008 1008 0810 07E0 07E0"
- $"07E0 07E0 07E0 07E0 07E0 07E0 0FF0 1FF8"
- $"1FF8 1FF8 1FF8 1FF8 1FF8 0FF0 07E0 07E0"
- $"07E0 07E0 0008 000D 0000 0000 0000 0000"
- $"0000 0000 8008 0000 0000 0010 0010 0000"
- $"0000 0000 0000 0048 0000 0048 0000 0000"
- $"0004 0001 0004 0000 0000 0000 0112 0000"
- $"0000 0000 0FFF FFF0 0000 0000 0FFF FFF0"
- $"0000 0000 0FFF FFF0 0000 0000 0FFF FFF0"
- $"0000 0000 F020 202F 0000 000F 0222 F221"
- $"F000 000F 2222 F123 F000 000F 0222 F121"
- $"FF00 000F 22FF F123 FF00 000F 0222 2221"
- $"F000 000F 2222 2213 F000 0000 F131 313F"
- $"0000 0000 0FFF FFF0 0000 0000 0FFF FFF0"
- $"0000 0000 0FFF FFF0 0000 0000 0FFF FFF0"
- $"0000 0000 0000 0000 0004 0000 FFFF FFFF"
- $"FFFF 0001 CCCC CCCC CCCC 0002 EEEE EEEE"
- $"EEEE 0003 BBBB BBBB BBBB 000F 0000 0000"
- $"0000"
-};
-
diff --git a/carbon/tkMacOSXXStubs.c b/carbon/tkMacOSXXStubs.c
deleted file mode 100644
index d88b419..0000000
--- a/carbon/tkMacOSXXStubs.c
+++ /dev/null
@@ -1,1285 +0,0 @@
-/*
- * tkMacOSXXStubs.c --
- *
- * This file contains most of the X calls called by Tk. Many of these
- * calls are just stubs and either don't make sense on the Macintosh or
- * their implamentation just doesn't do anything. Other calls will
- * eventually be moved into other files.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2005-2007 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.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-
-#include <IOKit/IOKitLib.h>
-
-/*
- * Because this file is still under major development Debugger statements are
- * used through out this file. The define TCL_DEBUG will decide whether the
- * debugger statements actually call the debugger or not.
- */
-
-#ifndef TCL_DEBUG
-# define Debugger()
-#endif
-
-#define ROOT_ID 10
-
-/*
- * Declarations of static variables used in this file.
- */
-
-static TkDisplay *gMacDisplay = NULL;
- /* Macintosh display. */
-static const char *macScreenName = ":0";
- /* Default name of macintosh display. */
-
-/*
- * Forward declarations of procedures used in this file.
- */
-
-static XID MacXIdAlloc(Display *display);
-static int DefaultErrorHandler(Display *display,
- XErrorEvent *err_evt);
-
-/*
- * Other declarations
- */
-
-static int DestroyImage(XImage *image);
-static unsigned long ImageGetPixel(XImage *image, int x, int y);
-static int PutPixel(XImage *image, int x, int y,
- unsigned long pixel);
-#if 0
-static XImage * SubImage(XImage *image, int x, int y,
- unsigned int width, unsigned int height);
-static int AddPixel(XImage *image, long value);
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDisplayChanged --
- *
- * Called to set up initial screen info or when an event indicated
- * display (screen) change.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May change info regarding the screen.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXDisplayChanged(
- Display *display)
-{
- GDHandle graphicsDevice;
- Screen *screen;
- Rect bounds = {0, 0, 0, 0}, *maxBounds;
-
- if (display == NULL || display->screens == NULL) {
- return;
- }
- screen = display->screens;
-
- graphicsDevice = GetMainDevice();
- screen->root_depth = (*(*graphicsDevice)->gdPMap)->cmpSize *
- (*(*graphicsDevice)->gdPMap)->cmpCount;
- screen->height = (*graphicsDevice)->gdRect.bottom -
- (*graphicsDevice)->gdRect.top;
- screen->width = (*graphicsDevice)->gdRect.right -
- (*graphicsDevice)->gdRect.left;
-
- screen->mwidth = (screen->width * 254 + 360) / 720;
- screen->mheight = (screen->height * 254 + 360) / 720;
-
- maxBounds = (Rect *) screen->ext_data;
- *maxBounds = bounds;
- graphicsDevice = GetDeviceList();
- while (graphicsDevice) {
- OSStatus err;
-
- err = ChkErr(GetAvailableWindowPositioningBounds, graphicsDevice,
- &bounds);
- if (err == noErr) {
- UnionRect(&bounds, maxBounds, maxBounds);
- }
- graphicsDevice = GetNextDevice(graphicsDevice);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpOpenDisplay --
- *
- * Create the Display structure and fill it with device specific
- * information.
- *
- * Results:
- * Returns a Display structure on success or NULL on failure.
- *
- * Side effects:
- * Allocates a new Display structure.
- *
- *----------------------------------------------------------------------
- */
-
-TkDisplay *
-TkpOpenDisplay(
- const char *display_name)
-{
- Display *display;
- Screen *screen;
- int fd = 0;
- static Rect maxBounds = {0, 0, 0, 0};
-
- if (gMacDisplay != NULL) {
- if (strcmp(gMacDisplay->display->display_name, display_name) == 0) {
- return gMacDisplay;
- } else {
- return NULL;
- }
- }
-
- display = ckalloc(sizeof(Display));
- screen = ckalloc(sizeof(Screen));
- bzero(display, sizeof(Display));
- bzero(screen, sizeof(Screen));
-
- display->resource_alloc = MacXIdAlloc;
- display->request = 0;
- display->qlen = 0;
- display->fd = fd;
- display->screens = screen;
- display->nscreens = 1;
- display->default_screen = 0;
- display->display_name = (char *) macScreenName;
-
- Gestalt(gestaltQuickdrawVersion, (long *) &display->proto_minor_version);
- display->proto_major_version = 10;
- display->proto_minor_version -= gestaltMacOSXQD;
- display->vendor = (char*) "Apple";
- Gestalt(gestaltSystemVersion, (long *) &display->release);
-
- /*
- * These screen bits never change
- */
- screen->root = ROOT_ID;
- screen->display = display;
- screen->black_pixel = 0x00000000 | PIXEL_MAGIC << 24;
- screen->white_pixel = 0x00FFFFFF | PIXEL_MAGIC << 24;
- screen->ext_data = (XExtData *) &maxBounds;
-
- screen->root_visual = ckalloc(sizeof(Visual));
- screen->root_visual->visualid = 0;
- screen->root_visual->class = TrueColor;
- screen->root_visual->red_mask = 0x00FF0000;
- screen->root_visual->green_mask = 0x0000FF00;
- screen->root_visual->blue_mask = 0x000000FF;
- screen->root_visual->bits_per_rgb = 24;
- screen->root_visual->map_entries = 256;
-
- /*
- * Initialize screen bits that may change
- */
-
- TkMacOSXDisplayChanged(display);
-
- gMacDisplay = ckalloc(sizeof(TkDisplay));
-
- /*
- * This is the quickest way to make sure that all the *Init flags get
- * properly initialized
- */
-
- bzero(gMacDisplay, sizeof(TkDisplay));
- gMacDisplay->display = display;
- return gMacDisplay;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCloseDisplay --
- *
- * Deallocates a display structure created by TkpOpenDisplay.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Frees memory.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpCloseDisplay(
- TkDisplay *displayPtr)
-{
- Display *display = displayPtr->display;
-
- if (gMacDisplay != displayPtr) {
- Tcl_Panic("TkpCloseDisplay: tried to call TkpCloseDisplay on bad display");
- }
-
- gMacDisplay = NULL;
- if (display->screens != NULL) {
- if (display->screens->root_visual != NULL) {
- ckfree(display->screens->root_visual);
- }
- ckfree(display->screens);
- }
- ckfree(display);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkClipCleanup --
- *
- * This procedure is called to cleanup resources associated with claiming
- * clipboard ownership and for receiving selection get results. This
- * function is called in tkWindow.c. This has to be called by the display
- * cleanup function because we still need the access display elements.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Resources are freed - the clipboard may no longer be used.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkClipCleanup(
- TkDisplay *dispPtr) /* display associated with clipboard */
-{
- /*
- * Make sure that the local scrap is transfered to the global scrap if
- * needed.
- */
-
- TkSuspendClipboard();
-
- if (dispPtr->clipWindow != NULL) {
- Tk_DeleteSelHandler(dispPtr->clipWindow, dispPtr->clipboardAtom,
- dispPtr->applicationAtom);
- Tk_DeleteSelHandler(dispPtr->clipWindow, dispPtr->clipboardAtom,
- dispPtr->windowAtom);
-
- Tk_DestroyWindow(dispPtr->clipWindow);
- Tcl_Release(dispPtr->clipWindow);
- dispPtr->clipWindow = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MacXIdAlloc --
- *
- * This procedure is invoked by Xlib as the resource allocator for a
- * display.
- *
- * Results:
- * The return value is an X resource identifier that isn't currently in
- * use.
- *
- * Side effects:
- * The identifier is removed from the stack of free identifiers, if it
- * was previously on the stack.
- *
- *----------------------------------------------------------------------
- */
-
-static XID
-MacXIdAlloc(
- Display *display) /* Display for which to allocate. */
-{
- static long int cur_id = 100;
- /*
- * Some special XIds are reserved
- * - this is why we start at 100
- */
-
- return ++cur_id;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DefaultErrorHandler --
- *
- * This procedure is the default X error handler. Tk uses it's own error
- * handler so this call should never be called.
- *
- * Results:
- * None.
- *
- * Side effects:
- * This function will call panic and exit.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-DefaultErrorHandler(
- Display* display,
- XErrorEvent* err_evt)
-{
- /*
- * This call should never be called. Tk replaces it with its own error
- * handler.
- */
-
- Tcl_Panic("Warning hit bogus error handler!");
- return 0;
-}
-
-char *
-XGetAtomName(
- Display * display,
- Atom atom)
-{
- display->request++;
- return NULL;
-}
-
-int
-_XInitImageFuncPtrs(
- XImage *image)
-{
- return 0;
-}
-
-XErrorHandler
-XSetErrorHandler(
- XErrorHandler handler)
-{
- return DefaultErrorHandler;
-}
-
-Window
-XRootWindow(
- Display *display,
- int screen_number)
-{
- display->request++;
- return ROOT_ID;
-}
-
-int
-XGetGeometry(
- Display *display,
- Drawable d,
- Window *root_return,
- int *x_return,
- int *y_return,
- unsigned int *width_return,
- unsigned int *height_return,
- unsigned int *border_width_return,
- unsigned int *depth_return)
-{
- TkWindow *winPtr = ((MacDrawable *) d)->winPtr;
-
- display->request++;
- *root_return = ROOT_ID;
- if (winPtr) {
- *x_return = Tk_X(winPtr);
- *y_return = Tk_Y(winPtr);
- *width_return = Tk_Width(winPtr);
- *height_return = Tk_Height(winPtr);
- *border_width_return = winPtr->changes.border_width;
- *depth_return = Tk_Depth(winPtr);
- } else {
- Rect boundsRect;
- CGrafPtr destPort = TkMacOSXGetDrawablePort(d);
-
- GetPortBounds(destPort, &boundsRect);
- *x_return = boundsRect.left;
- *y_return = boundsRect.top;
- *width_return = boundsRect.right - boundsRect.left;
- *height_return = boundsRect.bottom - boundsRect.top;
- *border_width_return = 0;
- *depth_return = 32;
- }
- return 1;
-}
-
-void
-XChangeProperty(
- Display* display,
- Window w,
- Atom property,
- Atom type,
- int format,
- int mode,
- _Xconst unsigned char* data,
- int nelements)
-{
- Debugger();
-}
-
-void
-XSelectInput(
- Display* display,
- Window w,
- long event_mask)
-{
- Debugger();
-}
-
-int
-XBell(
- Display* display,
- int percent)
-{
- SysBeep(percent);
- return Success;
-}
-
-#if 0
-void
-XSetWMNormalHints(
- Display* display,
- Window w,
- XSizeHints* hints)
-{
- /*
- * Do nothing. Shouldn't even be called.
- */
-}
-
-XSizeHints *
-XAllocSizeHints(void)
-{
- /*
- * Always return NULL. Tk code checks to see if NULL is returned & does
- * nothing if it is.
- */
-
- return NULL;
-}
-#endif
-
-GContext
-XGContextFromGC(
- GC gc)
-{
- /*
- * TODO: currently a no-op
- */
-
- return 0;
-}
-
-Status
-XSendEvent(
- Display* display,
- Window w,
- Bool propagate,
- long event_mask,
- XEvent* event_send)
-{
- Debugger();
- return 0;
-}
-
-void
-XClearWindow(
- Display* display,
- Window w)
-{
-}
-
-/*
-void
-XDrawPoint(
- Display* display,
- Drawable d,
- GC gc,
- int x,
- int y)
-{
-}
-
-void
-XDrawPoints(
- Display* display,
- Drawable d,
- GC gc,
- XPoint* points,
- int npoints,
- int mode)
-{
-}
-*/
-
-int
-XWarpPointer(
- Display* display,
- Window src_w,
- Window dest_w,
- int src_x,
- int src_y,
- unsigned int src_width,
- unsigned int src_height,
- int dest_x,
- int dest_y)
-{
- return Success;
-}
-
-void
-XQueryColor(
- Display* display,
- Colormap colormap,
- XColor* def_in_out)
-{
- unsigned long p;
- unsigned char r, g, b;
- XColor *d = def_in_out;
-
- p = d->pixel;
- r = (p & 0x00FF0000) >> 16;
- g = (p & 0x0000FF00) >> 8;
- b = (p & 0x000000FF);
- d->red = (r << 8) | r;
- d->green = (g << 8) | g;
- d->blue = (b << 8) | b;
- d->flags = DoRed|DoGreen|DoBlue;
- d->pad = 0;
-}
-
-void
-XQueryColors(
- Display* display,
- Colormap colormap,
- XColor* defs_in_out,
- int ncolors)
-{
- int i;
- unsigned long p;
- unsigned char r, g, b;
- XColor *d = defs_in_out;
-
- for (i = 0; i < ncolors; i++, d++) {
- p = d->pixel;
- r = (p & 0x00FF0000) >> 16;
- g = (p & 0x0000FF00) >> 8;
- b = (p & 0x000000FF);
- d->red = (r << 8) | r;
- d->green = (g << 8) | g;
- d->blue = (b << 8) | b;
- d->flags = DoRed|DoGreen|DoBlue;
- d->pad = 0;
- }
-}
-
-int
-XQueryTree(display, w, root_return, parent_return, children_return,
- nchildren_return)
- Display* display;
- Window w;
- Window* root_return;
- Window* parent_return;
- Window** children_return;
- unsigned int* nchildren_return;
-{
- return 0;
-}
-
-
-int
-XGetWindowProperty(
- Display *display,
- Window w,
- Atom property,
- long long_offset,
- long long_length,
- Bool delete,
- Atom req_type,
- Atom *actual_type_return,
- int *actual_format_return,
- unsigned long *nitems_return,
- unsigned long *bytes_after_return,
- unsigned char ** prop_return)
-{
- display->request++;
- *actual_type_return = None;
- *actual_format_return = *bytes_after_return = 0;
- *nitems_return = 0;
- return 0;
-}
-
-void
-XRefreshKeyboardMapping(
- XMappingEvent *x)
-{
- /* used by tkXEvent.c */
- Debugger();
-}
-
-void
-XSetIconName(
- Display* display,
- Window w,
- const char *icon_name)
-{
- /*
- * This is a no-op, no icon name for Macs.
- */
- display->request++;
-}
-
-void
-XForceScreenSaver(
- Display* display,
- int mode)
-{
- /*
- * This function is just a no-op. It is defined to reset the screen saver.
- * However, there is no real way to do this on a Mac. Let me know if there
- * is!
- */
-
- display->request++;
-}
-
-void
-Tk_FreeXId(
- Display *display,
- XID xid)
-{
- /* no-op function needed for stubs implementation. */
-}
-
-int
-XSync(
- Display *display,
- Bool flag)
-{
- TkMacOSXFlushWindows();
- display->request++;
- return 0;
-}
-
-#if 0
-int
-XSetClipRectangles(
- Display *d,
- GC gc,
- int clip_x_origin,
- int clip_y_origin,
- XRectangle* rectangles,
- int n,
- int ordering)
-{
- TkRegion clipRgn = TkCreateRegion();
-
- while (n--) {
- XRectangle rect = *rectangles;
-
- rect.x += clip_x_origin;
- rect.y += clip_y_origin;
- TkUnionRectWithRegion(&rect, clipRgn, clipRgn);
- rectangles++;
- }
- TkSetRegion(d, gc, clipRgn);
- TkDestroyRegion(clipRgn);
- return 1;
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetServerInfo --
- *
- * Given a window, this procedure returns information about the window
- * server for that window. This procedure provides the guts of the "winfo
- * server" command.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGetServerInfo(
- Tcl_Interp *interp, /* The server information is returned in this
- * interpreter's result. */
- Tk_Window tkwin) /* Token for window; this selects a particular
- * display and server. */
-{
- char buffer[8 + TCL_INTEGER_SPACE * 2];
- char buffer2[TCL_INTEGER_SPACE];
-
- sprintf(buffer, "QD%dR%x ", ProtocolVersion(Tk_Display(tkwin)),
- ProtocolRevision(Tk_Display(tkwin)));
- sprintf(buffer2, " %x", VendorRelease(Tk_Display(tkwin)));
- Tcl_AppendResult(interp, buffer, ServerVendor(Tk_Display(tkwin)),
- buffer2, NULL);
-}
-
-#pragma mark XImage handling
-/*
- *----------------------------------------------------------------------
- *
- * XCreateImage --
- *
- * Allocates storage for a new XImage.
- *
- * Results:
- * Returns a newly allocated XImage.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-XImage *
-XCreateImage(
- Display* display,
- Visual* visual,
- unsigned int depth,
- int format,
- int offset,
- char* data,
- unsigned int width,
- unsigned int height,
- int bitmap_pad,
- int bytes_per_line)
-{
- XImage *ximage;
-
- display->request++;
- ximage = ckalloc(sizeof(XImage));
-
- ximage->height = height;
- ximage->width = width;
- ximage->depth = depth;
- ximage->xoffset = offset;
- ximage->format = format;
- ximage->data = data;
-
- if (format == ZPixmap) {
- ximage->bits_per_pixel = 32;
- ximage->bitmap_unit = 32;
- } else {
- ximage->bits_per_pixel = 1;
- ximage->bitmap_unit = 8;
- }
- if (bitmap_pad) {
- ximage->bitmap_pad = bitmap_pad;
- } else {
- /* Use 16 byte alignment for best Quartz perfomance */
- ximage->bitmap_pad = 128;
- }
- if (bytes_per_line) {
- ximage->bytes_per_line = bytes_per_line;
- } else {
- ximage->bytes_per_line = ((width * ximage->bits_per_pixel +
- (ximage->bitmap_pad - 1)) >> 3) &
- ~((ximage->bitmap_pad >> 3) - 1);
- }
-#ifdef WORDS_BIGENDIAN
- ximage->byte_order = MSBFirst;
- ximage->bitmap_bit_order = MSBFirst;
-#else
- ximage->byte_order = LSBFirst;
- ximage->bitmap_bit_order = LSBFirst;
-#endif
- ximage->red_mask = 0x00FF0000;
- ximage->green_mask = 0x0000FF00;
- ximage->blue_mask = 0x000000FF;
- ximage->obdata = NULL;
- ximage->f.create_image = NULL;
- ximage->f.destroy_image = DestroyImage;
- ximage->f.get_pixel = ImageGetPixel;
- ximage->f.put_pixel = PutPixel;
- ximage->f.sub_image = NULL;
- ximage->f.add_pixel = NULL;
-
- return ximage;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XGetImage --
- *
- * This function copies data from a pixmap or window into an XImage.
- *
- * Results:
- * Returns a newly allocated image containing the data from the given
- * rectangle of the given drawable.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-XImage *
-XGetImage(
- Display *display,
- Drawable d,
- int x,
- int y,
- unsigned int width,
- unsigned int height,
- unsigned long plane_mask,
- int format)
-{
- XImage * imagePtr = NULL;
- Pixmap pixmap = (Pixmap) NULL;
- Tk_Window win = (Tk_Window) ((MacDrawable *) d)->winPtr;
- GC gc;
- int depth = 32;
- int offset = 0;
- int bitmap_pad = 32;
- int bytes_per_line = 0;
-
- if (TkMacOSXGetDrawablePort(d)) {
- if (format == ZPixmap) {
- if (width > 0 && height > 0) {
- /*
- * Tk_GetPixmap fails for zero width or height.
- */
-
- pixmap = Tk_GetPixmap(display, d, width, height, depth);
- }
- if (win) {
- XGCValues values;
-
- gc = Tk_GetGC(win, 0, &values);
- } else {
- gc = XCreateGC(display, pixmap, 0, NULL);
- }
- if (pixmap) {
- XCopyArea(display, d, pixmap, gc, x, y, width, height, 0, 0);
- }
- imagePtr = XCreateImage(display, NULL, depth, format, offset,
- (char *) TkMacOSXGetDrawablePort(pixmap),
- width, height, bitmap_pad, bytes_per_line);
-
- /*
- * Track Pixmap underlying the XImage in the unused obdata field
- * so that we can treat XImages coming from XGetImage specially.
- */
-
- imagePtr->obdata = (XPointer) pixmap;
- if (!win) {
- XFreeGC(display, gc);
- }
- } else {
- TkpDisplayWarning(
- "XGetImage: only ZPixmap types are implemented",
- "XGetImage Failure");
- }
- }
- return imagePtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DestroyImage --
- *
- * Destroys storage associated with an image.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Deallocates the image.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-DestroyImage(
- XImage *image)
-{
- if (image) {
- if (image->obdata) {
- Tk_FreePixmap((Display*) gMacDisplay, (Pixmap) image->obdata);
- } else if (image->data) {
- ckfree(image->data);
- }
- ckfree(image);
- }
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ImageGetPixel --
- *
- * Get a single pixel from an image.
- *
- * Results:
- * Returns the 32 bit pixel value.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static unsigned long
-ImageGetPixel(
- XImage *image,
- int x,
- int y)
-{
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- RGBColor cPix;
- unsigned long r, g, b, c;
-
- destPort = (CGrafPtr) image->data;
- portChanged = QDSwapPort(destPort, &savePort);
- GetCPixel(x, y, &cPix);
- if (image->obdata) {
- /*
- * Image from XGetImage, 16 bit color values.
- */
-
- r = (cPix . red) >> 8;
- g = (cPix . green) >> 8;
- b = (cPix . blue) >> 8;
- } else {
- r = cPix . red;
- g = cPix . green;
- b = cPix . blue;
- }
- c = (r<<16)|(g<<8)|(b);
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- return c;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * PutPixel --
- *
- * Set a single pixel in an image.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-PutPixel(
- XImage *image,
- int x,
- int y,
- unsigned long pixel)
-{
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- RGBColor cPix;
- unsigned long r, g, b;
-
- destPort = (CGrafPtr)image->data;
- portChanged = QDSwapPort(destPort, &savePort);
- r = (pixel & image->red_mask)>>16;
- g = (pixel & image->green_mask)>>8;
- b = (pixel & image->blue_mask);
- if (image->obdata) {
- /*
- * Image from XGetImage, 16 bit color values.
- */
-
- cPix.red = r << 8;
- cPix.green = g << 8;
- cPix.blue = b << 8;
- } else {
- cPix.red = r;
- cPix.green = g;
- cPix.blue = b;
- }
- SetCPixel(x, y, &cPix);
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
- return 0;
-}
-
-#if 0
-static XImage *
-SubImage(
- XImage *image,
- int x,
- int y,
- unsigned int width,
- unsigned int height)
-{
- Debugger();
- return NULL;
-}
-
-static int
-AddPixel(
- XImage *image,
- long value)
-{
- Debugger();
- return 0;
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XChangeWindowAttributes, XSetWindowBackground,
- * XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap,
- * XSetWindowBorderWidth, XSetWindowColormap
- *
- * These functions are all no-ops. They all have equivalent Tk calls that
- * should always be used instead.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XChangeWindowAttributes(
- Display *display,
- Window w,
- unsigned long value_mask,
- XSetWindowAttributes *attributes)
-{
-}
-
-void
-XSetWindowBackground(
- Display *display,
- Window window,
- unsigned long value)
-{
-}
-
-void
-XSetWindowBackgroundPixmap(
- Display *display,
- Window w,
- Pixmap background_pixmap)
-{
-}
-
-void
-XSetWindowBorder(
- Display *display,
- Window w,
- unsigned long border_pixel)
-{
-}
-
-void
-XSetWindowBorderPixmap(
- Display *display,
- Window w,
- Pixmap border_pixmap)
-{
-}
-
-void
-XSetWindowBorderWidth(
- Display *display,
- Window w,
- unsigned int width)
-{
-}
-
-void
-XSetWindowColormap(
- Display *display,
- Window w,
- Colormap colormap)
-{
- Debugger();
-}
-
-Status
-XStringListToTextProperty(
- char **list,
- int count,
- XTextProperty *text_prop_return)
-{
- Debugger();
- return (Status) 0;
-}
-
-void
-XSetWMClientMachine(
- Display *display,
- Window w,
- XTextProperty *text_prop)
-{
- Debugger();
-}
-
-XIC
-XCreateIC(void)
-{
- Debugger();
- return (XIC) 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetDefaultScreenName --
- *
- * Returns the name of the screen that Tk should use during
- * initialization.
- *
- * Results:
- * Returns a statically allocated string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-const char *
-TkGetDefaultScreenName(
- Tcl_Interp *interp, /* Not used. */
- const char *screenName) /* If NULL, use default string. */
-{
-#if 0
- if ((screenName == NULL) || (screenName[0] == '\0')) {
- screenName = macScreenName;
- }
- return screenName;
-#endif
- return macScreenName;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetUserInactiveTime --
- *
- * Return the number of milliseconds the user was inactive.
- *
- * Results:
- * The number of milliseconds the user has been inactive, or -1 if
- * querying the inactive time is not supported.
- *
- * Side effects:
- * None.
- *----------------------------------------------------------------------
- */
-
-long
-Tk_GetUserInactiveTime(
- Display *dpy)
-{
- io_registry_entry_t regEntry;
- CFMutableDictionaryRef props = NULL;
- CFTypeRef timeObj;
- long ret = -1l;
- uint64_t time;
- IOReturn result;
-
- regEntry = IOServiceGetMatchingService(kIOMasterPortDefault,
- IOServiceMatching("IOHIDSystem"));
-
- if (regEntry == 0) {
- return -1l;
- }
-
- result = IORegistryEntryCreateCFProperties(regEntry, &props,
- kCFAllocatorDefault, 0);
- IOObjectRelease(regEntry);
-
- if (result != KERN_SUCCESS || props == NULL) {
- return -1l;
- }
-
- timeObj = CFDictionaryGetValue(props, CFSTR("HIDIdleTime"));
-
- if (timeObj) {
- CFTypeID type = CFGetTypeID(timeObj);
-
- if (type == CFDataGetTypeID()) { /* Jaguar */
- CFDataGetBytes((CFDataRef) timeObj,
- CFRangeMake(0, sizeof(time)), (UInt8 *) &time);
- /* Convert nanoseconds to milliseconds. */
- /* ret /= kMillisecondScale; */
- ret = (long) (time/kMillisecondScale);
- } else if (type == CFNumberGetTypeID()) { /* Panther+ */
- CFNumberGetValue((CFNumberRef)timeObj,
- kCFNumberSInt64Type, &time);
- /* Convert nanoseconds to milliseconds. */
- /* ret /= kMillisecondScale; */
- ret = (long) (time/kMillisecondScale);
- } else {
- ret = -1l;
- }
- }
- /* Cleanup */
- CFRelease(props);
-
- return ret;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_ResetUserInactiveTime --
- *
- * Reset the user inactivity timer
- *
- * Results:
- * none
- *
- * Side effects:
- * The user inactivity timer of the underlaying windowing system is reset
- * to zero.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_ResetUserInactiveTime(
- Display *dpy)
-{
- UpdateSystemActivity(UsrActivity);
-}
diff --git a/carbon/ttkMacOSXTheme.c b/carbon/ttkMacOSXTheme.c
deleted file mode 100644
index 5a895aa..0000000
--- a/carbon/ttkMacOSXTheme.c
+++ /dev/null
@@ -1,1132 +0,0 @@
-/*
- * ttkMacOSXTheme.c --
- *
- * Tk theme engine for Mac OSX, using the Appearance Manager API.
- *
- * Copyright (c) 2004 Joe English
- * Copyright (c) 2005 Neil Madden
- * Copyright (c) 2006-2007 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.
- *
- * See also:
- *
- * <URL: http://developer.apple.com/documentation/Carbon/Reference/
- * Appearance_Manager/appearance_manager/APIIndex.html >
- *
- * Notes:
- * "Active" means different things in Mac and Tk terminology --
- * On Aqua, widgets are "Active" if they belong to the foreground window,
- * "Inactive" if they are in a background window.
- * Tk uses the term "active" to mean that the mouse cursor
- * is over a widget; aka "hover", "prelight", or "hot-tracked".
- * Aqua doesn't use this kind of feedback.
- *
- * The QuickDraw/Carbon coordinate system is relative to the
- * top-level window, not to the Tk_Window. BoxToRect()
- * accounts for this.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "ttk/ttkTheme.h"
-
-#if !defined(BUILD_tile)
-/*
- * Use this version in the core:
- */
-#define BEGIN_DRAWING(d) { \
- TkMacOSXDrawingContext dc; \
- if (!TkMacOSXSetupDrawingContext((d), NULL, 0, &dc)) {return;}
-#define END_DRAWING \
- TkMacOSXRestoreDrawingContext(&dc); }
-#else /* BUILD_tile */
-/*
- * TkMacOSXSetupDrawingContext is not available to extensions,
- * need to do this the hard way in Tile:
- */
-#define BEGIN_DRAWING(d) { \
- CGrafPtr saveWorld; GDHandle saveDevice; \
- GetGWorld(&saveWorld, &saveDevice); \
- SetGWorld(TkMacOSXGetDrawablePort(d), 0); \
- TkMacOSXSetUpClippingRgn(d);
-#define END_DRAWING \
- SetGWorld(saveWorld,saveDevice); }
-#endif /* defined(BUILD_TILE) */
-
-/*----------------------------------------------------------------------
- * +++ Utilities.
- */
-
-/*
- * BoxToRect --
- * Convert a Ttk_Box in Tk coordinates relative to the given Drawable
- * to a native Rect relative to the containing port.
- */
-static inline Rect BoxToRect(Drawable d, Ttk_Box b)
-{
- MacDrawable *md = (MacDrawable*)d;
- Rect rect;
-
- rect.top = b.y + md->yOff;
- rect.left = b.x + md->xOff;
- rect.bottom = rect.top + b.height;
- rect.right = rect.left + b.width;
-
- return rect;
-}
-
-/*
- * PatternOrigin --
- * Compute brush pattern origin for a Drawable relative to a Tk_Window.
- *
- * Notes: This will only be nonzero if the Drawable is an off-screen pixmap.
- * See also SF bug #1157739.
- */
-static Point PatternOrigin(Tk_Window tkwin, Drawable d)
-{
- MacDrawable *md = (MacDrawable*)d;
- Rect bounds;
- Point origin;
-
- TkMacOSXWinBounds((TkWindow *) tkwin, &bounds);
- origin.h = md->xOff - bounds.left;
- origin.v = md->yOff - bounds.top;
-
- return origin;
-}
-
-/*
- * DontErase --
- * No-op ThemeEraseProc, can be passed to DrawThemeButton &c.
- */
-static void DontErase(
- const Rect *bounds, UInt32 eraseData, SInt16 depth, Boolean isColorDev)
-{ }
-
-/*
- * Table mapping Tk states to Appearance manager ThemeStates
- */
-
-static Ttk_StateTable ThemeStateTable[] = {
- {kThemeStateUnavailable, TTK_STATE_DISABLED, 0},
- {kThemeStatePressed, TTK_STATE_PRESSED, 0},
- {kThemeStateInactive, TTK_STATE_BACKGROUND, 0},
- {kThemeStateActive, 0, 0}
-/* Others: Not sure what these are supposed to mean.
- Up/Down have something to do with "little arrow" increment controls...
- Dunno what a "Rollover" is.
- NEM: Rollover is TTK_STATE_ACTIVE... but we don't handle that yet, by the
- looks of things
- {kThemeStateRollover, 0, 0},
- {kThemeStateUnavailableInactive, 0, 0}
- {kThemeStatePressedUp, 0, 0},
- {kThemeStatePressedDown, 0, 0}
-*/
-};
-
-/*----------------------------------------------------------------------
- * +++ Button element: Used for elements drawn with DrawThemeButton.
- */
-
-/*
- * Extra margins to account for drop shadow.
- */
-static Ttk_Padding ButtonMargins = {2,2,2,2};
-
-#define NoThemeMetric 0xFFFFFFFF
-
-typedef struct {
- ThemeButtonKind kind;
- ThemeMetric heightMetric;
-} ThemeButtonParms;
-
-static ThemeButtonParms
- PushButtonParms = { kThemePushButton, kThemeMetricPushButtonHeight },
- CheckBoxParms = { kThemeCheckBox, kThemeMetricCheckBoxHeight },
- RadioButtonParms = { kThemeRadioButton, kThemeMetricRadioButtonHeight },
- BevelButtonParms = { kThemeBevelButton, NoThemeMetric },
- PopupButtonParms = { kThemePopupButton, kThemeMetricPopupButtonHeight },
- DisclosureParms = { kThemeDisclosureButton, kThemeMetricDisclosureTriangleHeight },
- ListHeaderParms = { kThemeListHeaderButton, kThemeMetricListHeaderHeight };
-
-static Ttk_StateTable ButtonValueTable[] = {
- { kThemeButtonMixed, TTK_STATE_ALTERNATE, 0 },
- { kThemeButtonOn, TTK_STATE_SELECTED, 0 },
- { kThemeButtonOff, 0, 0 }
-/* Others: kThemeDisclosureRight, kThemeDisclosureDown, kThemeDisclosureLeft */
-};
-
-static Ttk_StateTable ButtonAdornmentTable[] = {
- { kThemeAdornmentDefault| kThemeAdornmentFocus,
- TTK_STATE_ALTERNATE| TTK_STATE_FOCUS, 0 },
- { kThemeAdornmentDefault, TTK_STATE_ALTERNATE, 0 },
- { kThemeAdornmentFocus, TTK_STATE_FOCUS, 0 },
- { kThemeAdornmentNone, 0, 0 }
-};
-
-/*
- * computeButtonDrawInfo --
- * Fill in an appearance manager ThemeButtonDrawInfo record.
- */
-static ThemeButtonDrawInfo computeButtonDrawInfo(
- ThemeButtonParms *parms, Ttk_State state)
-{
- ThemeButtonDrawInfo info;
-
- info.state = Ttk_StateTableLookup(ThemeStateTable, state);
- info.value = Ttk_StateTableLookup(ButtonValueTable, state);
- info.adornment = Ttk_StateTableLookup(ButtonAdornmentTable, state);
- return info;
-}
-
-static void ButtonElementSizeNoPadding(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- ThemeButtonParms *parms = clientData;
-
- if (parms->heightMetric != NoThemeMetric) {
- SInt32 height;
-
- ChkErr(GetThemeMetric, parms->heightMetric, &height);
- *heightPtr = height;
- }
-}
-
-static void ButtonElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- ThemeButtonParms *parms = clientData;
- ThemeButtonDrawInfo info = computeButtonDrawInfo(parms, 0);
- static const Rect scratchBounds = {0, 0, 100, 100};
- Rect contentBounds;
-
- ButtonElementSizeNoPadding(
- clientData, elementRecord, tkwin,
- widthPtr, heightPtr, paddingPtr);
-
- /*
- * To compute internal padding, query the appearance manager
- * for the content bounds of a dummy rectangle, then use
- * the difference as the padding.
- */
- ChkErr(GetThemeButtonContentBounds,
- &scratchBounds, parms->kind, &info, &contentBounds);
-
- paddingPtr->left = contentBounds.left;
- paddingPtr->top = contentBounds.top;
- paddingPtr->right = scratchBounds.right - contentBounds.right + 1;
- paddingPtr->bottom = scratchBounds.bottom - contentBounds.bottom;
-
- /*
- * Now add a little extra padding to account for drop shadows.
- * @@@ SHOULD: call GetThemeButtonBackgroundBounds() instead.
- */
-
- *paddingPtr = Ttk_AddPadding(*paddingPtr, ButtonMargins);
- *widthPtr += Ttk_PaddingWidth(ButtonMargins);
- *heightPtr += Ttk_PaddingHeight(ButtonMargins);
-}
-
-static void ButtonElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeButtonParms *parms = clientData;
- ThemeButtonDrawInfo info = computeButtonDrawInfo(parms, state);
- Rect bounds = BoxToRect(d, Ttk_PadBox(b, ButtonMargins));
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeButton, &bounds, parms->kind, &info, NULL, NULL, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec ButtonElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- ButtonElementSize,
- ButtonElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Notebook elements.
- */
-
-static Ttk_StateTable TabStyleTable[] = {
- { kThemeTabFrontInactive, TTK_STATE_SELECTED|TTK_STATE_BACKGROUND, 0 },
- { kThemeTabNonFrontInactive, TTK_STATE_BACKGROUND, 0 },
- { kThemeTabFrontUnavailable, TTK_STATE_DISABLED|TTK_STATE_SELECTED, 0 },
- { kThemeTabNonFrontUnavailable, TTK_STATE_DISABLED, 0 },
- { kThemeTabFront, TTK_STATE_SELECTED, 0 },
- { kThemeTabNonFrontPressed, TTK_STATE_PRESSED, 0 },
- { kThemeTabNonFront, 0,0 }
-};
-
-/*
- * Quoth DrawThemeTab() reference manual:
- * "Small tabs have a height of 16 pixels large tabs have a height of
- * 21 pixels. (The widths of tabs are variable.) Additionally, the
- * distance that the tab overlaps the pane must be included in the tab
- * rectangle this overlap distance is always 3 pixels, although the
- * 3-pixel overlap is only drawn for the front tab."
- */
-static const int TAB_HEIGHT = 21;
-static const int TAB_OVERLAP = 3;
-
-static void TabElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *heightPtr = TAB_HEIGHT + TAB_OVERLAP - 1;
-}
-
-static void TabElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- Rect bounds = BoxToRect(d, b);
- ThemeTabStyle tabStyle = Ttk_StateTableLookup(TabStyleTable, state);
-
- bounds.bottom += TAB_OVERLAP;
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeTab, &bounds, tabStyle, kThemeTabNorth, 0, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec TabElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TabElementSize,
- TabElementDraw
-};
-
-/*
- * Notebook panes:
- */
-static void PaneElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- /* Padding determined by trial-and-error */
- *paddingPtr = Ttk_MakePadding(2, 8, 2, 2);
-}
-
-static void PaneElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- Rect bounds = BoxToRect(d, b);
- ThemeDrawState drawState = Ttk_StateTableLookup(ThemeStateTable, state);
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeTabPane, &bounds, drawState);
- END_DRAWING
-}
-
-static Ttk_ElementSpec PaneElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- PaneElementSize,
- PaneElementDraw
-};
-
-/*
- * Labelframe borders:
- * Use "primary group box ..."
- * Quoth DrawThemePrimaryGroup reference:
- * "The primary group box frame is drawn inside the specified
- * rectangle and is a maximum of 2 pixels thick."
- *
- * "Maximum of 2 pixels thick" is apparently a lie;
- * looks more like 4 to me with shading.
- */
-static void GroupElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *paddingPtr = Ttk_UniformPadding(4);
-}
-
-static void GroupElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- Rect bounds = BoxToRect(d, b);
- ThemeDrawState drawState = Ttk_StateTableLookup(ThemeStateTable, state);
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemePrimaryGroup, &bounds, drawState);
- END_DRAWING
-}
-
-static Ttk_ElementSpec GroupElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- GroupElementSize,
- GroupElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Entry element --
- * 3 pixels padding for focus rectangle
- * 2 pixels padding for EditTextFrame
- */
-
-typedef struct {
- Tcl_Obj *backgroundObj;
-} EntryElement;
-
-static Ttk_ElementOptionSpec EntryElementOptions[] = {
- { "-background", TK_OPTION_BORDER,
- Tk_Offset(EntryElement,backgroundObj), "white" },
- {0}
-};
-
-static void EntryElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *paddingPtr = Ttk_UniformPadding(5);
-}
-
-static void EntryElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- EntryElement *e = elementRecord;
- Tk_3DBorder backgroundPtr = Tk_Get3DBorderFromObj(tkwin,e->backgroundObj);
- Ttk_Box inner = Ttk_PadBox(b, Ttk_UniformPadding(3));
- Rect bounds = BoxToRect(d, inner);
- ThemeDrawState drawState = Ttk_StateTableLookup(ThemeStateTable, state);
-
- /*
- * Erase w/background color:
- */
- XFillRectangle(Tk_Display(tkwin), d,
- Tk_3DBorderGC(tkwin, backgroundPtr, TK_3D_FLAT_GC),
- inner.x,inner.y, inner.width, inner.height);
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeEditTextFrame, &bounds, drawState);
- if (state & TTK_STATE_FOCUS) {
- ChkErr(DrawThemeFocusRect, &bounds, 1);
- }
- END_DRAWING
-}
-
-static Ttk_ElementSpec EntryElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(EntryElement),
- EntryElementOptions,
- EntryElementSize,
- EntryElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Combobox:
- *
- * NOTES:
- * kThemeMetricComboBoxLargeDisclosureWidth -> 17
- * Padding and margins guesstimated by trial-and-error.
- */
-
-static Ttk_Padding ComboboxPadding = { 2, 3, 17, 1 };
-static Ttk_Padding ComboboxMargins = { 3, 3, 4, 4 };
-
-static void ComboboxElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *widthPtr = 0;
- *heightPtr = 0;
- *paddingPtr = Ttk_AddPadding(ComboboxMargins, ComboboxPadding);
-}
-
-static void ComboboxElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeButtonParms *parms = clientData;
- ThemeButtonDrawInfo info = computeButtonDrawInfo(parms, state);
- Rect bounds = BoxToRect(d, Ttk_PadBox(b, ComboboxMargins));
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeButton,
- &bounds, kThemeComboBox, &info, NULL, NULL, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec ComboboxElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- ComboboxElementSize,
- ComboboxElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Spinbuttons.
- *
- * From Apple HIG, part III, section "Controls", "The Stepper Control":
- * there should be 2 pixels of space between the stepper control
- * (AKA IncDecButton, AKA "little arrows") and the text field it modifies.
- */
-
-static Ttk_Padding SpinbuttonMargins = {2,0,2,0};
-static void SpinButtonElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- SInt32 s;
-
- ChkErr(GetThemeMetric, kThemeMetricLittleArrowsWidth, &s);
- *widthPtr = s + Ttk_PaddingWidth(SpinbuttonMargins);
- ChkErr(GetThemeMetric, kThemeMetricLittleArrowsHeight, &s);
- *heightPtr = s + Ttk_PaddingHeight(SpinbuttonMargins);
-}
-
-static void SpinButtonElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- Rect bounds = BoxToRect(d, Ttk_PadBox(b, SpinbuttonMargins));
- ThemeButtonDrawInfo info;
-
- /* @@@ can't currently distinguish PressedUp (== Pressed) from PressedDown;
- * ignore this bit for now [see #2219588]
- */
- info.state = Ttk_StateTableLookup(ThemeStateTable,
- state & ~TTK_STATE_PRESSED);
- info.value = Ttk_StateTableLookup(ButtonValueTable, state);
- info.adornment = kThemeAdornmentNone;
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeButton,
- &bounds, kThemeIncDecButton, &info, NULL, NULL, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec SpinButtonElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SpinButtonElementSize,
- SpinButtonElementDraw
-};
-
-
-/*----------------------------------------------------------------------
- * +++ DrawThemeTrack-based elements --
- * Progress bars and scales. (See also: <<NOTE-TRACKS>>)
- */
-
-static Ttk_StateTable ThemeTrackEnableTable[] = {
- { kThemeTrackDisabled, TTK_STATE_DISABLED, 0 },
- { kThemeTrackInactive, TTK_STATE_BACKGROUND, 0 },
- { kThemeTrackActive, 0, 0 }
- /* { kThemeTrackNothingToScroll, ?, ? }, */
-};
-
-typedef struct { /* TrackElement client data */
- ThemeTrackKind kind;
- SInt32 thicknessMetric;
-} TrackElementData;
-
-static TrackElementData ScaleData = {
- kThemeSlider, kThemeMetricHSliderHeight
-};
-
-typedef struct {
- Tcl_Obj *fromObj; /* minimum value */
- Tcl_Obj *toObj; /* maximum value */
- Tcl_Obj *valueObj; /* current value */
- Tcl_Obj *orientObj; /* horizontal / vertical */
-} TrackElement;
-
-static Ttk_ElementOptionSpec TrackElementOptions[] = {
- { "-from", TK_OPTION_DOUBLE, Tk_Offset(TrackElement,fromObj) },
- { "-to", TK_OPTION_DOUBLE, Tk_Offset(TrackElement,toObj) },
- { "-value", TK_OPTION_DOUBLE, Tk_Offset(TrackElement,valueObj) },
- { "-orient", TK_OPTION_STRING, Tk_Offset(TrackElement,orientObj) },
- {0,0,0}
-};
-
-static void TrackElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- TrackElementData *data = clientData;
- SInt32 size = 24; /* reasonable default ... */
-
- ChkErr(GetThemeMetric, data->thicknessMetric, &size);
- *widthPtr = *heightPtr = size;
-}
-
-static void TrackElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- TrackElementData *data = clientData;
- TrackElement *elem = elementRecord;
- double from = 0, to = 100, value = 0;
- int orientation = TTK_ORIENT_HORIZONTAL;
- ThemeTrackDrawInfo info;
-
- Tcl_GetDoubleFromObj(NULL, elem->fromObj, &from);
- Tcl_GetDoubleFromObj(NULL, elem->toObj, &to);
- Tcl_GetDoubleFromObj(NULL, elem->valueObj, &value);
- Ttk_GetOrientFromObj(NULL, elem->orientObj, &orientation);
-
- /* @@@ BUG: min, max, and value should account for resolution:
- * @@@ if finer than 1.0, conversion to int breaks.
- */
- info.kind = data->kind;
- info.bounds = BoxToRect(d, b);
- info.min = (int) from; /* @@@ */
- info.max = (int) to; /* @@@ */
- info.value = (int) value; /* @@@ */
-
- info.attributes = orientation == TTK_ORIENT_HORIZONTAL
- ? kThemeTrackHorizontal : 0;
- info.attributes |= kThemeTrackShowThumb;
- info.enableState = Ttk_StateTableLookup(ThemeTrackEnableTable, state);
-
- switch (data->kind) {
- case kThemeProgressBar:
- info.trackInfo.progress.phase = 0; /* 1-4: animation phase */
- break;
- case kThemeSlider:
- info.trackInfo.slider.pressState = 0; /* @@@ fill this in */
- info.trackInfo.slider.thumbDir = kThemeThumbPlain;
- /* kThemeThumbUpward, kThemeThumbDownward, kThemeThumbPlain */
- break;
- }
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeTrack, &info, NULL, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec TrackElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(TrackElement),
- TrackElementOptions,
- TrackElementSize,
- TrackElementDraw
-};
-
-/*
- * Slider element -- <<NOTE-TRACKS>>
- * Has geometry only. The Scale widget adjusts the position of this element,
- * and uses it for hit detection. In the Aqua theme, the slider is actually
- * drawn as part of the trough element.
- *
- * Also buggy: The geometry here is a Wild-Assed-Guess; I can't
- * figure out how to get the Appearance Manager to tell me the
- * slider size.
- */
-static void SliderElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *widthPtr = *heightPtr = 24;
-}
-
-static Ttk_ElementSpec SliderElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SliderElementSize,
- TtkNullElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Progress bar element (new):
- *
- * @@@ NOTE: According to an older revision of the Aqua reference docs,
- * @@@ the 'phase' field is between 0 and 4. Newer revisions say
- * @@@ that it can be any UInt8 value.
- */
-
-typedef struct {
- Tcl_Obj *orientObj; /* horizontal / vertical */
- Tcl_Obj *valueObj; /* current value */
- Tcl_Obj *maximumObj; /* maximum value */
- Tcl_Obj *phaseObj; /* animation phase */
- Tcl_Obj *modeObj; /* progress bar mode */
-} PbarElement;
-
-static Ttk_ElementOptionSpec PbarElementOptions[] = {
- { "-orient", TK_OPTION_STRING,
- Tk_Offset(PbarElement,orientObj), "horizontal" },
- { "-value", TK_OPTION_DOUBLE,
- Tk_Offset(PbarElement,valueObj), "0" },
- { "-maximum", TK_OPTION_DOUBLE,
- Tk_Offset(PbarElement,maximumObj), "100" },
- { "-phase", TK_OPTION_INT,
- Tk_Offset(PbarElement,phaseObj), "0" },
- { "-mode", TK_OPTION_STRING,
- Tk_Offset(PbarElement,modeObj), "determinate" },
- {0,0,0,0}
-};
-
-static void PbarElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- SInt32 size = 24; /* @@@ Check HIG for correct default */
-
- ChkErr(GetThemeMetric, kThemeMetricLargeProgressBarThickness, &size);
- *widthPtr = *heightPtr = size;
-}
-
-static void PbarElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- PbarElement *pbar = elementRecord;
- int orientation = TTK_ORIENT_HORIZONTAL;
- double value = 0, maximum = 100;
- int phase = 0;
- ThemeTrackDrawInfo info;
-
- Ttk_GetOrientFromObj(NULL, pbar->orientObj, &orientation);
- Tcl_GetDoubleFromObj(NULL, pbar->valueObj, &value);
- Tcl_GetDoubleFromObj(NULL, pbar->maximumObj, &maximum);
- Tcl_GetIntFromObj(NULL, pbar->phaseObj, &phase);
-
- if (!strcmp("indeterminate", Tcl_GetString(pbar->modeObj)) && value) {
- info.kind = kThemeIndeterminateBar;
- } else {
- info.kind = kThemeProgressBar;
- }
- info.bounds = BoxToRect(d, b);
- info.min = 0;
- info.max = (int) maximum; /* @@@ See note above */
- info.value = (int) value;
- info.attributes = orientation == TTK_ORIENT_HORIZONTAL
- ? kThemeTrackHorizontal : 0;
- info.attributes |= kThemeTrackShowThumb;
- info.enableState = Ttk_StateTableLookup(ThemeTrackEnableTable, state);
- info.trackInfo.progress.phase = phase;
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeTrack, &info, NULL, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec PbarElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(PbarElement),
- PbarElementOptions,
- PbarElementSize,
- PbarElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Separator element.
- *
- * DrawThemeSeparator() guesses the orientation of the line from
- * the width and height of the rectangle, so the same element can
- * can be used for horizontal, vertical, and general separators.
- */
-
-static void SeparatorElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *widthPtr = *heightPtr = 1;
-}
-
-static void SeparatorElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, unsigned int state)
-{
- Rect bounds = BoxToRect(d, b);
- ThemeDrawState drawState;
-
- /*
- * DrawThemeSeparator only supports kThemeStateActive / kThemeStateInactive
- */
- state &= TTK_STATE_BACKGROUND;
- drawState = Ttk_StateTableLookup(ThemeStateTable, state);
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeSeparator, &bounds, drawState);
- END_DRAWING
-}
-
-static Ttk_ElementSpec SeparatorElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SeparatorElementSize,
- SeparatorElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Size grip element.
- */
-static const ThemeGrowDirection sizegripGrowDirection
- = kThemeGrowRight|kThemeGrowDown;
-
-static void SizegripElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- Point origin = {0, 0};
- Rect bounds;
-
- ChkErr(GetThemeStandaloneGrowBoxBounds,
- origin, sizegripGrowDirection, false, &bounds);
- *widthPtr = bounds.right - bounds.left;
- *heightPtr = bounds.bottom - bounds.top;
-}
-
-static void SizegripElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, unsigned int state)
-{
- Rect bounds = BoxToRect(d, b);
- Point origin = {bounds.top, bounds.left};
-
- /* Grow box only supports kThemeStateActive, kThemeStateInactive */
- state &= TTK_STATE_BACKGROUND;
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeStandaloneGrowBox,
- origin, sizegripGrowDirection, false,
- Ttk_StateTableLookup(ThemeStateTable, state));
- END_DRAWING
-}
-
-static Ttk_ElementSpec SizegripElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SizegripElementSize,
- SizegripElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Background and fill elements.
- *
- * This isn't quite right: In Aqua, the correct background for
- * a control depends on what kind of container it belongs to,
- * and the type of the top-level window.
- *
- * Also: patterned backgrounds should be aligned with the coordinate
- * system of the top-level window. If we're drawing into an
- * off-screen graphics port this leads to alignment glitches.
- */
-
-static void FillElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- Rect bounds = BoxToRect(d, b);
- ThemeBrush brush = (state & TTK_STATE_BACKGROUND)
- ? kThemeBrushModelessDialogBackgroundInactive
- : kThemeBrushModelessDialogBackgroundActive;
-
- BEGIN_DRAWING(d)
- ChkErr(SetThemeBackground, brush, 32, true);
- QDSetPatternOrigin(PatternOrigin(tkwin, d));
- EraseRect(&bounds);
- END_DRAWING
-}
-
-static void BackgroundElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, unsigned int state)
-{
- FillElementDraw(
- clientData, elementRecord, tkwin,
- d, Ttk_WinBox(tkwin), state);
-}
-
-static Ttk_ElementSpec FillElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TtkNullElementSize,
- FillElementDraw
-};
-
-static Ttk_ElementSpec BackgroundElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TtkNullElementSize,
- BackgroundElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ ToolbarBackground element -- toolbar style for frames.
- *
- * This is very similar to the normal background element, but uses a
- * different ThemeBrush in order to get the lighter pinstripe effect
- * used in toolbars. We use SetThemeBackground() rather than
- * ApplyThemeBackground() in order to get the right style.
- *
- * <URL: http://developer.apple.com/documentation/Carbon/Reference/
- * Appearance_Manager/appearance_manager/constant_7.html#/
- * /apple_ref/doc/uid/TP30000243/C005321>
- *
- */
-static void ToolbarBackgroundElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeBrush brush = kThemeBrushToolbarBackground;
- Rect bounds = BoxToRect(d, Ttk_WinBox(tkwin));
-
- BEGIN_DRAWING(d)
- ChkErr(SetThemeBackground, brush, 32, true);
- QDSetPatternOrigin(PatternOrigin(tkwin, d));
- EraseRect(&bounds);
- END_DRAWING
-}
-
-static Ttk_ElementSpec ToolbarBackgroundElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TtkNullElementSize,
- ToolbarBackgroundElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Treeview header
- * Redefine the header to use a kThemeListHeaderButton.
- */
-
-static Ttk_StateTable TreeHeaderAdornmentTable[] = {
- { kThemeAdornmentHeaderButtonSortUp, TTK_STATE_ALTERNATE, 0 },
- { kThemeAdornmentFocus, TTK_STATE_FOCUS, 0 },
- { kThemeAdornmentNone, 0, 0 }
-};
-
-static void TreeHeaderElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeButtonParms *parms = clientData;
- Rect bounds = BoxToRect(d, b);
- ThemeButtonDrawInfo info;
-
- info.state = Ttk_StateTableLookup(ThemeStateTable, state);
- info.value = Ttk_StateTableLookup(ButtonValueTable, state);
- info.adornment = Ttk_StateTableLookup(TreeHeaderAdornmentTable, state);
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeButton, &bounds, parms->kind, &info, NULL, NULL, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec TreeHeaderElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- ButtonElementSizeNoPadding,
- TreeHeaderElementDraw
-};
-
-/*
- * Disclosure triangle:
- */
-#define TTK_TREEVIEW_STATE_OPEN TTK_STATE_USER1
-#define TTK_TREEVIEW_STATE_LEAF TTK_STATE_USER2
-static Ttk_StateTable DisclosureValueTable[] = {
- { kThemeDisclosureDown, TTK_TREEVIEW_STATE_OPEN, 0 },
- { kThemeDisclosureRight, 0, 0 },
-};
-
-static void DisclosureElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- SInt32 s;
-
- ChkErr(GetThemeMetric, kThemeMetricDisclosureTriangleWidth, &s);
- *widthPtr = s;
- ChkErr(GetThemeMetric, kThemeMetricDisclosureTriangleHeight, &s);
- *heightPtr = s;
-}
-
-static void DisclosureElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- Rect bounds = BoxToRect(d, b);
- ThemeButtonDrawInfo info;
-
- if (state & TTK_TREEVIEW_STATE_LEAF) {
- return;
- }
-
- info.state = Ttk_StateTableLookup(ThemeStateTable, state);
- info.value = Ttk_StateTableLookup(DisclosureValueTable, state);
- info.adornment = kThemeAdornmentDrawIndicatorOnly;
-
- BEGIN_DRAWING(d)
- ChkErr(DrawThemeButton,
- &bounds, kThemeDisclosureTriangle, &info, NULL, DontErase, NULL, 0);
- END_DRAWING
-}
-
-static Ttk_ElementSpec DisclosureElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- DisclosureElementSize,
- DisclosureElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Widget layouts.
- */
-
-TTK_BEGIN_LAYOUT_TABLE(LayoutTable)
-
-TTK_LAYOUT("Toolbar",
- TTK_NODE("Toolbar.background", TTK_FILL_BOTH))
-
-TTK_LAYOUT("TButton",
- TTK_GROUP("Button.button", TTK_FILL_BOTH,
- TTK_GROUP("Button.padding", TTK_FILL_BOTH,
- TTK_NODE("Button.label", TTK_FILL_BOTH))))
-
-TTK_LAYOUT("TRadiobutton",
- TTK_GROUP("Radiobutton.button", TTK_FILL_BOTH,
- TTK_GROUP("Radiobutton.padding", TTK_FILL_BOTH,
- TTK_NODE("Radiobutton.label", TTK_PACK_LEFT))))
-
-TTK_LAYOUT("TCheckbutton",
- TTK_GROUP("Checkbutton.button", TTK_FILL_BOTH,
- TTK_GROUP("Checkbutton.padding", TTK_FILL_BOTH,
- TTK_NODE("Checkbutton.label", TTK_PACK_LEFT))))
-
-TTK_LAYOUT("TMenubutton",
- TTK_GROUP("Menubutton.button", TTK_FILL_BOTH,
- TTK_GROUP("Menubutton.padding", TTK_FILL_BOTH,
- TTK_NODE("Menubutton.label", TTK_PACK_LEFT))))
-
-TTK_LAYOUT("TCombobox",
- TTK_GROUP("Combobox.button", TTK_PACK_TOP|TTK_FILL_X,
- TTK_GROUP("Combobox.padding", TTK_FILL_BOTH,
- TTK_NODE("Combobox.textarea", TTK_FILL_X))))
-
-/* Notebook tabs -- no focus ring */
-TTK_LAYOUT("Tab",
- TTK_GROUP("Notebook.tab", TTK_FILL_BOTH,
- TTK_GROUP("Notebook.padding", TTK_EXPAND|TTK_FILL_BOTH,
- TTK_NODE("Notebook.label", TTK_EXPAND|TTK_FILL_BOTH))))
-
-/* Progress bars -- track only */
-TTK_LAYOUT("TSpinbox",
- TTK_NODE("Spinbox.spinbutton", TTK_PACK_RIGHT|TTK_STICK_E)
- TTK_GROUP("Spinbox.field", TTK_EXPAND|TTK_FILL_X,
- TTK_NODE("Spinbox.textarea", TTK_EXPAND|TTK_FILL_X)))
-
-TTK_LAYOUT("TProgressbar",
- TTK_NODE("Progressbar.track", TTK_EXPAND|TTK_FILL_BOTH))
-
-/* Tree heading -- no border, fixed height */
-TTK_LAYOUT("Heading",
- TTK_NODE("Treeheading.cell", TTK_FILL_X)
- TTK_NODE("Treeheading.image", TTK_PACK_RIGHT)
- TTK_NODE("Treeheading.text", 0))
-
-/* Tree items -- omit focus ring */
-TTK_LAYOUT("Item",
- TTK_GROUP("Treeitem.padding", TTK_FILL_BOTH,
- TTK_NODE("Treeitem.indicator", TTK_PACK_LEFT)
- TTK_NODE("Treeitem.image", TTK_PACK_LEFT)
- TTK_NODE("Treeitem.text", TTK_PACK_LEFT)))
-
-TTK_END_LAYOUT_TABLE
-
-/*----------------------------------------------------------------------
- * +++ Initialization.
- */
-
-static int AquaTheme_Init(Tcl_Interp *interp)
-{
- Ttk_Theme themePtr = Ttk_CreateTheme(interp, "aqua", NULL);
-
- if (!themePtr) {
- return TCL_ERROR;
- }
-
- /*
- * Elements:
- */
- Ttk_RegisterElementSpec(themePtr, "background", &BackgroundElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "fill", &FillElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Toolbar.background",
- &ToolbarBackgroundElementSpec, 0);
-
- Ttk_RegisterElementSpec(themePtr, "Button.button",
- &ButtonElementSpec, &PushButtonParms);
- Ttk_RegisterElementSpec(themePtr, "Checkbutton.button",
- &ButtonElementSpec, &CheckBoxParms);
- Ttk_RegisterElementSpec(themePtr, "Radiobutton.button",
- &ButtonElementSpec, &RadioButtonParms);
- Ttk_RegisterElementSpec(themePtr, "Toolbutton.border",
- &ButtonElementSpec, &BevelButtonParms);
- Ttk_RegisterElementSpec(themePtr, "Menubutton.button",
- &ButtonElementSpec, &PopupButtonParms);
- Ttk_RegisterElementSpec(themePtr, "Spinbox.spinbutton",
- &SpinButtonElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Combobox.button",
- &ComboboxElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Treeitem.indicator",
- &DisclosureElementSpec, &DisclosureParms);
- Ttk_RegisterElementSpec(themePtr, "Treeheading.cell",
- &TreeHeaderElementSpec, &ListHeaderParms);
-
- Ttk_RegisterElementSpec(themePtr, "Notebook.tab", &TabElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Notebook.client", &PaneElementSpec, 0);
-
- Ttk_RegisterElementSpec(themePtr, "Labelframe.border",&GroupElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "Entry.field",&EntryElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "Spinbox.field",&EntryElementSpec,0);
-
- Ttk_RegisterElementSpec(themePtr, "separator",&SeparatorElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "hseparator",&SeparatorElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "vseparator",&SeparatorElementSpec,0);
-
- Ttk_RegisterElementSpec(themePtr, "sizegrip",&SizegripElementSpec,0);
-
- /*
- * <<NOTE-TRACKS>>
- * The Progressbar widget adjusts the size of the pbar element.
- * In the Aqua theme, the appearance manager computes the bar geometry;
- * we do all the drawing in the ".track" element and leave the .pbar out.
- */
- Ttk_RegisterElementSpec(themePtr,"Scale.trough",
- &TrackElementSpec, &ScaleData);
- Ttk_RegisterElementSpec(themePtr,"Scale.slider",&SliderElementSpec,0);
- Ttk_RegisterElementSpec(themePtr,"Progressbar.track", &PbarElementSpec, 0);
-
- /*
- * Layouts:
- */
- Ttk_RegisterLayouts(themePtr, LayoutTable);
-
- Tcl_PkgProvide(interp, "ttk::theme::aqua", TTK_VERSION);
- return TCL_OK;
-}
-
-MODULE_SCOPE
-int Ttk_MacOSXPlatformInit(Tcl_Interp *interp)
-{
- return AquaTheme_Init(interp);
-}
-
diff --git a/changes b/changes
index 2bda50d..713e745 100644
--- a/changes
+++ b/changes
@@ -7006,6 +7006,12 @@ and -to (porter)
2012-08-25 (bug fix)[3554026,3561016] crash with tearoff menus (gavilan)
+2012-09-11 (bug fix)[3566594] stop clip region leaks (fellows)
+
+2012-09-15 (bug fix)[3567778] stop hang in wrapped label (porter)
+
+2012-09-17 (bug fix)[3567786] stop segfault in [wm forget] (porter)
+
Many revisions to better support a Cygwin environment (nijtmans)
---- Released 8.6b3, September 7, 2012 --- See ChangeLog for details ---
+--- Released 8.6b3, September 18, 2012 --- See ChangeLog for details ---
diff --git a/generic/tk.h b/generic/tk.h
index 23b17f8..add2822 100644
--- a/generic/tk.h
+++ b/generic/tk.h
@@ -50,10 +50,10 @@ extern "C" {
#define TK_MAJOR_VERSION 8
#define TK_MINOR_VERSION 6
#define TK_RELEASE_LEVEL TCL_BETA_RELEASE
-#define TK_RELEASE_SERIAL 2
+#define TK_RELEASE_SERIAL 3
#define TK_VERSION "8.6"
-#define TK_PATCH_LEVEL "8.6b2"
+#define TK_PATCH_LEVEL "8.6b3"
/*
* A special definition used to allow this header file to be included from
diff --git a/generic/tkCanvPs.c b/generic/tkCanvPs.c
index 6542864..0c7b0dd 100644
--- a/generic/tkCanvPs.c
+++ b/generic/tkCanvPs.c
@@ -170,7 +170,6 @@ TkCanvPostscriptCmd(
TkPostscriptInfo psInfo, *psInfoPtr = &psInfo;
Tk_PostscriptInfo oldInfoPtr;
int result;
- int written;
Tk_Item *itemPtr;
#define STRING_LENGTH 400
const char *p;
@@ -492,8 +491,7 @@ TkCanvPostscriptCmd(
Tcl_AppendObjToObj(psObj, preambleObj);
if (psInfo.chan != NULL) {
- written = Tcl_WriteObj(psInfo.chan, psObj);
- if (written == -1) {
+ if (Tcl_WriteObj(psInfo.chan, psObj) == -1) {
channelWriteFailed:
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"problem writing postscript data to channel: %s",
@@ -547,8 +545,7 @@ TkCanvPostscriptCmd(
psInfo.x, Tk_PostscriptY((double)psInfo.y2,
(Tk_PostscriptInfo)psInfoPtr));
if (psInfo.chan != NULL) {
- written = Tcl_WriteObj(psInfo.chan, psObj);
- if (written == -1) {
+ if (Tcl_WriteObj(psInfo.chan, psObj) == -1) {
goto channelWriteFailed;
}
Tcl_DecrRefCount(psObj);
@@ -590,8 +587,7 @@ TkCanvPostscriptCmd(
Tcl_AppendToObj(psObj, "grestore\n", -1);
if (psInfo.chan != NULL) {
- written = Tcl_WriteObj(psInfo.chan, psObj);
- if (written == -1) {
+ if (Tcl_WriteObj(psInfo.chan, psObj) == -1) {
goto channelWriteFailed;
}
Tcl_DecrRefCount(psObj);
@@ -612,8 +608,7 @@ TkCanvPostscriptCmd(
"%%EOF\n", -1);
if (psInfo.chan != NULL) {
- Tcl_WriteObj(psInfo.chan, psObj);
- if (written == -1) {
+ if (Tcl_WriteObj(psInfo.chan, psObj) == -1) {
goto channelWriteFailed;
}
}
diff --git a/generic/tkClipboard.c b/generic/tkClipboard.c
index 604fa98..b902625 100644
--- a/generic/tkClipboard.c
+++ b/generic/tkClipboard.c
@@ -652,6 +652,9 @@ TkClipInit(
dispPtr->clipWindow = (Tk_Window) TkAllocWindow(dispPtr,
DefaultScreen(dispPtr->display), NULL);
Tcl_Preserve(dispPtr->clipWindow);
+ ((TkWindow *) dispPtr->clipWindow)->flags |=
+ TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED;
+ TkWmNewWindow((TkWindow *) dispPtr->clipWindow);
atts.override_redirect = True;
Tk_ChangeWindowAttributes(dispPtr->clipWindow, CWOverrideRedirect, &atts);
Tk_MakeWindowExist(dispPtr->clipWindow);
diff --git a/generic/ttk/ttkEntry.c b/generic/ttk/ttkEntry.c
index 136d4af..a962662 100644
--- a/generic/ttk/ttkEntry.c
+++ b/generic/ttk/ttkEntry.c
@@ -1151,7 +1151,9 @@ static GC EntryGetGC(Entry *entryPtr, Tcl_Obj *colorObj, TkRegion clip)
mask |= GCForeground;
}
gc = Tk_GetGC(entryPtr->core.tkwin, mask, &gcValues);
- TkSetRegion(Tk_Display(entryPtr->core.tkwin), gc, clip);
+ if (clip != None) {
+ TkSetRegion(Tk_Display(entryPtr->core.tkwin), gc, clip);
+ }
return gc;
}
@@ -1254,6 +1256,7 @@ static void EntryDisplay(void *clientData, Drawable d)
gc = EntryGetGC(entryPtr, es.insertColorObj, clipRegion);
XFillRectangle(Tk_Display(tkwin), d, gc,
cursorX-cursorWidth/2, cursorY, cursorWidth, cursorHeight);
+ XSetClipMask(Tk_Display(tkwin), gc, None);
Tk_FreeGC(Tk_Display(tkwin), gc);
}
@@ -1264,6 +1267,7 @@ static void EntryDisplay(void *clientData, Drawable d)
Tk_Display(tkwin), d, gc, entryPtr->entry.textLayout,
entryPtr->entry.layoutX, entryPtr->entry.layoutY,
leftIndex, rightIndex);
+ XSetClipMask(Tk_Display(tkwin), gc, None);
Tk_FreeGC(Tk_Display(tkwin), gc);
/* Overwrite the selected portion (if any) in the -selectforeground color:
@@ -1274,6 +1278,7 @@ static void EntryDisplay(void *clientData, Drawable d)
Tk_Display(tkwin), d, gc, entryPtr->entry.textLayout,
entryPtr->entry.layoutX, entryPtr->entry.layoutY,
selFirst, selLast);
+ XSetClipMask(Tk_Display(tkwin), gc, None);
Tk_FreeGC(Tk_Display(tkwin), gc);
}
diff --git a/generic/ttk/ttkLabel.c b/generic/ttk/ttkLabel.c
index 5102baf..0f71970 100644
--- a/generic/ttk/ttkLabel.c
+++ b/generic/ttk/ttkLabel.c
@@ -161,8 +161,6 @@ static void TextDraw(TextElement *text, Tk_Window tkwin, Drawable d, Ttk_Box b)
TkSetRegion(Tk_Display(tkwin), gc2, clipRegion);
#ifdef HAVE_XFT
TkUnixSetXftClipRegion(clipRegion);
-#else
- TkDestroyRegion(clipRegion);
#endif
}
@@ -183,14 +181,16 @@ static void TextDraw(TextElement *text, Tk_Window tkwin, Drawable d, Ttk_Box b)
text->textLayout, b.x, b.y, underline);
}
- Tk_FreeGC(Tk_Display(tkwin), gc1);
- Tk_FreeGC(Tk_Display(tkwin), gc2);
-#ifdef HAVE_XFT
if (clipRegion != NULL) {
+#ifdef HAVE_XFT
TkUnixSetXftClipRegion(None);
+#endif
+ XSetClipMask(Tk_Display(tkwin), gc1, None);
+ XSetClipMask(Tk_Display(tkwin), gc2, None);
TkDestroyRegion(clipRegion);
}
-#endif
+ Tk_FreeGC(Tk_Display(tkwin), gc1);
+ Tk_FreeGC(Tk_Display(tkwin), gc2);
}
static void TextElementSize(
diff --git a/library/console.tcl b/library/console.tcl
index ab074f5..e93a39d 100644
--- a/library/console.tcl
+++ b/library/console.tcl
@@ -412,8 +412,6 @@ proc ::tk::ConsoleBind {w} {
bind Console <Control-KeyPress> {# nothing}
foreach {ev key} {
- <<Console_Prev>> <Key-Up>
- <<Console_Next>> <Key-Down>
<<Console_NextImmediate>> <Control-Key-n>
<<Console_PrevImmediate>> <Control-Key-p>
<<Console_PrevSearch>> <Control-Key-r>
@@ -558,10 +556,10 @@ proc ::tk::ConsoleBind {w} {
%W delete insert {insert wordend}
}
}
- bind Console <<Console_Prev>> {
+ bind Console <<PrevLine>> {
tk::ConsoleHistory prev
}
- bind Console <<Console_Next>> {
+ bind Console <<NextLine>> {
tk::ConsoleHistory next
}
bind Console <Insert> {
diff --git a/library/tk.tcl b/library/tk.tcl
index e0d9eda..1b4563e 100644
--- a/library/tk.tcl
+++ b/library/tk.tcl
@@ -13,7 +13,7 @@
# Insist on running with compatible version of Tcl
package require Tcl 8.6
# Verify that we have Tk binary and script components from the same release
-package require -exact Tk 8.6b2
+package require -exact Tk 8.6b3
# Create a ::tk namespace
namespace eval ::tk {
diff --git a/macosx/tkMacOSXFont.c b/macosx/tkMacOSXFont.c
index e4e4e03..d800ae5 100644
--- a/macosx/tkMacOSXFont.c
+++ b/macosx/tkMacOSXFont.c
@@ -883,7 +883,8 @@ TkpMeasureCharsInContext(
/* The call to CTTypesetterSuggestClusterBreak above will always
return at least one character regardless of whether it exceeded
it or not. Clean that up now. */
- while (width > maxWidth && !(flags & TK_PARTIAL_OK) && index > start) {
+ while (width > maxWidth && !(flags & TK_PARTIAL_OK)
+ && index > start+(flags & TK_AT_LEAST_ONE)) {
range.length = --index;
line = CTTypesetterCreateLine(typesetter, range);
width = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
diff --git a/macosx/tkMacOSXMenu.c b/macosx/tkMacOSXMenu.c
index 8054c57..83ad47a 100644
--- a/macosx/tkMacOSXMenu.c
+++ b/macosx/tkMacOSXMenu.c
@@ -236,6 +236,12 @@ static int ModifierCharWidth(Tk_Font tkfont);
return [menuItem isEnabled];
}
+// Workaround for bug 3572016; leaves menu items enabled during modal dialog.
+- (BOOL)worksWhenModal
+{
+ return YES;
+}
+
- (void) tkMenuItemInvoke: (id) sender
{
/*
diff --git a/macosx/tkMacOSXNotify.c b/macosx/tkMacOSXNotify.c
index 689f45e..3e0dfde 100644
--- a/macosx/tkMacOSXNotify.c
+++ b/macosx/tkMacOSXNotify.c
@@ -274,7 +274,7 @@ TkMacOSXEventsCheckProc(
TSD_INIT();
if (tsdPtr->currentEvent) {
currentEvent = TkMacOSXMakeCollectableAndAutorelease(
- tsdPtr->currentEvent);
+ tsdPtr->currentEvent);
}
do {
modalSession = TkMacOSXGetModalSession();
diff --git a/macosx/tkMacOSXSubwindows.c b/macosx/tkMacOSXSubwindows.c
index 8cf8d65..18276fb 100644
--- a/macosx/tkMacOSXSubwindows.c
+++ b/macosx/tkMacOSXSubwindows.c
@@ -65,7 +65,7 @@ XDestroyWindow(
TkMacOSXSelDeadWindow(macWin->winPtr);
macWin->toplevel->referenceCount--;
- if (!Tk_IsTopLevel(macWin->winPtr)) {
+ if (!Tk_IsTopLevel(macWin->winPtr) ) {
TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
if (macWin->winPtr->parentPtr != NULL) {
TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr->parentPtr);
diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c
index b651b3c..3a1da10 100644
--- a/macosx/tkMacOSXWm.c
+++ b/macosx/tkMacOSXWm.c
@@ -726,6 +726,9 @@ TkWmDeadWindow(
if (wmPtr == NULL) {
return;
}
+ Tk_ManageGeometry((Tk_Window) winPtr, NULL, NULL);
+ Tk_DeleteEventHandler((Tk_Window) winPtr, StructureNotifyMask,
+ TopLevelEventProc, winPtr);
if (wmPtr->hints.flags & IconPixmapHint) {
Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
}
@@ -1646,12 +1649,21 @@ WmForgetCmd(
register Tk_Window frameWin = (Tk_Window) winPtr;
if (Tk_IsTopLevel(frameWin)) {
- MacDrawable *macWin = (MacDrawable *) winPtr->parentPtr->window;
+ MacDrawable *macWin;
+
+ Tk_MakeWindowExist(winPtr);
+ Tk_MakeWindowExist(winPtr->parentPtr);
+
+ macWin = (MacDrawable *) winPtr->window;
TkFocusJoin(winPtr);
Tk_UnmapWindow(frameWin);
- TkWmDeadWindow((TkWindow *) macWin);
- RemapWindows(winPtr, macWin);
+
+ macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;
+ macWin->flags &= ~TK_HOST_EXISTS;
+
+ TkWmDeadWindow(winPtr);
+ RemapWindows(winPtr, (MacDrawable *) winPtr->parentPtr->window);
winPtr->flags &= ~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
diff --git a/tests/winWm.test b/tests/winWm.test
index a4d2669..ad4988d 100644
--- a/tests/winWm.test
+++ b/tests/winWm.test
@@ -541,25 +541,28 @@ test winWm-9.2 "check wm forget for unmapped parent (#3205464,#2967911)" -setup
} -body {
pack .t.f.x
pack .t.f
- set aid [after 1000 {set ::winwm92 timeout}]
- after 100 {
+ lappend aid [after 2000 {set ::winwm92 timeout}] [after 100 {
wm manage .t.f
wm iconify .t
- after 100 {
+ lappend aid [after 100 {
wm forget .t.f
wm deiconify .t
- after 100 {
+ lappend aid [after 100 {
pack .t.f
- after 100 {set ::winwm92 [expr {[winfo rooty .t.f.x] == 0 ? "failed" : "ok"}]}
- }
- }
- }
+ lappend aid [after 100 {
+ set ::winwm92 [expr {
+ [winfo rooty .t.f.x] == 0 ? "failed" : "ok"}]}]
+ }]
+ }]
+ }]
vwait ::winwm92
- after cancel $aid
+ foreach id $aid {
+ after cancel $id
+ }
set winwm92
} -cleanup {
destroy .t.f.x .t.f .t
- unset -nocomplain winwm92 aid
+ unset -nocomplain winwm92 aid id
} -result ok
destroy .t
diff --git a/unix/configure b/unix/configure
index 0877847..7f145ec 100755
--- a/unix/configure
+++ b/unix/configure
@@ -1339,7 +1339,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
TK_VERSION=8.6
TK_MAJOR_VERSION=8
TK_MINOR_VERSION=6
-TK_PATCH_LEVEL="b2"
+TK_PATCH_LEVEL="b3"
VERSION=${TK_VERSION}
LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv"
@@ -1542,6 +1542,21 @@ echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6
+if test "${TCL_MAJOR_VERSION}" -ne 8 ; then
+ { { echo "$as_me:$LINENO: error: ${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
+Found config for Tcl ${TCL_VERSION}" >&5
+echo "$as_me: error: ${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
+Found config for Tcl ${TCL_VERSION}" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test "${TCL_MINOR_VERSION}" -lt 6 ; then
+ { { echo "$as_me:$LINENO: error: ${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
+Found config for Tcl ${TCL_VERSION}" >&5
+echo "$as_me: error: ${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
+Found config for Tcl ${TCL_VERSION}" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
echo "$as_me:$LINENO: checking for tclsh" >&5
echo $ECHO_N "checking for tclsh... $ECHO_C" >&6
@@ -6591,7 +6606,7 @@ else
arch=`isainfo`
echo "$as_me:$LINENO: checking whether to use -lsunmath for fp rounding control" >&5
echo $ECHO_N "checking whether to use -lsunmath for fp rounding control... $ECHO_C" >&6
- if test "$arch" = "amd64 i386"; then
+ if test "$arch" = "amd64 i386" -o "$arch" = "i386"; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
@@ -6790,7 +6805,7 @@ else
fi
case $system in
- SunOS-5.[1-9][0-9]*)
+ SunOS-5.[1-9][0-9]*|SunOS-5.[7-9])
SHLIB_LD="\${CC} -G -z $textmode \${LDFLAGS}";;
*)
SHLIB_LD="/usr/ccs/bin/ld -G -z $textmode";;
@@ -9934,7 +9949,7 @@ ac_x_header_dirs='
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Intrinsic.h.
+ # Guess where to find include files, by looking for Xlib.h.
# First, try using that file with no special directory specified.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9942,7 +9957,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -9969,7 +9984,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Intrinsic.h"; then
+ if test -r "$ac_dir/X11/Xlib.h"; then
ac_x_includes=$ac_dir
break
fi
@@ -9983,18 +9998,18 @@ if test "$ac_x_libraries" = no; then
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
- LIBS="-lXt $LIBS"
+ LIBS="-lX11 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
int
main ()
{
-XtMalloc (0)
+XrmInitialize ()
;
return 0;
}
diff --git a/unix/configure.in b/unix/configure.in
index bfe145c..a7f9fc6 100644
--- a/unix/configure.in
+++ b/unix/configure.in
@@ -25,7 +25,7 @@ m4_ifdef([SC_USE_CONFIG_HEADERS], [
TK_VERSION=8.6
TK_MAJOR_VERSION=8
TK_MINOR_VERSION=6
-TK_PATCH_LEVEL="b2"
+TK_PATCH_LEVEL="b3"
VERSION=${TK_VERSION}
LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv"
@@ -36,6 +36,15 @@ LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv"
SC_PATH_TCLCONFIG
SC_LOAD_TCLCONFIG
+if test "${TCL_MAJOR_VERSION}" -ne 8 ; then
+ AC_MSG_ERROR([${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
+Found config for Tcl ${TCL_VERSION}])
+fi
+if test "${TCL_MINOR_VERSION}" -lt 6 ; then
+ AC_MSG_ERROR([${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
+Found config for Tcl ${TCL_VERSION}])
+fi
+
SC_PROG_TCLSH
SC_BUILD_TCLSH
diff --git a/unix/tcl.m4 b/unix/tcl.m4
index a142baf..b13fddd 100644
--- a/unix/tcl.m4
+++ b/unix/tcl.m4
@@ -1968,7 +1968,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
AS_IF([test "$GCC" = yes],[use_sunmath=no],[
arch=`isainfo`
AC_MSG_CHECKING([whether to use -lsunmath for fp rounding control])
- AS_IF([test "$arch" = "amd64 i386"], [
+ AS_IF([test "$arch" = "amd64 i386" -o "$arch" = "i386"], [
AC_MSG_RESULT([yes])
MATH_LIBS="-lsunmath $MATH_LIBS"
AC_CHECK_HEADER(sunmath.h)
@@ -2001,7 +2001,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
], [
AS_IF([test "$use_sunmath" = yes], [textmode=textoff],[textmode=text])
case $system in
- SunOS-5.[[1-9]][[0-9]]*)
+ SunOS-5.[[1-9]][[0-9]]*|SunOS-5.[[7-9]])
SHLIB_LD="\${CC} -G -z $textmode \${LDFLAGS}";;
*)
SHLIB_LD="/usr/ccs/bin/ld -G -z $textmode";;
diff --git a/unix/tk.spec b/unix/tk.spec
index 29b72bb..6b10333 100644
--- a/unix/tk.spec
+++ b/unix/tk.spec
@@ -4,7 +4,7 @@
Name: tk
Summary: Tk graphical toolkit for the Tcl scripting language.
-Version: 8.6b2
+Version: 8.6b3
Release: 2
License: BSD
Group: Development/Languages
diff --git a/unix/tkConfig.h.in b/unix/tkConfig.h.in
index 3318552..d27c6e8 100644
--- a/unix/tkConfig.h.in
+++ b/unix/tkConfig.h.in
@@ -4,9 +4,15 @@
#ifndef _TKCONFIG
#define _TKCONFIG
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
/* Define to 1 if you have the <AvailabilityMacros.h> header file. */
#undef HAVE_AVAILABILITYMACROS_H
+/* Defined when compiler supports casting to union type. */
+#undef HAVE_CAST_TO_UNION
+
/* Do we have access to Darwin CoreFoundation.framework? */
#undef HAVE_COREFOUNDATION
@@ -94,6 +100,9 @@
/* No Compiler support for module scope symbols */
#undef MODULE_SCOPE
+/* Is no debugging enabled? */
+#undef NDEBUG
+
/* Is Darwin CoreFoundation unavailable for 64-bit? */
#undef NO_COREFOUNDATION_64
@@ -121,6 +130,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@@ -130,9 +142,6 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
-/* Is debugging enabled? */
-#undef TCL_CFG_DEBUG
-
/* Is this a 64-bit build? */
#undef TCL_CFG_DO64BIT
@@ -172,9 +181,17 @@
/* Do we want to use the threaded memory allocator? */
#undef USE_THREAD_ALLOC
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
/* Are Darwin SUSv3 extensions available? */
#undef _DARWIN_C_SOURCE
@@ -229,7 +246,7 @@
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
-/* Define to `unsigned' if <sys/types.h> does not define. */
+/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Do we want to use the strtod() in compat? */
diff --git a/unix/tkUnixSend.c b/unix/tkUnixSend.c
index 54c3cf2..e3a810d 100644
--- a/unix/tkUnixSend.c
+++ b/unix/tkUnixSend.c
@@ -1360,6 +1360,9 @@ SendInit(
dispPtr->commTkwin = (Tk_Window) TkAllocWindow(dispPtr,
DefaultScreen(dispPtr->display), NULL);
Tcl_Preserve(dispPtr->commTkwin);
+ ((TkWindow *) dispPtr->commTkwin)->flags |=
+ TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED;
+ TkWmNewWindow((TkWindow *) dispPtr->commTkwin);
atts.override_redirect = True;
Tk_ChangeWindowAttributes(dispPtr->commTkwin,
CWOverrideRedirect, &atts);
diff --git a/win/Makefile.in b/win/Makefile.in
index 08bb2c3..d9aafcc 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -203,6 +203,12 @@ COPY = cp
BUILD_TCLSH = @BUILD_TCLSH@
+# Tk does not used deprecated Tcl constructs so it should
+# compile fine with -DTCL_NO_DEPRECATED. To remove its own
+# set of deprecated code uncomment the second line.
+NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
+#NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED -DTK_NO_DEPRECATED
+
# TCL_EXE is the name of a tclsh executable that is available *BEFORE*
# running make for the first time. Certain build targets (make genstubs)
# need it to be available on the PATH. This executable should *NOT* be
@@ -213,7 +219,8 @@ TCL_EXE = @TCLSH_PROG@
CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
-I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" \
-I"${XLIB_DIR_NATIVE}" -I"${BITMAP_DIR_NATIVE}" \
--I"${TCL_GENERIC_NATIVE}" -I"${TCL_PLATFORM_NATIVE}" ${AC_FLAGS} -DUSE_TCL_STUBS
+-I"${TCL_GENERIC_NATIVE}" -I"${TCL_PLATFORM_NATIVE}" \
+${AC_FLAGS} $(NO_DEPRECATED_FLAGS) -DUSE_TCL_STUBS
CC_OBJNAME = @CC_OBJNAME@
CC_EXENAME = @CC_EXENAME@
@@ -387,10 +394,11 @@ TTK_OBJS = \
ttkStubInit.$(OBJEXT)
STUB_OBJS = \
- tkStubLib.$(OBJEXT) ttkStubLib.$(OBJEXT)
+ tkStubLib.$(OBJEXT) \
+ ttkStubLib.$(OBJEXT)
-TCL_DOCS = "$(TCL_SRC_DIR_NATIVE)"/doc/*.[13n]
-TK_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
+TCL_DOCS = "$(TCL_SRC_DIR_NATIVE)/doc/*.[13n]"
+TK_DOCS = "$(ROOT_DIR_NATIVE)/doc/*.[13n]"
CORE_DOCS = $(TCL_DOCS) $(TK_DOCS)
DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget
@@ -416,12 +424,12 @@ doc: $(ROOT_DIR)/doc/man.macros
winhelp: $(TCL_SRC_DIR)/tools/man2help.tcl $(MAN2TCL)
$(TCL_EXE) "$(TCL_SRC_DIR_NATIVE)/tools/man2help.tcl" tcl "$(VER)" $(CORE_DOCS)
- $(COPY) "$(TCL_BIN_DIR)"/tcl.hpj ./
+ $(COPY) "$(TCL_BIN_DIR)/tcl.hpj" ./
hcw /c /e tcl.hpj
- $(COPY) ./tcl$(VER).cnt ./TCL$(VER).HLP "$(TCL_SRC_DIR_NATIVE)"/tools/
+ $(COPY) ./tcl$(VER).cnt ./TCL$(VER).HLP "$(TCL_SRC_DIR_NATIVE)/tools/"
$(MAN2TCL): $(TCL_SRC_DIR)/tools/man2tcl.c
- $(CC) $(CFLAGS_OPTIMIZE) $(MAN2TCLFLAGS) -o $(MAN2TCL) "$(TCL_SRC_DIR_NATIVE)"/tools/man2tcl.c
+ $(CC) $(CFLAGS_OPTIMIZE) $(MAN2TCLFLAGS) -o $(MAN2TCL) "$(TCL_SRC_DIR_NATIVE)/tools/man2tcl.c"
# Specifying TESTFLAGS on the command line is the standard way to pass
# args to tcltest, ie:
diff --git a/win/configure b/win/configure
index 67bff85..01ddccf 100755
--- a/win/configure
+++ b/win/configure
@@ -1311,7 +1311,7 @@ SHELL=/bin/sh
TK_VERSION=8.6
TK_MAJOR_VERSION=8
TK_MINOR_VERSION=6
-TK_PATCH_LEVEL="b2"
+TK_PATCH_LEVEL="b3"
VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION
#------------------------------------------------------------------------
diff --git a/win/configure.in b/win/configure.in
index 75c9e7a..e3be0a9 100644
--- a/win/configure.in
+++ b/win/configure.in
@@ -14,7 +14,7 @@ SHELL=/bin/sh
TK_VERSION=8.6
TK_MAJOR_VERSION=8
TK_MINOR_VERSION=6
-TK_PATCH_LEVEL="b2"
+TK_PATCH_LEVEL="b3"
VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION
#------------------------------------------------------------------------
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index efed842..dc5d4d9 100644
--- a/win/tkWinWm.c
+++ b/win/tkWinWm.c
@@ -1681,7 +1681,7 @@ ReadIconOrCursorFromFile(
(int) lpIDE[i].dwBytesInRes);
if (dwBytesRead != lpIDE[i].dwBytesInRes) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "error reading file: ", Tcl_PosixError(interp)));
+ "error reading file: %s", Tcl_PosixError(interp)));
goto readError;
}
@@ -5526,7 +5526,7 @@ WmTransientCmd(
}
if (objc == 3) {
if (masterPtr != NULL) {
- Tcl_SetObjResult(interp, TkNewWindowObj(masterPtr));
+ Tcl_SetObjResult(interp, TkNewWindowObj((Tk_Window) masterPtr));
}
return TCL_OK;
}
diff --git a/xlib/xgc.c b/xlib/xgc.c
index 0cebbc8..c6836bd 100644
--- a/xlib/xgc.c
+++ b/xlib/xgc.c
@@ -465,7 +465,7 @@ TkSetRegion(
TkRegion r)
{
if (r == None) {
- FreeClipMask(gc);
+ Tcl_Panic("must not pass None to TkSetRegion for compatibility with X11; use XSetClipMask instead");
} else {
TkpClipMask *clip_mask = AllocClipMask(gc);