Search in sources :

Example 1 with SapphireEditorForXml

use of org.eclipse.sapphire.ui.swt.xml.editor.SapphireEditorForXml in project liferay-ide by liferay.

the class OpenPortletResourceAction method selectAndRevealItem.

/**
 * @param editor
 *            TODO: need to work on to fix to reveal the selected node
 */
protected void selectAndRevealItem(IEditorPart editorPart) {
    if (this.editorPart instanceof SapphireEditor) {
        SapphireEditorForXml editor = (SapphireEditorForXml) editorPart;
        PortletNode portletNavigatorNode = (PortletNode) selectedNode;
        Element selectedModelElement = portletNavigatorNode.getModel();
        if (selectedModelElement != null) {
            MasterDetailsEditorPage mdepDetailsEditorPage = (MasterDetailsEditorPage) editor.getActivePageInstance();
            if (mdepDetailsEditorPage != null) {
                MasterDetailsContentOutline contentOutline = mdepDetailsEditorPage.outline();
                MasterDetailsContentNodePart rootNode = contentOutline.getRoot();
                if (rootNode != null) {
                    MasterDetailsContentNodeList nodes = rootNode.nodes();
                    MasterDetailsContentNodePart portletAppNode = nodes.visible().get(0);
                    MasterDetailsContentNodePart portletsNode = portletAppNode.findNode(_PORTLETS_NODE_LABEL);
                    if (portletsNode != null) {
                        if (selectedModelElement instanceof Portlet) {
                            Portlet selectedPortlet = (Portlet) selectedModelElement;
                            for (MasterDetailsContentNodePart childNode : portletsNode.nodes().visible()) {
                                String selectedPortletName = selectedPortlet.getPortletName().content();
                                if (childNode.getModelElement() instanceof Portlet) {
                                    Portlet mpContentNodePortlet = (Portlet) childNode.getModelElement();
                                    String mpContentNodePortletName = mpContentNodePortlet.getPortletName().content();
                                    if (selectedPortletName.equals(mpContentNodePortletName)) {
                                        childNode.select();
                                        childNode.setExpanded(true);
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
Also used : MasterDetailsContentNodeList(org.eclipse.sapphire.ui.forms.MasterDetailsContentNodeList) MasterDetailsContentNodePart(org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart) Portlet(com.liferay.ide.portlet.core.model.Portlet) SapphireEditorForXml(org.eclipse.sapphire.ui.swt.xml.editor.SapphireEditorForXml) MasterDetailsEditorPage(org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage) SapphireEditor(org.eclipse.sapphire.ui.SapphireEditor) Element(org.eclipse.sapphire.Element) MasterDetailsContentOutline(org.eclipse.sapphire.ui.forms.MasterDetailsContentOutline) PortletNode(com.liferay.ide.portlet.ui.navigator.PortletNode)

Example 2 with SapphireEditorForXml

use of org.eclipse.sapphire.ui.swt.xml.editor.SapphireEditorForXml in project liferay-ide by liferay.

the class UITestsUtils method getEditor.

public static StructuredTextEditor getEditor(IFile file) {
    StructuredTextEditor editor = (StructuredTextEditor) fileToEditorMap.get(file);
    if (editor == null) {
        try {
            final IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
            final IWorkbenchPage page = workbenchWindow.getActivePage();
            final IEditorPart editorPart = IDE.openEditor(page, file, true, true);
            assertNotNull(editorPart);
            if (editorPart instanceof SapphireEditorForXml) {
                editor = ((SapphireEditorForXml) editorPart).getXmlEditor();
            } else if (editorPart instanceof StructuredTextEditor) {
                editor = ((StructuredTextEditor) editorPart);
            } else if (editorPart instanceof XMLMultiPageEditorPart) {
                XMLMultiPageEditorPart xmlEditorPart = (XMLMultiPageEditorPart) editorPart;
                editor = (StructuredTextEditor) xmlEditorPart.getAdapter(StructuredTextEditor.class);
            }
            assertNotNull(editor);
            standardizeLineEndings(editor);
            fileToEditorMap.put(file, editor);
        } catch (Exception e) {
            fail("Could not open editor for " + file + " exception: " + e.getMessage());
        }
    }
    return editor;
}
Also used : IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) SapphireEditorForXml(org.eclipse.sapphire.ui.swt.xml.editor.SapphireEditorForXml) XMLMultiPageEditorPart(org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) IEditorPart(org.eclipse.ui.IEditorPart) StructuredTextEditor(org.eclipse.wst.sse.ui.StructuredTextEditor)

Aggregations

SapphireEditorForXml (org.eclipse.sapphire.ui.swt.xml.editor.SapphireEditorForXml)2 Portlet (com.liferay.ide.portlet.core.model.Portlet)1 PortletNode (com.liferay.ide.portlet.ui.navigator.PortletNode)1 Element (org.eclipse.sapphire.Element)1 SapphireEditor (org.eclipse.sapphire.ui.SapphireEditor)1 MasterDetailsContentNodeList (org.eclipse.sapphire.ui.forms.MasterDetailsContentNodeList)1 MasterDetailsContentNodePart (org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart)1 MasterDetailsContentOutline (org.eclipse.sapphire.ui.forms.MasterDetailsContentOutline)1 MasterDetailsEditorPage (org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage)1 IEditorPart (org.eclipse.ui.IEditorPart)1 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)1 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)1 StructuredTextEditor (org.eclipse.wst.sse.ui.StructuredTextEditor)1 XMLMultiPageEditorPart (org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart)1