From 198fe70587bb9dc86a9039f641d3c4da9af9246c Mon Sep 17 00:00:00 2001 From: dkf Date: Mon, 27 Apr 2009 10:31:35 +0000 Subject: Private-export functions that were being used in extensions. [Bug 2768945] FossilOrigin-Name: f36a791d77f1de4af4ef05b67be118772685b7d2 --- ChangeLog | 26 ++++++++----- generic/tkInt.decls | 43 +++++++++++++++++++++- generic/tkInt.h | 42 ++++----------------- generic/tkIntDecls.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++- generic/tkStubInit.c | 10 ++++- 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 + + * 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 - * 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 - * 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 - * 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 - * 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 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 = { -- cgit v0.12