views:

292

answers:

1

I have an application that works on the concept of 'workspaces' that will eventually be ported to Cocoa.

In the current Windows incarnation the each workspace is an MDI window which can contains sub windows. These sub windows need to be easily separated, visually, from sub windows in other workspaces since workspace state is saved (not the sub windows).

In Cocoa there is no such thing as an MDI which achieves this separation, instead windows are intermingled, making it unclear if, when you save a workspace state, which windows are associated with it. Moreover, when dragging sub windows between workspaces there is no MDI area onto which you can drop the sub windows.

How are these design challenges overcome in Cocoa? Tabbed interfaces (like Safari for example) preclude easy drag and drop between sub windows, a window for each document like in Excel has the problems listed above...

Any ideas? Links to discussions on the topic?

+4  A: 

The usual solution is an Inspector panel. Then you have one document window per document, and one Inspector panel (with multiple sections, as either tabs or expandable groups) for all documents.

Whether a document has multiple windows or not, you should save each document's window positions and sizes automatically when the user closes the document. For one example, Xcode does this with projects.

Peter Hosey