On Jun 14, 2009, at 5:01 AM, Dong Feng wrote:

I want to implement a pulldown list like what FireFox does with its
address bar (or its Google search bar). I think it involves to open a
borderless window and draw items through Cocoa drawing APIs.

But when I saw Safari 4, its pulldown list's appearance just like a
context-menu, I began thinking if implement a Safari-4-like pulldown
list can save drawing the whole borderless window by writing code
myself. Does Safari 4 rely on Cocoa API of menu to implement its
pulldown list, or does it still implement a borderless window itself
whose appearance happen to simulate a context menu?

Hi Dong,

As for Safari, it's the latter approach you mentioned. Using F-Script Anywhere, what Safari is doing is displaying a CompletionsWindow, probably as a child window of the browser window, and then using a RoundedRect view to simulate the context menu appearance. The completion list is a subclass of NSTableView.

In Camino, we're currently working on a more Mac-like autocompletion bar that actually has an appearance similar to Safari's coincidentally. Our project is open source, so you can feel free to take a look at the code we're using. This would server as a better example than having to reverse engineer Safari's implementation to learn from. This is our Google Summer of Code project for this year. Check out <http://wiki.caminobrowser.org/ Development:Summer_of_Code_2009>, and you can view the current patch (still a work in progress, but it is working) implementing this at <https://bugzilla.mozilla.org/show_bug.cgi?id=495496 >.

Hope that helps,
Sean.

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to