From: Jim I. <ji...@ap...> - 2001-08-29 17:16:11
|
Daniel, On Tuesday, August 28, 2001, at 09:26 PM, Daniel A. Steffen wrote: > At 20:10 -0700 on 28/8/01, Jim Ingham wrote: >> Yeah, but Tk handles most enter/leave tracking and focus change on its >> own, and doesn't rely on the window managers for most of this stuff, >> so I am not sure how much difference this would make. In my >> experience with X11 Tk widget behavior doesn't much change when in an >> overrideredirect window. It might cause problems to change this. > > the problem with overrideredirect is that the enter/leave tracking is > different on the mac from the other platforms, i.e. raising an > overrideredirect window doesn't trigger a leave on the current window > on unix, but it does on the mac, that was the whole reason for this > thread, current Tk help balloons implementations rely on this > behaviour, the only easy way I found to replicate it on the mac is to > make the balloon windows float. > (how does this work on AquaTk? i.e. does the balloon popup from > http://mini.net/tcl/534.html work? if yes what have you changed to make > it work?) > We used the "kHelpWindowClass" - so we had to add a call to unsupported1 with this class. So that is roughly your solution, but we can do it more nicely. > >>> the problem is that you can't use carbon features selectively, if you >>> want to use any carbon feature such as the kHelpWindowClass you have >>> to go carbon all the way, which we can't really do with classic Tk... >> >> This isn't true in this case. TkMacHaveAppearance returns the >> Appearance version, so when you got a request for a help window passed >> into unsupported1 you would pass kHelpWindowClass to the CreateWindow >> cal if the Appearance version is > 1.1, and one of the floating >> windows members of the enum otherwise. It is not even a different >> API, it is just some number passed to the Window Manager API's. > > yes I realize that, but even so it doesn't work... I just tried, even > with CarbonLib 1.4 installed, I can't use kHelpWindowClass in > CreateNewWindow from the classic Tk, I suspect only apps linked with > carbon lib have access to kHelpWindowClass, a shame really. maybe there > is a way around that? > What happens, if you pass this as the Class parameter you get an error from CreateNewWindow? That seems wrong somehow, but I guess you are getting a different version of CreateNewWindow from Carbon. Sigh... If this is true then I guess there is not much we can do. > >> Yeah, but on systems that support it, the real help tag window is lots >> nicer. I will send you the patches I made for the X version if you >> want when I get in to work tomorrow, and if somebody feels like >> conditionalizing it for different Appearance versions, they are >> welcome... > > ok, great, thanks, I'll have a look. Sadly according to MacHelp.h, the > new Help Tags API isn't available from classic Tk either, that would > have been another way to go. > Sigh... Jim -- Jim Ingham ji...@ap... Developer Tools - gdb Apple Computer |