Have a look at the implementation of DatePickerCell.

On Nov 22, 12:18 am, dleins <[email protected]> wrote:
> John, thanks for the idea, but the goal is to identify a particular
> cell to permit the change of a whole set of parameters when a
> particular cell is selected, not just the text in the cell.  I don't
> want to show all the parameters in the tree, just the label for them.
> The goal would be to pop a dialog box once the cell is selected to
> allow the user to enter all the additional information.  The tree
> construct is useful because it shows the relationships between the
> various nodes.
>
> On Nov 20, 6:03 pm, John LaBanca <[email protected]> wrote:
>
>
>
>
>
>
>
> > Have you tried EditTextCell?  It shows readonly text, but turns into a Text
> > Box when you click on it.  Sounds like what you want.
>
> > Thanks,
> > John LaBanca
> > [email protected]
>
> > On Sat, Nov 20, 2010 at 11:45 AM, dleins <[email protected]> wrote:
> > > I've succeeded in displaying a dynamic Celltree from my database of
> > > nodes, but cannot figure out how to make the displayed TextCells
> > > clickable so that I may edit them, add additional children, etc.  I
> > > admit I am rather a novice using the new Cell Widgets.
>
> > > Here is the stripped down code. I have left out the code that
> > > generates my arraylist of tree node (alNodes).  Any help, thoughts or
> > > suggestions would be greatly appreciated.  A simple example that
> > > popped a Window.alert when a TextCell was clicked would be more than
> > > sufficient!  Perhaps a ClickableTextCell would work?
>
> > >        private class CustomTreeModel implements TreeViewModel {
>
> > >                public <T> NodeInfo<?> getNodeInfo(T value) {
> > >                        ListDataProvider<String> dataProvider = new
> > > ListDataProvider<String>();
>
> > >                        String type = "";
> > >                        Integer parent = 0;
> > >                        Integer child = 0;
>
> > >                        // for the root of the tree
> > >                        if (value == null) {
> > >                                for (int i = 0; i < alNodes.size(); i++) {
> > >                                        if (alNodes.get(i).ruid == 
> > > startnode
> > >  && alNodes.get(i).type ==
> > > "S") {
>
> > >  dataProvider.getList().add(alNodes.get(i).title);
> > >                                                break;
> > >                                        }
> > >                                }
> > >                        } else {
> > >                                // get the current node info from
> > > alNodes ArrayList
> > >                                for (int i = 0; i < alNodes.size(); i++) {
> > >                                        if
> > > (alNodes.get(i).title.equals(value)) {
> > >                                                type = alNodes.get(i).type;
> > >                                                parent =
> > > alNodes.get(i).ruid;
> > >                                                child =
> > > alNodes.get(i).destSituation;
> > >                                        }
> > >                                }
> > >                                // Depending on the type of the
> > > current node, find the child or children for the dataprovider for the
> > > next level
> > >                                if (type.equals("A")) {
> > >                                    for (int j = 0; j < alNodes.size(); 
> > > j++)
> > > {
> > >                                                if (alNodes.get(j).ruid ==
> > > child) {
>
> > >  dataProvider.getList().add(alNodes.get(j).title);
> > >                                                        break;  //  Note
> > > that "A" type nodes will only have a single
> > > child
> > >                                                }
> > >                                    }
> > >                                } else {
> > >                                        for (int j = 0; j < alNodes.size();
> > > j++) {
> > >                                                if
> > > (alNodes.get(j).parentSituation == parent) {
>
> > >  dataProvider.getList().add(alNodes.get(j).title);
> > >                                                }
> > >                                        }
> > >                                }
> > >                        }
>
> > >                        return new DefaultNodeInfo<String>(dataProvider, 
> > > new
> > > TextCell());
> > >                }
>
> > >                public boolean isLeaf(Object value) {
> > >                        String type = "";
> > >                        Integer parent = 0;
> > >                        Integer child = 0;
> > >                        for (int i = 0; i < alNodes.size(); i++) {
> > >                                if (alNodes.get(i).title.equals(value)) {
> > >                                        type = alNodes.get(i).type;
> > >                                        parent = alNodes.get(i).ruid;
> > >                                        child =
> > > alNodes.get(i).destSituation;
> > >                                }
> > >                        }
> > >                        if (type.equals("A")) {
> > >                            for (int j = 0; j < alNodes.size(); j++) {
> > >                                        if (alNodes.get(j).ruid == child) {
> > >                                                return false;
> > >                                        }
> > >                            }
> > >                        } else {
> > >                                for (int j = 0; j < alNodes.size(); j++) {
> > >                                        if (alNodes.get(j).parentSituation
> > > == parent) {
> > >                                                return false;
> > >                                        }
> > >                                }
> > >                        }
> > >                        return true;
> > >                }
> > >        }
>
> > >        public void onModuleLoad() {
>
> > >            Button button = new Button("Start Simulation Editor");
> > >            button.addClickHandler(new ClickHandler() {
> > >                public void onClick(ClickEvent event) {
> > >                    TreeViewModel model = new CustomTreeModel();
> > >                    CellTree tree = new CellTree(model, null);
> > >                    RootPanel.get().add(tree);
> > >                }
> > >            });
> > >            RootPanel.get().add(button);
> > > //  There is code here that populates the alNodes ArrayList.  It works
> > > fine.
> > >        }
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Google Web Toolkit" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-web-toolkit%2Bunsubs
> > >  [email protected]>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-web-toolkit?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to