View Javadoc

1   package de.orangecafe.amazonrcp.gui.forms;
2   
3   import org.springframework.richclient.form.AbstractDetailForm;
4   import org.springframework.richclient.form.builder.TableFormBuilder;
5   import org.springframework.binding.form.HierarchicalFormModel;
6   import org.springframework.binding.value.ValueModel;
7   import org.springframework.binding.value.support.ObservableList;
8   
9   import javax.swing.*;
10  
11  /**
12   * @author Torsten Strasser
13   */
14  public class SearchResultDetailForm extends AbstractDetailForm {
15      public SearchResultDetailForm(final HierarchicalFormModel hierarchicalFormModel, final String formId, final ValueModel valueModel, final ObservableList observableList) {
16          super(hierarchicalFormModel, formId, valueModel, observableList);
17      }
18  
19      protected JComponent createFormControl() {
20          JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
21  
22          splitPane.setLeftComponent(createLeftPane());
23          splitPane.setRightComponent(createRightPane());
24  
25          splitPane.setDividerLocation(((int) (getActiveWindow().getControl().getWidth() * 0.7)));        
26  
27          return splitPane;
28      }
29  
30      @Override
31      public void reset() {
32          //TODO: check this!
33          // Do nothing. implementation of the parent class causes an exception.
34          // seems that this exception is caused by the complex domain-model
35      }
36  
37      private JComponent createLeftPane() {
38          TableFormBuilder formBuilder = new TableFormBuilder(getBindingFactory());
39  
40          formBuilder.add("itemAttributes.title");
41          formBuilder.row();
42          formBuilder.add("itemAttributes.author");
43          formBuilder.row();
44          formBuilder.add("itemAttributes.ISBN");
45          formBuilder.row();
46          formBuilder.add("itemAttributes.numberOfPages");
47          formBuilder.row();
48          formBuilder.add("offerSummary.lowestNewPrice");
49          formBuilder.row();
50          formBuilder.add("itemAttributes.publicationDate");
51          formBuilder.row();
52          formBuilder.add("itemAttributes.publisher");
53          formBuilder.row();
54          formBuilder.add("detailPageURL");
55  
56          //formBuilder.getLayoutBuilder().cell(createButtonBar());
57          //updateControlsForState();
58  
59          return getComponentFactory().createScrollPane(formBuilder.getForm());
60      }
61  
62      private JComponent createRightPane() {
63          TableFormBuilder formBuilder = new TableFormBuilder(getBindingFactory());
64  
65          formBuilder.getLayoutBuilder().cell(getBindingFactory().createBinding(com.amazon.webservices.awsecommerceservice._2007_04_04.Image.class, "mediumImage").getControl());
66          //formBuilder.add("mediumImage");
67  
68          return formBuilder.getForm();
69      }
70  }