| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
process is in front on MouseDown, otherwise request process activation
from BringWindowForward() via new isFrontProcess param.
* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): register our
event handler on the dispatcher target for all carbon events of interest
to TkAqua; this replaces event processing directly from the event queue
and thus allows to capture events that are syntesized by Carbon and sent
directly to the dispatcher and not to the event queue.
* macosx/tkMacOSXEvent.c: remove TkMacOSXCountAndProcessMacEvents(),
rename ReceiveAndProcessEvent() to TkMacOSXReceiveAndProcessEvent().
(TkMacOSXReceiveAndProcessEvent): remove tk event processing before
sending events to the dispatcher, all events of interest are now
processed in our dispatcher target event handler.
* macosx/tkMacOSXNotify.c (CarbonEventsCheckProc): dispatch events
directly via TkMacOSXReceiveAndProcessEvent(), but dispatch no more than
four carbon events at one time to avoid starving other event sources.
* macosx/tkMacOSXEvent.c: formatting cleanup, move XSync() to XStubs,
* macosx/tkMacOSXEvent.h: removed obsolete kEventClassWish handling.
* macosx/tkMacOSXXStubs.c
* macosx/tkMacOSXEvent.h: declare macosx internal procs as MODULE_SCOPE.
* macosx/tkMacOSXEvent.c:
* macosx/tkMacOSXKeyEvent.c:
* macosx/tkMacOSXMouseEvent.c:
* macosx/tkMacOSXWindowEvent.c:
* macosx/tkMacOSXButton.c: conditionalize all debug message printing to
* macosx/tkMacOSXCursor.c: stderr via TK_MAC_DEBUG define.
* macosx/tkMacOSXDebug.c:
* macosx/tkMacOSXDebug.h:
* macosx/tkMacOSXDialog.c:
* macosx/tkMacOSXEvent.c:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXKeyEvent.c:
* macosx/tkMacOSXMenu.c:
* macosx/tkMacOSXMenubutton.c:
* macosx/tkMacOSXScale.c:
* macosx/tkMacOSXWindowEvent.c:
* macosx/tkMacOSXWm.c:
* unix/configure.in: define TK_MAC_DEBUG on aqua when symbols enabled.
* unix/configure: autoconf-2.59
* unix/tkConfig.h.in: autoheader-2.59
* library/listbox.tcl: synced aqua MouseWheel bindings with
* library/scrlbar.tcl: core-8-4-branch.
* library/text.tcl:
* xlib/xcolors.c: fixed warning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
events sent directly to application event target via the general
TkMacOSXProcessEvent() in the same way as events posted to the event
loop. Moved existing app event handlers to tkMacOSXWindowEvent.c.
(TkMacOSXInitCarbonEvents): register our application event handler for
kEventWindowExpanded events to deal with uncollapsing from the dock.
* macosx/tkMacOSXEvent.h: made TkMacOSXProcessEvent() non-static, added
* macosx/tkMacOSXEvent.c: new interp field to TkMacOSXEvent struct for
use by app event handler.
* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): retrieve
current window, partCode, modifiers and local cursor position from
carbon mouse event if possible. Use new static GenerateButtonEvent()
taking a MouseEventData struct instead of TkGenerateButtonEvent() to
avoid recomputing already known values. Move process activation on
MouseDown into BringWindowForward() to allow clicking on window titlebar
widgets without activating process. Move code dealing with clicks in
window titelbar into separate function HandleWindowTitlebarMouseDown()
to avoid code duplication. Avoid repeated calls to TkMacOSXGetXWindow()
by storing result in MouseEventData struct.
(TkMacOSXButtonKeyState, XQueryPointer): try to get button and modifier
state from currently processed carbon event (to avoid unnecessary IPC
with the window server), otherwise use modern carbon API to get this
info instead of Button() and GetKeys(); only retrieve info caller asks
for (via non-NULL ptr passed to XQueryPointer).
(ButtonModifiers2State): new static function converting carbon button
and modifier state into tk state, allows detection of more than 3 mouse
buttons (tk supports up to 5) and of NumLock and Fn modifier keys
(NumLock is mapped to Mod3 and Fn to Mod4).
* macosx/tkMacOSXWindowEvent.c (TkMacOSXProcessApplicationEvent): handle
kEventWindowExpanded event to deal with window uncollapsing from the
dock by generating tk Map event, handle kEventAppHidden and
kEventAppShown events (moved here from tkMacOSXCarbonEvents.c).
* macosx/tkMacOSXSubwindows.c (XUnmapWindow): only hide window when
it is not iconified to avoid window flashing on collapse.
* macosx/tkMacOSXWm.c: replaced Tk_DoWhenIdle() by Tcl_DoWhenIdle().
(TkMacOSXZoomToplevel): remove call to TrackBox(), now done in
HandleWindowTitlebarMouseDown() in tkMacOSXMouseEvent.c.
(TkpWmSetState): avoid window flashing on collapse by unmapping after
calling CollapseWindow(); only uncollapse window if it is collapsed.
* generic/tkInt.decls: changed TkMacOSXZoomToplevel() signature.
* generic/tkIntPlatDecls.h:
* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only call
GetMenuItemCommandID() on KeyDown or KeyRepeat events.
* macosx/tkMacOSXMenu.c (ReconfigureMacintoshMenu): remove call to
obsolete AppendResMenu() API.
* macosx/tkMacOSXKeyEvent.c: replaced all direct uses of expensive
* macosx/tkMacOSXMenu.c: GetMouse() and TkMacOSXButtonKeyState()
* macosx/tkMacOSXMenus.c: APIs by calls to XQueryPointer()
* macosx/tkMacOSXMouseEvent.c:
* macosx/tkMacOSXScale.c:
* macosx/tkMacOSXScrlbr.c:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXDialog.c: replaced use of FrontNonFloatingWindow()
* macosx/tkMacOSXKeyEvent.c: by ActiveNonFloatingWindow() as
* macosx/tkMacOSXMenu.c: recommended by Carbon docs.
* macosx/tkMacOSXMenus.c:
* macosx/tkMacOSXSubwindows.c:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXDialog.c: fixed warnings
* macosx/tkMacOSXTest.c:
* macosx/tkMacOSXCarbonEvents.c: added CVS Id line to file header.
* macosx/tkMacOSXDebug.c:
* macosx/tkMacOSXDebug.h:
* macosx/tkMacOSXEntry.c:
* macosx/tkMacOSXEvent.h:
* macosx/tkMacOSXKeyEvent.c:
* macosx/tkMacOSXMouseEvent.c:
* macosx/tkMacOSXWindowEvent.c:
* macosx/tkMacOSXWm.h:
* macosx/tkMacOSXInt.h: declare macosx internal procs as MODULE_SCOPE.
* macosx/tkMacOSXCarbonEvents.c:
* macosx/tkMacOSXDraw.c:
* macosx/tkMacOSXFont.c:
* macosx/tkMacOSXHLEvents.c:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXWindowEvent.c
* library/bgerror.tcl: sync with core-8-4-branch changes of 2005-07-28.
* macosx/tkMacOSXDraw.c:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXMouseEvent.c:
* generic/tkFrame.c: sync with core-8-4-branch changes of 2005-07-27.
* generic/tkIntDecls.h:
* generic/tkStubInit.c:
* generic/tkFrame.c:
* win/tkWinDraw.c:
* unix/tkUnixDraw.c:
* macosx/tkMacOSXDraw.c:
* macosx/tkMacOSXInt.h:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXSubwindows.c:
* macosx/tkMacOSXButton.c: sync with core-8-4-branch.
* macosx/tkMacOSXEntry.c:
* macosx/tkMacOSXScale.c:
* library/demos/menu.tcl: removed errant '}'.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* macosx/tkMacOSXMenu.c (TkpConfigureMenuEntry): Thinko in clearing
the ENTRY_ACCEL_MASK before re-parsing it. [Tk Bug 1012852]
* macosx/tkMacOSXScrlbr.c (UpdateControlValues): Don't set the
control value BEFORE setting the min and max or the control manager
will reset it for you. [Tk Bug 1202181]
* macosx/tkMacOSXXStubs.c (TkMacOSXXGetPixel, TkMacOSXXPutPixel):
Restore the port to what it was before putting we were called.
[Tk Bug 1202223]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* macosx/tkMacOSXNotify.c: introduction of new tcl notifier based on
CFRunLoop allows replacement of the custom TkAqua notifier by a
standard tcl event source. Removes requirement of threaded tcl core
for TkAqua, allows to stub-link TkAqua against Tcl by removing use of
the unstubbed TclInitNotifier & TclFinalizeNotifier. [Tcl Patch 1202052]
* macosx/Wish.xcode/project.pbxproj:
* macosx/Wish.pbproj/project.pbxproj: stub-link TkAqua: build with
USE_TCL_STUBS and link against libtclstub instead of Tcl.framework,
unexport libtclstub symbols from Tk to avoid duplicate symbol warnings
when linking with both Tcl and Tk, fixes for gcc4.0 warnings.
* macosx/Wish.xcode/project.pbxproj: sync with Wish.pbproj changes
since 2004-11-19.
NOTE: to use this project, need to uncomment the tclConfig.h settings
at the top of tcl/unix/configure.in, autoconf and rebuild tcl !
* macosx/tkMacOSXBitmap.c:
* macosx/tkMacOSXButton.c:
* macosx/tkMacOSXDialog.c:
* macosx/tkMacOSXFont.c:
* macosx/tkMacOSXHLEvents.c:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXKeyboard.c:
* macosx/tkMacOSXMenu.c:
* macosx/tkMacOSXMenubutton.c:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXXStubs.c: fixed gcc 4.0 warnings.
* unix/tcl.m4: sync with tcl
* unix/configure: autoconf-2.59
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* macosx/tkMacOSXAppInit.c (removed):
* macosx/Wish.pbproj/project.pbxproj:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXInt.h: changes to make TkAqua dynamically loadable,
enabling [package require Tk] from tclsh. Startup code from
tkMacOSXAppInit.c moved into tkMacOSXInit.c, added code that
notifies the window server that an unbundled executable is a full
GUI application after loading Tk. [Patch 1035348]
* doc/wm.n: documented [wm attributes] on Mac OS X. [Bug 606665]
* macosx/tkMacOSXWm.c: implemented TIP 222 [wm attributes -alpha] on
Mac OS X. [Patch 892194]
WmIconbitmapCmd: adopted FSRef changes from [wm atttrs -titlepath].
* macosx/tkMacOSXSubwindows.c: synced spacing/formatting with
core-8-4-branch.
* generic/tkRectOval.c:
* macosx/README:
* macosx/tkMacOSXDefault.h:
* macosx/tkMacOSXDraw.c:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXInt.h:
* macosx/tkMacOSXMenu.c:
* macosx/tkMacOSXWm.c: forward port from core-8-4-branch of Jim's
and my changes for CG drawing and [wm attributes] (corresponds to
8.4 changes dating from 09-18, 07-27, 07-24).
* macosx/tkMacOSXMouseEvent.c: endianness fixes.
* macosx/Wish.pbproj/project.pbxproj: corrected path to html help
inside framework.
* macosx/Makefile: prevent parallel make from building several
targets at the same time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
optionally install tk manpages in addition to html help,
similarly to tcl/macosx/Makefile.
* macosx/Wish.pbproj/project.pbxproj: fixes for building with
non-default SYMROOT/OBJROOT/SRCROOT, added support for using a
Tcl.framework in DYLIB_INSTALL_PATH != /Library/Frameworks,
added optional support for building html help without tcl sources
present by giving explicit location of tcltk-man2html script.
* macosx/tkMacOSXMenu.c: fixed #include case sensitivity bug.
|
|
|
|
| |
File menu.
|
|
|
|
|
|
| |
pass in Mac OS Classic.
Add the tkMacOSXCarbonEvents.c - just a skeleton right now.
A bunch of formatting nits fixed.
|
|
|
|
| |
Pascal string interfaces.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* macosx/tkMacOSXMenu.c (EventuallyInvokeMenu): New function,
used to invoke menu commands at idle time.
(TkMacOSXDispatchMenuEvent): Don't immediately dispatch menu
commands, wait till the idle loop to do so. This is more like
what is done on Windows, and avoids the crash from destroying
a menu in it's command.
* macosx/tkMacOSXHLEvents.c (ReallyKillMe): Don't force the shell
to exit. According to the OS X HI guidelines, it should be
possible to cancel an attempt to quit, and if we force the kill,
here, it would not be possible to implement this.
|
|
|
|
|
| |
MacOS 9 behavior, which was to insert a separator item after the system help
menus, but this doesn't happen on X...
|
|
|
|
|
|
|
|
|
|
| |
two parts of the patches in Patch Tracker #622582 -
new-evthdlng.2003-02-12.diff and basic-keyboard.2003-02-10.diff. The
second part puts translation of MacOS X keycodes to characters on a
better footing. The first part relaxs Tk's policy of consuming all
events unless it can see they go to windows it didn't create. This
change gets the little traffic lights working, and should make things
like QuickTimeTcl easier to implement.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Force dialogs to appear below fixed native Mac menubar.
* macosx/tkMacOSXKeyEvent.c:
* macosx/tkMacOSXKeyboard.c: Keypress/release events for pure
modifier keys were not being passed to Tk.
Deadkey presses were inserting null characters into text windows.
Now they do nothing. (Still not ideal, but better than before!)
* macosx/tkMacOSXMenu.c: Allow more than 200 menus to exist -
increased to 2000.
* macosx/tkMacOSXMouseEvent.c: Bad interactions between floating
windows and ordinary ones. Ensure that local<->global coordinate
transformations are wrt to the correct window.
* macosx/tkMacOSXWm.c: Better error msg for 'wm attributes'.
Remove crash in 'wm transient'.
Add 'noActivates' and 'noUpdates' flags to unsupported command.
[Patch #606658] (darley)
|
|
* 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
|