summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2025-03-31 20:27:58 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2025-03-31 20:27:58 (GMT)
commit822a7a11ce042bc2035894295333a5255b84a29c (patch)
tree845216c6b1e9c4b5559920a50af2215672f97504
parente2c6aa1de60b6c195a39f4dd06ceee1a287f36ea (diff)
downloadtk-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.decls15
-rw-r--r--generic/tkDecls.h23
-rw-r--r--generic/tkListbox.c26
-rw-r--r--generic/tkPlatDecls.h12
-rw-r--r--generic/tkStubInit.c16
-rw-r--r--generic/tkText.c14
-rw-r--r--macosx/tkMacOSXWm.c59
-rw-r--r--unix/tkUnixSysTray.c1
-rw-r--r--unix/tkUnixWm.c54
-rw-r--r--win/tkWinWm.c56
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