1 package de.orangecafe.amazonrcp.gui.views;
2
3 import org.springframework.richclient.application.support.AbstractView;
4 import org.springframework.richclient.application.event.LifecycleApplicationEvent;
5 import org.springframework.richclient.form.Form;
6 import org.springframework.richclient.form.FormModelHelper;
7 import org.springframework.richclient.dialog.FormBackedDialogPage;
8 import org.springframework.binding.form.HierarchicalFormModel;
9 import org.springframework.context.ApplicationListener;
10 import org.springframework.context.ApplicationEvent;
11
12 import javax.swing.*;
13
14 import de.orangecafe.amazonrcp.gui.forms.SearchResultMasterForm;
15 import de.orangecafe.amazonrcp.helper.SelectedItemListHolder;
16
17 import com.amazon.webservices.awsecommerceservice._2007_04_04.*;
18
19
20
21
22 public class SearchResultView extends AbstractView implements ApplicationListener {
23 private HierarchicalFormModel _searchResultModel;
24 private SelectedItemListHolder _holder;
25
26 protected JComponent createControl() {
27 Items empty = (Items) getApplicationContext().getBean("items");
28 _searchResultModel = FormModelHelper.createCompoundFormModel(empty);
29
30 SearchResultMasterForm searchResultForm = new SearchResultMasterForm(_searchResultModel, "item", "searchResultForm", Item.class, _holder);
31
32 FormBackedDialogPage page = new FormBackedDialogPage(searchResultForm);
33
34 return page.getControl();
35 }
36
37 public void setSelectedItemsHolder(final SelectedItemListHolder holder) {
38 _holder = holder;
39 }
40
41 public void onApplicationEvent(final ApplicationEvent applicationEvent) {
42 if (applicationEvent instanceof LifecycleApplicationEvent) {
43 LifecycleApplicationEvent le = (LifecycleApplicationEvent) applicationEvent;
44
45 if (le.getEventType().equals(LifecycleApplicationEvent.MODIFIED) && le.objectIs(Items.class)) {
46
47 _searchResultModel.setFormObject(le.getObject());
48 }
49 }
50 }
51 }