summaryrefslogtreecommitdiffstats
path: root/generic/tkCmds.c
Commit message (Collapse)AuthorAgeFilesLines
* SMALL FIX: Remove useless explicit casts now that we require C89 or later.dkf2010-01-021-40/+36
| | | FossilOrigin-Name: 270544288f23a8c9f860bd4744422c376ee4b471
* - eliminate some unnessary type castsnijtmans2009-02-031-12/+12
| | | | | | | - some internal const decorations - spacing FossilOrigin-Name: 02ca10b00f1aed5c76ff8149fdbac48018e8bfa0
* TIP #324 IMPLEMENTATIONdas2008-12-101-1/+11
| | | FossilOrigin-Name: 7946dc2242dda6d99b301092e8559037911722fe
* * generic/tkInt.h: Turn [tk] into an ensemble (thoyts, steffen)das2008-12-101-231/+298
| | | | | | | | * generic/tkBusy.c: * generic/tkCmds.c: * generic/tkWindow.c: FossilOrigin-Name: a0b9ec2439b544f49a7280429d2f64c205647edc
* more internal -Wwrite-strings warning fixesnijtmans2008-10-301-2/+2
| | | FossilOrigin-Name: 8cc51975139f771898f1b3ab9da8b2e7c02f9905
* Implementation of the [tk busy] command on non-OSX.dkf2008-10-181-8/+8
| | | | | | Adapted from [Patch 1997907] FossilOrigin-Name: d9f9056ec1e227748b77891bf1b9bd0bddd4cae0
* Add "const" to many internalnijtmans2008-10-171-8/+8
| | | | | | | | | | const tables, so those will be put by the C-compiler in the TEXT segment in stead of the DATA segment. This makes those table sharable in shared libraries. FossilOrigin-Name: da3819dbb53904a418b6098f3b103df483c53304
* minor correctionsdkf2008-10-051-3/+3
| | | FossilOrigin-Name: 58539c23f9e182e812a0463a251122630787ea9c
* Greatly clean up Tk's handling of the writability of the Tcl result object.dkf2008-10-051-114/+92
| | | FossilOrigin-Name: a83341a36174d2059bc339dea19260a38eda5a01
* TIP 285 Implementationmistachkin2008-06-131-9/+58
| | | FossilOrigin-Name: 7ed688e770caea98aeaa62fc00b7054653fff76a
* merge stable branch onto HEADdgp2007-12-131-1/+1
| | | FossilOrigin-Name: e7868b44c1e7bffc63a053b87a96a4499757f80d
* header cleanupdgp2007-09-071-2/+1
| | | FossilOrigin-Name: 04ffea40ef0b3c0cad59a3e1576275019f29e913
* various "const" additions, in line with TIP #27nijtmans2007-01-181-29/+29
| | | FossilOrigin-Name: f6f6ebc114fdec7534619b04fca232c39139ee51
* * generic/tkCmds.c: Purged remaining references todgp2006-03-131-2/+1
| | | | | | | | | * macosx/tkMacOSXPort.h: errno, and errno.h. Standardized * macosx/tkMacOSXWm.c: the logic for using header files from * macosx/tkMacOSXWm.h: the compat directory. Thanks Joe * unix/tkUnixPort.h: English for the patch. [Patch 1445404] FossilOrigin-Name: 9ee09b00001de2c6354081746e9db014bddbbd8e
* More bits of ANSIfyingdkf2005-11-111-1050/+1009
| | | FossilOrigin-Name: 73efecf5f3b28424de1bf79a8044283521a408b3
* Partial implementation of TIP#245; thanks Reinhard!dkf2005-05-271-9/+48
| | | FossilOrigin-Name: dd7b27e6aca077c61df27921426314b12be322d4
* * generic/tkCmds.c (Tk_TkObjCmd): use correct screen data whenhobbs2004-11-121-6/+4
| | | | | | -displayof arg is passed to [tk scaling]. [Bug 800178] FossilOrigin-Name: 710d48607faed7fd93dbb7d898996b8391a33e50
* TIP#153 implementation from Neil McKay, with thanks!dkf2004-06-301-20/+21
| | | FossilOrigin-Name: ec27edf8c79175a1a201953845426abb4a9edea3
* * generic/tkCmds.c (Tk_WinfoObjCmd): refetch interp result obj forhobbs2004-06-291-1/+5
| | | | | | 'winfo id' as it can change when making the window exist. FossilOrigin-Name: dbbde75a477dd1dd770df89bf3169e47e7d84a00
* Removed support for Mac OS Classic platform [Patch 918139]das2004-03-171-5/+1
| | | FossilOrigin-Name: 28ec831e756a8fba6e184ce2667ee594c4901904
* * generic/tkCmds.c:hobbs2002-09-021-7/+28
| | | | | | | | | * generic/tkWindow.c: made 'tk' available in safe interpreters, but only the caret and windowingsystem subcommands may be called. * tests/safe.test (safe-1.2): noted that tk is now available in safe interps, but not the appname/scaling subcommands. FossilOrigin-Name: bb0ef89dd63bf132f0d68fdedf719b34dce04363
* *** macosx-8-4-branch merged into the mainline [tcl patch #602770] ***macosx-8-4-merge-2002-08-31-trunkdas2002-08-311-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tk.decls: * generic/tkInt.decls: added new "aqua" specific entries to the stubs tables. Changed all "unix" entries to "x11" to allow us to distinguish and build both "aqua" on MacOSX and "x11" on MacOSX. * generic/tk.h: added a #ifnded RESOURCE_INCLUDED so that tk.h can be passed to the resource compiler. * generic/tkCmds.c (Tk_TkObjCmd): added [tk windowingsystem] subcommand: returns "x11" when running on X11, "win32" on Windows, "classic" on MacOS9 and "aqua" on MacOSX Aqua (i.e. Carbon) * generic/tkFont.c (TkFontGetFirstTextLayout): new private function returning the first chunk of a Tk_TextLayout, i.e. until the first font change on the first line (or the whole first line if there is no such font change). * generic/tkMain.c: made Tcl_ThreadDataKey static * library/demos/puzzle.tcl: fixed button metrics for aqua * tests/cursor.test: check for presence of arrow cursor instead of heart cursor * xlib/xcolors.c: changed xColors static initialization to more standard C * macosx/Wish.pbproj/jingham.pbxuser (new): * macosx/Wish.pbproj/project.pbxproj (new): project for Apple's ProjectBuilder IDE. * macosx/Makefile (new): simple makefile for building the project from the command line via the ProjectBuilder tool 'pbxbuild'. * macosx/tkMacOSXAppInit.c (new): macosx specific AppInit looking for a AppMain.tcl file in its bundled Resources/Scripts folder. If present, argv[1] is set to that file and the Scripts folder is added to the auto_path. This allows tk apps to embed scripts within their bundle directory structure. * macosx/tkMacOSXInit.c (new): macosx adapted version of tkUnixInit.c: we initialize & cache the Carbon native encoding (e.g. 'macRoman') and try to find the tk script library files inside Tk packaged as a framework. * macosx/tkMacOSXNotify.c (new): new macosx specific merged Carbon/select-based notifier. * macosx/tkMacOSXEvent.c (new): * macosx/tkMacOSXEvent.h (new): * macosx/tkMacOSXKeyEvent.c (new): * macosx/tkMacOSXMouseEvent.c (new): * macosx/tkMacOSXWindowEvent.c (new): new macosx specific event handling functionality. * macosx/tkMacOSX.h (new): * macosx/tkMacOSXBitmap.c (new): * macosx/tkMacOSXButton.c (new): * macosx/tkMacOSXClipboard.c (new): * macosx/tkMacOSXColor.c (new): * macosx/tkMacOSXConfig.c (new): * macosx/tkMacOSXCursor.c (new): * macosx/tkMacOSXDefault.h (new): * macosx/tkMacOSXDialog.c (new): * macosx/tkMacOSXDraw.c (new): * macosx/tkMacOSXEmbed.c (new): * macosx/tkMacOSXFont.c (new): * macosx/tkMacOSXHLEvents.c (new): * macosx/tkMacOSXInt.h (new): * macosx/tkMacOSXKeyboard.c (new): * macosx/tkMacOSXMenu.c (new): * macosx/tkMacOSXMenubutton.c (new): * macosx/tkMacOSXMenus.c (new): * macosx/tkMacOSXPort.h (new): * macosx/tkMacOSXRegion.c (new): * macosx/tkMacOSXScale.c (new): * macosx/tkMacOSXScrlbr.c (new): * macosx/tkMacOSXSubwindows.c (new): * macosx/tkMacOSXTest.c (new): * macosx/tkMacOSXUtil.c (new): * macosx/tkMacOSXUtil.h (new): * macosx/tkMacOSXWm.c (new): * macosx/tkMacOSXWm.h (new): * macosx/tkMacOSXXStubs.c (new): macosx ports of classic mac Tk implementation in tk/mac. * macosx/tkMacOSXSend.c (new): only send to local interp implemented currently. * macosx/tkMacOSXDebug.h (new): * macosx/tkMacOSXDebug.c (new): new macosx specific functions for debugging MacOS events, regions, etc. * macosx/tkAboutDlg.r (new): * macosx/tkMacOSXApplication.r (new): * macosx/tkMacOSXCursors.r (new): * macosx/tkMacOSXLibrary.r (new): * macosx/tkMacOSXMenu.r (new): * macosx/tkMacOSXResource.r (new): * macosx/tkMacOSXXCursors.r (new): * macosx/tclets.r (new): sources for Rez resource compiler. * macosx/Wish.icns (new): Wish application icon. * generic/tk.h: * generic/default.h: * generic/tkBind.c: * generic/tkCmds.c: * generic/tkGrab.c: * generic/tkPointer.c: * generic/tkPort.h: * generic/tkSelect.c: * generic/tkStubLib.c: * generic/tkTest.c: * generic/tkText.c: * generic/tkWindow.c: * unix/tkUnix3d.c: * xlib/xgc.c: * xlib/X11/X.h: * xlib/X11/Xlib.h: * xlib/X11/Xutil.h: added #includes and #ifdefs for macosx * library/bgerror.tcl: * library/button.tcl: * library/console.tcl: * library/dialog.tcl: * library/entry.tcl: * library/listbox.tcl: * library/menu.tcl: * library/msgbox.tcl: * library/scrlbar.tcl: * library/spinbox.tcl: * library/text.tcl: * library/tk.tcl: * library/demos/menu.tcl: * library/demos/menubu.tcl: * library/demos/widget: check [tk windowingsystem] instead of and/or in addition to $tcl_platform(platform). * generic/tkInt.h: * mac/tkMacBitmap.c: * mac/tkMacWm.c: added missing CONSTification * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkPlatDecls.h: * generic/tkStubInit.c: regen FossilOrigin-Name: 6b4c1410c56a191e66a5d9fdeed5b10c8b44eaa0
* Applied companion patch for Tcl Patch 585105,dgp2002-08-051-8/+8
| | | | | | | | | | | | | | | | | | | | | | | updating Tk to use Tcl 8.4's fully CONST-ified interface, and fully CONSTifying Tk at the same time. This patch includes purging Tk of its last direct access to interp->result. [Bug 589853] The substantial changes include copying event sequence strings into Tcl_DStrings in tkBind.c, and copying [text] indices into Tcl_DStrings because parsing them involved overwriting them. If this causes performance trouble, that can be resolved by further converting them to Tcl_Obj's. The #defines USE_NON_CONST and USE_COMPAT_CONST have the same effect for Tk as they do for Tcl. (They actually change tcl.h) FossilOrigin-Name: 5603f01aa35a127f83db9bb68f3b1ff9e5bb64de
* * generic/tkCmds.c (Tk_TkObjCmd):hobbs2002-06-171-3/+83
| | | | | | | | | | | | * 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. FossilOrigin-Name: 6be89a7feefdd57fd30aca27c701f6e155497b67
* corrected cast warninghobbs2002-06-151-2/+2
| | | FossilOrigin-Name: b5a08bfb65fa65081b407e4909d9648ce8893094
* * generic/tkCmds.c (Tk_TkObjCmd):hobbs2002-06-151-3/+7
| | | | | | | | | * unix/tkUnixKey.c (TkpGetString): * generic/tkEvent.c (Tk_HandleEvent): * generic/tkInt.h: changed useInputMethods boolean from int to a bit in the flags variable (TK_DISPLAY_USE_IM) FossilOrigin-Name: e07ed1cc5a967c0b9363ff1d0b2bf5dda93e30e8
* * generic/tkInt.h:hobbs2002-06-151-3/+13
| | | | | | | | | * 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) FossilOrigin-Name: bdc985bf1e3425faffc75d12dd8d12dae526486f
* TIP #47 "Modifying Tk to Allow Writing X Window managers"jenglish2002-06-141-4/+4
| | | | | | | | | | (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. FossilOrigin-Name: ad38fbacd7328c607131ee691e933fcc9aa67d3e
* * Updates to handle change in type of part2 argument ofdgp2002-03-201-3/+3
| | | | | | Tcl_VarTraceProc typedef. [TIP 27] [Patch 532644]. FossilOrigin-Name: 1b7558e26e98541cbcbea49ec8f2eb586a6ec2ea
* * generic/tkCmds.c (Tk_TkObjCmd): don't use 'bool' as an arg as ithobbs2002-02-021-4/+4
| | | | | | conflicts with the C99 spec. [Bug #511956] (ingham) FossilOrigin-Name: 9785d45f6e75ba00c83ecfe5c71a20254791f660
* * Updates to handle change in type of tablePtrdgp2002-01-171-7/+7
| | | | | | | argument of Tcl_GetIndexFromObj(Struct) from (char **) to (CONST char **). [TIP 27] [Patch 504705] FossilOrigin-Name: 85e5c7aa1baa3bd2b7bdb971f3cf83f4f5573723
* correct Window id's to be of type Windowhobbs2001-09-211-4/+3
| | | FossilOrigin-Name: 5bab49674d996d2501bb9fbf7b0b6a851fce935d
* * generic/tkCmds.c (Tk_WinfoObjCmd): Added check forericm2000-10-051-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | TK_ANONYMOUS_WINDOW flag in the [winfo children] subcommand; if set, the window will not be printed in the list of children. * doc/CrtWindow.3: Added entry for Tk_CreateAnonymousWindow. * generic/tkWindow.c (Tk_CreateAnonymousWindow): New API for creating anonymous windows. These windows are manipulable from C, but not from Tcl, because they have no pathname associated with them. They are used initially by widgets that do rubber-band resizing (panedwindow, multi-column listbox, etc.), and may be useful for other widgets as well (dropbox, combobox). (Tk_DestroyWindow): Added check for TK_ANONYMOUS_WINDOW flag when determining whether to generate a DestroyNotify event. * generic/tkStubInit.c: * generic/tkDecls.h: Regen'd from tk.decls. * generic/tk.decls: Added Tk_CreateAnonymousWindow declaration. * generic/tk.h: Added TK_ANONYMOUS_WINDOW flag for Tk_Window's. FossilOrigin-Name: bde3bf273a9657cee6bf2b48ef452ad7861327ec
* * generic/tkWindow.c: Updated "grab" command entry to useericm2000-08-041-2/+2
| | | | | | | | | | | | | | | Tcl_Obj'ified command. * generic/tkInt.h: Replaced Tk_GrabCmd prototype with Tk_GrabObjCmd prototype. * tests/grab.test: Initial suite of tests for [grab] command. * generic/tkGrab.c (Tk_GrabObjCmd): Tcl_Obj'ified [grab] command. * generic/tkCmds.c: Fixed casting problem in Tk_BindtagsObjCmd. FossilOrigin-Name: 0f65866ab817387cf8132dc5292f80dcbcbdfa5c
* * generic/tkInt.h: Replace Tk_BindCmd prototype withericm2000-08-031-20/+48
| | | | | | | | | | | Tk_BindObjCmd prototype. * generic/tkWindow.c: Updated "bind" command entry to use Tcl_Obj'ified command. * generic/tkCmds.c (Tk_BindObjCmd): Tcl_Obj'ified [bind] command. FossilOrigin-Name: 30698c56dc85982af1fda753f98c2a425a179124
* * tests/bind.test: Tweaked expected error messages for [bindtags]ericm2000-08-031-31/+40
| | | | | | | | | | | | | | | | | | to comply with updated error messages. * generic/tkMenu.c (CloneMenu): Replaced calls to Tk_BindtagsCmd with equivalent calls to Tk_BindtagsObjCmd. * generic/tkInt.h: Replace Tk_BindtagsCmd prototype with Tk_BindtagsObjCmd prototype. * generic/tkWindow.c: Updated "bindtags" command entry to use Tcl_Obj'ified command. * generic/tkCmds.c (Tk_BindtagsObjCmd): Tcl_Obj'ified [bindtags] command. FossilOrigin-Name: 1bf52b230a4740dbd765dd60d1a6015e318e1c44
* * generic/tkCmds.c (Tk_TkwaitObjCmd): Tcl_Obj'ified [tkwait] command.ericm2000-08-021-69/+79
| | | | | | | | | | * generic/tkWindow.c: Updated "tkwait" command entry to use Tcl_Obj'ified command. * generic/tkInt.h: Replace Tk_TkwaitCmd prototype with Tk_TkwaitObjCmd prototype. FossilOrigin-Name: 5fd841f0e74af9929159289044b78be5e1689926
* * doc/bell.n:hobbs2000-05-171-14/+27
| | | | | | | | * tests/bell.test: * generic/tkCmds.c (Tk_BellObjCmd): added -nice option to optionally avoid resetting screen saver [Bug: 4279] FossilOrigin-Name: cca6c123ec0e97991467c71bdc843f002529ce04
* * doc/WinViewable.3:ericm2000-04-191-2/+13
| | | | | | | | | | | | | | | * unix/mkLinks: Removed docs for Tk_IsViewable. * win/tkWinDialog.c: Removed calls to Tk_IsViewable. * generic/tkUtil.c: * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tkCmds.c: * generic/tk.decls: Removed Tk_IsViewable function (it was not actually needed). FossilOrigin-Name: e6573914e2482a3c4a9f0cdfc307d2412ee6c8ee
* * win/tkWinDialog.c: Added checks for visibility of parent windowericm2000-04-181-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | before creating MessageBox and ChooseColor dialogs; this prevents the application from locking when the parent is withdrawn and the message box is created. In these cases, the window will be created without a parent. * unix/mkLinks: Added WinViewable.3. * tests/msgbox.test: Added tests for patch from [Bug: 4997]. * library/msgbox.tcl: * library/dialog.tcl: Applied patch from [Bug: 4997]; detaches dialog window from parent if parent is not viewable. * library/bgerror.tcl: Removed workaround from [Bug: 4370]; this is superceeded by patches to dialog.tcl. * generic/tkCmds.c: Changed WinfoObjCmd to use Tk_IsViewable function to determine visibility of windows instead of inlining the code. * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tk.decls: Added Tk_IsViewable declaration. FossilOrigin-Name: a39bc3c5994e6804227b828aa86f058d123d81d4
* * generic/tkRectOval.c (ConfigureRectOval):hobbs2000-02-011-1/+216
| | | | | | | | | | | | | | | * generic/tkCanvLine.c (ConfigureLine): * generic/tkCanvPoly.c (ConfigurePoly): * generic/tkCanvArc.c (Configure/DisplayArc): fixed handling for negative dash values [Bug: 4104] * generic/tkScale.c (TkRoundToResolution): fixed incorrect assumption that (N+1)*delta = N*delta + delta with floating point math [Bug: 3689, 4099] (DestroyScale) Fixed check for cancelling TkpDisplayScale (was REDRAW_ALL, is now REDRAW_PENDING) FossilOrigin-Name: 5e295d879b98ead52bc6eb51dc3c636e202b2597
* * generic/tk.h:hobbs1999-12-211-2/+2
| | | | | | | | | | | | | | | | | | | * README: updated for patch level 8.3b1 * generic/tkScale.c: * generic/tkScale.h: fixed possible core when freeing options (cursor) associated with scale widget [Bug: 3897] * generic/tk3d.c: added extra calculations to ensure that thin frames get refreshed too [Bug: 3596] * generic/tkCanvText.c: * generic/tkEntry.c: * generic/tkFont.c: * generic/tkImgPPM.c: removed extranneous vars that were set but never used. FossilOrigin-Name: 118f57e195c97d1a9021d675498d777fe0c37e5a
* * generic/tkCmds.c:hobbs1999-12-161-6/+41
| | | | | | | | | | | | | | | | | * generic/tkEvent.c: * generic/tkWindow.c: * generic/tkInt.h: add 'tk useinputmethods ?-display win? ?bool?' call to provide support for disabling/enabling the use of XIM on X. This was previously all done at compile time, and always on. Now it * generic/tkCanvUtil.c: fixed bug in Tk_CanvasPsOutline that freed mem it shouldn't. * generic/tkFont.c: added "bitstream cyberbit" (popular Windows CJK font) to list of font fallbacks. (kenny) [Bug: 2407] FossilOrigin-Name: 3f23335ddf3083f408deedfb90188f6c2fe8a533
* * generic/tkInt.h:hobbs1999-12-031-31/+31
| | | | | | | | * generic/tkWindow.c: * generic/tkCmds.c: converted Tk_DestroyCmd, Tk_LowerCmd and Tk_RaiseCmd to their ObjCmd equivalent. FossilOrigin-Name: 226627d1b1f73de509344a07dc7d0f72ed256ec6
* * generic/tk.h:hobbs1999-10-291-2/+1
| | | | | | | | | | | | | | | | | * generic/tkCmds.c: * generic/tkImage.c: * generic/tkImgBmap.c: * generic/tkImgGIF.c: * generic/tkImgPPM.c: * generic/tkImgPhoto.c: * generic/tkInt.h: * generic/tkTest.c: * generic/tkWindow.c: * tests/imgPhoto.test: added Img patch (Nijtmans) with docs, headers #def'd with USE_OLD_IMAGE. Upgrades image stuff to Tcl_Obj API, adds alpha channel (images are now 32 bpp) FossilOrigin-Name: ca63b7628643ea25e54213761cf357f6ad932491
* * Merged 8.1 branch into the main trunkstanton1999-04-161-146/+94
| | | FossilOrigin-Name: 1120dc4257448ed1955333e682de48e2940cc741
* integrated stubs into 8.0 main branchstanton1999-03-101-1/+9
| | | FossilOrigin-Name: 4c74dd207943932e6d9a6d06a3ec11b8e4459199
* Removed old/unused function declarationsrjohnson1998-09-301-15/+18
| | | | | | | removed unused file on Mac implementation made bell cmd an obj cmd - improved it's test suite FossilOrigin-Name: 33ce8b59be46b5d385db551533ae8dac8fe8dc86
* Replaced SCCS strings, fixed binary filesstanton1998-09-141-1/+1
| | | FossilOrigin-Name: fb58b663f313796e8ed3115f92d657f0cae1d575
* Changed main to mainwin to avoid compiler warningswelch1998-08-041-6/+6
| | | FossilOrigin-Name: 4a24f6d48df742b7d7fc1e85757a924d8ee942d0