From ccf4d18f2131b21c6f8af639785258adfd54612c Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Thu, 1 Oct 2015 17:59:17 +0900 Subject: [PATCH] Device Template: add custom device template icon - seperate custom device template and standard device template - add refresh function to device template table viewer Change-Id: If35356e594102bc7dfc4edb8a618e056bfe824d0 Signed-off-by: jihye424.kim --- resource/renewal/res/icon_type_mobile_custom.png | Bin 0 -> 2857 bytes resource/renewal/res/icon_type_tv_custom.png | Bin 0 -> 2841 bytes resource/renewal/res/icon_type_wearable_custom.png | Bin 0 -> 2883 bytes .../manager/devices/DeviceTemplateValue.java | 8 ++ .../emulator/manager/platform/ProfileList.java | 10 ++- .../manager/renewal/resources/ImageResources.java | 3 + .../tableviewer/DeviceTemplateTableViewer.java | 86 ++++++++++++++------- .../ui/renewal/tableviewer/ProfileButton.java | 19 +++++ .../ui/renewal/tableviewer/ProfileButtonMaker.java | 4 + .../ui/renewal/tableviewer/VMListTable.java | 2 + 10 files changed, 99 insertions(+), 33 deletions(-) create mode 100644 resource/renewal/res/icon_type_mobile_custom.png create mode 100644 resource/renewal/res/icon_type_tv_custom.png create mode 100644 resource/renewal/res/icon_type_wearable_custom.png diff --git a/resource/renewal/res/icon_type_mobile_custom.png b/resource/renewal/res/icon_type_mobile_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..720bb61bb63be14d6f7b86bf54246a56e1679bcc GIT binary patch literal 2857 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 Hu0mjf{=ZEx literal 0 HcmV?d00001 diff --git a/resource/renewal/res/icon_type_tv_custom.png b/resource/renewal/res/icon_type_tv_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..0f11a3ac835940fe9c729d375cdae6e874e754e7 GIT binary patch literal 2841 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 literal 0 HcmV?d00001 diff --git a/src/org/tizen/emulator/manager/devices/DeviceTemplateValue.java b/src/org/tizen/emulator/manager/devices/DeviceTemplateValue.java index 216f680..a557171 100644 --- a/src/org/tizen/emulator/manager/devices/DeviceTemplateValue.java +++ b/src/org/tizen/emulator/manager/devices/DeviceTemplateValue.java @@ -45,6 +45,7 @@ import org.tizen.emulator.manager.vms.RESOLUTION; public class DeviceTemplateValue implements Cloneable { private DeviceTemplate template; + private boolean isStandard = false; private String name = ""; private String type; private String profile; @@ -89,6 +90,9 @@ public class DeviceTemplateValue implements Cloneable { if (conf.getBaseInformation() != null) { name = conf.getBaseInformation().getName(); type = conf.getBaseInformation().getType(); + if (type.equals("standard")) { + isStandard = true; + } profile = conf.getBaseInformation().getProfile(); extenstion = conf.getBaseInformation().getExtension(); priority = conf.getBaseInformation().getPriority().intValue(); @@ -180,6 +184,10 @@ public class DeviceTemplateValue implements Cloneable { return template; } + public boolean isStandard() { + return isStandard; + } + public void setTemplate(DeviceTemplate template) { this.template = template; } diff --git a/src/org/tizen/emulator/manager/platform/ProfileList.java b/src/org/tizen/emulator/manager/platform/ProfileList.java index 0fcd6c7..e639770 100644 --- a/src/org/tizen/emulator/manager/platform/ProfileList.java +++ b/src/org/tizen/emulator/manager/platform/ProfileList.java @@ -88,6 +88,10 @@ public class ProfileList { settingVMPropertyListInternal(); } + public static void settingDeviceTemplateList() { + settingDeviceTemplateListInternal(true); + } + private static void initProfileList() { File platforms = new File(FilePathResources.getPlatformsPath()); if (!platforms.exists() || !platforms.isDirectory()) { @@ -134,7 +138,7 @@ public class ProfileList { settingVMPropertyListInternal(); // make device template list - settingDeviceTemplateListInternal(); + settingDeviceTemplateListInternal(false); // remove invalid last-created property file. checkLastCreatedPropertyFile(); @@ -310,12 +314,12 @@ public class ProfileList { } } - private static void settingDeviceTemplateListInternal() { + private static void settingDeviceTemplateListInternal(boolean isRefresh) { for (Profile p : profileList) { p.clearTemplateList(); } - for (DeviceTemplate template : DeviceTemplateList.getDeviceTemplateList(false)) { + for (DeviceTemplate template : DeviceTemplateList.getDeviceTemplateList(isRefresh)) { for (Profile profile : profileList) { if (profile.getName().equals(template.getValue().getProfile())) { profile.addDeviceTemplate(template); diff --git a/src/org/tizen/emulator/manager/renewal/resources/ImageResources.java b/src/org/tizen/emulator/manager/renewal/resources/ImageResources.java index 26cc531..7ab25e4 100644 --- a/src/org/tizen/emulator/manager/renewal/resources/ImageResources.java +++ b/src/org/tizen/emulator/manager/renewal/resources/ImageResources.java @@ -191,6 +191,9 @@ public enum ImageResources { ICON_TYPE_MOBILE("icon_type_mobile"), ICON_TYPE_TV("icon_type_tv"), ICON_TYPE_WEARABLE("icon_type_wearable"), + ICON_TYPE_MOBILE_CUSTOM("icon_type_mobile_custom"), + ICON_TYPE_TV_CUSTOM("icon_type_tv_custom"), + ICON_TYPE_WEARABLE_CUSTOM("icon_type_wearable_custom"), ICON_SELECTED_MOBILE("icon_selected_mobile"), ICON_SELECTED_TV("icon_selected_tv"), ICON_SELECTED_WEARABLE_ROUND("icon_selected_wearable_round"), diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java index 0713c61..9854d1b 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java @@ -66,8 +66,8 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { private static final int BUTTON_WIDTH = 32; private static final int BUTTON_HEIGHT = 26; - Hyperlink baseImageList; - ImageButton refreshButton; + private Hyperlink baseImageList; + private ImageButton refreshButton; private Composite comp; private boolean isTableInitialize = false; @@ -124,7 +124,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { @Override public void widgetSelected(SelectionEvent arg0) { - // TODO + refreshDeviceTemplateList(); } }); @@ -146,6 +146,20 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { setLayout(); } + @Override + void showTableComposite() { + if (!isTableInitialize) { + setTemplateList(); + isTableInitialize = true; + } + + } + + public void refreshDeviceTemplateList() { + ProfileList.settingDeviceTemplateList(); + setTemplateList(); + } + private void makeProfileButton() { profileButtonList = new ArrayList(); profileButtonList.add(ProfileButtonMaker.getProfileButton("mobile", comp)); @@ -187,7 +201,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { }); } - private String[] titles = {"", "Type", "Name", "Resolution", "Display Size", "Ram", "Processor"}; + private String[] titles = {"Type", "Name", "Resolution", "Display Size", "Ram", "Processor"}; private void makeTable() { table = new Table(comp, SWT.BORDER); @@ -199,7 +213,6 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { table.setSelectedItemHeight(table.getItemHeight()); table.getColumn(0).setResizable(false); - table.getColumn(1).setResizable(false); table.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { @@ -209,19 +222,19 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } }); + table.getColumn(1).addListener(SWT.Selection, table.getDefaultSortListener()); table.getColumn(2).addListener(SWT.Selection, table.getDefaultSortListener()); table.getColumn(3).addListener(SWT.Selection, table.getDefaultSortListener()); table.getColumn(4).addListener(SWT.Selection, table.getDefaultSortListener()); table.getColumn(5).addListener(SWT.Selection, table.getDefaultSortListener()); - table.getColumn(6).addListener(SWT.Selection, table.getDefaultSortListener()); - table.getColumn(1).addListener(SWT.Selection, new Listener() { + table.getColumn(0).addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { TableColumn column = (TableColumn)event.widget; // set column table.settingSortColumn(column); - // make item compareable list + // make comparable item list int dir = table.getSortDirection(); ItemProfilePair[] pairs = new ItemProfilePair[table.getItemCount()]; for (int i = 0; i < table.getItemCount(); i++) { @@ -235,20 +248,6 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { }); } - protected void tableSelected() { - // TODO Auto-generated method stub - - } - - @Override - void showTableComposite() { - if (!isTableInitialize) { - setTemplateList(); - isTableInitialize = true; - } - - } - private void setTemplateList() { table.removeAll(); for (ProfileButton pButton : profileButtonList) { @@ -260,8 +259,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } } - table.getColumn(0).setWidth(30); - table.getColumn(1).setWidth(100); + table.getColumn(0).setWidth(100); for (int i = 1; i < titles.length; i++) { table.getColumn(i).pack(); } @@ -290,18 +288,22 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } // - item.setImage(1, pButton.getIcon()); + if (template.getValue().isStandard()) { + item.setImage(0, pButton.getIcon()); + } else { + item.setImage(0, pButton.getCustomIcon()); + } setTableItemProperty(item, template); // } private void setTableItemProperty(TableItem item, DeviceTemplate template) { DeviceTemplateValue value = template.getValue(); - item.setText(2, value.getName()); - item.setText(3, value.getResolution().toString()); - item.setText(4, String.valueOf(value.getDisplaySize()) + " " + value.getDisplaySizeUnit()); - item.setText(5, String.valueOf(value.getRamSize()) + " " + value.getRamSizeUnit()); - item.setText(6, String.valueOf(value.getCpuCount())); + item.setText(1, value.getName()); + item.setText(2, value.getResolution().toString()); + item.setText(3, String.valueOf(value.getDisplaySize()) + " " + value.getDisplaySizeUnit()); + item.setText(4, String.valueOf(value.getRamSize()) + " " + value.getRamSizeUnit()); + item.setText(5, String.valueOf(value.getCpuCount())); item.setData(template); } @@ -339,6 +341,8 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } } } + + tableSelected(); } @Override @@ -410,8 +414,30 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } } }); + + deleteButton.setEnabled(false); + modifyButton.setEnabled(false); + cloneButton.setEnabled(false); } + private void tableSelected() { + if (table.getSelectionCount() == 0) { + deleteButton.setEnabled(false); + modifyButton.setEnabled(false); + cloneButton.setEnabled(false); + } else { + DeviceTemplate template = (DeviceTemplate)table.getSelection()[0].getData(); + if (template.getValue().isStandard()) { + deleteButton.setEnabled(false); + modifyButton.setEnabled(false); + cloneButton.setEnabled(true); + } else { + deleteButton.setEnabled(true); + modifyButton.setEnabled(true); + cloneButton.setEnabled(true); + } + } + } private void setLayout() { // composite is form layout diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButton.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButton.java index 1273d10..b914669 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButton.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButton.java @@ -40,6 +40,7 @@ public class ProfileButton { private ImageButton button; private Image icon; private Image selectedIcon; + private Image customIcon; // for create vm combo private Image createIcon; @@ -89,6 +90,10 @@ public class ProfileButton { } public Image getSelectedIcon() { + if (selectedIcon == null) { + selectedIcon = icon; + } + return selectedIcon; } @@ -97,10 +102,24 @@ public class ProfileButton { } public Image getCreateIcon() { + if (createIcon == null) { + createIcon = icon; + } return createIcon; } public void setCreateIcon(Image createIcon) { this.createIcon = createIcon; } + + public Image getCustomIcon() { + if (customIcon == null) { + customIcon = icon; + } + return customIcon; + } + + public void setCustomIcon(Image customIcon) { + this.customIcon = customIcon; + } } diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButtonMaker.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButtonMaker.java index 8a29d16..87b4cb7 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButtonMaker.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/ProfileButtonMaker.java @@ -53,6 +53,7 @@ public class ProfileButtonMaker { profileButton.setIcon(ImageResources.ICON_TYPE_MOBILE.getImage()); profileButton.setSelectedIcon(ImageResources.ICON_SELECTED_MOBILE.getImage()); profileButton.setCreateIcon(ImageResources.ICON_CREATE_MOBILE.getImage()); + profileButton.setCustomIcon(ImageResources.ICON_TYPE_MOBILE_CUSTOM.getImage()); } } else if (name.equals("tv")){ button = makeTVButton(comp); @@ -61,6 +62,7 @@ public class ProfileButtonMaker { profileButton.setIcon(ImageResources.ICON_TYPE_TV.getImage()); profileButton.setSelectedIcon(ImageResources.ICON_SELECTED_TV.getImage()); profileButton.setCreateIcon(ImageResources.ICON_CREATE_TV.getImage()); + profileButton.setCustomIcon(ImageResources.ICON_TYPE_TV_CUSTOM.getImage()); } } else if (name.equals("wearable")) { button = makeWearableButton(comp); @@ -69,6 +71,7 @@ public class ProfileButtonMaker { profileButton.setIcon(ImageResources.ICON_TYPE_WEARABLE.getImage()); profileButton.setSelectedIcon(ImageResources.ICON_SELECTED_WEARABLE_SQUARE.getImage()); profileButton.setCreateIcon(ImageResources.ICON_CREATE_WEARABLE.getImage()); + profileButton.setCustomIcon(ImageResources.ICON_TYPE_WEARABLE_CUSTOM.getImage()); } } else { Profile profile = ProfileList.getProfile(name); @@ -83,6 +86,7 @@ public class ProfileButtonMaker { profileButton.setSelectedIcon(PluginImageResources.ICON_SELECTED_TYPE.getImage(p.getName())); // TODO profileButton.setSelectedIcon(PluginImageResources.ICON_CREATE_TYPE.getImage(p.getName())); + //profileButton.setCustomIcon(ImageResources.ICON_TYPE_CUSTOM.getImage()); } } } diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/VMListTable.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/VMListTable.java index 94b00b7..351cd03 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/VMListTable.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/VMListTable.java @@ -242,6 +242,8 @@ public class VMListTable { } } } + + tableSelected(); } @Override -- 2.7.4