Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to imitate the workflow view of Automator?
    primarykey
    data
    text
    <p>I’m starting to develop my first full-blown Cocoa application containing a view which I would like to behave (and look) similar to Automator’s <code>AMWorkflowView</code>. </p> <p>The basic features I’d like to achieve:</p> <ul> <li>Positioning of subviews</li> <li>Display of subviews in expanded / collapsed states</li> <li>Multiple selection</li> <li>Drag and drop</li> </ul> <p>In order to get accustomed to Cocoa, I started with a custom <code>NSView</code> which mainly served as a container for the custom subviews and handled their positioning and multiple selection. The subviews are also subclasses of <code>NSView</code>, and contain a variable amount of views themselves, like buttons, labels and popup menus, and therefore can have different heights. This worked quite well, but before going on, I want to make sure to have everything neat and tidy according to the MVC pattern. </p> <p>I suspect that there already is a class in Cocoa that facilitates the implementation of a view container, like maybe <code>NSCollectionView</code>. <a href="https://stackoverflow.com/questions/2308798/is-there-a-way-to-have-varying-views-in-an-nscollectionview">It seems that there is no (easy) way</a> to display differently sized views in an <code>NSCollectionView</code>, though. Should I continue implementing my custom <code>NSView</code> (probably using an <code>NSArrayController</code> for selection and sorting support), or are there better ways to go?</p> <p>Any help is much appreciated</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload