Visual Edit

This commit is contained in:
Alexander Lobas
2013-02-07 21:00:07 +04:00
parent b0c2745577
commit c3bc6756cd
4 changed files with 23 additions and 2 deletions
@@ -45,6 +45,7 @@ public final class ComponentTreeBuilder extends AbstractTreeBuilder implements C
myExpandStateHandler = new ExpandStateHandler(tree, designer, this);
tree.setArea(myTreeArea);
designer.handleTreeArea(myTreeArea);
new TreeDropListener(tree, myTreeArea, designer.getToolProvider());
@@ -83,7 +84,13 @@ public final class ComponentTreeBuilder extends AbstractTreeBuilder implements C
try {
removeListeners();
if (mySurfaceArea == area) {
myTreeArea.setSelection(mySurfaceArea.getSelection());
try {
myTreeArea.setCanvasSelection(true);
myTreeArea.setSelection(mySurfaceArea.getSelection());
}
finally {
myTreeArea.setCanvasSelection(false);
}
}
else {
mySurfaceArea.setSelection(myTreeArea.getSelection());
@@ -45,6 +45,7 @@ public final class TreeEditableArea implements EditableArea, FeedbackTreeLayer,
private final ComponentTree myTree;
private final AbstractTreeBuilder myTreeBuilder;
private final DesignerActionPanel myActionPanel;
private boolean myCanvasSelection;
public TreeEditableArea(ComponentTree tree, AbstractTreeBuilder treeBuilder, DesignerActionPanel actionPanel) {
myTree = tree;
@@ -169,7 +170,15 @@ public final class TreeEditableArea implements EditableArea, FeedbackTreeLayer,
fireSelectionChanged();
}
//////////////////////////////////////////////////////////////////////////////////////////
public boolean isCanvasSelection() {
return myCanvasSelection;
}
public void setCanvasSelection(boolean canvasSelection) {
myCanvasSelection = canvasSelection;
}
//////////////////////////////////////////////////////////////////////////////////////////
//
// Visual
//
@@ -22,6 +22,7 @@ import com.intellij.designer.ModuleProvider;
import com.intellij.designer.actions.AbstractComboBoxAction;
import com.intellij.designer.actions.DesignerActionPanel;
import com.intellij.designer.componentTree.TreeComponentDecorator;
import com.intellij.designer.componentTree.TreeEditableArea;
import com.intellij.designer.designSurface.tools.*;
import com.intellij.designer.model.*;
import com.intellij.designer.palette.PaletteGroup;
@@ -794,6 +795,9 @@ public abstract class DesignerEditorPanel extends JPanel implements DataProvider
public abstract TreeComponentDecorator getTreeDecorator();
public void handleTreeArea(TreeEditableArea treeArea) {
}
//////////////////////////////////////////////////////////////////////////////////////////
//
// Inspection
@@ -44,6 +44,7 @@ public class RootView extends JComponent {
public void setImage(BufferedImage image) {
myImage = image;
setBounds(myX, myY, image.getWidth(), image.getHeight());
repaint();
}
@Override