summaryrefslogtreecommitdiffstats
path: root/win/tkWinWm.c
Commit message (Collapse)AuthorAgeFilesLines
* * doc/wm.n (minimize, maximize): Remove claimmdejong2003-03-121-6/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that the resizable command keeps scripts from changing the size of windows since it is not true. The resizable command only applies to user sizing via user interaction. * tests/unixWm.test: Replace broken tests with the nonPortable constraint with new tests for maxsize and minsize options. These tests verify that setting the minsize and maxsize will resize the window if needed, and that the wm hints will be updated with the new sizes. * tests/wm.test: Add an exhaustive set of tests for the wm maxsize and wm minsize commands. These tests verify that setting the minsize and maxsize will resize the window if needed. These tests have only been run under Win98 and Window Maker under Linux, so further tweaking may be needed for other systems. * unix/tkUnixWm.c (UpdateGeometryInfo, UpdateSizeHints): Fixup comments and initialization for the minWidth, minHeight, maxWidth, maxHeight, width, and height members of the WmInfo struct. Check to ensure that a new toplevel window size is not larger than the maxsize or smaller than the minsize when updating the geometry at idle time. Pass new width and height values to the UpdateSizeHints method so that it can properly set the window min and max sizes for a window that cannot be resized by the user. This fixes a bug where the window resizes back to the original size when the user clicks on the window border. * win/tkWinWm.c (UpdateGeometryInfo): Fixup comments and initialization for the minWidth, minHeight, maxWidth, maxHeight, width, and height members of the WmInfo struct. Check to ensure that a new toplevel window size is not larger than the maxsize or smaller than the minsize when updating the geometry at idle time. [Patch 568861]
* * win/tkWinX.c (TkWinXInit): Move cleanup into an exit handlerhobbs2002-12-061-1/+6
| | | | | | * win/tkWin32Dll.c (DllMain): to ensure that it will be called * win/tkWinWm.c (TkWinWmCleanup): without having to unload the dll. Also reset the static int initialized on cleanup to allow reinit.
* * tests/wm.test: Add wm-transient-6.3 tomdejong2002-12-011-17/+9
| | | | | | | | | | | check that a transient remains withdrawn when it is first withdrawn and then turned into a transient. * unix/tkUnixWm.c: * win/tkWinWm.c: Replace WM_TRANSIENT_WITHDRAWN with WM_WITHDRAWN and set this flag whenever a window is explicitly withdrawn. This fixes the test case added above. [Bug 644356]
* Fix for Tk Bug #592201 "wm transient fails with two masters".jenglish2002-08-081-4/+4
|
* * win/tkWinFont.c: Additional changes to fix CONST warnings ondgp2002-08-051-5/+5
| | | | * win/tkWinWM.c: Windows due to latest patch. Tks Vince Darley.
* Objectifed wm. [Patch #564521]pspjuth2002-07-251-1347/+2310
|
* code cleanupvincentdarley2002-07-171-38/+80
|
* WinWm fixesvincentdarley2002-07-161-20/+216
|
* * Fixes for [Bug 581627].dgp2002-07-151-2/+2
| | | | | | | | * generic/tkTest.c: Test commands not supported on non-Unix platforms should not be defined there in the first place. * tests/constraints.tcl: Fixed "secureserver" constraint. * tests/unixWm.test: Some tests needed "unix" constraint. * win/tkWinWm.c: Typo in error message.
* * tests/winWm.test: Verify that both an unmappedmdejong2002-06-241-3/+13
| | | | | | | | | | | | | | | | | | | | and already mapped toplevel are raised and receive the focus when deiconified. * tests/wm.test: Add wm deiconify tests. Check that a toplevel that has never been mapped is not mapped by the deiconify command since it should be done at idle by MapFrame. * win/tkWinWm.c (Tk_WmCmd): Check the WM_NEVER_MAPPED flag while processing the wm deiconify command. The WM_UPDATE_PENDING flag should never be set when WM_NEVER_MAPPED is set, but double check so that the implementation is more explicit and matches the comment just above. Return without invoking TkWmRestackToplevel or TkSetFocusWin on a toplevel that has never been mapped. This fixes a bug where a toplevel is mapped with the wrong size and is then resized by the idle call to MapFrame. [Tk bug 233150]
* * win/tkWinWm.c (UpdateGeometryInfo): remove the check for a nullhobbs2002-06-241-3/+2
| | | | | | | wrapper introduced in r1.41 on 2002-06-15 because it prevented geometry setting from taking effect if the window was not on the screen. Another check may go in it's place as IsIconic and IsZoomed should not be passed NULL.
* * tests/wm.test: Remove invalid minsize test. Add updatemdejong2002-06-241-4/+4
| | | | | | | | | | calls to wm transient tests so that idle handlers get run. This is needed to get the tests to pass under Win32. * unix/tkUnixWm.c (WmWaitMapProc): Move the special transient withdrawn check into the if body to make it easier to set a breakpoint on this test inside a debugger. No functional changes. * win/tkWinWm.c (WmWaitVisibilityOrMapProc): Ditto.
* * doc/wm.n: TIP #95 Windows implementation andhobbs2002-06-221-51/+49
| | | | | | | | * mac/tkMacWm.c (Tk_WmCmd): docs with mac and unix stubs. * unix/tkUnixWm.c (Tk_WmCmd): * win/tkWinWm.c (Tk_WmCmd): * tests/unixWm.test: * tests/winWm.test: more wm attr tests will be needed.
* * tests/wm.test: Add tests to make sure a withdrawnmdejong2002-06-221-2/+29
| | | | | | | | | | | transient does not get remapped by state changes in the master. * unix/tkUnixWm.c (Tk_WmCmd, WmWaitMapProc): * win/tkWinWm.c (Tk_WmCmd, WmWaitVisibilityOrMapProc): Add a WM_TRANSIENT_WITHDRAWN flag that gets set by the withdraw, deiconify, or state wm subcommands. Check this flag before mapping a transient when processing a MapNotify event. [Tk bug 570764]
* * generic/tkInt.h:hobbs2002-06-151-34/+107
| | | | | | | * generic/tkCmds.c (Tk_WmObjCmd): * unix/tkUnixWm.c (Tk_WmCmd): * win/tkWinWm.c (Tk_WmCmd): changed wmTracing from being an int to just a bit in the flags variable (TK_DISPLAY_WM_TRACING)
* TIP #47 "Modifying Tk to Allow Writing X Window managers"jenglish2002-06-141-8/+23
| | | | | | | | (patch from Neil McKay). * Add CirculateRequest, Create, MapRequest, ResizeRequest, and ConfigureRequest event types; * Split TK_TOPLEVEL flag into TK_TOPLEVEL, TK_HAS_WRAPPER, TK_WIN_MANAGED, and TK_TOP_HIERARCHY.
* * changes: Add note about new transient behavior.mdejong2002-06-121-30/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/unixWm.test: Check that the WM_TRANSIENT_FOR property for a transient window is being cleared when the master is destroyed. * tests/wm.test: Source defs.tcl instead of using tcltest to match the rest of Tk's test files. Add new tests that ensure that a transient's state mirrors the state of the master. * unix/tkUnixWm.c (WmInfo, TkWmNewWindow, TkWmMapWindow, TkWmDeadWindow, Tk_WmCmd, WmWaitMapProc): Add numTransients member to WmInfo structure. Keep state of master and transient in sync using a callback that tracks MapNotify and UnmapNotify events. When the master is mapped, map the transient. When the master is unmapped or iconified, withdraw the transient. * win/tkWinWm.c (TkWmMapWindow, TkpWmSetState, TkWmDeadWindow, Tk_WmCmd, WmWaitVisibilityOrMapProc): Keep state of master and transient in sync using a callback that tracks MapNotify and UnmapNotify events. Move masterPtr check from TkpWmSetState into TkWmMapWindow to deal with WM_NEVER_MAPPED transients. Cleanup numTransients and the callback in TkWmDeadWindow. Cleanup numTransients and the callback only after deleting a master in wm transient command to avoid deleting the callback when an error is raised. Add support for MapNotify and UnmapNotify events to the master callback.
* * changes: Document [wm transient .t .t] error.mdejong2002-05-271-27/+29
| | | | | | | | | | | | | | * tests/wm.test: Check that setting a window as a transient of itself raises an error. Check that passing a non-toplevel window to the wm transient command uses the enclosing toplevel. * unix/tkUnixWm.c (Tk_WmCmd): Raise an error if the user tries to make a toplevel a transient of itself. * win/tkWinWm.c (Tk_WmCmd): Raise an error if the user tries to make a toplevel a transient of itself. Test for other error before checking for the transient self error.
* * mac/tkMacWm.c (Tk_WmCmd):mdejong2002-05-241-1/+21
| | | | | | | | | | | * tests/unixWm.test: Move wm transient checks over to wm.test so they will be run on all systems. * tests/wm.test: Add tests to check for error when an iconwindow is passed to the wm transient command. * unix/tkUnixWm.c (Tk_WmCmd): * win/tkWinWm.c (Tk_WmCmd): Raise an error if one of the windows passed to the wm transient command is an iconwindow for another toplevel.
* * mac/tkMacWm.c (TkWmStackorderToplevelWrapperMap):mdejong2002-05-231-2/+3
| | | | | | | | * tests/wm.test: Add embedded Window test case for the stackorder command. * unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap): * win/tkWinWm.c (TkWmStackorderToplevelWrapperMap): Ignore embedded windows during wm stackorder command.
* * doc/wm.n:mdejong2002-04-101-2/+2
| | | | | | | | | * mac/tkMacWm.c: * tests/wm.test: * unix/tkUnixWm.c: * win/tkWinWm.c: Update wm stackorder usage message to make it clear that either 1 or 3 arguments are required. [Bug 540013]
* * Updated callers of Tcl_SplitList and Tcl_Merge.dgp2002-01-251-4/+4
| | | | | | | | | * Updated callers of Tcl_GetStringResult. Rewrote PrintScrollFractions to ScrollFractions to stop scribbling directly on interp->result. * Updated callers of Tcl_GetVar, Tcl_GetVar2 * Updated callers of Tcl_SplitPath, Tcl_JoinPath, and Tcl_TranslateFileName.
* * win/tkWinWm.c (InitWindowClass): corrected init routines tohobbs2001-12-281-41/+56
| | | | | allow unicode in window titles on Windows (for Win2K/XP). (TkWmStackorderToplevel): Corrected casts to enable debug compile
* Add TK patch 481148 to implement TIP 74, themdejong2001-12-041-3/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | wm stackorder command. * doc/winfo.n: Update documentation for the winfo children command to indicate that top-level windows are not returned in stacking order. * doc/wm.n: Add documentation for wm stackorder. * generic/tkInt.decls (TkWmStackorderToplevel): Add decl for new function. * generic/tkIntDecls.h: Regen. * generic/tkStubInit.c: Regen. * tests/unixWm.test: Add stackorder command to test for wm command usage message. * tests/wm.test: Add new set of tests for generic window manager methods. * unix/tkUnixWm.c (Tk_WmCmd, TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel): Add unix implementation of new wm stackorder command. * win/tkWinWm.c (Tk_WmCmd, TkWmStackorderToplevelEnumProc, TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel): Add windows implementation of new wm stackorder command.
* implementation of TIP 63 (accepted) -compound option to menu items.macosx_8_4_branchpointtmh2001-10-121-2/+4
|
* * win/tkWinWm.c (WinSetIcon): fixed SetClassLong for 64bit support.hobbs2001-09-211-3/+19
|
* * win/tkWinWm.c (UpdateWrapper): ensured that the passed in winPtrhobbs2001-03-301-4/+11
| | | | had an existent window to operate on. [Bug #409172]
* 2001-01-02 Andreas Kupries <a.kupries@westend.com>andreas_kupries2001-01-021-36/+903
| | | | | * win/tkWinWm.c: * doc/wm.n: Applied patch #102833 (TIP #8).
* * win/tkWinButton.c:hobbs2000-11-031-2/+23
| | | | | | | * win/tkWinDialog.c: * win/tkWinScrlbr.c: * win/tkWinWm.c: fixed up code for Win64 support. This mostly remains in _WIN64 #ifdef's, until updated compilers are standard.
* * generic/tkFileFilter.c (AddClause): Cast to match function prototype.mo2000-07-061-3/+1
| | | | | | | | | | | | | | | * win/stubs.c (_XInitImageFuncPtrs): Add return value for function. * win/tkWinButton.c (buttonStyles, ButtonBindProc, ComputeStyle): Remove unused declarations. * win/tkWinColor.c (GetColorByName, GetColorByValue): Remove unused function declarations. * win/tkWinDialog.c (TrySetDirectory): Remove unused function declaration. * win/tkWinEmbed.c (TkWinEmbeddedEventProc): Cast to match function prototype. * win/tkWinMenu.c (winMenuMutex, MenuExitProc): Remove unused declaration. * win/tkWinWindow.c (StackWindow): Remove unused declaration. * win/tkWinWm.c (ConfigureEvent): Remove unused declaration. * win/tkWinX.c (winXMutex): Remove unused declaration. * xlib/ximage.c (XCreateBitmapFromData): Cast to match function prototype.
* * win/tkWinWm.c (Tk_WmCmd): changed wm deiconify from using idlehobbs2000-05-161-46/+6
| | | | callback to calling restack and focus code immediately.
* * win/tkWinWm.c (RaiseWinWhenIdle): added TK_DONT_DESTROY_WINDOWhobbs2000-05-131-2/+3
| | | | to flag check to prevent timing related core dump. [Bug: 5438]
* * doc/button.n: Added documentation for link relief.ericm2000-05-101-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/button.test: Added tests for link relief for buttons. * generic/tk.h (TK_CONFIG_LINK_OK): Added definition of TK_RELIEF_LINK, TK_OPTION_LINK_OK and TK_CONFIG_LINK_OK. [RFE: 4348] * generic/tk3d.c: Added support for link relief. [RFE: 4348] * mac/tkMacButton.c (TkpDisplayButton): * unix/tkUnixButton.c (TkpDisplayButton): Added support for link relief. [RFE: 4348] * generic/tkOldConfig.c (Tk_ConfigureWidget): * generic/tkConfig.c (DoObjConfig): Added understanding of link relief, which is allowed only for widgets that have TK_OPTION_LINK_OK or TK_CONFIG_LINK_OK set for the "-relief" option. [RFE: 4348] * generic/tkButton.c: Added TK_OPTION_LINK_OK to "-relief" option for buttons. [RFE: 4348] * win/tkWinWm.c (EX_TRANSIENT_STYLE): Removed WS_EX_TOOLWINDOW style bit, so that transient windows have full-size titlebars (like the tk_getOpenFile dialog). * win/tkWinMenu.c (GetMenuSeparatorGeometry): Tweaked height requested for separator bars to be (linespace - (2*descent)) instead of just (linespace); this makes the separator occupy a more correct amount of vertical space. [Bug: 5303].
* * win/tkWinWm.c (WmProc): added check in WM_MOUSEACTIVATE so wehobbs2000-04-151-3/+12
| | | | | correctly activate native menus when clicking in when we didn't have focus [Bug: 2272]
* * win/tkWinWm.c (RaiseWinWhenIdle): Checked for the possibilityhobbs2000-02-261-1/+4
| | | | | that the window could be destroyed (can occur with wm deiconify .toplevel; destroy .toplevel).
* * win/Makefile.in (install-*): reduced verbosity of installhobbs2000-02-011-12/+8
| | | | | | | | | | | | * win/tkWinPixmap.c (XGetGeometry): added support for windows in XGetGeometry [Bug: 4069] * win/tkWinFont.c (GetScreenFont): fixed possible mem overrun with long font names [Bug: 4108] * win/tkWinDialog.c: added EnableWindow calls to dialogs to correct for possible loss of control in parent Tk toplevel [Bug: 1212 et al]
* fixed transient window madnesshobbs2000-01-271-16/+45
|
* fixes transient window crash when transient is destroyed while masterhobbs2000-01-271-6/+15
| | | | is iconified/withdrawn
* removed deletehandler for transient master so that they willhobbs2000-01-211-1/+3
| | | | always trigger children when made visible
* * win/tkWinWm.c (TkWmProtocolEventProc): cached atom name as thehobbs2000-01-211-33/+24
| | | | window could get destroyed during eval [Bug: 2513]
* fixed masterPtr reference problemhobbs2000-01-141-2/+2
|
* * unix/configure.in:core_8_3_b2hobbs2000-01-141-8/+75
| | | | | | | * win/configure.in: updated to patchlevel 8.3b2 * win/tkWinWm.c: added visibility event handler to make sure that transient window wrappers would be updated when the master was initially mapped.
* * unix/tkUnixWm.c: fixed possible X error being raised [Bug: 3377]hobbs2000-01-121-51/+151
| | | | | | | | * win/tkWinWm.c: wm deiconify in zoom state [Bug: 2077], fixed possible flashing of unmapped toplevel in deiconify [Bug: 3338] and fixed mapping of transient window [Bug: 572] Also, for all wm's, extended 'wm state' command to allow setting of the state, and added official support of 'zoomed' state on Win.
* * win/tkWinCursor.c: added support for Windows cursors tohobbs1999-12-161-1/+12
| | | | | | | | | | TkGetCursorByName (.ani, .cur) using -cursor @<filename> (Ascher) [Bug: 1350] * win/tkWinWm.c: fixed 'wm deiconify' to update position of the toplevel if event is waiting before mapping. (Mao) [Bug: 3687] This removes the need for 'update idle' before 'wm deiconify' on Windows.
* 1999-09-16 Jeff Hobbs <hobbs@scriptics.com>hobbs1999-09-211-4/+7
| | | | | | | | | | | | | | | | | | | | | | | * generic/tkFont.c: fixed processing of font options and error returned [Bug: 2075] * win/tkWinWm.c: fixed bug in 'wm deiconify' that raised the wrong toplevel, and changed it to not set focus on overridden toplevels 1999-09-15 Jeff Hobbs <hobbs@scriptics.com> * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug: 2070] and fix to AIX-* to get ldAix right [Bug: 2624], fixed AIX version check (readjust from 8-21 fix) and several other config fixes for AIX * mac/tkMacMenubutton.c: * unix/tkUnixMenubu.c: fixed permanently stippled menubutton image * win/tkWinButton.c: fixed possible pointer smash [Bug: 2733] 1999-09-14 Jeff Hobbs <hobbs@scriptics.com> * win/tkWinMenu.c: fix for stack overrun in GetTextFace [Bug: 909]
* 1999-08-10 Jeff Hobbs <hobbs@scriptics.com>core_8_2_b3_basehobbs1999-08-101-1/+7
| | | | | | * win/tkWinWm.c: changed "wm deiconify" on Windows to raise and force the focus on the deiconified window (behavioral change from 8.1 to comply better with Windows style) [Bug: 1609]
* Patches from Bug: 2068 2080 2269redman1999-07-011-2/+15
|
* * Merged 8.1 branch into the main trunkstanton1999-04-161-145/+211
|
* Backported "focus -force" patch from 8.1.redman1999-03-101-1/+32
|
* * win/tkWinWm.c: Changed so windows that aren't resizable don'tstanton1999-02-041-1/+20
| | | | have resize handles and the zoom box is disabled.