pivot-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roger Whitcomb <Roger.Whitc...@actian.com>
Subject RE: MVC application
Date Thu, 21 Apr 2016 19:59:22 GMT
Hi Tom,
                So, I think the hooks you're looking for are already in place.  This is the
reason that all the Pivot components specify using Pivot Collections classes instead of the
default Java Collections.  The difference is that the Pivot Collections implement Listeners
for changes in the data.  These listeners call into the Pivot Skin classes when data changes
are detected and signal repaints, etc.
                I'm not sure if these would be sufficient to detect updates in one column
that would affect the value in another column, though.  I think I'd have to see a bit more
code from your application to be sure.
                But I am sure that you should be implementing the "load" and "store" method
calls from your row editor(s) so that the data gets properly updated once the edit is finished.
 But, I think everything beyond will just "work" then.  And if not, there should be ways around
it using the mechanisms that are already in place.


From: Tom Coleman [mailto:tom@soaringclub.org]
Sent: Wednesday, April 20, 2016 11:10 AM
To: user@pivot.apache.org
Subject: Re: MVC application

Hi Roger

Thanks for the quick reply.  Sorry for my delayed response.

I am trying to get a handle on implementing an MVC application using Pivot.   At this point
I am seeing Pivot as the MVC "View", and am searching for hooks that can relate the data contained
in the model to the Pivot "View".

?  View - The view renders the contents of a model. It specifies exactly how the model data
should be presented. If the model data changes, the view must update its presentation as needed.
This can be achieved by using a push model, in which the view registers itself with the model
for change notifications, or a pull model, in which the view is responsible for calling the
model when it needs to retrieve the most current data.

The application is complicated by the fact that model data is interrelated.  In other words,
if a column in a row is updated, other columns may have to be updated as well.  These relationships
can be encoded in an "intermediate representation" of the model data.

I'm pretty sure Pivot has everything to do what I need to do.   After long involvement with
synchronous systems, I'm just struggling to get a handle on the architecture.



On Apr 14, 2016, at 1:23 PM, Roger and Beth Whitcomb <RogerandBeth@rbwhitcomb.com<mailto:RogerandBeth@rbwhitcomb.com>>

Hey Tom,
   I'm not sure what you mean by a "detached MVC approach".  IMO the "store" method of RowEditor
is the canonical place to do the update -- this is what is meant to happen there.
   Can you do the parse beforehand and store some intermediate representation?  That would
be my first thought, without knowing more about the whole process.


On 4/14/16 9:53 AM, Tom Coleman wrote:

Can someone please share some thoughts on an MVC approach to this application using Pivot?

The question arises from trying to figure out how best to rewrite data changed by a TableViewRowEditor.

Data underlying the model is a sequence of bytes, the position and length of which can represent
different data types.   These can be parsed and converted to TableData objects (the model?)
which can be rendered and edited as Pivot ListButtons, TextInputs, and Checkboxes.
The parse is expensive and the position and length data can be stored in the TableData cell
to facilitate the rewrite.

I can probably rewrite the data as part of the "store" process in the RowEditor, but can someone
suggest a more detached MVC approach?


View raw message