diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2025-03-31 20:27:58 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2025-03-31 20:27:58 (GMT) |
| commit | 822a7a11ce042bc2035894295333a5255b84a29c (patch) | |
| tree | 845216c6b1e9c4b5559920a50af2215672f97504 | |
| parent | e2c6aa1de60b6c195a39f4dd06ceee1a287f36ea (diff) | |
| download | tk-core-getrid_setgrid.zip tk-core-getrid_setgrid.tar.gz tk-core-getrid_setgrid.tar.bz2 | |
Make Tk_SetSizeHints() usable without tkPlatDecls.h. Clean up much morecore-getrid_setgrid
| -rw-r--r-- | generic/tk.decls | 15 | ||||
| -rw-r--r-- | generic/tkDecls.h | 23 | ||||
| -rw-r--r-- | generic/tkListbox.c | 26 | ||||
| -rw-r--r-- | generic/tkPlatDecls.h | 12 | ||||
| -rw-r--r-- | generic/tkStubInit.c | 16 | ||||
| -rw-r--r-- | generic/tkText.c | 14 | ||||
| -rw-r--r-- | macosx/tkMacOSXWm.c | 59 | ||||
| -rw-r--r-- | unix/tkUnixSysTray.c | 1 | ||||
| -rw-r--r-- | unix/tkUnixWm.c | 54 | ||||
| -rw-r--r-- | win/tkWinWm.c | 56 |
10 files changed, 42 insertions, 234 deletions
diff --git a/generic/tk.decls b/generic/tk.decls index ca6f255..3a5a23f 100644 --- a/generic/tk.decls +++ b/generic/tk.decls @@ -671,7 +671,7 @@ declare 181 { declare 182 { void Tk_UnmapWindow(Tk_Window tkwin) } -declare 183 { +declare 183 {deprecated "Tk_UnsetGrid is a no-op on 9.1. Consider using Tk_SetSizeHints on X11."} { void Tk_UnsetGrid(Tk_Window tkwin) } declare 184 { @@ -1002,6 +1002,11 @@ declare 271 { Tcl_Interp *Tk_Interp(Tk_Window tkwin) } +# TIP #??? +declare 272 { + void Tk_SetSizeHints(Tk_Window tkwin, int minWidth, int maxWidth, + int minHeight, int maxHeight) +} # ----- BASELINE -- FOR -- 8.6.0 ----- # @@ -1156,14 +1161,6 @@ declare 16 aqua { int height, int flags) } -################################ -# X11 specific functions - -declare 0 x11 { - void Tk_SetSizeHints(Tk_Window tkwin, int minWidth, int maxWidth, - int minHeight, int maxHeight) -} - ############################################################################## # Public functions that are not accessible via the stubs table. diff --git a/generic/tkDecls.h b/generic/tkDecls.h index 03e14a7..c0d2bb1 100644 --- a/generic/tkDecls.h +++ b/generic/tkDecls.h @@ -579,7 +579,8 @@ EXTERN void Tk_UnmaintainGeometry(Tk_Window window, /* 182 */ EXTERN void Tk_UnmapWindow(Tk_Window tkwin); /* 183 */ -EXTERN void Tk_UnsetGrid(Tk_Window tkwin); +TK_DEPRECATED("Tk_UnsetGrid is a no-op on 9.1. Consider using Tk_SetSizeHints on X11.") +void Tk_UnsetGrid(Tk_Window tkwin); /* 184 */ EXTERN void Tk_UpdatePointer(Tk_Window tkwin, int x, int y, int state); @@ -839,7 +840,9 @@ EXTERN long Tk_GetUserInactiveTime(Display *dpy); EXTERN void Tk_ResetUserInactiveTime(Display *dpy); /* 271 */ EXTERN Tcl_Interp * Tk_Interp(Tk_Window tkwin); -/* Slot 272 is reserved */ +/* 272 */ +EXTERN void Tk_SetSizeHints(Tk_Window tkwin, int minWidth, + int maxWidth, int minHeight, int maxHeight); /* Slot 273 is reserved */ /* 274 */ EXTERN int Tk_AlwaysShowSelection(Tk_Window tkwin); @@ -1102,7 +1105,7 @@ typedef struct TkStubs { void (*tk_Ungrab) (Tk_Window tkwin); /* 180 */ void (*tk_UnmaintainGeometry) (Tk_Window window, Tk_Window container); /* 181 */ void (*tk_UnmapWindow) (Tk_Window tkwin); /* 182 */ - void (*tk_UnsetGrid) (Tk_Window tkwin); /* 183 */ + TCL_DEPRECATED_API("Tk_UnsetGrid is a no-op on 9.1. Consider using Tk_SetSizeHints on X11.") void (*tk_UnsetGrid) (Tk_Window tkwin); /* 183 */ void (*tk_UpdatePointer) (Tk_Window tkwin, int x, int y, int state); /* 184 */ Pixmap (*tk_AllocBitmapFromObj) (Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj *objPtr); /* 185 */ Tk_3DBorder (*tk_Alloc3DBorderFromObj) (Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj *objPtr); /* 186 */ @@ -1191,7 +1194,7 @@ typedef struct TkStubs { long (*tk_GetUserInactiveTime) (Display *dpy); /* 269 */ void (*tk_ResetUserInactiveTime) (Display *dpy); /* 270 */ Tcl_Interp * (*tk_Interp) (Tk_Window tkwin); /* 271 */ - void (*reserved272)(void); + void (*tk_SetSizeHints) (Tk_Window tkwin, int minWidth, int maxWidth, int minHeight, int maxHeight); /* 272 */ void (*reserved273)(void); int (*tk_AlwaysShowSelection) (Tk_Window tkwin); /* 274 */ unsigned (*tk_GetButtonMask) (unsigned button); /* 275 */ @@ -1757,7 +1760,8 @@ extern const TkStubs *tkStubsPtr; (tkStubsPtr->tk_ResetUserInactiveTime) /* 270 */ #define Tk_Interp \ (tkStubsPtr->tk_Interp) /* 271 */ -/* Slot 272 is reserved */ +#define Tk_SetSizeHints \ + (tkStubsPtr->tk_SetSizeHints) /* 272 */ /* Slot 273 is reserved */ #define Tk_AlwaysShowSelection \ (tkStubsPtr->tk_AlwaysShowSelection) /* 274 */ @@ -1828,4 +1832,13 @@ EXTERN int Tk_CreateConsoleWindow(Tcl_Interp *interp); #undef TkUnusedStubEntry +#undef Tk_SetGrid +#define Tk_SetGrid(w,a,b,c,d) /* NOP */ +#undef Tk_UnsetGrid +#define Tk_UnsetGrid(w) /* NOP */ +#if (defined(MAC_OSX_TK) || defined(_WIN32)) && !defined(USE_TK_STUBS) +# undef Tk_SetSizeHints +# define Tk_SetSizeHints(w,a,b,c,d) /* NOP */ +#endif + #endif /* _TKDECLS */ diff --git a/generic/tkListbox.c b/generic/tkListbox.c index e30a4da..2f2b42e 100644 --- a/generic/tkListbox.c +++ b/generic/tkListbox.c @@ -395,7 +395,7 @@ static int ListboxInsertSubCmd(Listbox *listPtr, Tcl_Size index, Tcl_Size objc, Tcl_Obj *const objv[]); static void ListboxCmdDeletedProc(void *clientData); static void ListboxComputeGeometry(Listbox *listPtr, - int fontChanged, int maxIsStale, int updateGrid); + int fontChanged, int maxIsStale); static void ListboxEventProc(void *clientData, XEvent *eventPtr); static Tcl_Size ListboxFetchSelection(void *clientData, @@ -1825,7 +1825,7 @@ ListboxWorldChanged( * to be redisplayed. */ - ListboxComputeGeometry(listPtr, 1, 1, 1); + ListboxComputeGeometry(listPtr, 1, 1); listPtr->flags |= UPDATE_V_SCROLLBAR|UPDATE_H_SCROLLBAR; EventuallyRedrawRange(listPtr, 0, listPtr->nElements-1); } @@ -1877,7 +1877,7 @@ DisplayListbox( } if (listPtr->flags & MAXWIDTH_IS_STALE) { - ListboxComputeGeometry(listPtr, 0, 1, 0); + ListboxComputeGeometry(listPtr, 0, 1); listPtr->flags &= ~MAXWIDTH_IS_STALE; listPtr->flags |= UPDATE_H_SCROLLBAR; } @@ -2209,13 +2209,10 @@ ListboxComputeGeometry( int fontChanged, /* Non-zero means the font may have changed so * per-element width information also has to * be computed. */ - int maxIsStale, /* Non-zero means the "maxWidth" field may no + int maxIsStale) /* Non-zero means the "maxWidth" field may no * longer be up-to-date and must be * recomputed. If fontChanged is 1 then this * must be 1. */ - int updateGrid) /* Non-zero means call Tk_SetGrid or - * Tk_UnsetGrid to update gridding for the - * window. */ { int width, height, pixelWidth, pixelHeight, i, result; Tcl_Size textLength; @@ -2272,14 +2269,6 @@ ListboxComputeGeometry( pixelHeight = height*listPtr->lineHeight + 2 * listPtr->inset; Tk_GeometryRequest(listPtr->tkwin, pixelWidth, pixelHeight); Tk_SetInternalBorder(listPtr->tkwin, listPtr->inset); - if (updateGrid) { - if (listPtr->setGrid) { - Tk_SetGrid(listPtr->tkwin, width, height, listPtr->xScrollUnit, - listPtr->lineHeight); - } else { - Tk_UnsetGrid(listPtr->tkwin); - } - } } /* @@ -2394,7 +2383,7 @@ ListboxInsertSubCmd( if (listPtr->maxWidth != oldMaxWidth) { listPtr->flags |= UPDATE_H_SCROLLBAR; } - ListboxComputeGeometry(listPtr, 0, 0, 0); + ListboxComputeGeometry(listPtr, 0, 0); EventuallyRedrawRange(listPtr, index, listPtr->nElements-1); return TCL_OK; } @@ -2565,7 +2554,7 @@ ListboxDeleteSubCmd( } } listPtr->flags |= UPDATE_V_SCROLLBAR; - ListboxComputeGeometry(listPtr, 0, widthChanged, 0); + ListboxComputeGeometry(listPtr, 0, widthChanged); if (widthChanged) { listPtr->flags |= UPDATE_H_SCROLLBAR; } @@ -2607,9 +2596,6 @@ ListboxEventProc( if (!(listPtr->flags & LISTBOX_DELETED)) { listPtr->flags |= LISTBOX_DELETED; Tcl_DeleteCommandFromToken(listPtr->interp, listPtr->widgetCmd); - if (listPtr->setGrid) { - Tk_UnsetGrid(listPtr->tkwin); - } if (listPtr->flags & REDRAW_PENDING) { Tcl_CancelIdleCall(DisplayListbox, clientData); } diff --git a/generic/tkPlatDecls.h b/generic/tkPlatDecls.h index a15665e..06012a7 100644 --- a/generic/tkPlatDecls.h +++ b/generic/tkPlatDecls.h @@ -76,11 +76,6 @@ EXTERN void * Tk_MacOSXGetNSWindowForDrawable(Drawable drawable); EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y, int width, int height, int flags); #endif /* AQUA */ -#if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ -/* 0 */ -EXTERN void Tk_SetSizeHints(Tk_Window tkwin, int minWidth, - int maxWidth, int minHeight, int maxHeight); -#endif /* X11 */ typedef struct TkPlatStubs { int magic; @@ -111,9 +106,6 @@ typedef struct TkPlatStubs { void (*reserved15)(void); void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags); /* 16 */ #endif /* AQUA */ -#if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ - void (*tk_SetSizeHints) (Tk_Window tkwin, int minWidth, int maxWidth, int minHeight, int maxHeight); /* 0 */ -#endif /* X11 */ } TkPlatStubs; extern const TkPlatStubs *tkPlatStubsPtr; @@ -166,10 +158,6 @@ extern const TkPlatStubs *tkPlatStubsPtr; #define TkGenWMConfigureEvent \ (tkPlatStubsPtr->tkGenWMConfigureEvent) /* 16 */ #endif /* AQUA */ -#if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ -#define Tk_SetSizeHints \ - (tkPlatStubsPtr->tk_SetSizeHints) /* 0 */ -#endif /* X11 */ #endif /* defined(USE_TK_STUBS) */ diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c index 71dd7dd..fc968f5 100644 --- a/generic/tkStubInit.c +++ b/generic/tkStubInit.c @@ -43,13 +43,13 @@ MODULE_SCOPE const TkStubs tkStubs; #undef XPutImage #define TkUnusedStubEntry 0 -#if !defined(MAC_OSX_TK) static int doNothing(void) { /* dummy implementation, no need to do anything */ return 0; } +#if !defined(MAC_OSX_TK) # undef TkpWillDrawWidget # undef TkpRedrawWidget # undef TkpDefineNativeBitmaps @@ -62,6 +62,15 @@ doNothing(void) # define TkpGetNativeAppBitmap ((Pixmap (*)(Display *, const char *, int *, int *))(void *)doNothing) #endif +#undef Tk_SetGrid +#define Tk_SetGrid ((void (*)(Tk_Window,int,int,int,int))(void *)doNothing) +#undef Tk_UnsetGrid +#define Tk_UnsetGrid ((void (*)(Tk_Window))(void *)doNothing) +#if defined(MAC_OSX_TK) || defined(_WIN32) +# undef Tk_SetSizeHints +# define Tk_SetSizeHints ((void (*)(Tk_Window,int,int,int,int))(void *)doNothing) +#endif + #ifdef _WIN32 int @@ -939,9 +948,6 @@ static const TkPlatStubs tkPlatStubs = { 0, /* 15 */ TkGenWMConfigureEvent, /* 16 */ #endif /* AQUA */ -#if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ - Tk_SetSizeHints, /* 0 */ -#endif /* X11 */ }; static const TkStubHooks tkStubHooks = { @@ -1226,7 +1232,7 @@ const TkStubs tkStubs = { Tk_GetUserInactiveTime, /* 269 */ Tk_ResetUserInactiveTime, /* 270 */ Tk_Interp, /* 271 */ - 0, /* 272 */ + Tk_SetSizeHints, /* 272 */ 0, /* 273 */ Tk_AlwaysShowSelection, /* 274 */ Tk_GetButtonMask, /* 275 */ diff --git a/generic/tkText.c b/generic/tkText.c index 32827a1..648796f 100644 --- a/generic/tkText.c +++ b/generic/tkText.c @@ -2498,12 +2498,6 @@ TextWorldChanged( Tk_SetInternalBorderEx(textPtr->tkwin, border + padX, border + padX, border + padY, border + padY); - if (textPtr->setGrid) { - Tk_SetGrid(textPtr->tkwin, textPtr->width, height, - textPtr->charWidth, textPtr->charHeight); - } else { - Tk_UnsetGrid(textPtr->tkwin); - } TkTextRelayoutWindow(textPtr, mask); } @@ -2564,10 +2558,6 @@ TextEventProc( textPtr->selBorder = NULL; textPtr->selBorderWidthObj = NULL; textPtr->selFgColorPtr = NULL; - if (textPtr->setGrid) { - Tk_UnsetGrid(textPtr->tkwin); - textPtr->setGrid = 0; - } if (!(textPtr->flags & OPTIONS_FREED)) { Tk_FreeConfigOptions(textPtr, textPtr->optionTable, textPtr->tkwin); @@ -2652,10 +2642,6 @@ TextCmdDeletedProc( */ if (!(textPtr->flags & DESTROYED)) { - if (textPtr->setGrid) { - Tk_UnsetGrid(textPtr->tkwin); - textPtr->setGrid = 0; - } textPtr->flags |= DESTROYED; Tk_DestroyWindow(tkwin); } diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c index 793b0f9..10a5ba4 100644 --- a/macosx/tkMacOSXWm.c +++ b/macosx/tkMacOSXWm.c @@ -712,7 +712,7 @@ SetWindowSizeLimits( { NSWindow *macWindow = TkMacOSXGetNSWindowForDrawable(winPtr->window); WmInfo *wmPtr = winPtr->wmInfoPtr; - int minWidth, minHeight, maxWidth, maxHeight, base; + int minWidth, minHeight, maxWidth, maxHeight; if (!macWindow) { return; @@ -2904,8 +2904,6 @@ WmGridCmd( errorMsg = "heightInc can't be <= 0"; goto error; } - Tk_SetGrid((Tk_Window)winPtr, reqWidth, reqHeight, widthInc, - heightInc); } wmPtr->flags |= WM_UPDATE_SIZE_HINTS; WmUpdateGeom(wmPtr, winPtr); @@ -4674,61 +4672,6 @@ WmUpdateGeom( /* *---------------------------------------------------------------------- * - * Tk_SetGrid -- - * - * This function has been deprecated. It is a no-op for the time - * being, until it is is removed. - * - * Results: - * None. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -void -Tk_SetGrid( - Tk_Window tkwin, /* Token for window. New window mgr info will - * be posted for the top-level window - * associated with this window. */ - int reqWidth, /* Width (in grid units) corresponding to the - * requested geometry for tkwin. */ - int reqHeight, /* Height (in grid units) corresponding to the - * requested geometry for tkwin. */ - int widthInc, int heightInc)/* Pixel increments corresponding to a change - * of one grid unit. */ -{ -} - -/* - *---------------------------------------------------------------------- - * - * Tk_UnsetGrid -- - * - * This function has been deprecated. It is a no-op for the time - * being, until it is removed. - * - * Results: - * None. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -void -Tk_UnsetGrid( - Tk_Window tkwin) /* Token for window that is currently - * controlling gridding. */ -{ -} - -/* - *---------------------------------------------------------------------- - * * TopLevelEventProc -- * * This procedure is invoked when a top-level (or other externally- diff --git a/unix/tkUnixSysTray.c b/unix/tkUnixSysTray.c index 420c928..170628e 100644 --- a/unix/tkUnixSysTray.c +++ b/unix/tkUnixSysTray.c @@ -14,7 +14,6 @@ #include "tkInt.h" #include "tkUnixInt.h" -#include "tkPlatDecls.h" /* * Based extensively on the tktray extension package. Here we are removing diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c index e2a9f82..526acf9 100644 --- a/unix/tkUnixWm.c +++ b/unix/tkUnixWm.c @@ -2033,8 +2033,6 @@ WmGridCmd( Tcl_SetErrorCode(interp, "TK", "VALUE", "GRID", NULL); return TCL_ERROR; } - Tk_SetGrid((Tk_Window) winPtr, reqWidth, reqHeight, widthInc, - heightInc); } wmPtr->flags |= WM_UPDATE_SIZE_HINTS; WmUpdateGeom(wmPtr, winPtr); @@ -3814,58 +3812,6 @@ void Tk_SetSizeHints( wmPtr->minHeight = minHeight; wmPtr->maxHeight = maxHeight; } - - -/* - *---------------------------------------------------------------------- - * - * Tk_SetGrid -- - * - * This function has been deprecated. It is a no-op for the time - * being, until it is is removed. - * - * Results: - * None. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -void -Tk_SetGrid( - TCL_UNUSED(Tk_Window), /* tkwin */ - TCL_UNUSED(int), /* reqWidth */ - TCL_UNUSED(int), /* reqHeight */ - TCL_UNUSED(int), /* widthInc) */ - TCL_UNUSED(int)) /* heightInc */ -{ -} - -/* - *---------------------------------------------------------------------- - * - * Tk_UnsetGrid -- - * - * This function has been deprecated. It is a no-op for the time - * being, until it is removed. - * - * Results: - * None. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -void -Tk_UnsetGrid( - TCL_UNUSED(Tk_Window) /* tkwin */ - ) -{ -} /* *---------------------------------------------------------------------- diff --git a/win/tkWinWm.c b/win/tkWinWm.c index ecd4e13..246c61e 100644 --- a/win/tkWinWm.c +++ b/win/tkWinWm.c @@ -5692,62 +5692,6 @@ WmWaitVisibilityOrMapProc( /* *---------------------------------------------------------------------- * - * Tk_SetGrid -- - * - * This function has been deprecated. It is a no-op for the time - * being, until it is is removed. - * - * Results: - * None. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -void -Tk_SetGrid( - Tk_Window tkwin, /* Token for window. New window mgr info will - * be posted for the top-level window - * associated with this window. */ - int reqWidth, /* Width (in grid units) corresponding to the - * requested geometry for tkwin. */ - int reqHeight, /* Height (in grid units) corresponding to the - * requested geometry for tkwin. */ - int widthInc, int heightInc)/* Pixel increments corresponding to a change - * of one grid unit. */ -{ -} - -/* - *---------------------------------------------------------------------- - * - * Tk_UnsetGrid -- - * - * This function cancels the effect of a previous call to Tk_SetGrid. - * - * Results: - * None. - * - * Side effects: - * If tkwin currently controls gridding for its top-level window, - * gridding is cancelled for that top-level window; if some other window - * controls gridding then this function has no effect. - * - *---------------------------------------------------------------------- - */ - -void -Tk_UnsetGrid( - Tk_Window tkwin) /* Token for window that is currently - * controlling gridding. */ -{ -} - -/* - *---------------------------------------------------------------------- - * * TopLevelEventProc -- * * This function is invoked when a top-level (or other externally-managed |
