Howdy Todd,

I put break points on all the entry points into the testRowEditor and none of 
the break points were triggered. I then updated from SVN and rebuilt 
everything. It now works :-)

Cheers,

Scott.

On Tue, 8 Sep 2009 08:32:04 pm Todd Volkert wrote:
> Hi Scott,
>
> The test code you attached works for me -- I get the "Not supported yet."
> exceptions in the console:
>
> java.lang.UnsupportedOperationException: Not supported yet.
>     at testRowEditor.edit(testRowEditor.java:7)
>     at
> org.apache.pivot.wtk.skin.terra.TerraTableViewSkin.mouseClick(TerraTableVie
>wSkin.java:933) at
> org.apache.pivot.wtk.Component$ComponentMouseButtonListenerList.mouseClick(
>Component.java:514) at
> org.apache.pivot.wtk.Component.mouseClick(Component.java:2580) at
> org.apache.pivot.wtk.Container.mouseUp(Container.java:793)
>     at org.apache.pivot.wtk.Container.mouseUp(Container.java:778)
>     at org.apache.pivot.wtk.Container.mouseUp(Container.java:778)
>     at
> org.apache.pivot.wtk.ApplicationContext$DisplayHost.processMouseEvent(Appli
>cationContext.java:864) at
> java.awt.Component.processEvent(Component.java:6028)
>     at java.awt.Component.dispatchEventImpl(Component.java:4630)
>     at java.awt.Component.dispatchEvent(Component.java:4460)
>     at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
>     at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.jav
>a:269) at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:1
>84) at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.jav
>a:174) at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at
> java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
>
> There haven't been any updates to this part of the codebase in the past few
> days, but just in case, you can try updating from SVN.  Is it possible that
> your setup is sending System.err somewhere else, so you're just not seeing
> the exceptions?
>
> -T
>
> On Mon, Sep 7, 2009 at 10:21 PM, Scott Lanham <[email protected]> wrote:
> > Attached is some test code that doesn't invoke an editor from a double
> > click.
> > All my code uses a database as the data source so I didn't know what to
> > do other than use JSON table data. Hopefully that isn't stopping the
> > editor from
> > being invoked in this case. I have implemented a basic row editor just to
> > see
> > if it is being called, which it isn't.
> >
> > I haven't updated from SVN for a couple of days.
> >
> > On Tue, 8 Sep 2009 11:47:11 am Todd Volkert wrote:
> > > I know the table view's select mode must *not*
> >
> > beTableView.SelectMode.NONE.
> >
> > > Other than that, it should work out of the box.  If it still doesn't
> >
> > work,
> >
> > > can you post a simple test case so we can have a look?
> > >
> > > Oh, one other thing that should have been in the previous email:
> > > TableViewRowEditor uses data binding to populate the individual cell
> >
> > editor
> >
> > > components.  It defaults them all to text inputs and sets their text
> > > key
> >
> > to
> >
> > > the column name.  But you can change any cell's editor by putting the
> > > desired editor component into the cell editors dictionary
> > > (TableViewRowEditor.getCellEditors()).  It's then your responsibility
> > > to set that component's bind key so it gets populated correctly when
> > > the editor opens.  This is done in the row editor demo.
> > >
> > > Thanks,
> > > -T
> > >
> > > On Mon, Sep 7, 2009 at 9:14 PM, Scott Lanham <[email protected]> wrote:
> > > > 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