Desktop API, New features - please comment!!
Oct 6 2004, 06:21 PM
VCF Lead Developer
Group: Lead Developer
Joined: 2-August 03
Member No.: 2
We currently have the Desktop class with the idea that this class provides a wrapper around the "shell" or desktop that the end user see's. This is roughly analogous to the NSWorkspace ( http://developer.apple.com/documentation/C.../cl/NSWorkspace ) class in Cocoa, and the various SH_XXX shell API's in Win32.
I would like to expand what we currently have to add more features that would (I think) be useful. Also some thing to consider: the name of the class itself. Currently it's called the "Desktop" and links together a number of shell UI related functions. Perhaps a better name might be "Workspace" (like Cocoa uses) or "Shell" ? Any suggestions are most welcome.
Currently we have the ability to "draw" on the screen via the Desktop. This lets us grab a section of screen and draw into it like a normal graphics context. This is useful for things like a rubber band effect for tool bar moving, etc. Next we can get the total width and height, as well as the usuable bounds. The usuable bounds takes into account things like the start bar (Win32) or the Dock (Mac OS). Finally we have some file system info, for example whether or not the desktop exists as a real part of the file system like it does on OS X and Win32 (it did not under the old NeXT Step workspace).
Some features I'd like to see:
The ability to copy/move/delete files. These would use the underlying shell API's for the OS so that we get the standard UI for copying/moving/deleting files. This would make use of the Trash/Recycler where appropriate (for Win32 systems this would be implemented with the SHFileOperation function).
Next would be the ability to properly launch/open a program from a docment name. This is similar to the LaunchServices API on Mac OS or the ShellExecute API on Win32.
Access to the trash might be nice as well. And the ability to empty it programmically.
Getting file information such as the icon image for a file, it's type, what program it opens with, and so on.
It might also be nice to have the possibility to create shortcut's/aliases.
It would be nice to be able to make file associations too.
|Lo-fi Version||: 19th May 2013 - 07:13 PM|