Search in sources :

Example 6 with ISapphirePart

use of org.eclipse.sapphire.ui.ISapphirePart in project liferay-ide by liferay.

the class TemplateOpenActionHandler method notification.

protected Notification notification(Presentation context) {
    ISapphirePart part = context.part();
    if (part instanceof DetailSectionPart) {
        DetailSectionPart pageBook = part.nearest(DetailSectionPart.class);
        FormPart currentPage = pageBook.getCurrentPage();
        Element element = currentPage.getLocalModelElement();
        return element.nearest(Notification.class);
    }
    SapphirePart spPart = context.part();
    Element element = spPart.getLocalModelElement();
    return element.nearest(Notification.class);
}
Also used : FormPart(org.eclipse.sapphire.ui.forms.FormPart) Element(org.eclipse.sapphire.Element) ISapphirePart(org.eclipse.sapphire.ui.ISapphirePart) DetailSectionPart(org.eclipse.sapphire.ui.forms.DetailSectionPart) SapphirePart(org.eclipse.sapphire.ui.SapphirePart) ISapphirePart(org.eclipse.sapphire.ui.ISapphirePart)

Example 7 with ISapphirePart

use of org.eclipse.sapphire.ui.ISapphirePart in project liferay-ide by liferay.

the class NewNodeAddActionHandler method insertDiagramPart.

public Object insertDiagramPart(Presentation context, boolean enableDirectEditing) {
    ISapphirePart spPart = getNodeTemplate().parent();
    SapphireDiagramEditorPagePart diagramPart = (SapphireDiagramEditorPagePart) spPart;
    DiagramNodePart nodePart = getNodeTemplate().createNewDiagramNode();
    Point pt = diagramPart.getMouseLocation();
    nodePart.setNodeBounds(pt.getX(), pt.getY());
    if (enableDirectEditing) {
        // Select the new node and put it in direct-edit mode
        diagramPart.selectAndDirectEdit(nodePart);
    }
    return nodePart;
}
Also used : SapphireDiagramEditorPagePart(org.eclipse.sapphire.ui.diagram.editor.SapphireDiagramEditorPagePart) ISapphirePart(org.eclipse.sapphire.ui.ISapphirePart) Point(org.eclipse.sapphire.ui.Point) DiagramNodePart(org.eclipse.sapphire.ui.diagram.editor.DiagramNodePart)

Example 8 with ISapphirePart

use of org.eclipse.sapphire.ui.ISapphirePart in project liferay-ide by liferay.

the class ShowDiagramPartActionHandler method run.

@Override
protected Object run(Presentation context) {
    SapphireDiagramEditorPagePart diagramPart = context.part().nearest(SapphireDiagramEditorPagePart.class);
    if (diagramPart != null) {
        LabelProvider labelProvider = new LabelProvider() {

            @Override
            public Image getImage(Object element) {
                if (element instanceof DiagramNodePart) {
                    DiagramNodePart diagramNodePart = (DiagramNodePart) element;
                    Element modelElement = diagramNodePart.getLocalModelElement();
                    return diagramPart.getSwtResourceCache().image(modelElement.type().image());
                } else if (element instanceof DiagramConnectionPart) {
                    return diagramPart.getSwtResourceCache().image(Transition.TYPE.image());
                } else {
                    return diagramPart.getSwtResourceCache().image(WorkflowNode.TYPE.image());
                }
            }

            @Override
            public String getText(Object element) {
                if (element instanceof DiagramNodePart) {
                    return ((DiagramNodePart) element).getId();
                } else if (element instanceof DiagramConnectionPart) {
                    return ((DiagramConnectionPart) element).getLabel();
                } else {
                    if (element != null) {
                        return element.toString();
                    }
                    return "";
                }
            }
        };
        ElementListSelectionDialog dialog = new ElementListSelectionDialog(((SwtPresentation) context).shell(), labelProvider);
        List<SapphirePart> parts = new ArrayList<>();
        parts.addAll(diagramPart.getNodes());
        parts.addAll(diagramPart.getConnections());
        dialog.setElements(parts.toArray());
        dialog.setMultipleSelection(false);
        dialog.setHelpAvailable(false);
        dialog.setTitle("Find Part");
        dialog.setMessage("Select part:");
        dialog.open();
        Object[] result = dialog.getResult();
        if ((result != null) && (result.length == 1)) {
            // select node in diagram
            ISapphirePart part = (ISapphirePart) result[0];
            if (part instanceof DiagramConnectionPart || part instanceof DiagramNodePart) {
                /*
					 * diagramPart.setSelections( ReadOnlyListFactory.create(
					 * part ) );
					 */
                SapphireDiagramEditor diagramEditor = diagramPart.adapt(SapphireDiagramEditor.class);
                GraphicalViewer viewer = diagramEditor.getGraphicalViewer();
                GraphicalEditPart editpart = diagramEditor.getGraphicalEditPart(part);
                if (editpart != null) {
                    // Force a layout first.
                    viewer.flush();
                    viewer.select(editpart);
                    viewer.reveal(editpart);
                }
            }
        }
    }
    return null;
}
Also used : GraphicalViewer(org.eclipse.gef.GraphicalViewer) Element(org.eclipse.sapphire.Element) ArrayList(java.util.ArrayList) SapphireDiagramEditor(org.eclipse.sapphire.ui.swt.gef.SapphireDiagramEditor) ISapphirePart(org.eclipse.sapphire.ui.ISapphirePart) SapphirePart(org.eclipse.sapphire.ui.SapphirePart) ISapphirePart(org.eclipse.sapphire.ui.ISapphirePart) SapphireDiagramEditorPagePart(org.eclipse.sapphire.ui.diagram.editor.SapphireDiagramEditorPagePart) ElementListSelectionDialog(org.eclipse.ui.dialogs.ElementListSelectionDialog) DiagramConnectionPart(org.eclipse.sapphire.ui.diagram.DiagramConnectionPart) LabelProvider(org.eclipse.jface.viewers.LabelProvider) GraphicalEditPart(org.eclipse.gef.GraphicalEditPart) DiagramNodePart(org.eclipse.sapphire.ui.diagram.editor.DiagramNodePart)

Aggregations

ISapphirePart (org.eclipse.sapphire.ui.ISapphirePart)8 WorkflowDefinitionEditor (com.liferay.ide.kaleo.ui.editor.WorkflowDefinitionEditor)3 Element (org.eclipse.sapphire.Element)3 DiagramNodePart (org.eclipse.sapphire.ui.diagram.editor.DiagramNodePart)3 SapphireDiagramEditorPagePart (org.eclipse.sapphire.ui.diagram.editor.SapphireDiagramEditorPagePart)3 SapphirePart (org.eclipse.sapphire.ui.SapphirePart)2 DetailSectionPart (org.eclipse.sapphire.ui.forms.DetailSectionPart)2 FormPart (org.eclipse.sapphire.ui.forms.FormPart)2 SapphireDiagramEditor (org.eclipse.sapphire.ui.swt.gef.SapphireDiagramEditor)2 WorkflowSupportManager (com.liferay.ide.kaleo.core.WorkflowSupportManager)1 Scriptable (com.liferay.ide.kaleo.core.model.Scriptable)1 Task (com.liferay.ide.kaleo.core.model.Task)1 WorkflowDefinition (com.liferay.ide.kaleo.core.model.WorkflowDefinition)1 WorkflowDefinitionEditorInput (com.liferay.ide.kaleo.ui.editor.WorkflowDefinitionEditorInput)1 WorkflowDefinitionEntry (com.liferay.ide.kaleo.ui.navigator.WorkflowDefinitionEntry)1 ArrayList (java.util.ArrayList)1 IFile (org.eclipse.core.resources.IFile)1 GraphicalEditPart (org.eclipse.gef.GraphicalEditPart)1 GraphicalViewer (org.eclipse.gef.GraphicalViewer)1 CreationFactory (org.eclipse.gef.requests.CreationFactory)1