Search in sources :

Example 1 with WrapInProvider

use of com.intellij.designer.model.WrapInProvider in project intellij-community by JetBrains.

the class WrapInAction method fill.

public static void fill(DesignerEditorPanel designer, DefaultActionGroup group, EditableArea area) {
    List<RadComponent> selection = area.getSelection();
    if (selection.isEmpty()) {
        return;
    }
    Set<RadComponent> parents = RadComponent.getParents(selection);
    if (parents.size() != 1) {
        return;
    }
    RadComponent parent = parents.iterator().next();
    if (selection.size() > 1) {
        RadLayout layout = parent.getLayout();
        if (layout != null && !layout.isWrapIn(selection)) {
            return;
        }
    }
    WrapInProvider provider = designer.getWrapInProvider();
    if (provider == null) {
        return;
    }
    List<MetaModel> models = provider.getModels();
    if (models.isEmpty()) {
        return;
    }
    DefaultActionGroup wrapGroup = new DefaultActionGroup("Wrap In", true);
    for (MetaModel wrapModel : models) {
        wrapGroup.add(new WrapInAction(designer, area, provider, parent, selection, wrapModel));
    }
//group.add(wrapGroup); // XXX
}
Also used : MetaModel(com.intellij.designer.model.MetaModel) RadLayout(com.intellij.designer.model.RadLayout) RadComponent(com.intellij.designer.model.RadComponent) WrapInProvider(com.intellij.designer.model.WrapInProvider) DefaultActionGroup(com.intellij.openapi.actionSystem.DefaultActionGroup)

Aggregations

MetaModel (com.intellij.designer.model.MetaModel)1 RadComponent (com.intellij.designer.model.RadComponent)1 RadLayout (com.intellij.designer.model.RadLayout)1 WrapInProvider (com.intellij.designer.model.WrapInProvider)1 DefaultActionGroup (com.intellij.openapi.actionSystem.DefaultActionGroup)1