[Title] emulator-manager : change HW GL acceleration -> GPU
authorjihye kim <jihye1128.kim@samsung.com>
Wed, 6 Feb 2013 07:48:27 +0000 (16:48 +0900)
committerjihye kim <jihye1128.kim@samsung.com>
Tue, 12 Feb 2013 09:31:57 +0000 (18:31 +0900)
[Desc.] change HW GL acceleration -> GPU
[Issue] N/A

src/org/tizen/emulator/manager/tool/StringResource.java
src/org/tizen/emulator/manager/ui/detail/DetailTableView.java
src/org/tizen/emulator/manager/ui/detail/TableWidget.java
src/org/tizen/emulator/manager/ui/detail/VMPropertyView.java

index c9662be..b444a9b 100644 (file)
@@ -32,8 +32,8 @@ package org.tizen.emulator.manager.tool;
 
 public class StringResource {
        // VMsProperty View
-       public final static String SUPPORTED = "Supported";
-       public final static String NOT_SUPPORTED = "Not supported";
+       public final static String SUPPORTED = "Enabled";
+       public final static String NOT_SUPPORTED = "Disabled";
        public final static String MANUAL_SUPPORT = "Manual support";
 
        public final static String None = "( None )";
index af8db7b..5ea6945 100644 (file)
 package org.tizen.emulator.manager.ui.detail;
 
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
 import org.tizen.emulator.manager.image.BaseImage;
 import org.tizen.emulator.manager.tool.StringResource;
 import org.tizen.emulator.manager.ui.MainDialog;
@@ -60,6 +65,71 @@ public class DetailTableView {
        private VMPropertyView vmView = null;
        private int[] weight = new int[] { 60, 40 };
 
+       // Implement a "fake" tooltip
+    final Listener labelListener = new Listener() {
+      public void handleEvent(Event event) {
+        Label label = (Label) event.widget;
+        Shell shell = label.getShell();
+        switch (event.type) {
+        case SWT.MouseDown:
+          Event e = new Event();
+          e.item = (TableItem) label.getData("_TABLEITEM");
+          // Assuming table is single select, set the selection as if
+          // the mouse down event went through to the table
+          detailTable.setSelection(new TableItem[] { (TableItem) e.item });
+          detailTable.notifyListeners(SWT.Selection, e);
+        // fall through
+        case SWT.MouseExit:
+          shell.dispose();
+          break;
+        }
+      }
+    };
+       Listener tableListener = new Listener() {
+             Shell tip = null;
+
+             Label label = null;
+
+             public void handleEvent(Event event) {
+               switch (event.type) {
+               case SWT.Dispose:
+               case SWT.KeyDown:
+               case SWT.MouseMove: {
+                 if (tip == null)
+                   break;
+                 tip.dispose();
+                 tip = null;
+                 label = null;
+                 break;
+               }
+               case SWT.MouseHover: {
+                 TableItem item = detailTable.getItem(new Point(event.x, event.y));
+                 if (item != null && !item.getText(2).isEmpty()) {
+                   if (tip != null && !tip.isDisposed())
+                     tip.dispose();
+                   tip = new Shell(mainDialog.getShell(), SWT.ON_TOP | SWT.TOOL);
+                   tip.setLayout(new FillLayout());
+                   label = new Label(tip, SWT.NONE);
+                   label.setForeground(Display.getCurrent()
+                       .getSystemColor(SWT.COLOR_INFO_FOREGROUND));
+                   label.setBackground(Display.getCurrent()
+                       .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
+                   label.setData("_TABLEITEM", item);
+                   label.setText(item.getText(2));
+                   label.addListener(SWT.MouseExit, labelListener);
+                   label.addListener(SWT.MouseDown, labelListener);
+                   Point size = tip.computeSize(SWT.DEFAULT, SWT.DEFAULT);
+                   //Rectangle rect = item.getBounds(0);
+                   Point pt = detailTable.toDisplay(event.x, event.y);
+                   tip.setBounds(pt.x + 8, pt.y + 8, size.x, size.y);
+                   tip.setVisible(true);
+                 }
+               }
+               }
+             }
+           };
+       
        public DetailTableView(MainDialog mainDialog) {
                this.mainDialog = mainDialog;
        }
@@ -76,10 +146,17 @@ public class DetailTableView {
                        }
                });
 
+               detailTable.addListener(SWT.Dispose, tableListener);
+               detailTable.addListener(SWT.KeyDown, tableListener);
+               detailTable.addListener(SWT.MouseMove, tableListener);
+               detailTable.addListener(SWT.MouseHover, tableListener);
+
                tableColumn = new TableColumn(detailTable, SWT.NONE);
                tableColumn.setText(StringResource.DETAIL);
                TableColumn tableColumn2 = new TableColumn(detailTable, SWT.NONE);
                tableColumn2.setText("");
+               TableColumn tableColumn3 = new TableColumn(detailTable, SWT.NONE);
+               tableColumn3.setText("");
                vmView = new VMPropertyView(detailTable);
        }
 
index dd60071..5654802 100644 (file)
@@ -69,6 +69,7 @@ public abstract class TableWidget {
        private boolean isCreateMode;
        private TableWidgetChangeListener listener;
        private TableWidget widget;
+       private String tooltip = "";
 
        public TableWidget(String id, boolean isCreate) {
                this.id = id;
@@ -95,6 +96,14 @@ public abstract class TableWidget {
                this.title = title;
        }
 
+       public String getToolTip() {
+               return tooltip;
+       }
+
+       public void setToolTip(String tooltip) {
+               this.tooltip = tooltip;
+       }
+
        public boolean isCreateMode() {
                return isCreateMode;
        }
@@ -975,7 +984,9 @@ class GLAccelerationCombo extends TableWidget {
 
        public GLAccelerationCombo(boolean isCreate) {
                super("gl", isCreate);
-               setTitle("HW GL Acceleration");
+               setTitle("GPU");
+               setToolTip("If you enable the GPU option,\n" +
+                               "the rendering performance of video player or camera may degrade.");
        }
 
        public Control getWidget() {
index 3980ea6..39adf4b 100644 (file)
@@ -35,6 +35,9 @@ import java.util.ArrayList;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.TableEditor;
 import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableItem;
 import org.tizen.emulator.manager.image.BaseImage;
@@ -61,7 +64,7 @@ public class VMPropertyView implements TableWidgetChangeListener {
        ArrayList<TableItem> itemList;
        ArrayList<TableWidget> createList;
        ArrayList<TableWidget> modifyList;
-
+       
        public VMPropertyView(Table table) {
                this.table      = table;
                makeItemList();
@@ -86,6 +89,7 @@ public class VMPropertyView implements TableWidgetChangeListener {
                        widget = list.get(i);
                        itemList.get(i).setText(0, widget.getTitle());
                        itemList.get(i).setText(1, widget.getValue(oldValue));
+                       itemList.get(i).setText(2, widget.getToolTip());
                }
        }
        public void detailView(VMsProperty property) {