001 package org.springframework.richclient.samples.simple.ui.binding;
002
003 import org.springframework.binding.form.FormModel;
004 import org.springframework.richclient.form.AbstractForm;
005 import org.springframework.richclient.form.binding.swing.AbstractGlazedListsBinding;
006 import org.springframework.richclient.samples.simple.domain.TodoItem;
007 import org.springframework.richclient.samples.simple.ui.TodoForm;
008 import org.springframework.richclient.widget.table.PropertyColumnTableDescription;
009 import org.springframework.richclient.widget.table.TableDescription;
010
011 public class TodoItemListBinding extends AbstractGlazedListsBinding
012 {
013 public TodoItemListBinding(FormModel formModel, String formPropertyPath)
014 {
015 super(formModel, formPropertyPath);
016 setDialogId("todoItemListBindingDialog");
017 setAddSupported(true);
018 setEditSupported(true);
019 setRemoveSupported(true);
020 setShowDetailSupported(true);
021 }
022
023 protected TableDescription getTableDescription()
024 {
025 PropertyColumnTableDescription desc = new PropertyColumnTableDescription("todoListBinding", TodoItem.class);
026 desc.addPropertyColumn("name");
027 desc.addPropertyColumn("description");
028 return desc;
029 }
030
031 // detail form behavior
032
033 @Override
034 protected Object getNewFormObject()
035 {
036 return new TodoItem();
037 }
038
039 @Override
040 protected AbstractForm createAddEditForm()
041 {
042 return new TodoForm();
043 }
044
045 @Override
046 protected AbstractForm createDetailForm()
047 {
048 AbstractForm f = new TodoForm();
049 f.getFormModel().setReadOnly(true);
050 return f;
051 }
052 }