summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rw-r--r--generic/tkInt.decls43
-rw-r--r--generic/tkInt.h42
-rw-r--r--generic/tkIntDecls.h102
-rw-r--r--generic/tkStubInit.c10
5 files changed, 175 insertions, 48 deletions
diff --git a/ChangeLog b/ChangeLog
index 4026532..0b5c6ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,24 +1,30 @@
+2009-04-27 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tkInt.decls: [Bug 2768945]: Expose (as "private") a set of
+ functions needed for easily building canvas items that work like
+ existing standard ones.
+
2009-04-24 Jeff Hobbs <jeffh@ActiveState.com>
- * win/tkWinDialog.c (ChooseDirectoryValidateProc): no need to set
- cwd on selchange. Prevents delete of selected folder in dialog.
+ * win/tkWinDialog.c (ChooseDirectoryValidateProc): No need to set cwd
+ on selchange. Prevents delete of selected folder in dialog.
2009-04-24 Stuart Cassoff <stwo@users.sf.net>
- * unix/Makefile.in: Removed stray @ from Makefile.in test target.
- [Bug 2764263], Don't chmod+x square demo. [Bug 1945073],
- Adjustable demo install location. [Patch 2764272]
+ * unix/Makefile.in: Assorted issues:
+ [Bug 2764263]: Removed stray @ from Makefile.in test target.
+ [Bug 1945073]: Don't chmod+x square demo.
+ [Patch 2764272]: Adjustable demo install location.
2009-04-24 Stuart Cassoff <stwo@users.sf.net>
- * unix/Makefile.in: Don't chmod/exec installManPage.
- [Patch 2769530]
+ * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
2009-04-23 Jeff Hobbs <jeffh@ActiveState.com>
- * win/tkWinDialog.c (Tk_ChooseDirectoryObjCmd): enable the new
- style choosedir that has a "New Folder" button, with
- ::tk::winChooseDirFlags override for new behavior. [Bug 2779910]
+ * win/tkWinDialog.c (Tk_ChooseDirectoryObjCmd): [Bug 2779910]: Enable
+ the new style choosedir that has a "New Folder" button, with
+ ::tk::winChooseDirFlags override for new behavior.
2009-04-14 Donal K. Fellows <dkf@users.sf.net>
diff --git a/generic/tkInt.decls b/generic/tkInt.decls
index 349c01e..a2bcdf7 100644
--- a/generic/tkInt.decls
+++ b/generic/tkInt.decls
@@ -10,9 +10,11 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: tkInt.decls,v 1.53 2009/02/27 23:23:35 nijtmans Exp $
+# RCS: @(#) $Id: tkInt.decls,v 1.54 2009/04/27 10:31:35 dkf Exp $
library tk
+
+##############################################################################
# Define the unsupported generic interfaces.
@@ -566,7 +568,40 @@ declare 168 generic {
int height, int baseline, Display *display,
Drawable dst, int screenY)
}
-
+# Next group of functions exposed due to [Bug 2768945].
+declare 169 generic {
+ int TkStateParseProc(ClientData clientData, Tcl_Interp *interp,
+ Tk_Window tkwin, const char *value, char *widgRec, int offset)
+}
+declare 170 generic {
+ const char *TkStatePrintProc(ClientData clientData, Tk_Window tkwin,
+ char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)
+}
+declare 171 generic {
+ int TkCanvasDashParseProc(ClientData clientData, Tcl_Interp *interp,
+ Tk_Window tkwin, const char *value, char *widgRec, int offset)
+}
+declare 172 generic {
+ const char *TkCanvasDashPrintProc(ClientData clientData, Tk_Window tkwin,
+ char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)
+}
+declare 173 generic {
+ int TkOffsetParseProc(ClientData clientData, Tcl_Interp *interp,
+ Tk_Window tkwin, const char *value, char *widgRec, int offset)
+}
+declare 174 generic {
+ const char *TkOffsetPrintProc(ClientData clientData, Tk_Window tkwin,
+ char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)
+}
+declare 175 generic {
+ int TkPixelParseProc(ClientData clientData, Tcl_Interp *interp,
+ Tk_Window tkwin, const char *value, char *widgRec, int offset)
+}
+declare 176 generic {
+ const char *TkPixelPrintProc(ClientData clientData, Tk_Window tkwin,
+ char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)
+}
+
##############################################################################
# Define the platform specific internal Tcl interface. These functions are
@@ -1619,3 +1654,7 @@ declare 90 aqua {
declare 91 aqua {
int XSync(Display *display, Bool flag)
}
+
+# Local Variables:
+# mode: tcl
+# End:
diff --git a/generic/tkInt.h b/generic/tkInt.h
index fd58d46..8c133b6 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.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: tkInt.h,v 1.100 2009/02/27 23:23:35 nijtmans Exp $
+ * RCS: $Id: tkInt.h,v 1.101 2009/04/27 10:31:35 dkf Exp $
*/
#ifndef _TKINT
@@ -114,7 +114,7 @@ typedef void (TkBindFreeProc)(ClientData clientData);
/*
* One of the following structures is maintained for each cursor in use in the
- * system. This structure is used by tkCursor.c and the various system
+ * system. This structure is used by tkCursor.c and the various system-
* specific cursor files.
*/
@@ -854,8 +854,8 @@ typedef struct TkWindow {
} TkWindow;
/*
- * The following structure is used with TkMakeEnsemble to create
- * ensemble commands and optionally to create sub-ensembles.
+ * The following structure is used with TkMakeEnsemble to create ensemble
+ * commands and optionally to create sub-ensembles.
*/
typedef struct TkEnsemble {
@@ -1148,10 +1148,8 @@ MODULE_SCOPE int Tk_WmObjCmd(ClientData clientData, Tcl_Interp *interp,
int objc, Tcl_Obj *const objv[]);
MODULE_SCOPE int Tk_GetDoublePixelsFromObj(Tcl_Interp *interp,
- Tk_Window tkwin,
- Tcl_Obj *objPtr,
- double *doublePtr);
-
+ Tk_Window tkwin, Tcl_Obj *objPtr,
+ double *doublePtr);
MODULE_SCOPE void TkEventInit(void);
MODULE_SCOPE void TkRegisterObjTypes(void);
MODULE_SCOPE int TkCreateMenuCmd(Tcl_Interp *interp);
@@ -1160,32 +1158,14 @@ MODULE_SCOPE int TkDeadAppCmd(ClientData clientData,
MODULE_SCOPE int TkCanvasGetCoordObj(Tcl_Interp *interp,
Tk_Canvas canvas, Tcl_Obj *obj,
double *doublePtr);
-MODULE_SCOPE int TkCanvasDashParseProc(ClientData clientData,
- Tcl_Interp *interp, Tk_Window tkwin,
- const char *value, char *widgRec, int offset);
-MODULE_SCOPE const char * TkCanvasDashPrintProc(ClientData clientData,
- Tk_Window tkwin, char *widgRec, int offset,
- Tcl_FreeProc **freeProcPtr);
MODULE_SCOPE int TkGetDoublePixels(Tcl_Interp *interp, Tk_Window tkwin,
const char *string, double *doublePtr);
-MODULE_SCOPE int TkOffsetParseProc(ClientData clientData,
- Tcl_Interp *interp, Tk_Window tkwin,
- const char *value, char *widgRec, int offset);
-MODULE_SCOPE const char * TkOffsetPrintProc(ClientData clientData,
- Tk_Window tkwin, char *widgRec, int offset,
- Tcl_FreeProc **freeProcPtr);
MODULE_SCOPE int TkOrientParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
const char *value, char *widgRec, int offset);
MODULE_SCOPE const char * TkOrientPrintProc(ClientData clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-MODULE_SCOPE int TkPixelParseProc(ClientData clientData,
- Tcl_Interp *interp, Tk_Window tkwin,
- const char *value, char *widgRec, int offset);
-MODULE_SCOPE const char * TkPixelPrintProc(ClientData clientData,
- Tk_Window tkwin, char *widgRec, int offset,
- Tcl_FreeProc **freeProcPtr);
MODULE_SCOPE int TkPostscriptImage(Tcl_Interp *interp, Tk_Window tkwin,
Tk_PostscriptInfo psInfo, XImage *ximage,
int x, int y, int width, int height);
@@ -1195,17 +1175,11 @@ MODULE_SCOPE int TkSmoothParseProc(ClientData clientData,
MODULE_SCOPE const char * TkSmoothPrintProc(ClientData clientData,
Tk_Window tkwin, char *recordPtr, int offset,
Tcl_FreeProc **freeProcPtr);
-MODULE_SCOPE int TkStateParseProc(ClientData clientData,
- Tcl_Interp *interp, Tk_Window tkwin,
- const char *value, char *widgRec, int offset);
-MODULE_SCOPE const char * TkStatePrintProc(ClientData clientData,
- Tk_Window tkwin, char *widgRec, int offset,
- Tcl_FreeProc **freeProcPtr);
MODULE_SCOPE int TkTileParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
const char *value, char *widgRec, int offset);
-MODULE_SCOPE const char * TkTilePrintProc(ClientData clientData, Tk_Window tkwin,
- char *widgRec, int offset,
+MODULE_SCOPE const char * TkTilePrintProc(ClientData clientData,
+ Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
MODULE_SCOPE void TkMapTopFrame(Tk_Window tkwin);
MODULE_SCOPE XEvent * TkpGetBindingXEvent(Tcl_Interp *interp);
diff --git a/generic/tkIntDecls.h b/generic/tkIntDecls.h
index 5ea6684..50593c4 100644
--- a/generic/tkIntDecls.h
+++ b/generic/tkIntDecls.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: tkIntDecls.h,v 1.43 2009/02/27 23:23:35 nijtmans Exp $
+ * RCS: @(#) $Id: tkIntDecls.h,v 1.44 2009/04/27 10:31:35 dkf Exp $
*/
#ifndef _TKINTDECLS
@@ -1040,6 +1040,66 @@ EXTERN void TkTextInsertDisplayProc (struct TkText * textPtr,
int y, int height, int baseline,
Display * display, Drawable dst, int screenY);
#endif
+#ifndef TkStateParseProc_TCL_DECLARED
+#define TkStateParseProc_TCL_DECLARED
+/* 169 */
+EXTERN int TkStateParseProc (ClientData clientData,
+ Tcl_Interp * interp, Tk_Window tkwin,
+ const char * value, char * widgRec,
+ int offset);
+#endif
+#ifndef TkStatePrintProc_TCL_DECLARED
+#define TkStatePrintProc_TCL_DECLARED
+/* 170 */
+EXTERN const char * TkStatePrintProc (ClientData clientData,
+ Tk_Window tkwin, char * widgRec, int offset,
+ Tcl_FreeProc ** freeProcPtr);
+#endif
+#ifndef TkCanvasDashParseProc_TCL_DECLARED
+#define TkCanvasDashParseProc_TCL_DECLARED
+/* 171 */
+EXTERN int TkCanvasDashParseProc (ClientData clientData,
+ Tcl_Interp * interp, Tk_Window tkwin,
+ const char * value, char * widgRec,
+ int offset);
+#endif
+#ifndef TkCanvasDashPrintProc_TCL_DECLARED
+#define TkCanvasDashPrintProc_TCL_DECLARED
+/* 172 */
+EXTERN const char * TkCanvasDashPrintProc (ClientData clientData,
+ Tk_Window tkwin, char * widgRec, int offset,
+ Tcl_FreeProc ** freeProcPtr);
+#endif
+#ifndef TkOffsetParseProc_TCL_DECLARED
+#define TkOffsetParseProc_TCL_DECLARED
+/* 173 */
+EXTERN int TkOffsetParseProc (ClientData clientData,
+ Tcl_Interp * interp, Tk_Window tkwin,
+ const char * value, char * widgRec,
+ int offset);
+#endif
+#ifndef TkOffsetPrintProc_TCL_DECLARED
+#define TkOffsetPrintProc_TCL_DECLARED
+/* 174 */
+EXTERN const char * TkOffsetPrintProc (ClientData clientData,
+ Tk_Window tkwin, char * widgRec, int offset,
+ Tcl_FreeProc ** freeProcPtr);
+#endif
+#ifndef TkPixelParseProc_TCL_DECLARED
+#define TkPixelParseProc_TCL_DECLARED
+/* 175 */
+EXTERN int TkPixelParseProc (ClientData clientData,
+ Tcl_Interp * interp, Tk_Window tkwin,
+ const char * value, char * widgRec,
+ int offset);
+#endif
+#ifndef TkPixelPrintProc_TCL_DECLARED
+#define TkPixelPrintProc_TCL_DECLARED
+/* 176 */
+EXTERN const char * TkPixelPrintProc (ClientData clientData,
+ Tk_Window tkwin, char * widgRec, int offset,
+ Tcl_FreeProc ** freeProcPtr);
+#endif
typedef struct TkIntStubs {
int magic;
@@ -1313,6 +1373,14 @@ typedef struct TkIntStubs {
void (*tkTextChanged) (struct TkSharedText * sharedTextPtr, struct TkText * textPtr, const struct TkTextIndex * index1Ptr, const struct TkTextIndex * index2Ptr); /* 166 */
int (*tkBTreeNumLines) (TkTextBTree tree, const struct TkText * textPtr); /* 167 */
void (*tkTextInsertDisplayProc) (struct TkText * textPtr, struct TkTextDispChunk * chunkPtr, int x, int y, int height, int baseline, Display * display, Drawable dst, int screenY); /* 168 */
+ int (*tkStateParseProc) (ClientData clientData, Tcl_Interp * interp, Tk_Window tkwin, const char * value, char * widgRec, int offset); /* 169 */
+ const char * (*tkStatePrintProc) (ClientData clientData, Tk_Window tkwin, char * widgRec, int offset, Tcl_FreeProc ** freeProcPtr); /* 170 */
+ int (*tkCanvasDashParseProc) (ClientData clientData, Tcl_Interp * interp, Tk_Window tkwin, const char * value, char * widgRec, int offset); /* 171 */
+ const char * (*tkCanvasDashPrintProc) (ClientData clientData, Tk_Window tkwin, char * widgRec, int offset, Tcl_FreeProc ** freeProcPtr); /* 172 */
+ int (*tkOffsetParseProc) (ClientData clientData, Tcl_Interp * interp, Tk_Window tkwin, const char * value, char * widgRec, int offset); /* 173 */
+ const char * (*tkOffsetPrintProc) (ClientData clientData, Tk_Window tkwin, char * widgRec, int offset, Tcl_FreeProc ** freeProcPtr); /* 174 */
+ int (*tkPixelParseProc) (ClientData clientData, Tcl_Interp * interp, Tk_Window tkwin, const char * value, char * widgRec, int offset); /* 175 */
+ const char * (*tkPixelPrintProc) (ClientData clientData, Tk_Window tkwin, char * widgRec, int offset, Tcl_FreeProc ** freeProcPtr); /* 176 */
} TkIntStubs;
#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)
@@ -2026,6 +2094,38 @@ extern const TkIntStubs *tkIntStubsPtr;
#define TkTextInsertDisplayProc \
(tkIntStubsPtr->tkTextInsertDisplayProc) /* 168 */
#endif
+#ifndef TkStateParseProc
+#define TkStateParseProc \
+ (tkIntStubsPtr->tkStateParseProc) /* 169 */
+#endif
+#ifndef TkStatePrintProc
+#define TkStatePrintProc \
+ (tkIntStubsPtr->tkStatePrintProc) /* 170 */
+#endif
+#ifndef TkCanvasDashParseProc
+#define TkCanvasDashParseProc \
+ (tkIntStubsPtr->tkCanvasDashParseProc) /* 171 */
+#endif
+#ifndef TkCanvasDashPrintProc
+#define TkCanvasDashPrintProc \
+ (tkIntStubsPtr->tkCanvasDashPrintProc) /* 172 */
+#endif
+#ifndef TkOffsetParseProc
+#define TkOffsetParseProc \
+ (tkIntStubsPtr->tkOffsetParseProc) /* 173 */
+#endif
+#ifndef TkOffsetPrintProc
+#define TkOffsetPrintProc \
+ (tkIntStubsPtr->tkOffsetPrintProc) /* 174 */
+#endif
+#ifndef TkPixelParseProc
+#define TkPixelParseProc \
+ (tkIntStubsPtr->tkPixelParseProc) /* 175 */
+#endif
+#ifndef TkPixelPrintProc
+#define TkPixelPrintProc \
+ (tkIntStubsPtr->tkPixelPrintProc) /* 176 */
+#endif
#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */
diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c
index c8d93fd..1b97ad7 100644
--- a/generic/tkStubInit.c
+++ b/generic/tkStubInit.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkStubInit.c,v 1.67 2009/02/27 23:23:36 nijtmans Exp $
+ * RCS: @(#) $Id: tkStubInit.c,v 1.68 2009/04/27 10:31:35 dkf Exp $
*/
#include "tkInt.h"
@@ -320,6 +320,14 @@ static const TkIntStubs tkIntStubs = {
TkTextChanged, /* 166 */
TkBTreeNumLines, /* 167 */
TkTextInsertDisplayProc, /* 168 */
+ TkStateParseProc, /* 169 */
+ TkStatePrintProc, /* 170 */
+ TkCanvasDashParseProc, /* 171 */
+ TkCanvasDashPrintProc, /* 172 */
+ TkOffsetParseProc, /* 173 */
+ TkOffsetPrintProc, /* 174 */
+ TkPixelParseProc, /* 175 */
+ TkPixelPrintProc, /* 176 */
};
static const TkIntPlatStubs tkIntPlatStubs = {