import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.widgets.Composite;
import org.tizen.emulator.manager.logging.EMLogger;
import org.tizen.emulator.manager.platform.Profile;
import org.tizen.emulator.manager.platform.ProfileList;
+import org.tizen.emulator.manager.renewal.resources.ColorResources;
import org.tizen.emulator.manager.renewal.resources.ImageResources;
import org.tizen.emulator.manager.resources.StringResources;
import org.tizen.emulator.manager.ui.renewal.MainDialog;
private ImageButton modifyButton;
private ImageButton deleteButton;
+ // for error table item
+ private Color backupTableItemForeground;
+ private Color backupTableItemSelectedForeground;
+
public DeviceTemplateTableViewer(Shell shell, String key) {
super(shell, key);
}
@Override
void showTableComposite() {
if (!isInitialized()) {
- setTemplateListTable();
+ makeTemplateListTable();
+ } else if (isNeedRedraw()) {
+ setValueOfTemplateListTable();
+ resetCondition();
}
}
public void refreshDeviceTemplateList() {
ProfileList.settingDeviceTemplateList();
- setTemplateListTable();
+ makeTemplateListTable();
}
private void makeProfileButton() {
});
}
- private void setTemplateListTable() {
+ private void makeTemplateListTable() {
table.removeAll();
for (ProfileButton pButton : profileButtonList) {
if (pButton.getProfile() == null) {
}
}
- table.getColumn(0).setWidth(30);
- table.getColumn(1).setWidth(100);
- for (int i = 2; i < titles.length; i++) {
- table.getColumn(i).pack();
- }
+ tablePack();
}
private void makeTableItem(ProfileButton pButton) {
item = new TableItem(table, SWT.NULL);
}
+ if (template.getValue().isStandard()) {
+ item.setImage(1, pButton.getIcon());
+ } else {
+ item.setImage(1, pButton.getCustomIcon());
+ }
+
//
- setTableItemProperty(pButton, item, template);
+ setTableItemProperty(item, template);
setTableItemMenu(item, template);
//
}
- private void setTableItemProperty(ProfileButton pButton, TableItem item, DeviceTemplate template) {
+ // reset table item value from template property
+ private void setValueOfTemplateListTable() {
+ for (TableItem item : table.getItems()) {
+ DeviceTemplate template = (DeviceTemplate)item.getData();
+ setTableItemProperty(item, template);
+ }
+ tablePack();
+ }
+
+ private void tablePack() {
+ table.getColumn(0).setWidth(30);
+ for (int i = 1; i < titles.length; i++) {
+ table.getColumn(i).pack();
+ }
+ }
+
+ private void setTableItemProperty(TableItem item, DeviceTemplate template) {
DeviceTemplateValue value = template.getValue();
if (value.getSkinPath() != null && !value.getSkinPath().isEmpty()) {
if (value.getSkin() == null || value.isSettingSkinByManager()) {
+ if (backupTableItemForeground == null) {
+ backupTableItemForeground = item.getForeground();
+ }
+ if (backupTableItemSelectedForeground == null) {
+ backupTableItemSelectedForeground = item.getSelectedForground();
+ }
item.setImage(0, ImageResources.ICON_STATE_ERROR.getImage());
- } else {
+ item.setForeground(ColorResources.ERROR_TABLE_ITEM_FONT.getColor());
+ item.setSelectedForeground(ColorResources.ERROR_SELECTED_TABLE_ITEM_FONT.getColor());
+ //
+ setRedrawVMList();
+ //
+ } else if (item.getImage(0) != null){
item.setImage(0, null);
+ item.setForeground(backupTableItemForeground);
+ item.setSelectedForeground(backupTableItemSelectedForeground);
+ //
+ setRedrawVMList();
+ //
}
}
- if (value.isStandard()) {
- item.setImage(1, pButton.getIcon());
- } else {
- item.setImage(1, pButton.getCustomIcon());
- }
-
item.setText(2, value.getName());
item.setText(3, value.getResolution().toString());
item.setText(4, String.valueOf(value.getDisplaySize()) + " " + value.getDisplaySizeUnit());
+ "Check skin directory or change skin directory.";
item.setToolTipText(0, skinError);
} else {
- item.setText(0, "");
+ item.setToolTipText(0, "");
}
String info = "Profile: " + value.getProfile()
}
}
}
+ tablePack();
}
tableSelected();
// for table viewer
addTableItem(pButton, template, 0);
+ tablePack();
table.setSelection(0);
} catch (DeviceWorkerException e) {
return;
}
- ProfileButton pButton = null;
- for (ProfileButton p : profileButtonList) {
- if (p.getProfileName().equals(deviceTemplate.getValue().getProfile())) {
- pButton = p;
- break;
- }
- }
-
try {
newValue.updateVersion();
deviceTemplate.modify(newValue);
// for table viewer
setRedrawVMList();
- setTableItemProperty(pButton, item, deviceTemplate);
- table.redraw();
+ setTableItemProperty(item, deviceTemplate);
+ tablePack();
table.setSelection(item);
} catch (DeviceWorkerException e) {
EMLogger.getLogger().warning(e.getMessage());
setRedrawVMList();
int index = table.indexOf(item);
table.remove(index);
+ tablePack();
if (table.getItemCount() > 0) {
if (index == table.getItemCount()) {
table.setSelection(index - 1);