summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwolfsuit <wolfsuit>2005-03-25 04:34:15 (GMT)
committerwolfsuit <wolfsuit>2005-03-25 04:34:15 (GMT)
commit00f0e90887f67cc784292a6a39cc48cbe711dc83 (patch)
tree9cfa8a0ae951e4efcc6e1db9d2cd8fdce2b17cdf
parentc35173d54850eecbcdcb6a87091d29625809f120 (diff)
downloadtk-00f0e90887f67cc784292a6a39cc48cbe711dc83.zip
tk-00f0e90887f67cc784292a6a39cc48cbe711dc83.tar.gz
tk-00f0e90887f67cc784292a6a39cc48cbe711dc83.tar.bz2
Add native drawing for Entry and Spinbox widgets.
-rw-r--r--ChangeLog13
-rw-r--r--generic/tkEntry.c505
-rw-r--r--generic/tkEntry.h307
-rw-r--r--macosx/Wish.pbproj/jingham.pbxuser896
-rw-r--r--macosx/Wish.pbproj/project.pbxproj560
-rw-r--r--macosx/tkMacOSXDefault.h22
-rw-r--r--macosx/tkMacOSXEntry.c328
7 files changed, 2217 insertions, 414 deletions
diff --git a/ChangeLog b/ChangeLog
index 0cc5c13..eca354e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2005-03-24 Jim Ingham <jingham@apple.com>
+ These changes allow us to draw the Entry and Spinbox widget
+ with a native look and feel on Mac OS X.
+
+ * generic/tkEntry.h: New file, extracting the definitions of
+ Entry and Spinbox.
+ * generic/tkEntry.c (DisplayEntry): Call out to
+ TkpDrawEntryBorderAndFocus and TkpDrawSpinboxButtons. Also
+ provide default implementations for X11 & Win.
+ * macosx/tkMacOSXEntry.c: New file, implements the entry & focus
+ and spinbox button drawing.
+ * tkMacOSXDefaults.h: Change the Mac OS X defaults so they fit
+ the native widget shapes.
+
* xlib/xgc.c (XCreateGC): Set the default linewidth to 1, not
0. Some extensions seem to expect this.
diff --git a/generic/tkEntry.c b/generic/tkEntry.c
index 3f98ea8..2894686 100644
--- a/generic/tkEntry.c
+++ b/generic/tkEntry.c
@@ -14,263 +14,13 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkEntry.c,v 1.35 2003/02/25 00:46:41 hobbs Exp $
+ * RCS: @(#) $Id: tkEntry.c,v 1.35.2.1 2005/03/25 04:34:16 wolfsuit Exp $
*/
#include "tkInt.h"
#include "default.h"
+#include "tkEntry.h"
-enum EntryType {
- TK_ENTRY, TK_SPINBOX
-};
-
-/*
- * A data structure of the following type is kept for each Entry
- * widget managed by this file:
- */
-
-typedef struct {
- Tk_Window tkwin; /* Window that embodies the entry. NULL
- * means that the window has been destroyed
- * but the data structures haven't yet been
- * cleaned up.*/
- Display *display; /* Display containing widget. Used, among
- * other things, so that resources can be
- * freed even after tkwin has gone away. */
- Tcl_Interp *interp; /* Interpreter associated with entry. */
- Tcl_Command widgetCmd; /* Token for entry's widget command. */
- Tk_OptionTable optionTable; /* Table that defines configuration options
- * available for this widget. */
- enum EntryType type; /* Specialized type of Entry widget */
-
- /*
- * Fields that are set by widget commands other than "configure".
- */
-
- CONST char *string; /* Pointer to storage for string;
- * NULL-terminated; malloc-ed. */
- int insertPos; /* Character index before which next typed
- * character will be inserted. */
-
- /*
- * Information about what's selected, if any.
- */
-
- int selectFirst; /* Character index of first selected
- * character (-1 means nothing selected. */
- int selectLast; /* Character index just after last selected
- * character (-1 means nothing selected. */
- int selectAnchor; /* Fixed end of selection (i.e. "select to"
- * operation will use this as one end of the
- * selection). */
-
- /*
- * Information for scanning:
- */
-
- int scanMarkX; /* X-position at which scan started (e.g.
- * button was pressed here). */
- int scanMarkIndex; /* Character index of character that was at
- * left of window when scan started. */
-
- /*
- * Configuration settings that are updated by Tk_ConfigureWidget.
- */
-
- Tk_3DBorder normalBorder; /* Used for drawing border around whole
- * window, plus used for background. */
- Tk_3DBorder disabledBorder; /* Used for drawing border around whole
- * window in disabled state, plus used for
- * background. */
- Tk_3DBorder readonlyBorder; /* Used for drawing border around whole
- * window in readonly state, plus used for
- * background. */
- int borderWidth; /* Width of 3-D border around window. */
- Tk_Cursor cursor; /* Current cursor for window, or None. */
- int exportSelection; /* Non-zero means tie internal entry selection
- * to X selection. */
- Tk_Font tkfont; /* Information about text font, or NULL. */
- XColor *fgColorPtr; /* Text color in normal mode. */
- XColor *dfgColorPtr; /* Text color in disabled mode. */
- XColor *highlightBgColorPtr;/* Color for drawing traversal highlight
- * area when highlight is off. */
- XColor *highlightColorPtr; /* Color for drawing traversal highlight. */
- int highlightWidth; /* Width in pixels of highlight to draw
- * around widget when it has the focus.
- * <= 0 means don't draw a highlight. */
- Tk_3DBorder insertBorder; /* Used to draw vertical bar for insertion
- * cursor. */
- int insertBorderWidth; /* Width of 3-D border around insert cursor. */
- int insertOffTime; /* Number of milliseconds cursor should spend
- * in "off" state for each blink. */
- int insertOnTime; /* Number of milliseconds cursor should spend
- * in "on" state for each blink. */
- int insertWidth; /* Total width of insert cursor. */
- Tk_Justify justify; /* Justification to use for text within
- * window. */
- int relief; /* 3-D effect: TK_RELIEF_RAISED, etc. */
- Tk_3DBorder selBorder; /* Border and background for selected
- * characters. */
- int selBorderWidth; /* Width of border around selection. */
- XColor *selFgColorPtr; /* Foreground color for selected text. */
- int state; /* Normal or disabled. Entry is read-only
- * when disabled. */
- char *textVarName; /* Name of variable (malloc'ed) or NULL.
- * If non-NULL, entry's string tracks the
- * contents of this variable and vice versa. */
- char *takeFocus; /* Value of -takefocus option; not used in
- * the C code, but used by keyboard traversal
- * scripts. Malloc'ed, but may be NULL. */
- int prefWidth; /* Desired width of window, measured in
- * average characters. */
- char *scrollCmd; /* Command prefix for communicating with
- * scrollbar(s). Malloc'ed. NULL means
- * no command to issue. */
- char *showChar; /* Value of -show option. If non-NULL, first
- * character is used for displaying all
- * characters in entry. Malloc'ed.
- * This is only used by the Entry widget. */
-
- /*
- * Fields whose values are derived from the current values of the
- * configuration settings above.
- */
-
- CONST char *displayString; /* String to use when displaying. This may
- * be a pointer to string, or a pointer to
- * malloced memory with the same character
- * length as string but whose characters
- * are all equal to showChar. */
- int numBytes; /* Length of string in bytes. */
- int numChars; /* Length of string in characters. Both
- * string and displayString have the same
- * character length, but may have different
- * byte lengths due to being made from
- * different UTF-8 characters. */
- int numDisplayBytes; /* Length of displayString in bytes. */
- int inset; /* Number of pixels on the left and right
- * sides that are taken up by XPAD, borderWidth
- * (if any), and highlightWidth (if any). */
- Tk_TextLayout textLayout; /* Cached text layout information. */
- int layoutX, layoutY; /* Origin for layout. */
- int leftX; /* X position at which character at leftIndex
- * is drawn (varies depending on justify). */
- int leftIndex; /* Character index of left-most character
- * visible in window. */
- Tcl_TimerToken insertBlinkHandler;
- /* Timer handler used to blink cursor on and
- * off. */
- GC textGC; /* For drawing normal text. */
- GC selTextGC; /* For drawing selected text. */
- GC highlightGC; /* For drawing traversal highlight. */
- int avgWidth; /* Width of average character. */
- int xWidth; /* Extra width to reserve for widget.
- * Used by spinboxes for button space. */
- int flags; /* Miscellaneous flags; see below for
- * definitions. */
-
- int validate; /* Non-zero means try to validate */
- char *validateCmd; /* Command prefix to use when invoking
- * validate command. NULL means don't
- * invoke commands. Malloc'ed. */
- char *invalidCmd; /* Command called when a validation returns 0
- * (successfully fails), defaults to {}. */
-
-} Entry;
-
-/*
- * A data structure of the following type is kept for each spinbox
- * widget managed by this file:
- */
-
-typedef struct {
- Entry entry; /* A pointer to the generic entry structure.
- * This must be the first element of the
- * Spinbox. */
-
- /*
- * Spinbox specific configuration settings.
- */
-
- Tk_3DBorder activeBorder; /* Used for drawing border around active
- * buttons. */
- Tk_3DBorder buttonBorder; /* Used for drawing border around buttons. */
- Tk_Cursor bCursor; /* cursor for buttons, or None. */
- int bdRelief; /* 3-D effect: TK_RELIEF_RAISED, etc. */
- int buRelief; /* 3-D effect: TK_RELIEF_RAISED, etc. */
- char *command; /* Command to invoke for spin buttons.
- * NULL means no command to issue. */
-
- /*
- * Spinbox specific fields for use with configuration settings above.
- */
-
- int wrap; /* whether to wrap around when spinning */
-
- int selElement; /* currently selected control */
- int curElement; /* currently mouseover control */
-
- int repeatDelay; /* repeat delay */
- int repeatInterval; /* repeat interval */
-
- double fromValue; /* Value corresponding to left/top of dial */
- double toValue; /* Value corresponding to right/bottom
- * of dial */
- double increment; /* If > 0, all values are rounded to an
- * even multiple of this value. */
- char *formatBuf; /* string into which to format value.
- * Malloc'ed. */
- char *reqFormat; /* Sprintf conversion specifier used for the
- * value that the users requests. Malloc'ed. */
- char *valueFormat; /* Sprintf conversion specifier used for
- * the value. */
- char digitFormat[10]; /* Sprintf conversion specifier computed from
- * digits and other information; used for
- * the value. */
-
- char *valueStr; /* Values List. Malloc'ed. */
- Tcl_Obj *listObj; /* Pointer to the list object being used */
- int eIndex; /* Holds the current index into elements */
- int nElements; /* Holds the current count of elements */
-
-} Spinbox;
-
-/*
- * Assigned bits of "flags" fields of Entry structures, and what those
- * bits mean:
- *
- * REDRAW_PENDING: Non-zero means a DoWhenIdle handler has
- * already been queued to redisplay the entry.
- * BORDER_NEEDED: Non-zero means 3-D border must be redrawn
- * around window during redisplay. Normally
- * only text portion needs to be redrawn.
- * CURSOR_ON: Non-zero means insert cursor is displayed at
- * present. 0 means it isn't displayed.
- * GOT_FOCUS: Non-zero means this window has the input
- * focus.
- * UPDATE_SCROLLBAR: Non-zero means scrollbar should be updated
- * during next redisplay operation.
- * GOT_SELECTION: Non-zero means we've claimed the selection.
- * ENTRY_DELETED: This entry has been effectively destroyed.
- * VALIDATING: Non-zero means we are in a validateCmd
- * VALIDATE_VAR: Non-zero means we are attempting to validate
- * the entry's textvariable with validateCmd
- * VALIDATE_ABORT: Non-zero if validatecommand signals an abort
- * for current procedure and make no changes
- * ENTRY_VAR_TRACED: Non-zero if a var trace is set.
- */
-
-#define REDRAW_PENDING 1
-#define BORDER_NEEDED 2
-#define CURSOR_ON 4
-#define GOT_FOCUS 8
-#define UPDATE_SCROLLBAR 0x10
-#define GOT_SELECTION 0x20
-#define ENTRY_DELETED 0x40
-#define VALIDATING 0x80
-#define VALIDATE_VAR 0x100
-#define VALIDATE_ABORT 0x200
-#define ENTRY_VAR_TRACED 0x400
/*
* The following macro defines how many extra pixels to leave on each
@@ -286,15 +36,6 @@ typedef struct {
#define MIN_DBL_VAL 1E-9
#define DOUBLES_EQ(d1, d2) (fabs((d1) - (d2)) < MIN_DBL_VAL)
-/*
- * The following enum is used to define a type for the -state option
- * of the Entry widget. These values are used as indices into the
- * string table below.
- */
-
-enum state {
- STATE_DISABLED, STATE_NORMAL, STATE_READONLY
-};
static char *stateStrings[] = {
"disabled", "normal", "readonly", (char *) NULL
@@ -654,13 +395,14 @@ enum sbselCmd {
* Extra for selection of elements
*/
+/*
+ * This is the string array corresponding to the enum in selelement.
+ * If you modify them, you must modify the strings here.
+ */
+
static CONST char *selElementNames[] = {
"none", "buttondown", "buttonup", (char *) NULL, "entry"
};
-enum selelement {
- SEL_NONE, SEL_BUTTONDOWN, SEL_BUTTONUP, SEL_NULL, SEL_ENTRY
-};
-
/*
* Flags for GetEntryIndex procedure:
*/
@@ -1774,6 +1516,68 @@ EntryWorldChanged(instanceData)
EventuallyRedraw(entryPtr);
}
+#ifndef MAC_OSX_TK
+/*
+ *--------------------------------------------------------------
+ *
+ * TkpDrawEntryBorderAndFocus --
+ *
+ * This procedure redraws the border of an entry widget.
+ * 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 o, 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(entryPtr, pixmap, isSpinbox)
+ Entry *entryPtr;
+ Drawable pixmap;
+ int isSpinbox;
+{
+ return 0;
+}
+
+
+/*
+ *--------------------------------------------------------------
+ *
+ * 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(sbPtr, pixmap)
+ Spinbox *sbPtr;
+ Pixmap pixmap;
+{
+ return 0;
+}
+#endif /* Not MAC_OSX_TK */
+
/*
*--------------------------------------------------------------
*
@@ -1964,76 +1768,78 @@ DisplayEntry(clientData)
/*
* Draw the spin button controls.
*/
- xWidth = entryPtr->xWidth;
- pad = XPAD + 1;
- inset = entryPtr->inset - XPAD;
- startx = Tk_Width(tkwin) - (xWidth + inset);
- height = (Tk_Height(tkwin) - 2*inset)/2;
+ if (TkpDrawSpinboxButtons(sbPtr, pixmap) == 0) {
+ xWidth = entryPtr->xWidth;
+ pad = XPAD + 1;
+ inset = entryPtr->inset - XPAD;
+ startx = Tk_Width(tkwin) - (xWidth + inset);
+ height = (Tk_Height(tkwin) - 2*inset)/2;
#if 0
- Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
- startx, inset, xWidth, height, 1, sbPtr->buRelief);
- Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
- startx, inset+height, xWidth, height, 1, sbPtr->bdRelief);
+ Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
+ startx, inset, xWidth, height, 1, sbPtr->buRelief);
+ Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
+ startx, inset+height, xWidth, height, 1, sbPtr->bdRelief);
#else
- Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
- startx, inset, xWidth, height, 1,
- (sbPtr->selElement == SEL_BUTTONUP) ?
- TK_RELIEF_SUNKEN : TK_RELIEF_RAISED);
- Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
- startx, inset+height, xWidth, height, 1,
- (sbPtr->selElement == SEL_BUTTONDOWN) ?
- TK_RELIEF_SUNKEN : TK_RELIEF_RAISED);
+ Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
+ startx, inset, xWidth, height, 1,
+ (sbPtr->selElement == SEL_BUTTONUP) ?
+ TK_RELIEF_SUNKEN : TK_RELIEF_RAISED);
+ Tk_Fill3DRectangle(tkwin, pixmap, sbPtr->buttonBorder,
+ startx, inset+height, xWidth, height, 1,
+ (sbPtr->selElement == SEL_BUTTONDOWN) ?
+ TK_RELIEF_SUNKEN : TK_RELIEF_RAISED);
#endif
- xWidth -= 2*pad;
- /*
- * Only draw the triangles if we have enough display space
- */
- if ((xWidth > 1)) {
- XPoint points[3];
- int starty, space, offset;
-
- space = height - 2*pad;
- /*
- * Ensure width of triangle is odd to guarantee a sharp tip
- */
- if (!(xWidth % 2)) {
- xWidth++;
- }
- tHeight = (xWidth + 1) / 2;
- if (tHeight > space) {
- tHeight = space;
- }
- space = (space - tHeight) / 2;
- startx += pad;
- starty = inset + height - pad - space;
- offset = (sbPtr->selElement == SEL_BUTTONUP);
- /*
- * The points are slightly different for the up and down arrows
- * because (for *.x), we need to account for a bug in the way
- * XFillPolygon draws triangles, and we want to shift
- * the arrows differently when allowing for depressed behavior.
- */
- points[0].x = startx + offset;
- points[0].y = starty + (offset ? 0 : -1);
- points[1].x = startx + xWidth/2 + offset;
- points[1].y = starty - tHeight + (offset ? 0 : -1);
- points[2].x = startx + xWidth + offset;
- points[2].y = points[0].y;
- XFillPolygon(entryPtr->display, pixmap, entryPtr->textGC,
- points, 3, Convex, CoordModeOrigin);
-
- starty = inset + height + pad + space;
- offset = (sbPtr->selElement == SEL_BUTTONDOWN);
- points[0].x = startx + 1 + offset;
- points[0].y = starty + (offset ? 1 : 0);
- points[1].x = startx + xWidth/2 + offset;
- points[1].y = starty + tHeight + (offset ? 0 : -1);
- points[2].x = startx - 1 + xWidth + offset;
- points[2].y = points[0].y;
- XFillPolygon(entryPtr->display, pixmap, entryPtr->textGC,
- points, 3, Convex, CoordModeOrigin);
- }
+ xWidth -= 2*pad;
+ /*
+ * Only draw the triangles if we have enough display space
+ */
+ if ((xWidth > 1)) {
+ XPoint points[3];
+ int starty, space, offset;
+
+ space = height - 2*pad;
+ /*
+ * Ensure width of triangle is odd to guarantee a sharp tip
+ */
+ if (!(xWidth % 2)) {
+ xWidth++;
+ }
+ tHeight = (xWidth + 1) / 2;
+ if (tHeight > space) {
+ tHeight = space;
+ }
+ space = (space - tHeight) / 2;
+ startx += pad;
+ starty = inset + height - pad - space;
+ offset = (sbPtr->selElement == SEL_BUTTONUP);
+ /*
+ * The points are slightly different for the up and down arrows
+ * because (for *.x), we need to account for a bug in the way
+ * XFillPolygon draws triangles, and we want to shift
+ * the arrows differently when allowing for depressed behavior.
+ */
+ points[0].x = startx + offset;
+ points[0].y = starty + (offset ? 0 : -1);
+ points[1].x = startx + xWidth/2 + offset;
+ points[1].y = starty - tHeight + (offset ? 0 : -1);
+ points[2].x = startx + xWidth + offset;
+ points[2].y = points[0].y;
+ XFillPolygon(entryPtr->display, pixmap, entryPtr->textGC,
+ points, 3, Convex, CoordModeOrigin);
+
+ starty = inset + height + pad + space;
+ offset = (sbPtr->selElement == SEL_BUTTONDOWN);
+ points[0].x = startx + 1 + offset;
+ points[0].y = starty + (offset ? 1 : 0);
+ points[1].x = startx + xWidth/2 + offset;
+ points[1].y = starty + tHeight + (offset ? 0 : -1);
+ points[2].x = startx - 1 + xWidth + offset;
+ points[2].y = points[0].y;
+ XFillPolygon(entryPtr->display, pixmap, entryPtr->textGC,
+ points, 3, Convex, CoordModeOrigin);
+ }
+ }
}
/*
@@ -2041,23 +1847,26 @@ DisplayEntry(clientData)
* any text that extends past the viewable part of the window.
*/
- xBound = entryPtr->highlightWidth;
- if (entryPtr->relief != TK_RELIEF_FLAT) {
- Tk_Draw3DRectangle(tkwin, pixmap, border, xBound, xBound,
- Tk_Width(tkwin) - 2 * xBound,
- Tk_Height(tkwin) - 2 * xBound,
- entryPtr->borderWidth, entryPtr->relief);
- }
- if (xBound > 0) {
- GC fgGC, bgGC;
-
- bgGC = Tk_GCForColor(entryPtr->highlightBgColorPtr, pixmap);
- if (entryPtr->flags & GOT_FOCUS) {
- fgGC = Tk_GCForColor(entryPtr->highlightColorPtr, pixmap);
- TkpDrawHighlightBorder(tkwin, fgGC, bgGC, xBound, pixmap);
- } else {
- TkpDrawHighlightBorder(tkwin, bgGC, bgGC, xBound, pixmap);
- }
+ if (!TkpDrawEntryBorderAndFocus(entryPtr, pixmap,
+ (entryPtr->type == TK_SPINBOX))) {
+ xBound = entryPtr->highlightWidth;
+ if (entryPtr->relief != TK_RELIEF_FLAT) {
+ Tk_Draw3DRectangle(tkwin, pixmap, border, xBound, xBound,
+ Tk_Width(tkwin) - 2 * xBound,
+ Tk_Height(tkwin) - 2 * xBound,
+ entryPtr->borderWidth, entryPtr->relief);
+ }
+ if (xBound > 0) {
+ GC fgGC, bgGC;
+
+ bgGC = Tk_GCForColor(entryPtr->highlightBgColorPtr, pixmap);
+ if (entryPtr->flags & GOT_FOCUS) {
+ fgGC = Tk_GCForColor(entryPtr->highlightColorPtr, pixmap);
+ TkpDrawHighlightBorder(tkwin, fgGC, bgGC, xBound, pixmap);
+ } else {
+ TkpDrawHighlightBorder(tkwin, bgGC, bgGC, xBound, pixmap);
+ }
+ }
}
/*
diff --git a/generic/tkEntry.h b/generic/tkEntry.h
new file mode 100644
index 0000000..3bb2f1d
--- /dev/null
+++ b/generic/tkEntry.h
@@ -0,0 +1,307 @@
+/*
+ * tkEntry.h --
+ *
+ * This module defined the structures for the Entry & SpinBox widgets.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * Copyright (c) 2002 Apple Computer, Inc.
+ *
+ */
+
+#ifndef _TKENTRY
+#define _TKENTRY
+
+#ifndef _TKINT
+#include "tkInt.h"
+#endif
+
+#ifdef BUILD_tk
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLEXPORT
+#endif
+
+enum EntryType {
+ TK_ENTRY, TK_SPINBOX
+};
+
+/*
+ * A data structure of the following type is kept for each Entry
+ * widget managed by this file:
+ */
+
+typedef struct {
+ Tk_Window tkwin; /* Window that embodies the entry. NULL
+ * means that the window has been destroyed
+ * but the data structures haven't yet been
+ * cleaned up.*/
+ Display *display; /* Display containing widget. Used, among
+ * other things, so that resources can be
+ * freed even after tkwin has gone away. */
+ Tcl_Interp *interp; /* Interpreter associated with entry. */
+ Tcl_Command widgetCmd; /* Token for entry's widget command. */
+ Tk_OptionTable optionTable; /* Table that defines configuration options
+ * available for this widget. */
+ enum EntryType type; /* Specialized type of Entry widget */
+
+ /*
+ * Fields that are set by widget commands other than "configure".
+ */
+
+ CONST char *string; /* Pointer to storage for string;
+ * NULL-terminated; malloc-ed. */
+ int insertPos; /* Character index before which next typed
+ * character will be inserted. */
+
+ /*
+ * Information about what's selected, if any.
+ */
+
+ int selectFirst; /* Character index of first selected
+ * character (-1 means nothing selected. */
+ int selectLast; /* Character index just after last selected
+ * character (-1 means nothing selected. */
+ int selectAnchor; /* Fixed end of selection (i.e. "select to"
+ * operation will use this as one end of the
+ * selection). */
+
+ /*
+ * Information for scanning:
+ */
+
+ int scanMarkX; /* X-position at which scan started (e.g.
+ * button was pressed here). */
+ int scanMarkIndex; /* Character index of character that was at
+ * left of window when scan started. */
+
+ /*
+ * Configuration settings that are updated by Tk_ConfigureWidget.
+ */
+
+ Tk_3DBorder normalBorder; /* Used for drawing border around whole
+ * window, plus used for background. */
+ Tk_3DBorder disabledBorder; /* Used for drawing border around whole
+ * window in disabled state, plus used for
+ * background. */
+ Tk_3DBorder readonlyBorder; /* Used for drawing border around whole
+ * window in readonly state, plus used for
+ * background. */
+ int borderWidth; /* Width of 3-D border around window. */
+ Tk_Cursor cursor; /* Current cursor for window, or None. */
+ int exportSelection; /* Non-zero means tie internal entry selection
+ * to X selection. */
+ Tk_Font tkfont; /* Information about text font, or NULL. */
+ XColor *fgColorPtr; /* Text color in normal mode. */
+ XColor *dfgColorPtr; /* Text color in disabled mode. */
+ XColor *highlightBgColorPtr;/* Color for drawing traversal highlight
+ * area when highlight is off. */
+ XColor *highlightColorPtr; /* Color for drawing traversal highlight. */
+ int highlightWidth; /* Width in pixels of highlight to draw
+ * around widget when it has the focus.
+ * <= 0 means don't draw a highlight. */
+ Tk_3DBorder insertBorder; /* Used to draw vertical bar for insertion
+ * cursor. */
+ int insertBorderWidth; /* Width of 3-D border around insert cursor. */
+ int insertOffTime; /* Number of milliseconds cursor should spend
+ * in "off" state for each blink. */
+ int insertOnTime; /* Number of milliseconds cursor should spend
+ * in "on" state for each blink. */
+ int insertWidth; /* Total width of insert cursor. */
+ Tk_Justify justify; /* Justification to use for text within
+ * window. */
+ int relief; /* 3-D effect: TK_RELIEF_RAISED, etc. */
+ Tk_3DBorder selBorder; /* Border and background for selected
+ * characters. */
+ int selBorderWidth; /* Width of border around selection. */
+ XColor *selFgColorPtr; /* Foreground color for selected text. */
+ int state; /* Normal or disabled. Entry is read-only
+ * when disabled. */
+ char *textVarName; /* Name of variable (malloc'ed) or NULL.
+ * If non-NULL, entry's string tracks the
+ * contents of this variable and vice versa. */
+ char *takeFocus; /* Value of -takefocus option; not used in
+ * the C code, but used by keyboard traversal
+ * scripts. Malloc'ed, but may be NULL. */
+ int prefWidth; /* Desired width of window, measured in
+ * average characters. */
+ char *scrollCmd; /* Command prefix for communicating with
+ * scrollbar(s). Malloc'ed. NULL means
+ * no command to issue. */
+ char *showChar; /* Value of -show option. If non-NULL, first
+ * character is used for displaying all
+ * characters in entry. Malloc'ed.
+ * This is only used by the Entry widget. */
+
+ /*
+ * Fields whose values are derived from the current values of the
+ * configuration settings above.
+ */
+
+ CONST char *displayString; /* String to use when displaying. This may
+ * be a pointer to string, or a pointer to
+ * malloced memory with the same character
+ * length as string but whose characters
+ * are all equal to showChar. */
+ int numBytes; /* Length of string in bytes. */
+ int numChars; /* Length of string in characters. Both
+ * string and displayString have the same
+ * character length, but may have different
+ * byte lengths due to being made from
+ * different UTF-8 characters. */
+ int numDisplayBytes; /* Length of displayString in bytes. */
+ int inset; /* Number of pixels on the left and right
+ * sides that are taken up by XPAD, borderWidth
+ * (if any), and highlightWidth (if any). */
+ Tk_TextLayout textLayout; /* Cached text layout information. */
+ int layoutX, layoutY; /* Origin for layout. */
+ int leftX; /* X position at which character at leftIndex
+ * is drawn (varies depending on justify). */
+ int leftIndex; /* Character index of left-most character
+ * visible in window. */
+ Tcl_TimerToken insertBlinkHandler;
+ /* Timer handler used to blink cursor on and
+ * off. */
+ GC textGC; /* For drawing normal text. */
+ GC selTextGC; /* For drawing selected text. */
+ GC highlightGC; /* For drawing traversal highlight. */
+ int avgWidth; /* Width of average character. */
+ int xWidth; /* Extra width to reserve for widget.
+ * Used by spinboxes for button space. */
+ int flags; /* Miscellaneous flags; see below for
+ * definitions. */
+
+ int validate; /* Non-zero means try to validate */
+ char *validateCmd; /* Command prefix to use when invoking
+ * validate command. NULL means don't
+ * invoke commands. Malloc'ed. */
+ char *invalidCmd; /* Command called when a validation returns 0
+ * (successfully fails), defaults to {}. */
+
+} Entry;
+
+/*
+ * A data structure of the following type is kept for each spinbox
+ * widget managed by this file:
+ */
+
+typedef struct {
+ Entry entry; /* A pointer to the generic entry structure.
+ * This must be the first element of the
+ * Spinbox. */
+
+ /*
+ * Spinbox specific configuration settings.
+ */
+
+ Tk_3DBorder activeBorder; /* Used for drawing border around active
+ * buttons. */
+ Tk_3DBorder buttonBorder; /* Used for drawing border around buttons. */
+ Tk_Cursor bCursor; /* cursor for buttons, or None. */
+ int bdRelief; /* 3-D effect: TK_RELIEF_RAISED, etc. */
+ int buRelief; /* 3-D effect: TK_RELIEF_RAISED, etc. */
+ char *command; /* Command to invoke for spin buttons.
+ * NULL means no command to issue. */
+
+ /*
+ * Spinbox specific fields for use with configuration settings above.
+ */
+
+ int wrap; /* whether to wrap around when spinning */
+
+ int selElement; /* currently selected control */
+ int curElement; /* currently mouseover control */
+
+ int repeatDelay; /* repeat delay */
+ int repeatInterval; /* repeat interval */
+
+ double fromValue; /* Value corresponding to left/top of dial */
+ double toValue; /* Value corresponding to right/bottom
+ * of dial */
+ double increment; /* If > 0, all values are rounded to an
+ * even multiple of this value. */
+ char *formatBuf; /* string into which to format value.
+ * Malloc'ed. */
+ char *reqFormat; /* Sprintf conversion specifier used for the
+ * value that the users requests. Malloc'ed. */
+ char *valueFormat; /* Sprintf conversion specifier used for
+ * the value. */
+ char digitFormat[10]; /* Sprintf conversion specifier computed from
+ * digits and other information; used for
+ * the value. */
+
+ char *valueStr; /* Values List. Malloc'ed. */
+ Tcl_Obj *listObj; /* Pointer to the list object being used */
+ int eIndex; /* Holds the current index into elements */
+ int nElements; /* Holds the current count of elements */
+
+} Spinbox;
+
+/*
+ * Assigned bits of "flags" fields of Entry structures, and what those
+ * bits mean:
+ *
+ * REDRAW_PENDING: Non-zero means a DoWhenIdle handler has
+ * already been queued to redisplay the entry.
+ * BORDER_NEEDED: Non-zero means 3-D border must be redrawn
+ * around window during redisplay. Normally
+ * only text portion needs to be redrawn.
+ * CURSOR_ON: Non-zero means insert cursor is displayed at
+ * present. 0 means it isn't displayed.
+ * GOT_FOCUS: Non-zero means this window has the input
+ * focus.
+ * UPDATE_SCROLLBAR: Non-zero means scrollbar should be updated
+ * during next redisplay operation.
+ * GOT_SELECTION: Non-zero means we've claimed the selection.
+ * ENTRY_DELETED: This entry has been effectively destroyed.
+ * VALIDATING: Non-zero means we are in a validateCmd
+ * VALIDATE_VAR: Non-zero means we are attempting to validate
+ * the entry's textvariable with validateCmd
+ * VALIDATE_ABORT: Non-zero if validatecommand signals an abort
+ * for current procedure and make no changes
+ * ENTRY_VAR_TRACED: Non-zero if a var trace is set.
+ */
+
+#define REDRAW_PENDING 1
+#define BORDER_NEEDED 2
+#define CURSOR_ON 4
+#define GOT_FOCUS 8
+#define UPDATE_SCROLLBAR 0x10
+#define GOT_SELECTION 0x20
+#define ENTRY_DELETED 0x40
+#define VALIDATING 0x80
+#define VALIDATE_VAR 0x100
+#define VALIDATE_ABORT 0x200
+#define ENTRY_VAR_TRACED 0x400
+
+/*
+ * The following enum is used to define a type for the -state option
+ * of the Entry widget. These values are used as indices into the
+ * string table below.
+ */
+
+enum state {
+ STATE_DISABLED, STATE_NORMAL, STATE_READONLY
+};
+
+/*
+ * This is the element index corresponding to the strings in selElementNames.
+ * If you modify them, you must modify the numbers here.
+ */
+
+enum selelement {
+ SEL_NONE, SEL_BUTTONDOWN, SEL_BUTTONUP, SEL_NULL, SEL_ENTRY
+};
+
+/*
+ * Declaration of procedures used in the implementation of the native side
+ * of the Entry widget.
+ */
+
+int TkpDrawEntryBorderAndFocus(Entry *entryPtr, Drawable d, int isSpinbox);
+int TkpDrawSpinboxButtons(Spinbox *sbPtr, Drawable d);
+
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS DLLIMPORT
+
+#endif /* _TKBUTTON */
diff --git a/macosx/Wish.pbproj/jingham.pbxuser b/macosx/Wish.pbproj/jingham.pbxuser
index 7deb7ad..79685a9 100644
--- a/macosx/Wish.pbproj/jingham.pbxuser
+++ b/macosx/Wish.pbproj/jingham.pbxuser
@@ -1,23 +1,879 @@
// !$*UTF8*$!
{
+ 4C26BFE606AF8D9A00889141 = {
+ fileReference = F5375551016C376E01DC9062;
+ functionName = "TkMacOSXSetUpCGContext()";
+ isa = PBXFileBreakpoint;
+ lineNumber = 1730;
+ state = 2;
+ };
+ 4C26BFE806AF8E8600889141 = {
+ fileReference = F5375551016C376E01DC9062;
+ functionName = "TkMacOSXReleaseCGContext()";
+ isa = PBXFileBreakpoint;
+ lineNumber = 1833;
+ state = 2;
+ };
+ 4CFCC13905E175AD00686F63 = {
+ fallbackIsa = XCSourceControlManager;
+ isSCMEnabled = 0;
+ isa = PBXSourceControlManager;
+ scmConfiguration = {
+ };
+ scmType = scm.cvs;
+ };
+ 4CFCC13A05E175AD00686F63 = {
+ indexTemplatePath = "";
+ isa = PBXCodeSenseManager;
+ usesDefaults = 1;
+ wantsCodeCompletion = 1;
+ wantsCodeCompletionAutoSuggestions = 0;
+ wantsCodeCompletionCaseSensitivity = 1;
+ wantsCodeCompletionListAlways = 1;
+ wantsCodeCompletionOnlyMatchingItems = 1;
+ wantsCodeCompletionParametersIncluded = 1;
+ wantsCodeCompletionPlaceholdersInserted = 1;
+ wantsCodeCompletionTabCompletes = 1;
+ wantsIndex = 1;
+ };
F537552A016C352C01DC9062 = {
activeBuildStyle = F537552C016C352C01DC9062;
activeExecutable = F9B92F14047876F1006F146B;
- activeTarget = F53756A0016C4DD401DC9062;
+ activeTarget = F53755DF016C38D201DC9062;
+ addToTargets = (
+ F53755DF016C38D201DC9062,
+ );
breakpoints = (
+ 4C26BFE606AF8D9A00889141,
+ 4C26BFE806AF8E8600889141,
);
+ codeSenseManager = 4CFCC13A05E175AD00686F63;
executables = (
F9B92F14047876F1006F146B,
);
perUserDictionary = {
- PBXPerProjectTemplateStateSaveDate = 79872368;
- PBXWorkspaceStateSaveDate = 79872368;
+ PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 280,
+ 20,
+ 55,
+ 43,
+ 43,
+ 20,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ PBXFileDataSource_Target_ColumnID,
+ );
+ };
+ PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 196.2974,
+ 198.2085,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFindDataSource_MessageID,
+ PBXFindDataSource_LocationID,
+ );
+ };
+ PBXPerProjectTemplateStateSaveDate = 133417037;
+ PBXPrepackagedSmartGroups_v2 = (
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ activationKey = OldTargetSmartGroup;
+ clz = PBXTargetSmartGroup;
+ description = "Displays all targets of the project.";
+ globalID = 1C37FABC04509CD000000102;
+ name = Targets;
+ preferences = {
+ image = Targets;
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXTargetSmartGroup2;
+ description = "Displays all targets of the project as well as nested build phases.";
+ globalID = 1C37FBAC04509CD000000102;
+ name = Targets;
+ preferences = {
+ image = Targets;
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXExecutablesSmartGroup;
+ description = "Displays all executables of the project.";
+ globalID = 1C37FAAC04509CD000000102;
+ name = Executables;
+ preferences = {
+ image = Executable;
+ };
+ },
+ {
+ " PBXTransientLocationAtTop " = bottom;
+ absolutePathToBundle = "";
+ clz = PBXErrorsWarningsSmartGroup;
+ description = "Displays files with errors or warnings.";
+ globalID = 1C08E77C0454961000C914BD;
+ name = "Errors and Warnings";
+ preferences = {
+ fnmatch = "";
+ image = WarningsErrors;
+ recursive = 1;
+ regex = "";
+ root = "<PROJECT>";
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXFilenameSmartGroup;
+ description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
+ globalID = 1CC0EA4004350EF90044410B;
+ name = "Implementation Files";
+ preferences = {
+ canSave = 1;
+ fnmatch = "";
+ image = SmartFolder;
+ isLeaf = 0;
+ recursive = 1;
+ regex = "?*\\.[mcMC]";
+ root = "<PROJECT>";
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXFilenameSmartGroup;
+ description = "This group displays Interface Builder NIB Files.";
+ globalID = 1CC0EA4004350EF90041110B;
+ name = "NIB Files";
+ preferences = {
+ canSave = 1;
+ fnmatch = "*.nib";
+ image = SmartFolder;
+ isLeaf = 0;
+ recursive = 1;
+ regex = "";
+ root = "<PROJECT>";
+ };
+ },
+ {
+ PBXTransientLocationAtTop = no;
+ absolutePathToBundle = "";
+ clz = PBXFindSmartGroup;
+ description = "Displays Find Results.";
+ globalID = 1C37FABC05509CD000000102;
+ name = "Find Results";
+ preferences = {
+ image = spyglass;
+ };
+ },
+ {
+ PBXTransientLocationAtTop = no;
+ absolutePathToBundle = "";
+ clz = PBXBookmarksSmartGroup;
+ description = "Displays Project Bookmarks.";
+ globalID = 1C37FABC05539CD112110102;
+ name = Bookmarks;
+ preferences = {
+ image = Bookmarks;
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = XCSCMSmartGroup;
+ description = "Displays files with interesting SCM status.";
+ globalID = E2644B35053B69B200211256;
+ name = SCM;
+ preferences = {
+ image = PBXRepository;
+ isLeaf = 0;
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXSymbolsSmartGroup;
+ description = "Displays all symbols for the project.";
+ globalID = 1C37FABC04509CD000100104;
+ name = "Project Symbols";
+ preferences = {
+ image = ProjectSymbols;
+ isLeaf = 1;
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXFilenameSmartGroup;
+ description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
+ globalID = PBXTemplateMarker;
+ name = "Simple Filter SmartGroup";
+ preferences = {
+ canSave = 1;
+ fnmatch = "*.nib";
+ image = SmartFolder;
+ isLeaf = 0;
+ recursive = 1;
+ regex = "";
+ root = "<PROJECT>";
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ absolutePathToBundle = "";
+ clz = PBXFilenameSmartGroup;
+ description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
+ globalID = PBXTemplateMarker;
+ name = "Simple Regular Expression SmartGroup";
+ preferences = {
+ canSave = 1;
+ fnmatch = "";
+ image = SmartFolder;
+ isLeaf = 0;
+ recursive = 1;
+ regex = "?*\\.[mcMC]";
+ root = "<PROJECT>";
+ };
+ },
+ {
+ PBXTransientLocationAtTop = bottom;
+ clz = XDDesignSmartGroup;
+ description = "Displays Xdesign models";
+ globalID = 2E4A936305E6979E00701470;
+ name = Design;
+ preferences = {
+ image = Design;
+ isLeaf = 0;
+ };
+ },
+ );
+ PBXWorkspaceContents = (
+ {
+ PBXProjectWorkspaceModule_StateKey_Rev39 = {
+ PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = {
+ BoundsStr = "{{0, 0}, {216, 426}}";
+ Rows = (
+ );
+ VisibleRectStr = "{{0, 0}, {216, 426}}";
+ };
+ PBXProjectWorkspaceModule_EditorOpen = false;
+ PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = {
+ PBXSplitModuleInNavigatorKey = {
+ SplitCount = 1;
+ };
+ };
+ PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
+ PBXProjectWorkspaceModule_SGTM_Geometry = {
+ _collapsingFrameDimension = 418;
+ _indexOfCollapsedView = 1;
+ _percentageOfCollapsedView = 0.6966667;
+ isCollapsed = yes;
+ sizes = (
+ "{{0, 0}, {413, 422}}",
+ );
+ };
+ };
+ PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {231, 443}}";
+ PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}";
+ PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {231, 443}}";
+ PBXProjectWorkspaceModule_SGTM = {
+ PBXBottomSmartGroupGIDs = (
+ 1C37FBAC04509CD000000102,
+ 1C37FAAC04509CD000000102,
+ 1C08E77C0454961000C914BD,
+ 1CC0EA4004350EF90044410B,
+ 1CC0EA4004350EF90041110B,
+ 1C37FABC05509CD000000102,
+ 1C37FABC05539CD112110102,
+ E2644B35053B69B200211256,
+ 1C37FABC04509CD000100104,
+ );
+ PBXSmartGroupTreeModuleColumnData = {
+ PBXSmartGroupTreeModuleColumnWidthsKey = (
+ 396,
+ );
+ PBXSmartGroupTreeModuleColumnsKey_v4 = (
+ MainColumn,
+ );
+ };
+ PBXSmartGroupTreeModuleOutlineStateKey_v7 = {
+ PBXSmartGroupTreeModuleOutlineStateExpansionKey = (
+ F537552B016C352C01DC9062,
+ F537552E016C376E01DC9062,
+ F5375530016C376E01DC9062,
+ F537553C016C376E01DC9062,
+ F537553D016C376E01DC9062,
+ F5375546016C376E01DC9062,
+ F53755CC016C389901DC9062,
+ F53755CD016C389901DC9062,
+ 1C37FABC05509CD000000102,
+ );
+ PBXSmartGroupTreeModuleOutlineStateSelectionKey = (
+ (
+ 107,
+ 94,
+ 85,
+ 0,
+ ),
+ );
+ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 1650}, {396, 404}}";
+ };
+ PBXTopSmartGroupGIDs = (
+ );
+ };
+ };
+ },
+ );
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXBuildResultsModule" = {
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugBreakpointsModule" = {
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugCLIModule" = {
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugSessionModule" = {
+ Debugger = {
+ HorizontalSplitView = {
+ _collapsingFrameDimension = 0;
+ _indexOfCollapsedView = 0;
+ _percentageOfCollapsedView = 0;
+ isCollapsed = yes;
+ sizes = (
+ "{{0, 0}, {301, 283}}",
+ "{{301, 0}, {504, 283}}",
+ );
+ };
+ VerticalSplitView = {
+ _collapsingFrameDimension = 0;
+ _indexOfCollapsedView = 0;
+ _percentageOfCollapsedView = 0;
+ isCollapsed = yes;
+ sizes = (
+ "{{0, 0}, {805, 283}}",
+ "{{0, 283}, {805, 309}}",
+ );
+ };
+ };
+ LauncherConfigVersion = 8;
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugSingleDataValueViewModule" = {
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXNavigatorGroup" = {
+ PBXSplitModuleInNavigatorKey = {
+ SplitCount = 1;
+ };
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectFindModule" = {
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = {
+ PBXProjectWorkspaceModule_StateKey_Rev39 = {
+ PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = {
+ BoundsStr = "{{0, 0}, {216, 426}}";
+ Rows = (
+ );
+ VisibleRectStr = "{{0, 0}, {216, 426}}";
+ };
+ PBXProjectWorkspaceModule_EditorOpen = false;
+ PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = {
+ PBXSplitModuleInNavigatorKey = {
+ SplitCount = 1;
+ };
+ };
+ PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
+ PBXProjectWorkspaceModule_SGTM_Geometry = {
+ _collapsingFrameDimension = 418;
+ _indexOfCollapsedView = 1;
+ _percentageOfCollapsedView = 0.6966667;
+ isCollapsed = yes;
+ sizes = (
+ "{{0, 0}, {413, 422}}",
+ );
+ };
+ };
+ PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {231, 443}}";
+ PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}";
+ PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {231, 443}}";
+ PBXProjectWorkspaceModule_SGTM = {
+ PBXBottomSmartGroupGIDs = (
+ 1C37FBAC04509CD000000102,
+ 1C37FAAC04509CD000000102,
+ 1C08E77C0454961000C914BD,
+ 1CC0EA4004350EF90044410B,
+ 1CC0EA4004350EF90041110B,
+ 1C37FABC05509CD000000102,
+ 1C37FABC05539CD112110102,
+ E2644B35053B69B200211256,
+ 1C37FABC04509CD000100104,
+ );
+ PBXSmartGroupTreeModuleColumnData = {
+ PBXSmartGroupTreeModuleColumnWidthsKey = (
+ 396,
+ );
+ PBXSmartGroupTreeModuleColumnsKey_v4 = (
+ MainColumn,
+ );
+ };
+ PBXSmartGroupTreeModuleOutlineStateKey_v7 = {
+ PBXSmartGroupTreeModuleOutlineStateExpansionKey = (
+ F537552B016C352C01DC9062,
+ F537553C016C376E01DC9062,
+ F537553D016C376E01DC9062,
+ F5375546016C376E01DC9062,
+ F53755CC016C389901DC9062,
+ F53755CD016C389901DC9062,
+ 1C37FABC05509CD000000102,
+ );
+ PBXSmartGroupTreeModuleOutlineStateSelectionKey = (
+ (
+ 31,
+ 16,
+ 7,
+ 0,
+ ),
+ );
+ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 400}, {396, 404}}";
+ };
+ PBXTopSmartGroupGIDs = (
+ );
+ };
+ };
+ };
+ "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXRunSessionModule" = {
+ LauncherConfigVersion = 3;
+ Runner = {
+ HorizontalSplitView = {
+ _collapsingFrameDimension = 0;
+ _indexOfCollapsedView = 0;
+ _percentageOfCollapsedView = 0;
+ isCollapsed = yes;
+ sizes = (
+ "{{0, 0}, {365, 167}}",
+ "{{0, 176}, {365, 267}}",
+ );
+ };
+ VerticalSplitView = {
+ _collapsingFrameDimension = 0;
+ _indexOfCollapsedView = 0;
+ _percentageOfCollapsedView = 0;
+ isCollapsed = yes;
+ sizes = (
+ "{{0, 0}, {405, 443}}",
+ "{{414, 0}, {514, 443}}",
+ );
+ };
+ };
+ };
+ PBXWorkspaceGeometries = (
+ {
+ Frame = "{{0, 0}, {413, 422}}";
+ PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
+ };
+ RubberWindowFrame = "380 282 413 464 0 0 1024 746 ";
+ },
+ );
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXBuildResultsModule" = {
+ Frame = "{{0, 0}, {719, 443}}";
+ PBXModuleWindowStatusBarHidden = YES;
+ RubberWindowFrame = "280 83 719 464 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugBreakpointsModule" = {
+ BreakpointsTreeTableConfiguration = (
+ enabledColumn,
+ 16,
+ breakpointColumn,
+ 282.583,
+ );
+ Frame = "{{0, 0}, {208, 495}}";
+ PBXModuleWindowStatusBarHidden = YES;
+ RubberWindowFrame = "761 230 208 516 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugCLIModule" = {
+ Frame = "{{0, 0}, {500, 258}}";
+ RubberWindowFrame = "469 103 500 300 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugSessionModule" = {
+ DebugConsoleDrawerSize = "{100, 120}";
+ DebugConsoleVisible = None;
+ DebugConsoleWindowFrame = "{{65, 452}, {959, 294}}";
+ DebugSTDIOWindowFrame = "{{469, 103}, {500, 300}}";
+ Frame = "{{0, 0}, {805, 592}}";
+ RubberWindowFrame = "145 107 805 634 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugSingleDataValueViewModule" = {
+ Frame = "{{0, 0}, {400, 657}}";
+ RubberWindowFrame = "35 16 400 699 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXNavigatorGroup" = {
+ Frame = "{{0, 0}, {597, 659}}";
+ PBXModuleWindowStatusBarHidden = YES;
+ RubberWindowFrame = "253 66 597 680 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectFindModule" = {
+ Frame = "{{0, 0}, {654, 460}}";
+ RubberWindowFrame = "293 148 654 502 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = {
+ Frame = "{{0, 0}, {413, 422}}";
+ PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
+ };
+ RubberWindowFrame = "380 282 413 464 0 0 1024 746 ";
+ };
+ "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXRunSessionModule" = {
+ Frame = "{{0, 0}, {745, 443}}";
+ PBXModuleWindowStatusBarHidden = YES;
+ RubberWindowFrame = "254 127 745 464 0 0 1024 746 ";
+ };
+ PBXWorkspaceStateSaveDate = 133417037;
};
- projectwideBuildSettings = {
+ sourceControlManager = 4CFCC13905E175AD00686F63;
+ userBuildSettings = {
+ OBJROOT = "${SRCROOT}/../../build/tk/";
SYMROOT = "${SRCROOT}/../../build/tk";
};
- wantsIndex = 1;
- wantsSCM = -1;
+ };
+ F5375540016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 7517}}";
+ sepNavSelRange = "{9914, 0}";
+ sepNavVisRect = "{{0, 3927}, {711, 449}}";
+ sepNavWindowFrame = "{{180, 60}, {750, 534}}";
+ };
+ };
+ F5375542016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 2267}}";
+ sepNavSelRange = "{4985, 26}";
+ sepNavVisRect = "{{0, 1790}, {711, 449}}";
+ sepNavWindowFrame = "{{42, 186}, {750, 534}}";
+ };
+ };
+ F537554A016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 22819}}";
+ sepNavSelRange = "{5893, 16}";
+ sepNavVisRect = "{{0, 4310}, {711, 449}}";
+ sepNavWindowFrame = "{{65, 165}, {750, 534}}";
+ };
+ };
+ F537554E016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 6761}}";
+ sepNavSelRange = "{12868, 0}";
+ sepNavVisRect = "{{0, 5874}, {711, 449}}";
+ sepNavWindowFrame = "{{108, 212}, {750, 534}}";
+ };
+ };
+ F5375550016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {819, 23267}}";
+ sepNavSelRange = "{46489, 9}";
+ sepNavVisRect = "{{0, 20155}, {819, 360}}";
+ };
+ };
+ F5375551016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {558, 28671}}";
+ sepNavSelRange = "{3970, 0}";
+ sepNavVisRect = "{{0, 1641}, {558, 627}}";
+ sepNavWindowFrame = "{{253, 34}, {597, 712}}";
+ };
+ };
+ F5375553016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 4031}}";
+ sepNavSelRange = "{4638, 20}";
+ sepNavVisRect = "{{0, 2569}, {711, 449}}";
+ sepNavWindowFrame = "{{19, 207}, {750, 534}}";
+ };
+ };
+ F5375554016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {728, 32325}}";
+ sepNavSelRange = "{34980, 12}";
+ sepNavVisRect = "{{0, 13559}, {711, 449}}";
+ sepNavWindowFrame = "{{88, 144}, {750, 534}}";
+ };
+ };
+ F5375556016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 3163}}";
+ sepNavSelRange = "{3116, 0}";
+ sepNavVisRect = "{{0, 1462}, {711, 449}}";
+ sepNavWindowFrame = "{{22, 78}, {750, 534}}";
+ };
+ };
+ F5375559016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 67157}}";
+ sepNavSelRange = "{6813, 8}";
+ sepNavVisRect = "{{0, 2947}, {711, 449}}";
+ sepNavWindowFrame = "{{43, 66}, {750, 534}}";
+ };
+ };
+ F537555C016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 11717}}";
+ sepNavSelRange = "{6747, 0}";
+ sepNavVisRect = "{{0, 2457}, {711, 449}}";
+ sepNavWindowFrame = "{{115, 97}, {750, 534}}";
+ };
+ };
+ F537555D016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 16491}}";
+ sepNavSelRange = "{8857, 0}";
+ sepNavVisRect = "{{0, 3812}, {711, 428}}";
+ };
+ };
+ F537555E016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 3639}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRect = "{{0, 0}, {711, 449}}";
+ sepNavWindowFrame = "{{65, 165}, {750, 534}}";
+ };
+ };
+ F5375560016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 15959}}";
+ sepNavSelRange = "{10001, 4}";
+ sepNavVisRect = "{{0, 3955}, {711, 449}}";
+ sepNavWindowFrame = "{{19, 207}, {750, 534}}";
+ };
+ };
+ F5375562016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 19669}}";
+ sepNavSelRange = "{6075, 0}";
+ sepNavVisRect = "{{0, 3021}, {711, 449}}";
+ sepNavWindowFrame = "{{296, 212}, {750, 534}}";
+ };
+ };
+ F5375565016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 9687}}";
+ sepNavSelRange = "{10015, 19}";
+ sepNavVisRect = "{{0, 4314}, {711, 449}}";
+ sepNavWindowFrame = "{{134, 102}, {750, 534}}";
+ };
+ };
+ F5375567016C376E01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 79127}}";
+ sepNavSelRange = "{2012, 27}";
+ sepNavVisRect = "{{0, 805}, {711, 449}}";
+ sepNavWindowFrame = "{{111, 123}, {750, 534}}";
+ };
+ };
+ F537556B016C37A601DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 22763}}";
+ sepNavSelRange = "{23942, 9}";
+ sepNavVisRect = "{{0, 10195}, {711, 449}}";
+ sepNavWindowFrame = "{{114, 212}, {750, 534}}";
+ };
+ };
+ F5375574016C37A601DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 16477}}";
+ sepNavSelRange = "{23833, 9}";
+ sepNavVisRect = "{{0, 10380}, {711, 449}}";
+ sepNavWindowFrame = "{{157, 81}, {750, 534}}";
+ };
+ };
+ F537557A016C37A601DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1910, 4213}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRect = "{{0, 0}, {711, 449}}";
+ sepNavWindowFrame = "{{88, 144}, {750, 534}}";
+ };
+ };
+ F5375580016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {766, 20075}}";
+ sepNavSelRange = "{29382, 0}";
+ sepNavVisRect = "{{0, 14163}, {766, 277}}";
+ };
+ };
+ F5375585016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 25115}}";
+ sepNavSelRange = "{50483, 15}";
+ sepNavVisRect = "{{0, 20194}, {711, 449}}";
+ sepNavWindowFrame = "{{88, 144}, {750, 534}}";
+ };
+ };
+ F5375587016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {691, 80597}}";
+ sepNavSelRange = "{73464, 0}";
+ sepNavVisRect = "{{0, 30764}, {691, 633}}";
+ sepNavWindowFrame = "{{166, 0}, {730, 718}}";
+ };
+ };
+ F537558E016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {766, 24905}}";
+ sepNavSelRange = "{3562, 0}";
+ sepNavVisRect = "{{0, 1859}, {766, 272}}";
+ };
+ };
+ F537558F016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 15497}}";
+ sepNavSelRange = "{11262, 14}";
+ sepNavVisRect = "{{0, 4732}, {711, 449}}";
+ sepNavWindowFrame = "{{42, 186}, {750, 534}}";
+ };
+ };
+ F5375591016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 29007}}";
+ sepNavSelRange = "{31963, 9}";
+ sepNavVisRect = "{{0, 16919}, {711, 449}}";
+ sepNavWindowFrame = "{{65, 165}, {750, 534}}";
+ };
+ };
+ F5375595016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 12375}}";
+ sepNavSelRange = "{6236, 36}";
+ sepNavVisRect = "{{0, 3185}, {711, 449}}";
+ sepNavWindowFrame = "{{203, 39}, {750, 534}}";
+ };
+ };
+ F5375596016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 65351}}";
+ sepNavSelRange = "{60305, 0}";
+ sepNavVisRect = "{{0, 25118}, {711, 449}}";
+ sepNavWindowFrame = "{{216, 212}, {750, 534}}";
+ };
+ };
+ F5375598016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 21307}}";
+ sepNavSelRange = "{40237, 196}";
+ sepNavVisRect = "{{0, 19495}, {711, 449}}";
+ sepNavWindowFrame = "{{88, 144}, {750, 534}}";
+ };
+ };
+ F537559A016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 15063}}";
+ sepNavSelRange = "{19488, 9}";
+ sepNavVisRect = "{{0, 9130}, {711, 449}}";
+ sepNavWindowFrame = "{{65, 165}, {750, 534}}";
+ };
+ };
+ F537559C016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 27971}}";
+ sepNavSelRange = "{44345, 12}";
+ sepNavVisRect = "{{0, 19355}, {711, 449}}";
+ sepNavWindowFrame = "{{134, 102}, {750, 534}}";
+ };
+ };
+ F53755A0016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 22609}}";
+ sepNavSelRange = "{33749, 0}";
+ sepNavVisRect = "{{0, 14636}, {711, 449}}";
+ sepNavWindowFrame = "{{134, 102}, {750, 534}}";
+ };
+ };
+ F53755A8016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 48859}}";
+ sepNavSelRange = "{56455, 0}";
+ sepNavVisRect = "{{0, 25823}, {711, 449}}";
+ sepNavWindowFrame = "{{19, 207}, {750, 534}}";
+ };
+ };
+ F53755AB016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 50959}}";
+ sepNavSelRange = "{12728, 16}";
+ sepNavVisRect = "{{0, 3941}, {711, 449}}";
+ sepNavWindowFrame = "{{157, 81}, {750, 534}}";
+ };
+ };
+ F53755B0016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 14573}}";
+ sepNavSelRange = "{13559, 12}";
+ sepNavVisRect = "{{0, 6837}, {711, 449}}";
+ sepNavWindowFrame = "{{135, 102}, {750, 534}}";
+ };
+ };
+ F53755B2016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {766, 23408}}";
+ sepNavSelRange = "{20282, 0}";
+ sepNavVisRect = "{{0, 9139}, {766, 273}}";
+ };
+ };
+ F53755B4016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 9281}}";
+ sepNavSelRange = "{14480, 21}";
+ sepNavVisRect = "{{0, 7749}, {711, 449}}";
+ sepNavWindowFrame = "{{180, 60}, {750, 534}}";
+ };
+ };
+ F53755BF016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {766, 73863}}";
+ sepNavSelRange = "{54794, 0}";
+ sepNavVisRect = "{{0, 23655}, {766, 277}}";
+ };
+ };
+ F53755C8016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 44841}}";
+ sepNavSelRange = "{64393, 13}";
+ sepNavVisRect = "{{0, 29253}, {711, 449}}";
+ sepNavWindowFrame = "{{157, 81}, {750, 534}}";
+ };
+ };
+ F53755D2016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 9491}}";
+ sepNavSelRange = "{5074, 20}";
+ sepNavVisRect = "{{0, 1864}, {711, 449}}";
+ sepNavWindowFrame = "{{70, 164}, {750, 534}}";
+ };
+ };
+ F53755D5016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 17009}}";
+ sepNavSelRange = "{20859, 9}";
+ sepNavVisRect = "{{0, 7885}, {711, 449}}";
+ sepNavWindowFrame = "{{226, 18}, {750, 534}}";
+ };
+ };
+ F53755D9016C389901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {766, 1189}}";
+ sepNavSelRange = "{1660, 0}";
+ sepNavVisRect = "{{0, 912}, {766, 277}}";
+ };
};
F53755DF016C38D201DC9062 = {
activeExec = 0;
@@ -31,6 +887,29 @@
F548F8CE0313CEF0016F146B = {
activeExec = 0;
};
+ F5C8865B017D625C01DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 31583}}";
+ sepNavSelRange = "{1450, 27}";
+ sepNavVisRect = "{{0, 553}, {711, 428}}";
+ sepNavWindowFrame = "{{111, 123}, {750, 534}}";
+ };
+ };
+ F5DF0935016CD3F901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 5823}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRect = "{{0, 2446}, {711, 428}}";
+ };
+ };
+ F5DF093D016CD3F901DC9062 = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {711, 5935}}";
+ sepNavSelRange = "{8810, 14}";
+ sepNavVisRect = "{{0, 4152}, {711, 449}}";
+ sepNavWindowFrame = "{{212, 193}, {750, 534}}";
+ };
+ };
F9B92F14047876F1006F146B = {
activeArgIndex = 2147483647;
activeArgIndices = (
@@ -39,12 +918,17 @@
);
configStateDict = {
};
+ cppStopOnCatchEnabled = 0;
+ cppStopOnThrowEnabled = 0;
+ customDataFormattersEnabled = 1;
debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
dylibVariantSuffix = "";
enableDebugStr = 1;
environmentEntries = (
);
isa = PBXExecutable;
+ libgmallocEnabled = 0;
name = Wish;
shlibInfoDictList = (
);
diff --git a/macosx/Wish.pbproj/project.pbxproj b/macosx/Wish.pbproj/project.pbxproj
index 5532c9c..7a508d5 100644
--- a/macosx/Wish.pbproj/project.pbxproj
+++ b/macosx/Wish.pbproj/project.pbxproj
@@ -3,13 +3,15 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 38;
+ objectVersion = 39;
objects = {
4C3B4CF6040B18B200C916F0 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.rez;
path = tkMacOSXAETE.r;
refType = 4;
+ sourceTree = "<group>";
};
4C3B4CF7040B18B200C916F0 = {
fileRef = 4C3B4CF6040B18B200C916F0;
@@ -17,6 +19,49 @@
settings = {
};
};
+ 4C9404EF07F3C84D004B0BCE = {
+ containerPortal = F537552A016C352C01DC9062;
+ isa = PBXContainerItemProxy;
+ proxyType = 1;
+ remoteGlobalIDString = F548F8CE0313CEF0016F146B;
+ remoteInfo = TkStubLibrary;
+ };
+ 4C9404F007F3C84D004B0BCE = {
+ containerPortal = F537552A016C352C01DC9062;
+ isa = PBXContainerItemProxy;
+ proxyType = 1;
+ remoteGlobalIDString = F53755DF016C38D201DC9062;
+ remoteInfo = TkLibrary;
+ };
+ 4C94055707F3C880004B0BCE = {
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
+ path = tkMacOSXEntry.c;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ 4C94055807F3C880004B0BCE = {
+ fileRef = 4C94055707F3C880004B0BCE;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ 4C94055B07F3C897004B0BCE = {
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = tkEntry.h;
+ path = "/Volumes/CodeBits/jingham/Tcl/Source-8-4/tk/generic/tkEntry.h";
+ refType = 0;
+ sourceTree = "<absolute>";
+ };
+ 4C94055C07F3C897004B0BCE = {
+ fileRef = 4C94055B07F3C897004B0BCE;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
//4C0
//4C1
//4C2
@@ -28,10 +73,12 @@
//F53
//F54
F50D96120196176E01DC9062 = {
- isa = PBXFrameworkReference;
+ isa = PBXFileReference;
+ lastKnownFileType = wrapper.framework;
name = ApplicationServices.framework;
path = /System/Library/Frameworks/ApplicationServices.framework;
refType = 0;
+ sourceTree = "<absolute>";
};
F50D96130196176E01DC9062 = {
fileRef = F50D96120196176E01DC9062;
@@ -127,16 +174,14 @@
buildActionMask = 2147483647;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# keep copy of debug library around, so that\n\t# Deployment build can be installed on top\n\t# of Development build without overwriting it\n\tcd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}\"\n\tcp -fp \"${PRODUCT_NAME}\" \"${PRODUCT_NAME}_debug\"\n\tln -fs \"Versions/Current/${PRODUCT_NAME}_debug\" ../..\n\tcp -fp \"libtkstub${FRAMEWORK_VERSION}.a\" \"libtkstub${FRAMEWORK_VERSION}g.a\"\n\n\t# force Deployment build to be relinked next time\n\tif [ -f \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nelse\n\t# force Development build to be relinked next time\n\tif [ -f \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nfi\n\n# fixup Framework structure\ncd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}\"\nln -fs `ls libtkstub* | sed -e \"s|.*|Versions/${FRAMEWORK_VERSION}/&|\"` ../..\nln -fs \"Versions/Current/tkConfig.sh\" ../..\nranlib libtkstub${FRAMEWORK_VERSION}*.a\n\n# create pkgIndex\n( echo \"if {[package vcompare [package provide Tcl] ${FRAMEWORK_VERSION}] != 0} { return }\" && \\\n echo \"package ifneeded Tk ${FRAMEWORK_VERSION} [list load [file join \\$dir .. .. Tk] Tk]\" \\\n) > \"Resources/Scripts/pkgIndex.tcl\"";
};
F537552A016C352C01DC9062 = {
+ buildSettings = {
+ };
buildStyles = (
F537552C016C352C01DC9062,
F537552D016C352C01DC9062,
@@ -168,26 +213,30 @@
);
isa = PBXGroup;
refType = 4;
+ sourceTree = "<group>";
};
F537552C016C352C01DC9062 = {
- buildRules = (
- );
buildSettings = {
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
OTHER_LDFLAGS = "\U0001-prebind";
TEMP_DIR = "${OBJROOT}/Development.build/$(PROJECT_NAME).build/$(TARGET_NAME).build";
UNSTRIPPED_PRODUCT = YES;
+ ZERO_LINK = YES;
};
isa = PBXBuildStyle;
name = Development;
};
F537552D016C352C01DC9062 = {
- buildRules = (
- );
buildSettings = {
DEBUGGING_SYMBOLS = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
OPTIMIZATION_CFLAGS = "-Os";
OTHER_LDFLAGS = "\U0001-prebind";
TEMP_DIR = "${OBJROOT}/Deployment.build/$(PROJECT_NAME).build/$(TARGET_NAME).build";
+ ZERO_LINK = NO;
};
isa = PBXBuildStyle;
name = Deployment;
@@ -200,9 +249,11 @@
isa = PBXGroup;
name = Generic;
refType = 4;
+ sourceTree = "<group>";
};
F537552F016C376E01DC9062 = {
children = (
+ 4C94055B07F3C897004B0BCE,
F5375569016C37A601DC9062,
F537556A016C37A601DC9062,
F537556B016C37A601DC9062,
@@ -231,6 +282,7 @@
isa = PBXGroup;
name = Headers;
refType = 4;
+ sourceTree = "<group>";
};
F5375530016C376E01DC9062 = {
children = (
@@ -314,6 +366,7 @@
isa = PBXGroup;
name = Source;
refType = 4;
+ sourceTree = "<group>";
};
F5375531016C376E01DC9062 = {
children = (
@@ -323,6 +376,7 @@
isa = PBXGroup;
name = Resources;
refType = 4;
+ sourceTree = "<group>";
};
F5375532016C376E01DC9062 = {
children = (
@@ -335,35 +389,46 @@
isa = PBXGroup;
name = "Resource Manager Resources";
refType = 4;
+ sourceTree = "<group>";
};
F5375533016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.rez;
path = tkAboutDlg.r;
refType = 4;
+ sourceTree = "<group>";
};
F5375535016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.rez;
path = tkMacOSXCursors.r;
refType = 4;
+ sourceTree = "<group>";
};
F5375538016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.rez;
path = tkMacOSXMenu.r;
refType = 4;
+ sourceTree = "<group>";
};
F537553A016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.rez;
path = tkMacOSXXCursors.r;
refType = 4;
+ sourceTree = "<group>";
};
F537553B016C376E01DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.icns;
path = Wish.icns;
refType = 4;
+ sourceTree = "<group>";
};
F537553C016C376E01DC9062 = {
children = (
@@ -373,6 +438,7 @@
isa = PBXGroup;
name = "MacOS X";
refType = 4;
+ sourceTree = "<group>";
};
F537553D016C376E01DC9062 = {
children = (
@@ -387,51 +453,67 @@
isa = PBXGroup;
name = Headers;
refType = 4;
+ sourceTree = "<group>";
};
F537553E016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSX.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537553F016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSXDebug.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375540016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSXDefault.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375541016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSXEvent.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375542016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSXInt.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375543016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSXPort.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375545016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
path = tkMacOSXWm.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375546016C376E01DC9062 = {
children = (
+ 4C94055707F3C880004B0BCE,
F5375549016C376E01DC9062,
F537554A016C376E01DC9062,
F537554B016C376E01DC9062,
@@ -465,859 +547,1112 @@
isa = PBXGroup;
name = Source;
refType = 4;
+ sourceTree = "<group>";
};
F5375548016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkAppInit.c;
path = ../unix/tkAppInit.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375549016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXBitmap.c;
refType = 4;
+ sourceTree = "<group>";
};
F537554A016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXButton.c;
refType = 4;
+ sourceTree = "<group>";
};
F537554B016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXClipboard.c;
refType = 4;
+ sourceTree = "<group>";
};
F537554C016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXColor.c;
refType = 4;
+ sourceTree = "<group>";
};
F537554D016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXConfig.c;
refType = 4;
+ sourceTree = "<group>";
};
F537554E016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXCursor.c;
refType = 4;
+ sourceTree = "<group>";
};
F537554F016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXDebug.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375550016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXDialog.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375551016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXDraw.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375552016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXEmbed.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375553016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXEvent.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375554016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXFont.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375555016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXHLEvents.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375556016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXInit.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375557016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXKeyboard.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375558016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXKeyEvent.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375559016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXMenu.c;
refType = 4;
+ sourceTree = "<group>";
};
F537555A016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXMenubutton.c;
refType = 4;
+ sourceTree = "<group>";
};
F537555B016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXMenus.c;
refType = 4;
+ sourceTree = "<group>";
};
F537555C016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXMouseEvent.c;
refType = 4;
+ sourceTree = "<group>";
};
F537555D016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXNotify.c;
refType = 4;
+ sourceTree = "<group>";
};
F537555E016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXRegion.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375560016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXScrlbr.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375561016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXSend.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375562016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXSubwindows.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375563016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXTest.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375565016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXWindowEvent.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375567016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXWm.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375568016C376E01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
path = tkMacOSXXStubs.c;
refType = 4;
+ sourceTree = "<group>";
};
F5375569016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = default.h;
path = ../generic/default.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537556A016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = ks_names.h;
path = ../generic/ks_names.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537556B016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tk.h;
path = ../generic/tk.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537556C016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tk3d.h;
path = ../generic/tk3d.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537556D016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkButton.h;
path = ../generic/tkButton.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537556E016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkCanvas.h;
path = ../generic/tkCanvas.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537556F016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkColor.h;
path = ../generic/tkColor.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375570016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkDecls.h;
path = ../generic/tkDecls.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375571016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkFileFilter.h;
path = ../generic/tkFileFilter.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375572016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkFont.h;
path = ../generic/tkFont.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375573016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkInitScript.h;
path = ../generic/tkInitScript.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375574016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkInt.h;
path = ../generic/tkInt.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375575016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkIntDecls.h;
path = ../generic/tkIntDecls.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375576016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkIntPlatDecls.h;
path = ../generic/tkIntPlatDecls.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375577016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkIntXlibDecls.h;
path = ../generic/tkIntXlibDecls.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375578016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkMenu.h;
path = ../generic/tkMenu.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375579016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkMenubutton.h;
path = ../generic/tkMenubutton.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537557A016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkPlatDecls.h;
path = ../generic/tkPlatDecls.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537557B016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkPort.h;
path = ../generic/tkPort.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537557C016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkScale.h;
path = ../generic/tkScale.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537557D016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkScrollbar.h;
path = ../generic/tkScrollbar.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537557E016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkSelect.h;
path = ../generic/tkSelect.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537557F016C37A601DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkText.h;
path = ../generic/tkText.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375580016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tk3d.c;
path = ../generic/tk3d.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375581016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkArgv.c;
path = ../generic/tkArgv.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375582016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkAtom.c;
path = ../generic/tkAtom.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375583016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkBind.c;
path = ../generic/tkBind.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375584016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkBitmap.c;
path = ../generic/tkBitmap.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375585016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkButton.c;
path = ../generic/tkButton.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375586016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvArc.c;
path = ../generic/tkCanvArc.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375587016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvas.c;
path = ../generic/tkCanvas.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375588016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvBmap.c;
path = ../generic/tkCanvBmap.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375589016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvImg.c;
path = ../generic/tkCanvImg.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537558A016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvLine.c;
path = ../generic/tkCanvLine.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537558B016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvPoly.c;
path = ../generic/tkCanvPoly.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537558C016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvPs.c;
path = ../generic/tkCanvPs.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537558D016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvText.c;
path = ../generic/tkCanvText.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537558E016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvUtil.c;
path = ../generic/tkCanvUtil.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537558F016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCanvWind.c;
path = ../generic/tkCanvWind.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375590016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkClipboard.c;
path = ../generic/tkClipboard.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375591016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCmds.c;
path = ../generic/tkCmds.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375592016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkColor.c;
path = ../generic/tkColor.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375593016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkConfig.c;
path = ../generic/tkConfig.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375594016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkConsole.c;
path = ../generic/tkConsole.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375595016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkCursor.c;
path = ../generic/tkCursor.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375596016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkEntry.c;
path = ../generic/tkEntry.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375597016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkError.c;
path = ../generic/tkError.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375598016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkEvent.c;
path = ../generic/tkEvent.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375599016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkFileFilter.c;
path = ../generic/tkFileFilter.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537559A016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkFocus.c;
path = ../generic/tkFocus.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537559B016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkFont.c;
path = ../generic/tkFont.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537559C016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkFrame.c;
path = ../generic/tkFrame.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537559D016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkGC.c;
path = ../generic/tkGC.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537559E016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkGeometry.c;
path = ../generic/tkGeometry.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537559F016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkGet.c;
path = ../generic/tkGet.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A0016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkGrab.c;
path = ../generic/tkGrab.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A1016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkGrid.c;
path = ../generic/tkGrid.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A2016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkImage.c;
path = ../generic/tkImage.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A3016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkImgBmap.c;
path = ../generic/tkImgBmap.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A4016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkImgGIF.c;
path = ../generic/tkImgGIF.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A5016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkImgPhoto.c;
path = ../generic/tkImgPhoto.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A6016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkImgPPM.c;
path = ../generic/tkImgPPM.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A7016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkImgUtil.c;
path = ../generic/tkImgUtil.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A8016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkListbox.c;
path = ../generic/tkListbox.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755A9016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkMacWinMenu.c;
path = ../generic/tkMacWinMenu.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755AA016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkMain.c;
path = ../generic/tkMain.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755AB016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkMenu.c;
path = ../generic/tkMenu.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755AC016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkMenubutton.c;
path = ../generic/tkMenubutton.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755AD016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkMenuDraw.c;
path = ../generic/tkMenuDraw.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755AE016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkMessage.c;
path = ../generic/tkMessage.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755AF016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkObj.c;
path = ../generic/tkObj.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B0016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkOldConfig.c;
path = ../generic/tkOldConfig.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B1016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkOption.c;
path = ../generic/tkOption.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B2016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkPack.c;
path = ../generic/tkPack.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B3016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkPlace.c;
path = ../generic/tkPlace.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B4016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkPointer.c;
path = ../generic/tkPointer.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B5016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkRectOval.c;
path = ../generic/tkRectOval.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B6016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkScale.c;
path = ../generic/tkScale.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B7016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkScrollbar.c;
path = ../generic/tkScrollbar.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B8016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkSelect.c;
path = ../generic/tkSelect.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755B9016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkStubImg.c;
path = ../generic/tkStubImg.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755BA016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkStubInit.c;
path = ../generic/tkStubInit.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755BB016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkStubLib.c;
path = ../generic/tkStubLib.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755BC016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTest.c;
path = ../generic/tkTest.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755BD016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkText.c;
path = ../generic/tkText.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755BE016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextBTree.c;
path = ../generic/tkTextBTree.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755BF016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextDisp.c;
path = ../generic/tkTextDisp.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C0016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextImage.c;
path = ../generic/tkTextImage.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C1016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextIndex.c;
path = ../generic/tkTextIndex.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C2016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextMark.c;
path = ../generic/tkTextMark.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C3016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextTag.c;
path = ../generic/tkTextTag.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C4016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTextWind.c;
path = ../generic/tkTextWind.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C5016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkTrig.c;
path = ../generic/tkTrig.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C6016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkUtil.c;
path = ../generic/tkUtil.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C7016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkVisual.c;
path = ../generic/tkVisual.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C8016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkWindow.c;
path = ../generic/tkWindow.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755C9016C389901DC9062 = {
children = (
@@ -1328,20 +1663,25 @@
isa = PBXGroup;
name = Unix;
refType = 4;
+ sourceTree = "<group>";
};
F53755CA016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkUnix3d.c;
path = ../unix/tkUnix3d.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755CB016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkUnixScale.c;
path = ../unix/tkUnixScale.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755CC016C389901DC9062 = {
children = (
@@ -1351,6 +1691,7 @@
isa = PBXGroup;
name = "X Emulation";
refType = 4;
+ sourceTree = "<group>";
};
F53755CD016C389901DC9062 = {
children = (
@@ -1367,69 +1708,88 @@
isa = PBXGroup;
name = Headers;
refType = 4;
+ sourceTree = "<group>";
};
F53755CE016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = xbytes.h;
path = ../xlib/xbytes.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755CF016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = cursorfont.h;
path = ../xlib/X11/cursorfont.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D0016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = keysym.h;
path = ../xlib/X11/keysym.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D1016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = keysymdef.h;
path = ../xlib/X11/keysymdef.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D2016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = X.h;
path = ../xlib/X11/X.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D3016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = Xatom.h;
path = ../xlib/X11/Xatom.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D4016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = Xfuncproto.h;
path = ../xlib/X11/Xfuncproto.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D5016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = Xlib.h;
path = ../xlib/X11/Xlib.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D6016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = Xutil.h;
path = ../xlib/X11/Xutil.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D7016C389901DC9062 = {
children = (
@@ -1442,41 +1802,52 @@
isa = PBXGroup;
name = Source;
refType = 4;
+ sourceTree = "<group>";
};
F53755D8016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = xcolors.c;
path = ../xlib/xcolors.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755D9016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = xdraw.c;
path = ../xlib/xdraw.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755DA016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = xgc.c;
path = ../xlib/xgc.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755DB016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = ximage.c;
path = ../xlib/ximage.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755DC016C389901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = xutil.c;
path = ../xlib/xutil.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F53755DD016C38D201DC9062 = {
children = (
@@ -1487,11 +1858,14 @@
isa = PBXGroup;
name = Products;
refType = 4;
+ sourceTree = "<group>";
};
F53755DE016C38D201DC9062 = {
- isa = PBXFrameworkReference;
+ explicitFileType = wrapper.framework;
+ isa = PBXFileReference;
path = Tk.framework;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F53755DF016C38D201DC9062 = {
buildPhases = (
@@ -1629,6 +2003,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F537569B016C3F1001DC9062,
F537569C016C3F1001DC9062,
F5BFE59002F8C45B01DC9062,
+ 4C94055C07F3C897004B0BCE,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -1752,6 +2127,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F55BC46902B2D38B01DC9062,
F5BFE58D02F8C41501DC9062,
F5BFE58E02F8C41501DC9062,
+ 4C94055807F3C880004B0BCE,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -2689,12 +3065,15 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
isa = PBXGroup;
name = "External Frameworks";
refType = 4;
+ sourceTree = "<group>";
};
F537567D016C3ADB01DC9062 = {
- isa = PBXFrameworkReference;
+ isa = PBXFileReference;
+ lastKnownFileType = wrapper.framework;
name = Carbon.framework;
path = /System/Library/Frameworks/Carbon.framework;
refType = 0;
+ sourceTree = "<absolute>";
};
F537567E016C3ADB01DC9062 = {
fileRef = F537567D016C3ADB01DC9062;
@@ -2742,66 +3121,87 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
isa = PBXGroup;
name = Bitmaps;
refType = 4;
+ sourceTree = "<group>";
};
F5375689016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = error.bmp;
path = ../bitmaps/error.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537568A016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = gray12.bmp;
path = ../bitmaps/gray12.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537568B016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = gray25.bmp;
path = ../bitmaps/gray25.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537568C016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = gray50.bmp;
path = ../bitmaps/gray50.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537568D016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = gray75.bmp;
path = ../bitmaps/gray75.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537568E016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = hourglass.bmp;
path = ../bitmaps/hourglass.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F537568F016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = info.bmp;
path = ../bitmaps/info.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375690016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = questhead.bmp;
path = ../bitmaps/questhead.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375691016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = question.bmp;
path = ../bitmaps/question.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375692016C3F1001DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = image.bmp;
name = warning.bmp;
path = ../bitmaps/warning.bmp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5375693016C3F1001DC9062 = {
fileRef = F5375689016C3F1001DC9062;
@@ -2870,9 +3270,11 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
};
};
F537569F016C4DD401DC9062 = {
- isa = PBXApplicationReference;
+ explicitFileType = wrapper.application;
+ isa = PBXFileReference;
path = "Wish Shell.app";
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F53756A0016C4DD401DC9062 = {
buildPhases = (
@@ -3041,6 +3443,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F53756B2016C525F01DC9062 = {
isa = PBXTargetDependency;
target = F53755DF016C38D201DC9062;
+ targetProxy = 4C9404F007F3C84D004B0BCE;
};
F548F8C80313C9E0016F146B = {
buildActionMask = 2147483647;
@@ -3106,9 +3509,11 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
productReference = F548F8CF0313CEF0016F146B;
};
F548F8CF0313CEF0016F146B = {
- isa = PBXLibraryReference;
+ explicitFileType = "compiled.mach-o.dylib";
+ isa = PBXFileReference;
path = libtkstub8.4.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F548F8D00313CF11016F146B = {
fileRef = F53755B9016C389901DC9062;
@@ -3125,16 +3530,13 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F548F8D20313CF93016F146B = {
isa = PBXTargetDependency;
target = F548F8CE0313CEF0016F146B;
+ targetProxy = 4C9404EF07F3C84D004B0BCE;
};
F55A164E032A11B1016F146B = {
buildActionMask = 2147483647;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [ -n \"${EMBEDDED_BUILD:-}\" ]; then\ncd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents\"\n\n# if we are embedding frameworks, copy them into the app\nrm -rf \"Frameworks\"\nmkdir -p \"Frameworks\"\nif [ \"${DEPLOYMENT_LOCATION:-}\" = \"YES\" -o \"${ACTION}\" = \"install\" ]; then\n FWKDIR=\"${INSTALL_ROOT}${DYLIB_INSTALL_PATH}\"\nelse\n FWKDIR=\"${TARGET_BUILD_DIR}\"\nfi\ncp -fpRPH \"${FWKDIR}/Tcl.framework\" \"Frameworks\"\ncp -fpRPH \"${FWKDIR}/Tk.framework\" \"Frameworks\"\n\n# fix install names when embedding\nfix_install_id ( ) {\n chmod -RH a+w \"$1\"\n install_name_tool -id $(otool -L \"$1\" | awk \"/$(basename \"$1\")\\.framework.*[^:]\\$/ {sub(\\\"^.*/Frameworks\\\",\\\"@executable_path/../Frameworks\\\",\\$1); print \\$1}\") \"$1\"\n chmod -RH a-w \"$1\" \n}\nfix_install_name ( ) {\n chmod -RH a+w \"$1\"\n install_name_tool -change $(otool -L \"$1\" | awk \"/$2\\.framework.*[^:]\\$/ {print \\$1; sub(\\\"^.*/Frameworks\\\",\\\"@executable_path/../Frameworks\\\",\\$1); print \\$1}\") \"$1\"\n chmod -RH a-w \"$1\" \n}\nfix_install_id Frameworks/Tcl.framework/Tcl\nfix_install_id Frameworks/Tk.framework/Tk\nfix_install_name Frameworks/Tk.framework/Tk Tcl\nfix_install_name \"MacOS/${PRODUCT_NAME}\" Tcl\nfix_install_name \"MacOS/${PRODUCT_NAME}\" Tk\n\nfi";
@@ -3142,9 +3544,11 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F55BC46802B2D38B01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkPanedWindow.c;
path = ../generic/tkPanedWindow.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55BC46902B2D38B01DC9062 = {
fileRef = F55BC46802B2D38B01DC9062;
@@ -3154,9 +3558,11 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
};
F55BC46A02B2D3F301DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = panedwindow.tcl;
path = ../library/panedwindow.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55BC46B02B2D3F301DC9062 = {
fileRef = F55BC46A02B2D3F301DC9062;
@@ -3165,10 +3571,12 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
};
};
F5875C7B016FEF1D01DC9062 = {
- isa = PBXFrameworkReference;
+ isa = PBXFileReference;
+ lastKnownFileType = wrapper.framework;
name = Tcl.framework;
path = ../tcl/Tcl.framework;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F5875C7D016FEF1D01DC9062 = {
fileRef = F5875C7B016FEF1D01DC9062;
@@ -3180,11 +3588,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
buildActionMask = 8;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
shellScript = "# ensure we can overwrite a previous install\nif [ -d \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\" ]; then\n chmod -RH u+w \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nfi";
@@ -3193,11 +3597,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
buildActionMask = 8;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
shellScript = "# ensure we can overwrite a previous install\nif [ -d \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\" ]; then\n chmod -RH u+w \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nfi";
@@ -3218,11 +3618,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
buildActionMask = 8;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}/\"\nif [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\nif [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\nif [ ! -d ./${DYLIB_INSTALL_PATH}/Tcl.framework ]; then ln -fs ${TCL_FRAMEWORK_DIR}/Tcl.framework ./${DYLIB_INSTALL_PATH}; RM_TCL=1; fi\nredo_prebinding -r . \"./${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/${PRODUCT_NAME}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f ./${DYLIB_INSTALL_PATH}/Tcl.framework; fi\n\n# fix permissions on uninstalled products\nchmod a+w \"${TEMP_ROOT}/UninstalledProducts\"\nchmod a+w \"${TEMP_ROOT}\"/UninstalledProducts/libtkstub*.a";
@@ -3231,11 +3627,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
buildActionMask = 8;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}/\"\nAPP_DIR=\"${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nEXECUTABLE_DIR=\"${APP_DIR}/Contents/MacOS\"\nEXECUTABLE=\"${EXECUTABLE_DIR}/${PRODUCT_NAME}\"\nFWK_RSRC_DIR=\"${DYLIB_INSTALL_PATH}/Tk.framework/Versions/${FRAMEWORK_VERSION}/Resources\"\nif [ -z \"${EMBEDDED_BUILD:-}\" ]; then\n if [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\n if [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\n if [ ! -d ./${DYLIB_INSTALL_PATH}/Tcl.framework ]; then ln -fs ${TCL_FRAMEWORK_DIR}/Tcl.framework ./${DYLIB_INSTALL_PATH}; RM_TCL=1; fi\n PREBIND_OPTS=\"-r .\"\nfi\nredo_prebinding ${PREBIND_OPTS:-} -e \"./${INSTALL_PATH}/${EXECUTABLE_DIR}\" \"./${INSTALL_PATH}/${EXECUTABLE}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f ./${DYLIB_INSTALL_PATH}/Tcl.framework; fi\n\n# copy Wish.app into framework, install wish script & symbolic link\nif [ -z \"${EMBEDDED_BUILD:-}\" ]; then\nchmod -H a+w \"./${FWK_RSRC_DIR}\"\nif [ -e \"./${FWK_RSRC_DIR}/${APP_DIR}\" ]; then chmod -RH a+w \"./${FWK_RSRC_DIR}/${APP_DIR}\" && rm -rf \"./${FWK_RSRC_DIR}/${APP_DIR}\"; fi\ncp -fpRPH \"./${INSTALL_PATH}/${APP_DIR}\" \"./${FWK_RSRC_DIR}\"\nchmod -H ${INSTALL_MODE_FLAG} \"./${FWK_RSRC_DIR}\"\nmkdir -p \"./${BINDIR}\"\nrm -f \"./${BINDIR}/wish${FRAMEWORK_VERSION}\"\ncat > \"./${BINDIR}/wish${FRAMEWORK_VERSION}\" <<EOF\n#!/bin/sh\n\"\\$(dirname \\$0)$(echo ${BINDIR} | sed -e 's#/[^/][^/]*#/..#g')${FWK_RSRC_DIR}/${EXECUTABLE}\" \"\\$@\"\nEOF\nchmod a+x \"./${BINDIR}/wish${FRAMEWORK_VERSION}\"\nln -fs \"wish${FRAMEWORK_VERSION}\" \"./${BINDIR}/wish\"\nfi";
@@ -3244,11 +3636,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
buildActionMask = 2147483647;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# force Deployment build to be relinked next time\n\tif [ -f \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nelse\n\t# force Development build to be relinked next time\n\tif [ -f \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nfi";
@@ -3477,16 +3865,20 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F5BFE58B02F8C41501DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkStyle.c;
path = ../generic/tkStyle.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5BFE58C02F8C41501DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.c;
name = tkUndo.c;
path = ../generic/tkUndo.c;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5BFE58D02F8C41501DC9062 = {
fileRef = F5BFE58B02F8C41501DC9062;
@@ -3503,9 +3895,11 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F5BFE58F02F8C45B01DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = tkUndo.h;
path = ../generic/tkUndo.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5BFE59002F8C45B01DC9062 = {
fileRef = F5BFE58F02F8C45B01DC9062;
@@ -3517,20 +3911,18 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
buildActionMask = 12;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# synthesize tkConfig.sh via buildTkConfig.tcl script\nexport DYLD_FRAMEWORK_PATH=\"${TCL_FRAMEWORK_DIR}\"\nTCLSH=\"${TCLSH_DIR}/tclsh${FRAMEWORK_VERSION}\"\nif [ ! -e \"${TCLSH}\" ]; then TCLSH=\"/bin/sh\"; fi\n\"${TCLSH}\" \"buildTkConfig.tcl\" \"${TCL_FRAMEWORK_DIR}/Tcl.${WRAPPER_EXTENSION}/tclConfig.sh\" \"../unix/tkConfig.sh.in\" \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/tkConfig.sh\"";
};
F5C2EA33034D71B2016F146B = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = mkpsenc.tcl;
path = ../library/mkpsenc.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5C2EA35034D7212016F146B = {
fileRef = F5C2EA33034D71B2016F146B;
@@ -3546,18 +3938,23 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
isa = PBXGroup;
name = "Header Tools";
refType = 4;
+ sourceTree = "<group>";
};
F5C8865A017D625C01DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = tk.decls;
path = ../generic/tk.decls;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5C8865B017D625C01DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = tkInt.decls;
path = ../generic/tkInt.decls;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF07A7016CD03801DC9062 = {
children = (
@@ -3597,200 +3994,257 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
isa = PBXGroup;
name = Scripts;
refType = 4;
+ sourceTree = "<group>";
};
F5DF0928016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = bgerror.tcl;
path = ../library/bgerror.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0929016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = button.tcl;
path = ../library/button.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF092A016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = choosedir.tcl;
path = ../library/choosedir.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF092B016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = clrpick.tcl;
path = ../library/clrpick.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF092C016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = comdlg.tcl;
path = ../library/comdlg.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF092D016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = console.tcl;
path = ../library/console.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF092E016CD3F901DC9062 = {
includeInIndex = 0;
- isa = PBXFolderReference;
+ isa = PBXFileReference;
+ lastKnownFileType = folder;
name = demos;
path = ../library/demos;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF092F016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = dialog.tcl;
path = ../library/dialog.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0930016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = entry.tcl;
path = ../library/entry.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0931016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = focus.tcl;
path = ../library/focus.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0932016CD3F901DC9062 = {
includeInIndex = 0;
- isa = PBXFolderReference;
+ isa = PBXFileReference;
+ lastKnownFileType = folder;
name = images;
path = ../library/images;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0933016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = listbox.tcl;
path = ../library/listbox.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0934016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = menu.tcl;
path = ../library/menu.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0935016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = msgbox.tcl;
path = ../library/msgbox.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0936016CD3F901DC9062 = {
includeInIndex = 0;
- isa = PBXFolderReference;
+ isa = PBXFileReference;
+ lastKnownFileType = folder;
name = msgs;
path = ../library/msgs;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0937016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = obsolete.tcl;
path = ../library/obsolete.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0938016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = optMenu.tcl;
path = ../library/optMenu.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0939016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = palette.tcl;
path = ../library/palette.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF093A016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = prolog.ps;
path = ../generic/prolog.ps;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF093B016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = safetk.tcl;
path = ../library/safetk.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF093C016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = scale.tcl;
path = ../library/scale.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF093D016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = scrlbar.tcl;
path = ../library/scrlbar.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF093E016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = spinbox.tcl;
path = ../library/spinbox.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF093F016CD3F901DC9062 = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = text;
name = tclIndex;
path = ../library/tclIndex;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0940016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = tearoff.tcl;
path = ../library/tearoff.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0941016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = text.tcl;
path = ../library/text.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0942016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = tk.tcl;
path = ../library/tk.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0943016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = tkfbox.tcl;
path = ../library/tkfbox.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0944016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = unsupported.tcl;
path = ../library/unsupported.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5DF0945016CD3F901DC9062 = {
isa = PBXFileReference;
+ lastKnownFileType = text;
name = xmfbox.tcl;
path = ../library/xmfbox.tcl;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F5EEA7050324680B016F146B = {
buildActionMask = 2147483647;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# force Deployment build to be relinked next time\n\tif [ -f \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Deployment.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nelse\n\t# force Development build to be relinked next time\n\tif [ -f \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\" ]; then\n\t touch -t `date -r \\`expr \\\\\\`date +\"%s\"\\\\\\` + 30\\` +\"%Y%m%d%H%M.%S\"` \"${OBJROOT}/Development.build/${PROJECT_NAME}.build/${TARGET_NAME}.build/Objects-normal/LinkFileList\"\n\tfi\nfi\n# create symbolic link to Tcl.framework if necessary\ncd \"${SYMROOT}\"\nif [ ! -e Tcl.framework -o -L Tcl.framework ]; then\n\trm -f Tcl.framework && ln -s \"${TCL_FRAMEWORK_DIR}/Tcl.framework\" .\nfi";
@@ -3808,19 +4262,17 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F92ED9910403D0F0006F146B = {
fileEncoding = 5;
isa = PBXFileReference;
+ lastKnownFileType = text;
name = ChangeLog;
path = ../ChangeLog;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F9A61D2F04C2C861006F5A0B = {
buildActionMask = 8;
files = (
);
- generatedFileNames = (
- );
isa = PBXShellScriptBuildPhase;
- neededFileNames = (
- );
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
shellScript = "if [ -z \"${EMBEDDED_BUILD:-}\" ]; then\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n\t# build html documentation\n\tif [ -n \"${TCLTKMAN2HTML}\" -o -e \"${TCL_FRAMEWORK_DIR}/Deployment/Makefile\" ]; then\n\t\texport DYLD_FRAMEWORK_PATH=\"${TCL_FRAMEWORK_DIR}\"\n\t\trm -fr \"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}\"\n\t\tif [ -n \"${TCLTKMAN2HTML}\" ]; then\n\t\t\t\"${TCLSH_DIR}/tclsh${FRAMEWORK_VERSION}\" \"${TCLTKMAN2HTML}\" \\\n\t\t\t\t--srcdir=\"../..\" --tk \\\n\t\t\t\t--htmldir=\"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}\"\n\t\telse\n\t\t\tgnumake -C \"${TCL_FRAMEWORK_DIR}/Deployment\" html-tk \\\n\t\t\t\tDISTDIR=\"${INSTALL_ROOT}${DOCDIR}\" \\\n\t\t\t\tTCL_EXE=\"${TCLSH_DIR}/tclsh${FRAMEWORK_VERSION}\"\n\t\t\tmv -f \"${INSTALL_ROOT}${DOCDIR}/html\" \\\n\t\t\t\t\"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}\"\n\t\tfi\n\t\tln -fs contents.htm \\\n\t\t\t\"${INSTALL_ROOT}${DOCDIR}/${PRODUCT_NAME}/${PRODUCT_NAME}TOC.html\"\n\telse\n\t\techo \"Couldn't build html documentation!\"\n\tfi\nfi\nfi";
diff --git a/macosx/tkMacOSXDefault.h b/macosx/tkMacOSXDefault.h
index b888961..ccfca08 100644
--- a/macosx/tkMacOSXDefault.h
+++ b/macosx/tkMacOSXDefault.h
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMacOSXDefault.h,v 1.2.2.1 2004/07/25 02:29:24 wolfsuit Exp $
+ * RCS: @(#) $Id: tkMacOSXDefault.h,v 1.2.2.2 2005/03/25 04:34:16 wolfsuit Exp $
*/
#ifndef _TKMACDEFAULT
@@ -137,11 +137,21 @@
/*
* 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 5
+#define MAC_OSX_ENTRY_RELEIF TK_RELIEF_SUNKEN
#define DEF_ENTRY_BG_COLOR NORMAL_BG
#define DEF_ENTRY_BG_MONO WHITE
-/* #define DEF_ENTRY_BORDER_WIDTH "2" */
-#define DEF_ENTRY_BORDER_WIDTH "1"
+#define DEF_ENTRY_BORDER_WIDTH "5"
#define DEF_ENTRY_CURSOR "xterm"
#define DEF_ENTRY_DISABLED_BG_COLOR NORMAL_BG
#define DEF_ENTRY_DISABLED_BG_MONO WHITE
@@ -152,7 +162,7 @@
#define DEF_ENTRY_HIGHLIGHT_BG NORMAL_BG
#define DEF_ENTRY_HIGHLIGHT BLACK
/* #define DEF_ENTRY_HIGHLIGHT_WIDTH "3" */
-#define DEF_ENTRY_HIGHLIGHT_WIDTH "0"
+#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"
@@ -163,8 +173,8 @@
#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_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
diff --git a/macosx/tkMacOSXEntry.c b/macosx/tkMacOSXEntry.c
new file mode 100644
index 0000000..afe52a7
--- /dev/null
+++ b/macosx/tkMacOSXEntry.c
@@ -0,0 +1,328 @@
+/*
+ * tkMacOSXEntry.c --
+ *
+ * This file implements functions that decode & handle keyboard events
+ * on MacOS X.
+ *
+ * Copyright 2001, Apple Computer, Inc.
+ *
+ * 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 "tk.h"
+#include "tkInt.h"
+#include "tkMacOSXInt.h"
+#include "tkMacOSXDefault.h"
+#include "tkEntry.h"
+
+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.
+ *
+ *--------------------------------------------------------------
+ */
+ThemeButtonKind
+ComputeIncDecParameters (int height, int *width)
+{
+ static int version = 0;
+
+ if (version == 0) {
+ Gestalt(gestaltSystemVersion, (long *) &version);
+ }
+
+ /*
+ * The small and mini incDec buttons were introduced in 10.3.
+ */
+
+ if (version >= 0x1030) {
+ if (height < 11 || height > 28) {
+ *width = 0;
+ return (ThemeButtonKind) 0;
+ }
+
+ if (height >= 21) {
+ *width = 13;
+ return kThemeIncDecButton;
+ } else if (height >= 18) {
+ *width = 12;
+ return kThemeIncDecButtonSmall;
+ } else {
+ *width = 11;
+ return kThemeIncDecButtonMini;
+ }
+ } else {
+ if (height < 21 || height > 28) {
+ *width = 0;
+ return (ThemeButtonKind) 0;
+ }
+ *width = 13;
+ return kThemeIncDecButton;
+ }
+}
+
+/*
+ *--------------------------------------------------------------
+ *
+ * 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;
+ CGrafPtr saveWorld;
+ GDHandle saveDevice;
+ GWorldPtr destPort;
+ GC bgGC;
+ Tk_Window tkwin = entryPtr->tkwin;
+ ThemeDrawState drawState;
+ int oldWidth;
+
+ /*
+ * 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_RELEIF) {
+ return 0;
+ }
+
+ destPort = TkMacOSXGetDrawablePort(d);
+
+ /*
+ * 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);
+
+ GetGWorld(&saveWorld, &saveDevice);
+ SetGWorld(destPort, NULL);
+
+ /*
+ * Inset the entry Frame by the maximum width of the focus rect,
+ * which is 3 according to the Carbon docs.
+ */
+
+ bounds.top = MAC_OSX_FOCUS_WIDTH;
+ bounds.left = MAC_OSX_FOCUS_WIDTH;
+ bounds.right = Tk_Width(tkwin) - MAC_OSX_FOCUS_WIDTH;
+ bounds.bottom = Tk_Height(tkwin) - MAC_OSX_FOCUS_WIDTH;
+ if (entryPtr->state == STATE_DISABLED) {
+ drawState = kThemeStateInactive;
+ } else {
+ drawState = kThemeStateActive;
+ }
+ 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);
+ }
+ SetGWorld(saveWorld, saveDevice);
+
+ if (isSpinbox) {
+ Tk_Width(tkwin) = oldWidth;
+ }
+ 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)
+{
+ OSStatus err;
+ 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;
+ CGrafPtr saveWorld;
+ GDHandle saveDevice;
+ GWorldPtr destPort;
+ XRectangle rects[1];
+ GC bgGC;
+
+ /* 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;
+ }
+
+ destPort = TkMacOSXGetDrawablePort(d);
+ GetGWorld(&saveWorld, &saveDevice);
+ SetGWorld(destPort, NULL);
+
+ 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 = Tk_Width(tkwin) - incDecWidth - 1;
+ inBounds.right = Tk_Width(tkwin) - 1;
+ inBounds.top = MAC_OSX_FOCUS_WIDTH;
+ inBounds.bottom = 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);
+
+ err = DrawThemeButton (&inBounds, inKind, &inNewInfo, inPrevInfo,
+ inEraseProc, inLabelProc, inUserData);
+
+ SetGWorld(saveWorld, saveDevice);
+
+ return 1;
+}
+