Search in sources :

Example 1 with SerializedComponentData

use of com.intellij.uiDesigner.SerializedComponentData in project intellij-community by JetBrains.

the class CommonEditActionsProvider method doCopy.

private boolean doCopy(DataContext dataContext) {
    try {
        Element root = new Element("designer");
        root.setAttribute("target", myDesigner.getPlatformTarget());
        List<RadComponent> components = RadComponent.getPureSelection(getArea(dataContext).getSelection());
        RadComponent rootComponent = myDesigner.getRootComponent();
        if (rootComponent instanceof IComponentCopyProvider) {
            IComponentCopyProvider copyProvider = (IComponentCopyProvider) rootComponent;
            copyProvider.copyTo(root, components);
        } else {
            for (RadComponent component : components) {
                component.copyTo(root);
            }
        }
        SerializedComponentData data = new SerializedComponentData(new XMLOutputter().outputString(root));
        CopyPasteManager.getInstance().setContents(new SimpleTransferable(data, DATA_FLAVOR));
        return true;
    } catch (Throwable e) {
        myDesigner.showError("Copy error", e);
        return false;
    }
}
Also used : XMLOutputter(org.jdom.output.XMLOutputter) SerializedComponentData(com.intellij.uiDesigner.SerializedComponentData) SimpleTransferable(com.intellij.designer.clipboard.SimpleTransferable) Element(org.jdom.Element) RadComponent(com.intellij.designer.model.RadComponent) IComponentCopyProvider(com.intellij.designer.model.IComponentCopyProvider)

Example 2 with SerializedComponentData

use of com.intellij.uiDesigner.SerializedComponentData in project intellij-community by JetBrains.

the class CommonEditActionsProvider method getSerializedComponentData.

@Nullable
private String getSerializedComponentData() {
    try {
        Object transferData = CopyPasteManager.getInstance().getContents(DATA_FLAVOR);
        if (transferData instanceof SerializedComponentData) {
            SerializedComponentData data = (SerializedComponentData) transferData;
            String xmlComponents = data.getSerializedComponents();
            if (xmlComponents.startsWith("<designer target=\"" + myDesigner.getPlatformTarget() + "\">")) {
                return xmlComponents;
            }
        }
    } catch (Throwable ignored) {
    // ignored
    }
    return null;
}
Also used : SerializedComponentData(com.intellij.uiDesigner.SerializedComponentData) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

SerializedComponentData (com.intellij.uiDesigner.SerializedComponentData)2 SimpleTransferable (com.intellij.designer.clipboard.SimpleTransferable)1 IComponentCopyProvider (com.intellij.designer.model.IComponentCopyProvider)1 RadComponent (com.intellij.designer.model.RadComponent)1 Element (org.jdom.Element)1 XMLOutputter (org.jdom.output.XMLOutputter)1 Nullable (org.jetbrains.annotations.Nullable)1