1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.common.ui.client.configurable.mvc.multiplicity;
17
18 import org.kuali.student.common.ui.client.widgets.KSButton;
19 import org.kuali.student.common.ui.client.widgets.KSButtonAbstract.ButtonStyle;
20
21 import com.google.gwt.event.dom.client.ClickEvent;
22 import com.google.gwt.event.dom.client.ClickHandler;
23 import com.google.gwt.user.client.ui.Widget;
24
25
26
27
28
29
30
31
32
33
34
35 public abstract class UpdatableMultiplicityComposite extends MultiplicityComposite {
36 protected String addItemLabel;
37 protected String itemLabel;
38 protected boolean readOnly = false;
39
40 public UpdatableMultiplicityComposite(StyleType style){
41 super(style);
42 }
43
44 public UpdatableMultiplicityComposite(StyleType style, boolean readOnly){
45 super(style);
46 this.readOnly=readOnly;
47 }
48
49
50
51
52 @Override
53 public MultiplicityItem getItemDecorator(StyleType style) {
54 org.kuali.student.common.ui.client.configurable.mvc.sections.RemovableItemWithHeader item = new org.kuali.student.common.ui.client.configurable.mvc.sections.RemovableItemWithHeader(style, readOnly);
55 item.setItemLabel(itemLabel + " " + itemCount);
56 return item;
57 }
58
59
60
61
62 public Widget generateAddWidget() {
63
64 if(readOnly){
65 return null;
66 }
67
68 KSButton addWidget;
69 if(style == StyleType.TOP_LEVEL){
70 addWidget = new KSButton(addItemLabel, ButtonStyle.FORM_LARGE);
71 }
72 else{
73 addWidget = new KSButton(addItemLabel, ButtonStyle.FORM_SMALL);
74 }
75 addWidget.addClickHandler(new ClickHandler(){
76 public void onClick(ClickEvent event) {
77 addItem();
78 }
79 });
80 return addWidget;
81 }
82
83
84 public String getAddItemLabel() {
85 return addItemLabel;
86 }
87
88
89 public void setAddItemLabel(String addItemLabel) {
90 this.addItemLabel = addItemLabel;
91 }
92
93 public String getItemLabel() {
94 return itemLabel;
95 }
96
97 public void setItemLabel(String itemLabel) {
98 this.itemLabel = itemLabel;
99 }
100
101
102 }