Thanks Todd thats excellent.

I can't get the TableView to go into edit mode using double click. I have set 
rowEditor with a TableViewRowEditor but nothing happens. Do I need to set a 
property somewhere to get it to work?

On Tue, 8 Sep 2009 11:00:39 am Todd Volkert wrote:
> Yep - this type of behavior is supported via the TableView.RowEditor
> interface.  There are two stock editors available for you to use, or you
> can implement your own.  The two stock ones are
> org.apache.pivot.wtk.content.TableViewRowEditor and
> org.apache.pivot.wtk.content.TableViewCellEditor.
>
> This isn't covered in the tutorials yet, so I'll do my best to describe how
> it works here...
>
> You set a row editor on a table view using TableView.setRowEditor().  When
> a row editor has been set, the table view's skin will respond to "edit
> gestures" by invoking the edit() method of the editor.  Right now, the skin
> responds to a double-click on the row.  Once the editor has been called to
> edit, it is responsible for knowing when it should save() or cancel(). 
> Note that you can register key press listeners on the table view and call
> into the editor yourself if you want keyboard gestures to invoke the editor
> as well.
>
> Now as to what the editor does behind the scenes...
>
> The table view isn't a container, so it can't contain list buttons or the
> like -- and renderer's don't receive input.  So generally, editors will
> open a popup over an individual cell or the entire row that makes it look
> like the content of the row changed to input components.  Then when the
> user finishes their edit, the editor closes the popup and updates the model
> of the table view (tableView.getTableData().update(...)).
>
> The stock TableViewRowEditor opens a popup over the entire row in which the
> user can edit all the cells before saving.  Each cell's editor component is
> configurable (you can use a ListButton in one, a Spinner in another, etc.).
> In fact, you can even set up some cells to use Labels (or disabled
> TextInputs) if you don't want them to be editable.  You can see an example
> of this editor in action by running the table view row editor demo
> (org.apache.pivot.demos.roweditor.RowEditorDemo).
>
> The stock TableViewCellEditor opens a popup over an individual cell, and
> that popup always contains a TextInput.  It's not as versatile as
> TableViewRowEditor, but it's lighter and satisfies the common use case of
> simple TextInput-based edits.
>
> If neither of these satisfied your needs and you had to write your own, I'd
> study the two stock editors, because a lot of what you'd have to do would
> be copy/paste from them :)
>
> Let me know if you have any more questions,
> -T
>
> On Mon, Sep 7, 2009 at 8:37 PM, Scott Lanham <[email protected]> wrote:
> > Hi,
> >
> > I am getting a little lost in how to do in place editing in a TableView.
> > When
> > a row is selected I need a ListButton to appear in some of the cells in
> > place
> > of the text that was being displayed. The ListButton is used to edit the
> > cell.
> > Is this possible?
> >
> > Thanks,
> >
> > Scott.

Reply via email to