1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.vectomatic.svg.edit.client.gxt.form;
19
20 import org.vectomatic.svg.edit.client.model.CssMetadata;
21
22 import com.extjs.gxt.ui.client.util.Format;
23 import com.extjs.gxt.ui.client.widget.Component;
24 import com.extjs.gxt.ui.client.widget.LayoutContainer;
25 import com.extjs.gxt.ui.client.widget.form.Field;
26 import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
27 import com.extjs.gxt.ui.client.widget.layout.ColumnData;
28 import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
29 import com.extjs.gxt.ui.client.widget.layout.FormData;
30 import com.extjs.gxt.ui.client.widget.layout.FormLayout;
31
32
33
34
35
36
37
38 public class CssContainer extends LayoutContainer {
39 protected CssMetadata<?> metadata;
40
41 public CssContainer(CssMetadata<?> metadata, Component component) {
42 this.metadata = metadata;
43
44 ResetButtonField buttonField = new ResetButtonField(metadata);
45 buttonField.setName(metadata.getName());
46
47 FormData formData = new FormData("100%");
48 LayoutContainer left = new LayoutContainer();
49 left.setStyleAttribute("paddingRight", "10px");
50 FormLayout layout = new FormLayout();
51 layout.setLabelAlign(LabelAlign.TOP);
52 left.setLayout(layout);
53 if (component instanceof Field) {
54 Field<?> field = (Field<?>)component;
55 field.setFieldLabel(Format.capitalize(metadata.getDescription()));
56 field.setName(metadata.getName());
57 }
58 left.add(component, formData);
59
60 LayoutContainer right = new LayoutContainer();
61 right.setStyleAttribute("paddingLeft", "10px");
62 layout = new FormLayout();
63 layout.setLabelAlign(LabelAlign.TOP);
64 layout.setLabelSeparator("");
65 right.setLayout(layout);
66 right.add(buttonField, formData);
67 setLayout(new ColumnLayout());
68 add(left, new ColumnData(.8f));
69 add(right, new ColumnData(.2f));
70 }
71 }