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;
}
}
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;
}
Aggregations