[WASTE-list] Multiple views, shared controller (was: Re: WASTE 3.0 ClickLoop)
Richard Laws
manistyman at yahoo.com
Thu May 24 18:18:18 EDT 2007
Thank you! Now if only I could stop getting that
param error with WENewViewWithCGContext(NULL, ...).
Richard
--- Marco Piovanelli <marco.piovanelli at pobox.com>
wrote:
> On Thu, 24 May 2007 10:26:50 -0700,
> Richard Laws (manistyman at yahoo.com) wrote:
>
>
> >One of the reasons I set aside my
> >WASTE-view-within-a-HIScrollView version of my
> HIView
> >was that I wanted a way of splitting the view to be
> >able to consult (and perhaps modify, copy, paste,
> >etc.) two or more sections of the text in the same
> >HIViewRef. An HIScrollView's text subview would
> have
> >to respond to scrollable "scroll to" events with
> >WEScroll. This is where the concept of
> >WEViewReference might come to the rescue.
>
> Yes, that's the kind of scenario WASTE views were
> designed for.
>
> >Consider the following: A parent HIViewRef is
> created
> >which creates a WASTE instance. It then creates
> and
> >embeds one or more HIScrollViews, each containing a
> >'text' HIViewRef containing a WEViewReference
> created
> >with that single WASTE instance.
>
> You probably want a SplitView (possibly modeled
> after
> the sample code in
> /Developer/Examples/Carbon/SplitView)
> containing two HIScrollViews, each of which, in
> turns,
> contains your WASTE-based HIView. Each WASTE HIView
> would keep its own WEViewReference, but they would
> share
> the same controller (WEReference).
>
> >My question is this: Would the multiple views work
> >independently when receiving scroll to events?
>
> Yes. Each WEViewReference has its own view and
> destination
> rectangles, and can scroll independently of the
> other.
>
> >For example, I have two views of the same
> WEReference.
> >I've set my current WEViewReference to the lower of
> >the two. I click that view's scroll bar. I've got
> to
> >respond to that event (sent by the parent
> >HIScrollView) with WEScroll.
>
> That WEScroll takes a WEReference, rather than a
> more natural WEViewReference, is only a historical
> artifact -- the original WASTE API wasn't designed
> for
> strict model-view-controller separation, but to be a
> drop-in replacement for TextEdit. But internally,
> WEScroll, and many other view-centric APIs, are
> routed
> to the "current" view, which you can change at any
> point
> with WESetCurrentView().
>
> In other words, instead of introducing a bunch of
> parallel view-centric APIs (WEScrollView,
> WESetViewDestRect,
> WESetViewViewRect, WEAdjustCursorInView, etc.) that
> duplicate
> the existing controller-centric APIs, I thought it
> simpler
> to maintain the old APIs, with the implicit
> stipulation
> that they operate on the current view.
>
> >Would the upper view also scroll?
>
> No.
>
> >Or, not being the current WEViewReference, does it
> remain
> >stationary and stay that way when made current
> again?
>
> Yes.
>
>
> -- marco
>
> --
> It's not the data universe only, it's human
> conversation.
> They want to turn it into a one-way flow that they
> have entirely
> monetized. I look at the collective human mind as a
> kind of
> ecosystem. They want to clear cut it. They want to
> go into the
> rainforest of human thought and mow the thing down.
>
>
____________________________________________________________________________________
Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.
http://autos.yahoo.com/green_center/
More information about the WASTE-list
mailing list