properties = new PropertiesHolder();
} else {
properties = (PropertiesHolder) asset.content;
}
Panel panel = new Panel();
panel.setBorder(false);
panel.setPaddings(15);
final RecordDef recordDef = new RecordDef(
new FieldDef[]{new StringFieldDef("key"), new StringFieldDef("value")} //NON-NLS
);
String[][] data = new String[properties.list.size()][];
int dataIndex = 0;
for (PropertyHolder holder : properties.list) {
data[dataIndex++] = new String[]{holder.name, holder.value};
}
MemoryProxy proxy = new MemoryProxy(data);
store = new Store(proxy, new ArrayReader(recordDef));
store.load();
ColumnConfig keyCol = new ColumnConfig("Key?", "key", 100, true, null, "key"); //NON-NLS
keyCol.setEditor(new GridEditor(new TextField()));
keyCol.setFixed(false);
ColumnConfig valueCol = new ColumnConfig("Value?", "value", 100, true, null, "value"); //NON-NLS
valueCol.setEditor(new GridEditor(new TextField()));
valueCol.setFixed(false);
ColumnConfig[] columnConfigs = {keyCol, valueCol};
ColumnModel columnModel = new ColumnModel(columnConfigs);
columnModel.setDefaultSortable(true);
final EditorGridPanel grid = new EditorGridPanel();
Toolbar toolbar = new Toolbar();
ToolbarButton add = new ToolbarButton(constants.Add(), new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
addNewField(recordDef, grid);
}
});
toolbar.addButton(add);
/*ToolbarButton delete = new ToolbarButton("Delete", new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
store.remove(store.getRecordAt(grid.getPosition()[1]));
if(store.getTotalCount() == 0){
addNewField(recordDef, grid);
}
}
});
toolbar.addButton(delete);*/
ToolbarButton clear = new ToolbarButton(constants.Clear(), new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
store.removeAll();
addNewField(recordDef, grid);
}
});
toolbar.addButton(clear);
grid.setStore(store);
grid.setColumnModel(columnModel);
grid.setWidth(215);
grid.setHeight(300);
grid.setTitle(constants.Properties());
grid.setFrame(true);
grid.setClicksToEdit(2);
grid.setTopToolbar(toolbar);
panel.add(grid);
layout.addRow(grid);
}