summaryrefslogtreecommitdiffstats
path: root/win/tkWinX.c
Commit message (Collapse)AuthorAgeFilesLines
* * win/tkWinX.c: Signature for tkWinXCleanup needed to bedavygrvy2004-10-271-5/+5
| | | | | | | * generic/tkInt.decls: changed so it matches the Tcl_ExitProc * generic/tkIntPlatDecls.h: typedef to avoid a bad-style cast. * win/makefile.vc: Force TCL_LIBRARY envar when calling tclsh
* * win/tkWinX.c: Added declaration for advapi32 now that this filepatthoyts2004-09-241-1/+2
| | | | uses the Reg* functions (req'd for nmake build system).
* * win/tkWinInt.h (TkWinDisplayChanged): added declhobbs2004-09-231-68/+106
| | | | | | | | * win/tkWinX.c (TkWinDisplayChanged, TkpOpenDisplay): Correctly * win/tkWinWm.c (InvalidateSubTreeDepth, WmProc): handle color and screen resolution changes. Tested for 16/24/32 bpp changes on XP. May need more fixes for 8bpp switch, use of special colormaps, or other special palette handling cases. [Bug 223689]
* * generic/tkInt.decls: Add decl for TkWinGetPlatformTheme.mdejong2004-09-211-1/+56
| | | | | | | | | | | | | | | | It is only defined under Win32. * generic/tkIntPlatDecls.h: Regen. * generic/tkStubInit.c: Regen. * win/tkWinInt.h: Define TK_THEME_WIN_CLASSIC and TK_THEME_WIN_XP. * win/tkWinMenu.c (DrawMenuEntryAccelerator, DrawMenuEntryLabel): Draw a disabled 3D text highlight for the accelerator only with the Win95/98 look. Same goes for the menu entry text. * win/tkWinX.c (TkWinGetPlatformId, TkWinGetPlatformTheme): Automatically detect the Windows theme in use and return either TK_THEME_WIN_CLASSIC or TK_THEME_WIN_XP when the TkWinGetPlatformTheme function is invoked. [Patch 866194]
* TIP#158 implementation; keypad keys on Win are now distinguishable.dkf2004-07-051-1/+8
|
* * win/tkWinX.c: fix drawing of unicode chars in menuhobbs2004-05-031-1/+5
| | | | | * win/tkWinInt.h (TkWinProcs): titles. [Bug #904371] (riefenstahl) * win/tkWinMenu.c (ReconfigureWindowsMenu):
* * generic/tkClipboard.c: Move TkClipCleanup from tkClipboard.chobbs2004-05-031-16/+49
| | | | | | | | * macosx/tkMacOSXXStubs.c: to being implemented in a platform * unix/tkUnixEvent.c: specific manner. The cleanup order was * win/tkWinX.c: bad at least on Windows, where we reset/cleared display info that was still needed for the clipboard to render. [Bug #939389, #822002, #732662]
* * generic/tk3d.c: All uses of 'panic' (the macro) changeddavygrvy2004-01-131-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tkBind.c: to 'Tcl_Panic' (the function). The #define * generic/tkBitmap.c: of panic in tcl.h clearly states it is * generic/tkCanvArc.c: deprecated in the comments. * generic/tkCanvBmap.c: [Tcl Patch 865264] * generic/tkCanvImg.c: * generic/tkCanvLine.c: * generic/tkCanvPoly.c: * generic/tkCanvText.c: * generic/tkCanvWind.c: * generic/tkColor.c: * generic/tkConfig.c: * generic/tkCursor.c: * generic/tkError.c: * generic/tkEvent.c: * generic/tkFocus.c: * generic/tkFont.c: * generic/tkFrame.c: * generic/tkGC.c: * generic/tkGrid.c: * generic/tkImgBmap.c: * generic/tkImgPhoto.c: * generic/tkImgUtil.c: * generic/tkMenu.c: * generic/tkObj.c: * generic/tkPack.c: * generic/tkPlace.c: * generic/tkRectOval.c: * generic/tkSelect.c: * generic/tkText.c: * generic/tkTextBTree.c: * generic/tkTextDisp.c: * generic/tkTextImage.c: * generic/tkTextIndex.c: * generic/tkTextMark.c: * generic/tkTextWind.c: * generic/tkVisual.c: * generic/tkWindow.c: * mac/tkMacAppInit.c: * mac/tkMacAppearanceStubs.c: * mac/tkMacButton.c: * mac/tkMacDraw.c: * mac/tkMacEmbed.c: * mac/tkMacFont.c: * mac/tkMacInit.c: * mac/tkMacMenus.c: * mac/tkMacPort.h: * mac/tkMacSubwindows.c: * mac/tkMacWm.c: * mac/tkMacXStubs.c: * macosx/tkMacOSXEmbed.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXPort.h: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * unix/tkUnix3d.c: * unix/tkUnixColor.c: * unix/tkUnixEmbed.c: * unix/tkUnixEvent.c: * unix/tkUnixFocus.c: * unix/tkUnixFont.c: * unix/tkUnixSelect.c: * unix/tkUnixSend.c: * unix/tkUnixWm.c: * win/tkWin3d.c: * win/tkWinButton.c: * win/tkWinColor.c: * win/tkWinDialog.c: * win/tkWinDraw.c: * win/tkWinEmbed.c: * win/tkWinFont.c: * win/tkWinPixmap.c: * win/tkWinPointer.c: * win/tkWinScrlbr.c: * win/tkWinWm.c: * win/tkWinX.c:
* * generic/tkEvent.c: Added three new functions: TkCreateExitHandler,davygrvy2003-12-211-2/+2
| | | | | | | | | | | | | | | | | * generic/tkInt.h: TkDeleteExitHandler, and TkFinalize. This adds * generic/tkMenu.c: an insertion point so Tk's exit handlers can be * generic/tkWindow.c: called on their own from tk85.dll's DllMain * mac/tkMacButton.c: for DLL_PROCESS_DETACH. These are private to * unix/tkUnixEvent.c: the binary and not exported. It is possible * win/tkWin32Dll.c: the Windows OS can unload Tk _prior_ to Tcl * win/tkWinEmbed.c: under some conditions such as ExitProcess(). * win/tkWinMenu.c: This avoids a dangling pointer problem when Tcl * win/tkWinX.c: does Tcl_Finalize after Tk has been unloaded. * win/winMain.c: DllMain's DLL_PROCESS_DETACH now protected with SEH as DeleteWindowsExitProc is causing an exception of its own under some teardown conditions. AT&T assembly syntax has not been added for MinGW yet. [Tcl Patch 858493]
* (TkWinXInit): Don't restric InitCommonControlsEx. It's valid on all platformsdavygrvy2003-12-131-10/+9
| | | | | | given IE 3.0+ is installed. As tkWinX.c does set #define _WIN32_IE 0x0300, I guess we can accept IE3 as the lowest denominator and use version 4.71 features of Comctl32.dll
* * generic/tkInt.decls: add TkWinSetHINSTANCE declhobbs2002-12-081-4/+29
| | | | | | | | | | * generic/tkIntPlatDecls.h: regen * generic/tkStubInit.c: regen * win/tkWinInit.c (TkpInit): While init and cleanup aren't correct * win/tkWinX.c (TkWinXInit): in DllMain, we had to specify the * win/tkWin32Dll.c (DllMain): true HINSTANCE or the resources of a dynamic Tk weren't being loaded correctly. Created a new function TkWinSetHINSTANCE for this purpose.
* * win/tkWinX.c (TkWinXInit): Move cleanup into an exit handlerhobbs2002-12-061-1/+7
| | | | | | * 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.
* * generic/tkBind.c (TkBindDeadWindow):mdejong2002-06-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle case where Tk_DestroyWindow is invoked on clipboard and send windows. * generic/tkClipboard.c (TkClipCleanup): Invoke Tk_DestroyWindow to cleanup the dispPtr->clipWindow. Call Tcl_Preserve and Tcl_Release on the window to avoid an invalid memory ref on shutdown. * generic/tkEvent.c (Tk_HandleEvent): Panic if XCreateIC is invoked twice for the same window. This should never happen, the check were just added to make sure it does not since this could lead to crashes in XCloseIM. * generic/tkFocus.c (TkFocusDeadWindow): Handle case where Tk_DestroyWindow is invoked on clipboard and send windows. * generic/tkOption.c (TkOptionDeadWindow): Ditto. * generic/tkWindow.c (TkCloseDisplay): Move deletion of dispPtr->winTable after TkpCloseDisplay call since Tk_DestroyWindow uses it and could be called by TkpCloseDisplay for clipboard/send windows. Also invoke ckfree for the dispPtr instead of doing it in TkpCloseDisplay. (Tk_DestroyWindow): Check for a null winPtr->mainPtr before doing certain cleanup tasks so the we can invoke Tk_DestroyWindow on clipboard and send windows. We need to do this so that XDestroyIC will get invoked for the input contexts of each window. * mac/tkMacXStubs.c (TkpCloseDisplay): Don't free the displayPtr since this is now done in TkCloseDisplay. * unix/tkUnixEvent.c (TkpCloseDisplay, OpenIM): Remove conditional compilation around calls to XCloseIM since I am confident that the crashes related to input contexts has been fixed. Don't free the displayPtr since this is now done in TkCloseDisplay. * unix/tkUnixSend.c (TkSendCleanup): Invoke the Tk_DestroyWindow method to cleanup the special send window. This will call XDestroyIC and thereby avoid a crash in XCloseIM. The send window needs to be Tcl_Preserve and Tcl_Release to avoid an invalid memory ref on shutdown. * win/tkWinX.c (TkpCloseDisplay): Don't free the displayPtr since this is now done in TkCloseDisplay.
* * generic/tkCmds.c (Tk_TkObjCmd):hobbs2002-06-171-13/+16
| | | | | | | | | | * generic/tkInt.h (struct TkCaret): * mac/tkMacXStubs.c (Tk_SetCaretPos): * unix/tkUnixKey.c (TkpGetString, Tk_SetCaretPos): * win/tkWinX.c (Tk_SetCaretPos): * tests/tk.test: Added 'tk caret' implementation of TIP#96 * doc/SetCaret.3 (new): which adds a TkCaret structure element to * doc/tk.n: TkDisplay for maintaining state.
* * win/tkWinX.c (Tk_SetCaretPos): remove WM_IME_STARTCOMPOSITIONhobbs2002-04-121-37/+118
| | | | | | | | | | | and place the IME position within Tk_SetCaretPos. Cache results in Tk_SetCaretPos to reduce unnecessary repositioning. Also call DestroyCaret if we receive WM_KILLFOCUS. (TkpOpenDisplay): ZeroMemory the initial display structures. (TkWinGetUnicodeEncoding): Added so that Windows only needs to cache this value one, and then free it in TkWinXCleanup. (HandleIMEComposition): add support for Win98 and ATOK13 IME. (yamamoto)
* * win/tkWinX.c: added Tk_SetCaretPos code to position IME windowshobbs2002-04-051-1/+87
| | | | correctly when WM_IME_STARTCOMPOSITION is received.
* * win/tkWinX.c: Define _WIN32_IE as 0x0300mdejong2002-03-071-1/+12
| | | | | | before including commctrl.h so that we can access the InitCommonControlsEx API when building Tk with mingw.
* * 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/tkWinInt.h:hobbs2001-12-281-1/+37
| | | | | | | | * win/tkWinX.c: added TkWinProcs that represent a function table to switch between unicode and ansi procs on Windows. This is analogous to the TclWinProcs. Using Tcl_WinUtfToTChar, we can easily take advantage of using unicode functions where available without having to switch on the platform id each time.
* * win/tkWinX.c (TkWinXInit): added InitCommonControlsEx call.hobbs2001-11-101-1/+13
| | | | | | | | | * win/rc/tk.rc: * win/rc/wish.rc: * win/rc/wish.exe.manifest: added resources that specify using v6 of the MS Common Controls library when available (WinXP+). This enables use of the themeable widgets (like scrollbars) to be used in Tk. [Patch #478933]
* (TkGetServerInfo): added recognition of Win64hobbs2001-09-211-4/+10
|
* * win/configure: Regen.mdejong2001-06-231-1/+7
| | | | | | | * win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the imm32 library when building with mingw gcc. * win/tkWinX.c: Include the imm.h header to fix compiling with mingw gcc.
* * win/tkWinX.c: moved the initialization of tkPlatformId fromhobbs2001-05-301-10/+11
| | | | | TkWinXInit to TkWinGetPlatformId because static builds could call it before it was initialized. [Bug #427278]
* * win/makefile.vc:hobbs2001-03-301-8/+232
| | | | | | | | | * win/configure: * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support. * win/tkWinInt.h: * win/tkWinKey.c: * win/tkWinX.c: added support for changing IME on the fly in Windows (2000). (lam) [Patch #402993]
* * 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/tkWinPointer.c: Changed Mod2Mask in TkWinGetModifierState toericm2000-04-191-2/+2
| | | | | | | | | | | | | | | | ALT_MASK, to fix some event problems [Bugs: 1160, 5088]. * win/tkWinX.c: Changed Mod2Mask in GetState to ALT_MASK, to fix some event problems [Bugs: 1160, 5088]. * generic/tkInt.h: Moved definition of ALT_MASK and META_MASK here so that it would be accessible from other modules than tkBind.c. * generic/tkBind.c: Added code in BindEvent to check for ALT_MASK and META_MASK in the event state field, as this field may not be set up with the correct display modifier mask bits if the XEvent structure was created by [event generate] or by the Windows X emulation. [Bugs: 1160, 5088].
* * test/winClipboard.test:hobbs2000-04-121-5/+40
| | | | | | | | | | | | * win/tkWinInt.h: * win/tkWinClipboard.c (UpdateClipboard): * win/tkWinX.c (GenerateXEvent): added updatingClipboard tsd and TkWinUpdatingClipboard accessor function to allow us to flag ourselves when we are the ones updating the clipboard. This corrected inability to create our own clipboard types within a Tk application. [Bug: 2338 4318] * win/tkWinTest.c (TestclipboardCmd): improved TestclipboardCmd with better error handling and obj'ification
* * win/tkWinDialog.c: added unicode-aware open/save file dialogshobbs2000-03-311-22/+41
| | | | | | | | | | | | | | | | | | | | | | | * win/tkWinFont.c (TkpFontPkgInit): move private ref to platformId to TkWinGetPlatformId * win/tkWinMenu.c (SetDefaults): moved private use of versionInfo to TkWinGetPlatformId and removed all code for (versionInfo.dwMajorVersion < 4) (== Win32s) * win/tkWinX.c: * win/tkWin32Dll.c: moved TkWinGetPlatformId to tkWinX.c * win/tkWinInit.c: added TkWinXInit to TkpInit to ensure that its called for static Windows shells. [Bug: 3647] * win/tkWinInt.h: * win/tkWinX.c: * win/tkWinDraw.c (SetUpGraphicsPort): * win/tkWinScrlbr.c (UpdateScrollbar): removed use of tkpIsWin32s * win/tkWinInt.h (TkWinDCState struct): added bkmode value * win/tkWinDraw.c (TkWinGetDrawableDC, et al): added support for properly transparent dashed lines on Windows. [Bug: 4617]
* * win/tkWinInt.h: removed TkFontAttributes typedef (washobbs1999-11-191-2/+2
| | | | | | | | redundant with tkFont.h). * win/tkWinPort.h: put #ifndef __GNUC__ around redefinition of str[n]casecmp, as cygwin uses the originals. * win/tkWinX.c: changed GetCurrentTime to GetTickCount (the former is deprecated). [Bug: 2053]
* * tests/unixSelect.test: Fixed broken test.stanton1999-07-091-2/+1
| | | | | | | | | | * win/makefile.vc: Added special case target to ensure that tkStubLib.obj is built with -DSTATIC_BUILD. * win/tkWinX.c (TkWinChildProc): Changed to pass WM_WINDOWPOSCHANGED through to DefWindowProc to make OpenGL sub-windows happy. This allows Windows to generate the WM_SIZE and WM_MOVE messages.
* * Merged 8.1 branch into the main trunkstanton1999-04-161-26/+98
|
* Added support for the MouseWheel event.rjohnson1998-10-101-1/+28
|
* Replaced SCCS strings, fixed binary filesstanton1998-09-141-1/+1
|
* added WM_SYSCHAR/WM_MENUCHAR handlingstanton1998-08-041-1/+15
|
* Initial revisionrjohnson1998-04-011-0/+1020