Suggestion for dragster/dropzone like dock menu - objective-c

I'd like to create a dragster/dropzone like dock menu. Looks a bit like a stack with a nsview in it.
After a lot if documentation searching and googling I've found a way to determine a dock icon's location.
(http://cocoadev.com/forums/comments.php?DiscussionID=1431)
Is nzbdrop creating a view which just looks like an stack to display it's menu or is there a better way of creating this?
Additional info:
I'm not looking for the drop like functionality just the nice way the DropBox window is displayed as an bubble/stack menu on top of it's app icon.

For anyone wanting to create something similar;
Matt Gemmell created a nice solution for this called MAAttachedWindow:
http://mattgemmell.com/source

Not exactly sure I understand your question but the Dragster and Dropzone apps clearly work something like this:
They have an application icon in the dock.
They respond to a drop request in the standard fashion.
Upon receiving a drop request, they open an application window above the dock which also accepts a drop request.
According to the link you provided, they use the accessibility API to locate their dock icon so they can open the application window above the dock icon.
The window is just a standard application window although most likely modal and floating (like a help window.) It can have any appearance you wish.

Related

What type of rollover menus does Apple use in their Contacts App?

Does anyone know how Apple creates their rollover menus in the Contacts "business card" view*? I am trying to replicate that interface in an App I'm writing, but I'm not sure how to get there via XCode. I'm currently running Mavericks...
Thank you in advance!
* i.e. the "work" heading for an address is a context-sensitive popup menu that allows you to copy the address, open in maps, etc...
I wasn't able to replicate the Contacts interface exactly (I suspect they are doing some custom drawing routines), but I came up with something that was good enough for me. I created pulldown buttons with the "gradient" style, and visual set to "bordered".
Here is the key: during startup, I call the following:
[myButton setShowsBorderOnlyWhileMouseInside:true];
When you hover over the button, it highlights. Click, and the menu drops down. Perfect!

How do I add buttons to Aero Peek in VB6?

I'm working on a program that can play songs off an iPod. I want to be able to put functional Back, Play/Pause and Next buttons on its Aero Peek thumbnail like this:
For those who can't see it: http://i45.tinypic.com/1yua0m.png
How would I do this in VB6?
EDIT: Can I also create a jump list for my app? For this app, I only need taskbar jump lists. For others, I'll need taskbar and start menu jump lists so posting code to achieve both would be appreciated.
EDIT 2: I have uploaded a sample of how to use the ITaskBarList3 interface to add buttons to the window preview (and handle their click events), add an icon overlay, clip the window preview and add a progress bar to the program's taskbutton. Download it here.
Look at the Taskbar Thumbnail Toolbar feature of Windows Explorer. This does use a COM interface so I don't know how practical it is to use for VB but I beliver the IDLs are available if you look.
You can also find a C# example and the UI guidelines on MSDN.
The Jumplist information is also covered on the same pages.

Get live screenshot of window in objective-c

I'm trying to find a way to get a live view of a specific window. In the same way that Mission Control and Exposé will show you live views of windows that are currently obscured by other windows (this is also done by Hyperdock, so I'm pretty certain that its not a private API).
What is the functionality called? And so where is the documentation on it?
You want the Quartz Window Services API. Basically, you want to create a window list with the windows you're interested in and use CGWindowListCreateImage to get a picture of the window's contents.

Squeak System Browser Questions

I am using (a school modified version of) the "Squeak By Example" (SBE) image for a OOP/OOD class. However, my System Browser is missing a few features that appear in SBE. I assume there are some configuration options that can get them back for me, but I can't find them yet.
My questions are:
1) How do I get the buttons back? In the bottom pane there should be a bunch of button (browse, senders, implementors, versions, ..., source). My buttons are missing.
2) How do I get the small workspace area above the buttons to appear? There is supposed to be an area that I can type in, below the top panes, and above the buttons, but it doesn't appear.
Thanks in advance!
Robert
Edit - I did fool around in the Preferences Browser and tried a lot of settings. I managed to make the buttons come back and then later got that small (unknown name) workspace pane back, but I have no idea how. I have tried to systematically turn stuff off again to find out what setting(s) controlled what, but I was unable to determine what controlled either problem. So even though I have it working, I would like some squeak/smalltalk knowledgeable person to let me know how to control these as it might help me learn...
"In the bottom pane there should be a bunch of button (browse, senders, implementors, versions, ..., source). " -- switch on the optionalButtons preference in the preferences browser.
The "area that I can type in, below the top panes, and above the buttons, but it doesn't appear" sounds like the annotation pane - this gives you summary information about the method you're currently viewing, and it's controlled by the annotationPanes preference. Alternatively you may be referring to the Mercury Panel which is used for fast navigation to other classes and methods; this is (of course :-) controlled by the mercuryPanel preference.
If you've been messing around, you may also find that you now have an incorrect system browser selected. Squeak has a choice of browsers which can act as the System Browser. You can choose between them by clicking the menu button on the System Browser and selecting "Choose new default Browser". Open a new browser window to see what effect this has had.
You may also want to try a Pharo image which has everything configured the way you want by default.
Do you have access to the Preferences Browser? It should be in the main system menu. You can alter all sorts of things via this browser, including which buttons appear in teh system browser?

Multiple windows or "pages" in an application

I am a newbie in Mac application development. I want to write a GUI application in Cocoa using Interface Builder. I want multiple screens i.e. when one button on a screen is clicked, another screen should be displayed. How can I activate a new screen at button click event?
I would heartily recommend Aaron Hilegass's book Cocoa Programming for Mac OS X. It took me from feeling like everything was impossible to being relatively competent in the space of a few short weeks. I was very impressed with it.
Apple's documentation is amazingly good, but it takes a while to get used to the style, and you will need to know which objects actually exist before you can look up how to use them, which is where Aaron's book comes in.
Your library may have a copy of it, or be able to order one for you if they don't.
I think you mean windows, not screens. Screens are the displays (monitors) on which all the user's windows from all the user's applications appear.
And I second Jonathan's recommendation of the Hillegass book.
The button has a target. That should link to the new window. As its action you can tell the window to show itself.
Take a look at:
http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/WinPanel/WinPanel.html
I think what you want is the type of interface like that seen in Coda, or System Preferences where there is a toolbar on the top of the screen that can be used to select between the content of the window.
The simplest method I have found is to use BWToolkit.
Another method is to use a series of views, and switch between them when the toolbar is clicked. I've found one description here, but that's not the one I used first (which may have been originally in Ruby Cocoa, IIRC).
NSTabView.