From: Jim I. <ji...@ap...> - 2002-01-21 18:33:07
|
On 1/21/02 7:54 AM, "Ashley Ward" <ash...@nt...> wrote: > Any hints would be appreciated! If you want to package Frameworks in your app, you are supposed to put the cookie: @executable_path in the name of the framework you are linking to, and dyld will resolve the reference relative to where the executable lives in your App bundle. I haven't ever done this, so I am not sure exactly how it works. I am pretty sure it was discussed both on Apple's ProjectBuilder mailing list, and on the OmniGroup dev lists. You can probably find it by searching the archives for @executable_path. If you can't find it, ping me again and I will ask around. > > Also, I have a few bugs in my app which, now I've noticed them, seem to also > occur in Wish, so I assume they are Tcl/Tk bugs. For all these, file bugs with SourceForge if you don't mind. Code snippets which show the problem would also be helpful. Also, I am finding myself really busy lately, so if any of these are crucial to your app, you may need to take a whack at fixing them yourself. > > - Cut and paste from other applications doesn't work (it seems OK within the > app). This should be easy to fix. We just carried over the Classic MacOS Scrap Manager code to X. That is supported in Carbon, so we probably just messed up the conversion. > > - In the scroll bar, the down button is only slightly visible: it is > obscured by the window resize widget. You can usually get around this by packing the scrollbar & the widget it drives in a containing frame. The support for the resize widget is a bit of a hack, but we felt at the time it was better than forcing everyone to have to manually provide it. > > - When dragging the title bar of a window in order to move it, it seems > necessary to give it focus first. Humm... > > - 'Hide tkeden' (in the left most menu) doesn't work. Wish seems to die > unexpectedly when this is chosen. This should be easy to fix. These menus are provided in tkMacOSXMenus.c. I bet we just sketched this in and didn't get around to finishing it. > > - I have some menus with -tearoff set. This is implemented as a > "(Tear-off)" menu option, which creates a torn off menu at the extreme > top-left of the screen, with the first item behind the Apple menu bar :( Tearoff menus don't work. They are not provided by the Aqua menu manager, so they are just part of the Tk MDEF that we moved over from the Classic version. There were other problems with this MDEF (it looked horrible 'cause it used QuickDraw to draw the text, and had a bunch of scrolling & other problems.) So I am not supporting it right now. There was a sample MDEF project for X that Apple DTS posted in the last developer mailing which looked like it might have clues on how to fix a bunch of problems I was having with this. It would be worthwhile to give this another look later on. But this was a notoriously buggy part of the Classic MacOS Tk port, and I would be happier to use the System MDEF if possible. There are some tantalizing #defines in the Carbon headers for tearoff menus, but they don't do anything yet... > > - Maximise (+) button doesn't work. Say more. > > - The Aqua close / minimise / maximise buttons in the title bar don't show > their x - + inners when the mouse is moved over them. Yeah, we probably have to track this by hand. We were using Carbon Events for the Window decoration management for a long time - which gave all all these behaviors for free, and we almost got it to work, but there were just too many odd times where the Carbon Event manager and Tk's Notifier would fight over who got events, resulting in much suffering & sadness. So we finally had to go back to fielding all events by hand. This is probably the cause of the title bar dragging problem as well. > > Finally, the other bug which I could do with some help on (I have lots more, > but I hope I can fix these myself!) is that the About option in the left > most menu for my app is actually "About Tcl & Tk" and leads to that > information. How do I override this to show my own About information? > This works pretty much the same way it works in Classic MacOS. You create a menubar for your app, and then add a cascade item to it called "apple", so: toplevel .t menu .t.mbar menu .t.mbar.apple .t.mbar add cascade .t.mbar.apple .t.mbar.apple add command -label "About MyApp" -command myAboutDialog Etc. The items you add to the "apple" menu (the name is an anachronism on X, it should really be called the "Application" menu) will go above the system provided menu items. Jim -- ++=++=++=++=++=++=++=++=++=++=++=++=++=++=++=++=++=++=++= Jim Ingham ji...@ap... Developer Tools - gdb |