CSSSELECTOR : fix SelectorDialog position. 83/21583/1
authorjooyoul_lee <jy.exe.lee@samsung.com>
Fri, 23 May 2014 08:05:11 +0000 (17:05 +0900)
committerjooyoul_lee <jy.exe.lee@samsung.com>
Fri, 23 May 2014 08:05:11 +0000 (17:05 +0900)
1. Fixed - where the selector dialog opens.
2. fixed a bug that occurs because of the widget id does not exist.

Change-Id: Ib79ddd9b874ac5ea74aee839fc636e3841690e5b
Signed-off-by: jooyoul_lee <jy.exe.lee@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesigner.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/selector/CSSSelectorDialog.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/selector/CssSelecotrAction.java [moved from org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/action/CssSelecotrAction.java with 87% similarity]

index 7dd506e..6877f84 100644 (file)
@@ -165,7 +165,6 @@ import org.tizen.webuibuilder.outline.OutlinePage;
 import org.tizen.webuibuilder.outline.OutlineRenameAction;
 import org.tizen.webuibuilder.outline.OutlineViewEditPart;
 import org.tizen.webuibuilder.pagetemplate.action.CreateTemplateAction;
-import org.tizen.webuibuilder.pagetemplate.action.CssSelecotrAction;
 import org.tizen.webuibuilder.pagetemplate.action.ExportTemplateAction;
 import org.tizen.webuibuilder.pagetemplate.action.ImportTemplateAction;
 import org.tizen.webuibuilder.pagetemplate.action.NewPageAction;
@@ -174,6 +173,7 @@ import org.tizen.webuibuilder.ui.editor.dnd.listener.TemplateTransferDropTargetL
 import org.tizen.webuibuilder.ui.editor.ruler.DesignerRuler;
 import org.tizen.webuibuilder.ui.editor.ruler.DesignerRulerProvider;
 import org.tizen.webuibuilder.ui.editor.texteditor.TextEditor;
+import org.tizen.webuibuilder.ui.selector.CssSelecotrAction;
 import org.tizen.webuibuilder.ui.views.nscreen.NScreenHistory;
 import org.tizen.webuibuilder.ui.views.nscreen.NScreenItem;
 import org.tizen.webuibuilder.ui.views.nscreen.NScreenUtil;
index 43f8cbb..0eb22da 100644 (file)
@@ -80,7 +80,7 @@ public class CSSSelectorDialog extends BaseMessageBox {
 
             SelectorElement se = (SelectorElement) selected.getData();
 
-            if (null == goingBridge) {
+            if (null == goingBridge || null == se) {
                 return;
             }
             String id = null;
@@ -1,9 +1,10 @@
 
 
-package org.tizen.webuibuilder.pagetemplate.action;
+package org.tizen.webuibuilder.ui.selector;
 
 import java.util.List;
 
+import org.eclipse.draw2d.Figure;
 import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.gef.EditPart;
 import org.eclipse.gef.commands.Command;
@@ -20,8 +21,6 @@ import org.tizen.webuibuilder.model.Part;
 import org.tizen.webuibuilder.ui.actions.WebUIBuilderActionConstants;
 import org.tizen.webuibuilder.ui.contextmenu.Messages;
 import org.tizen.webuibuilder.ui.editor.PageDesigner;
-import org.tizen.webuibuilder.ui.selector.CSSSelectorDialog;
-import org.tizen.webuibuilder.ui.selector.CSSSelectorUtil;
 
 
 public class CssSelecotrAction extends SelectionAction {
@@ -50,8 +49,8 @@ public class CssSelecotrAction extends SelectionAction {
                 EditPart editpart = (EditPart) object;
                 Object model = editpart.getModel();
 
-                if (!(model instanceof Part) || ((Part)model).isDocumentPart()) {
-                    enabled =  false;
+                if (!(model instanceof Part) || ((Part) model).isDocumentPart()) {
+                    enabled = false;
                     break;
                 }
             }
@@ -71,20 +70,24 @@ public class CssSelecotrAction extends SelectionAction {
             DesignerEditPart selectionDesignerPart = selectionParts.get(0);
             Control control = designEditPartViewer.getControl();
 
-            Rectangle rect = selectionDesignerPart.getFigure().getBounds();
-
             Part part = (Part) selectionDesignerPart.getModel();
             String id = part.getIdPropertyValue();
 
+            Rectangle rect = selectionDesignerPart.getFigure().getBounds();
             org.eclipse.swt.graphics.Point p = control.toDisplay(rect.x, rect.y);
 
-            int x = p.x + rect.width, y = p.y;
+            Figure f = (Figure) designEditPartViewer.getCurrentPage().getFigure();
+            Rectangle fr = f.getBounds();
+            Rectangle frc = fr.getCopy();
+            f.translateToAbsolute(frc);
 
             Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-
             CSSSelectorDialog selector = new CSSSelectorDialog(shell, id);
             selector.setGoingBridge(designEditPartViewer.getGoingBridge());
 
+            // 5 means margin between figure and dialog
+            int x = p.x + rect.width + frc.x + 5, y = p.y;
+
             selector.setPosition(x, y);
             String obj = (String) selector.open();
             if (obj == null || obj.isEmpty()) {