blob: 06a6a7a7f74c795414ff260c332dbc361ed0b6d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
package com.vaadin.tests.components.textfield;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
import com.vaadin.data.util.IndexedContainer;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
import com.vaadin.ui.Component;
import com.vaadin.ui.Table;
import com.vaadin.ui.TextField;
import com.vaadin.ui.Button.ClickEvent;
public class TextFieldRelativeWidth extends TestBase {
@Override
public void setup() {
TextField tf = new TextField("test", "testing");
tf.setWidth("100%");
EditTable t = new EditTable();
t.setButtonCaption("Click to add new Key Research Question");
t.setInputPrompt("Key Reseach question");
t.setInputPromptChild("Question details");
t.addNewRow();
addComponent(t);
}
public class EditTable extends Table implements Button.ClickListener {
private Button addButton = new Button("Add new row",
(Button.ClickListener) this);
private String inputPrompt;
private String inputPromptChild;
private int nextItemIndex = 1;
private static final long serialVersionUID = 3326806911297977454L;
public EditTable() {
setColumnHeaderMode(Table.COLUMN_HEADER_MODE_HIDDEN);
inputPrompt = "";
setPageLength(100);
setHeight("100%");
setSizeFull();
addContainerProperty("id", Integer.class, null);
addContainerProperty("text", Component.class, null);
addContainerProperty("button", Button.class, null);
setColumnExpandRatio("text", 1);
Item i = getItem(addItem());
i.getItemProperty("text").setValue(addButton);
setImmediate(true);
setSelectable(true);
addListener(new Property.ValueChangeListener() {
private static final long serialVersionUID = 448896474865195605L;
public void valueChange(
com.vaadin.data.Property.ValueChangeEvent event) {
IndexedContainer idc = (IndexedContainer) getContainerDataSource();
}
});
}
public void addNewRow() {
IndexedContainer idc = (IndexedContainer) this
.getContainerDataSource();
int size = idc.size();
Object itemId = idc.addItemAt(size - 1);
Item newItem = idc.getItem(itemId);
TextField tf = new TextField();
if (inputPrompt != null && inputPrompt.length() > 0) {
tf.setInputPrompt(inputPrompt);
}
tf.setWidth("100%");
newItem.getItemProperty("id").setValue(nextItemIndex);
nextItemIndex++;
newItem.getItemProperty("text").setValue(tf);
setValue(itemId);
itemId = idc.addItemAt(size);
newItem = idc.getItem(itemId);
tf = new TextField();
if (inputPromptChild != null && inputPromptChild.length() > 0) {
tf.setInputPrompt(inputPromptChild);
}
tf.setRows(1);
tf.setHeight("45px");
tf.setWidth("100%");
tf.addStyleName("childtf");
newItem.getItemProperty("text").setValue(tf);
}
public void setButtonCaption(String caption) {
addButton.setCaption(caption);
}
public void buttonClick(ClickEvent event) {
Button b = event.getButton();
if (b == addButton) {
this.select(getNullSelectionItemId());
addNewRow();
}
}
public void setInputPrompt(String string) {
inputPrompt = string;
}
public void setInputPromptChild(String string) {
inputPromptChild = string;
}
}
@Override
protected String getDescription() {
return "The table has 3 columns. The second column is expanded and contains 100% wide textfields. These should fill the available space. The third column is empty.";
}
@Override
protected Integer getTicketNumber() {
return 3145;
}
}
|