diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 108 |
1 files changed, 107 insertions, 1 deletions
@@ -1,3 +1,109 @@ +2005-08-09 Daniel Steffen <das@users.sourceforge.net> + + * macosx/tkMacOSXCarbonEvents.c (new): moved carbon events code into + * macosx/tkMacOSXHLEvents.c: new file like on HEAD, + * macosx/tkMacOSXInit.c (TkpInit): initialize carbon event handlers + * macosx/tkMacOSXInt.h: in TkpInit(), add new source + * unix/Makefile.in: file to Makefile.in. + + * macosx/tkMacOSXCarbonEvents.c (AppEventHandlerProc): handle carbon + 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/tkMacOSXEmbed.c: replaced all uses of panic() with Tcl_Panic() + * macosx/tkMacOSXFont.c: (sync with HEAD). + * macosx/tkMacOSXMenus.c: + * macosx/tkMacOSXSubwindows.c: + * macosx/tkMacOSXWm.c: + * macosx/tkMacOSXXStubs.c: + + * macosx/tkMacOSXInt.h: sync with HEAD changes of 2005-03-14. + * macosx/tkMacOSXSubwindows.c: + + * macosx/tclets.r (removed): sync with HEAD. + * macosx/tkMacOSXScale.c: + * macosx/tkMacOSXPort.h: + + * library/demos/menu.tcl: removed errant '}'. + 2005-07-30 Daniel Steffen <das@users.sourceforge.net> * unix/Makefile.in (html): reverted/amended changes of 2005-07-24 @@ -34,7 +140,7 @@ * win/tkWinDraw.c: if tk::mac::useThemedToplevel == 1. * unix/tkUnixDraw.c: Normal frames left alone until we can * mac/tkMacDraw.c: better factor out frame drawing to be - * macosx/tkMacDraw.c: widget-specific. + * macosx/tkMacOSXDraw.c:widget-specific. * generic/tkInt.h: Swap TkUnsupported1Cmd for TkUnsupported1ObjCmd. * generic/tkWindow.c: Ditto. (neil madden) |