summaryrefslogtreecommitdiffstats
path: root/generic
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 /generic
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
Diffstat (limited to 'generic')
-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
6 files changed, 41 insertions, 65 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);
}