protected static IStructuredSelection getCurrentSelection() { IStructuredSelection structuredSeleciton = StructuredSelection.EMPTY; IWorkbench workbench = PlatformUI.getWorkbench(); IViewReference[] viewReferences = workbench.getActiveWorkbenchWindow().getActivePage().getViewReferences(); IViewPart viewPart = null; for(IViewReference viewReference : viewReferences) { IViewPart view = viewReference.getView(false); if(view instanceof CommonViewer) { viewPart = view; } } if(viewPart != null) { ISelectionProvider selectionProvider = viewPart.getSite().getSelectionProvider(); ISelection selection = selectionProvider.getSelection(); if(selection instanceof IStructuredSelection) { structuredSeleciton = (IStructuredSelection)selection; } } return structuredSeleciton; }
public void resourceChanged(final IResourceChangeEvent event) { UIHelper.runUIAsync(new Runnable() { public void run() { ToolboxExplorer.refresh(); // Expand the current spec and all its children final CommonViewer viewer = ToolboxExplorer.getViewer(); // Event is only null when this Ctor calls us causing the // initial expanded state of a spec to be fully expanded. // Afterwards, the users expanded states is preserved. if (event == null && viewer != null) { // viewer might already be disposed which happens when the Toolbox shuts down. final Spec specLoaded = Activator.getSpecManager().getSpecLoaded(); viewer.expandToLevel(specLoaded, ToolboxExplorer.DEFAULT_EXPAND_LEVEL); } } }); }
@Override public void createControl(Composite parent) { fOutlineViewer = new CommonViewer(OUTLINE_COMMON_NAVIGATOR_ID, parent, SWT.MULTI); // seems like common filters need to be explicitly added for (ViewerFilter filter : fOutlineViewer.getNavigatorContentService().getFilterService() .getVisibleFilters(true)) { this.fOutlineViewer.addFilter(filter); } Object[] listeners = fSelectionChangedListeners.getListeners(); for (int i = 0; i < listeners.length; i++) { fSelectionChangedListeners.remove(listeners[i]); fOutlineViewer.addSelectionChangedListener((ISelectionChangedListener) listeners[i]); } listeners = fPostSelectionChangedListeners.getListeners(); for (int i = 0; i < listeners.length; i++) { fPostSelectionChangedListeners.remove(listeners[i]); fOutlineViewer.addPostSelectionChangedListener((ISelectionChangedListener) listeners[i]); } fOutlineViewer.setUseHashlookup(true); IActionBars actionBars = getSite().getActionBars(); registerToolbarActions(actionBars); }
public void init(ICommonActionExtensionSite actionSite) { super.init(actionSite); ICommonViewerSite site = actionSite.getViewSite(); if (site instanceof ICommonViewerWorkbenchSite) { StructuredViewer viewer = actionSite.getStructuredViewer(); if (viewer instanceof CommonViewer) { CommonViewer serversViewer = (CommonViewer) viewer; serversViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { ISelection s = event.getSelection(); if (s instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) s; Object[] selectedObjects = selection.toArray(); if (selectedObjects.length == 1 && selectedObjects[0] instanceof ModuleServer) { ModuleServer moduleServer = (ModuleServer) selectedObjects[0]; openApplicationPage(moduleServer); } } } }); } } }
/** * setSelectonNodeInExplorer * * @param target void */ public static void setSelectonNodeInExplorer(EObject target) { if (null == target) { return; } if (target instanceof EAnnotation) { return; } CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer.getControl().isDisposed()) { return; } ITreeNode targetNode = null; targetNode = UMLTreeNodeRegistry.getTreeNode(target); if (null != targetNode) { commonViewer.setSelection(new StructuredSelection(targetNode), true); } }
/** * updateParentInExplorer * * @param target void */ public static void updateParentInExplorer(EObject target) { if (null == target) { return; } CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer.getControl().isDisposed()) { return; } if (target instanceof DynamicEObjectImpl) { target = UMLUtil.getBaseElement(target); } ITreeNode targetNode = null; EObject parent = UMLManager.getParent((Element) target); targetNode = UMLTreeNodeRegistry.getTreeNode(parent); String[] flags = null; flags = new String[] { IBasicPropertyConstants.P_IMAGE, IBasicPropertyConstants.P_TEXT, IBasicPropertyConstants.P_CHILDREN }; commonViewer.update(targetNode, flags); }
/** * @see org.eclipse.ui.navigator.SaveablesProvider#getElements(org.eclipse.ui.Saveable) */ @Override public Object[] getElements(Saveable pSaveable) { if (pSaveable == null) { return new Object[] {}; } CommonViewer viewer = ProjectRegistry.ViewerRegistry.getViewer(); ITreeContentProvider contentProvider = (ITreeContentProvider) viewer.getContentProvider(); Object viewerInput = viewer.getInput(); if (contentProvider == null) { return null; } return contentProvider.getElements(viewerInput); }
/** * getExplorerFilter * * @return ExplorerElementFilter */ public ExplorerElementFilter getExplorerFilter() { if (eFilter == null) { CommonViewer viewer = ViewerRegistry.getViewer(); if (viewer != null) { ViewerFilter[] filter = viewer.getFilters(); for (int i = 0; i < filter.length; i++) { if (filter[i] instanceof ExplorerElementFilter) { eFilter = (ExplorerElementFilter) filter[i]; break; } } } } return eFilter; }
/** * execute * void */ public void execute() { CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer.getControl().isDisposed()) { return; } selectionChanged(null, ViewerRegistry.getViewer().getSelection()); ISelection selection = commonViewer.getSelection(); if ((null == selection) || (!(selection instanceof IStructuredSelection))) { return; } Object object = ((IStructuredSelection) selection).getFirstElement(); if (object instanceof IResource || object instanceof ITreeNode) { UMLModelRefreshAction clearAction = new UMLModelRefreshAction(); clearAction.selectionChanged(null, selection); clearAction.run(null); } else { ProjectUtil.refreshExplorer(); } // 로그인 안내 메시지를 다시 활성화 시킨다. 기존에는 단 한번만 안내했었음. ResourceManager.setChecked(true); }
/** * hierarchyCheck * * @return boolean */ protected boolean hierarchyCheck() { CommonViewer commonViewer = ViewerRegistry.getViewer(); TreeSelection sel = (TreeSelection) commonViewer.getSelection(); List<TreePath> pathList = Arrays.asList(sel.getPaths()); for (TreePath path : pathList) { if (isContains(pathList, path.getParentPath())) { MessageDialog.openError(ProjectExplorerPlugin.getShell(), UMLMessage.LABEL_FILE_FRAGMENTATION, UMLMessage.MESSAGE_FRAGMENT_DEFRAGMENT_ERROR_MESSAGE/*"패키지 간 상하 관계가 포함된 경우 일괄 단편화/병합을 실행할 수 없습니다."*/); return false; } } return true; }
@Override public void expandAll() { getControl().setRedraw(false); NavigatorContentProvider.FILE_CHILDREN_ENABLED = false; final IStructuredSelection currentSelection = (IStructuredSelection) getSelection(); if (currentSelection == null || currentSelection.isEmpty()) { super.expandAll(); // .expandToLevel(3); } else { final Iterator<?> it = currentSelection.iterator(); while (it.hasNext()) { final Object o = it.next(); if (o instanceof TopLevelFolder) { expandToLevel(o, CommonViewer.ALL_LEVELS); // 2 } else if (o instanceof IContainer) { expandToLevel(o, CommonViewer.ALL_LEVELS); } } } NavigatorContentProvider.FILE_CHILDREN_ENABLED = true; this.refresh(false); getControl().setRedraw(true); }
public static IStructuredSelection getCurrentSelection() { IWorkbench workbench = PlatformUI.getWorkbench(); if (workbench==null || workbench.getActiveWorkbenchWindow()==null) { return StructuredSelection.EMPTY; } IStructuredSelection structuredSelection = StructuredSelection.EMPTY; IViewReference[] viewReferences = workbench.getActiveWorkbenchWindow() .getActivePage().getViewReferences(); IViewPart viewPart = null; for (IViewReference viewReference : viewReferences) { IViewPart view = viewReference.getView(false); if (view instanceof CommonViewer) { viewPart = view; } } if (viewPart != null) { ISelectionProvider selectionProvider = viewPart.getSite() .getSelectionProvider(); ISelection selection = selectionProvider.getSelection(); if (selection instanceof IStructuredSelection) { structuredSelection = (IStructuredSelection) selection; } } return structuredSelection; }
/** Tries to find the currently selected project in the currently selected editor or view, * if the editor is some kind of file editor or the view is a navigator. * @param window * @return null if can't find a project, else a project. */ public static IProject getSelectedProject(IWorkbenchWindow window) { ISelection selection = null; IWorkbenchPart part = window.getPartService().getActivePart(); if (part instanceof CommonViewer) { selection = ((CommonViewer) part).getSelection(); } else if (part instanceof CommonNavigator) { selection = ((CommonNavigator) part).getCommonViewer().getSelection(); } else if (part instanceof IEditorPart) { IEditorInput editorInput = ((IEditorPart) part).getEditorInput(); if (editorInput instanceof FileEditorInput) return ((FileEditorInput) editorInput).getFile().getProject(); } if(selection != null && selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection)selection; Object firstElement = structuredSelection.getFirstElement(); if (firstElement instanceof IProject) return ((IProject) firstElement); if (firstElement instanceof IFile) return ((IFile) firstElement).getProject(); } return null; }
public void init(ICommonActionExtensionSite aSite) { viewer = (CommonViewer) aSite.getStructuredViewer(); contentService = aSite.getContentService(); filterService = (NavigatorFilterService) contentService.getFilterService(); extensionStateModel = contentService.findStateModel(WorkingSetsContentProvider.EXTENSION_ID); workingSetActionGroup = new WorkingSetFilterActionGroup(aSite.getViewSite().getShell(), filterChangeListener); workingSetRootModeActionGroup = new WorkingSetRootModeActionGroup(viewer, extensionStateModel); topLevelModeListener = new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { setWorkingSet(workingSet); viewer.getFrameList().reset(); } }; if (contentService.isActive(WorkingSetsContentProvider.EXTENSION_ID)) { managerChangeListener.listen(); extensionStateModel.addPropertyChangeListener(topLevelModeListener); } contentService.getActivationService().addExtensionActivationListener(activationListener); }
public void markerSelected(IWorkbenchPart part, IMarker marker) { if (selectionInProgress) { return; } BugContentProvider provider = BugContentProvider.getProvider(getNavigatorContentService()); CommonViewer commonViewer = getCommonViewer(); if (marker == null) { commonViewer.setSelection(new StructuredSelection(), false); } else if (provider.isFiltered(marker)) { Object parent = provider.getParent(marker); if (parent != null) { commonViewer.setSelection(new StructuredSelection(parent), true); } } else { commonViewer.setSelection(new StructuredSelection(marker), true); } }
public void run(IAction action) { Set<String> sortedIds = FindbugsPlugin.getFilteredIds(); String patternType = getPatternOrPatternType(); if (patternType != null) { if (!sortedIds.contains(patternType)) { sortedIds.add(patternType); } else { sortedIds.remove(patternType); } } String ids = FindBugsConstants.encodeIds(sortedIds); final IPreferenceStore store = FindbugsPlugin.getDefault().getPreferenceStore(); store.setValue(FindBugsConstants.LAST_USED_EXPORT_FILTER, ids); BugContentProvider provider = BugContentProvider.getProvider(navigator.getNavigatorContentService()); if (!provider.isBugFilterActive()) { MessageDialog.openWarning(null, "Toggle Filter", "Filtering by pattern or type id is currently not enabled!\n" + "To enable it, please select \"Toggle Filters...->Bugs by Id\" filter!"); } provider.refreshFilters(); CommonViewer viewer = navigator.getCommonViewer(); Object[] expandedElements = viewer.getExpandedElements(); viewer.refresh(true); viewer.setExpandedElements(expandedElements); data = null; }
public void run(IAction action) { if (navigator == null) { return; } BugContentProvider provider = BugContentProvider.getProvider(navigator.getNavigatorContentService()); List<GroupType> list = provider.getGrouping().asList(); GroupSelectionDialog dialog = new GroupSelectionDialog(navigator.getSite().getShell(), list); dialog.setTitle("Bug Group Configuration"); int result = dialog.open(); if (result != Window.OK) { return; } Grouping grouping = Grouping.createFrom(dialog.getGroups()); provider.setGrouping(grouping); CommonViewer viewer = navigator.getCommonViewer(); Object[] expandedElements = viewer.getExpandedElements(); provider.reSetInput(); viewer.setExpandedElements(expandedElements); }
public void run(IAction action) { if (navigator == null) { return; } Set<BugPattern> filtered = FindbugsPlugin.getFilteredPatterns(); Set<BugCode> filteredTypes = FindbugsPlugin.getFilteredPatternTypes(); FilterBugsDialog dialog = new FilterBugsDialog(navigator.getSite().getShell(), filtered, filteredTypes); dialog.setTitle("Bug Filter Configuration"); int result = dialog.open(); if (result != Window.OK) { return; } String selectedIds = dialog.getSelectedIds(); FindbugsPlugin.getDefault().getPreferenceStore().setValue(FindBugsConstants.LAST_USED_EXPORT_FILTER, selectedIds); BugContentProvider provider = BugContentProvider.getProvider(navigator.getNavigatorContentService()); provider.refreshFilters(); CommonViewer viewer = navigator.getCommonViewer(); Object[] expandedElements = viewer.getExpandedElements(); viewer.refresh(true); viewer.setExpandedElements(expandedElements); }
public void run(IAction action) { if (navigator != null) { CommonViewer viewer = navigator.getCommonViewer(); BugContentProvider provider = BugContentProvider.getProvider(navigator.getNavigatorContentService()); // provider.setRefreshRequested(true); Object[] expandedElements = viewer.getExpandedElements(); Object input = viewer.getInput(); if (provider.getChildren(input).length == 0) { viewer.setInput(null); if (input instanceof IWorkingSet || input instanceof IWorkspaceRoot) { viewer.setInput(input); } else { viewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); } viewer.refresh(true); } else { provider.reSetInput(); } viewer.setExpandedElements(expandedElements); } }
public void run(IAction action) { if (!action.isEnabled()) { return; } CommonViewer viewer = navigator.getCommonViewer(); Object[] expandedElements = viewer.getVisibleExpandedElements(); Object input = viewer.getInput(); if (input instanceof BugGroup) { BugGroup group = (BugGroup) input; Object data = group.getParent(); boolean needRefresh = data == null; if (needRefresh) { BugContentProvider.getProvider(navigator.getNavigatorContentService()).reSetInput(); } else { viewer.setInput(data); } // viewer.setSelection(new StructuredSelection(input), true); // viewer.expandToLevel(input, 1); viewer.setExpandedElements(expandedElements); } action.setEnabled(isEnabled()); }
/** * Tries to find a match for the element in the given root passed. If found returns true. * * @param infosSearched: a memo to know which infos were already searched to prevent searching many times in * the same place. */ private IStructuredSelection findMatchInTreeNodeRoot(File element, CommonViewer commonViewer, InterpreterInfoTreeNodeRoot treeNodeRoot, Set<IInterpreterInfo> infosSearched) { if (infosSearched.contains(treeNodeRoot.interpreterInfo)) { return null; } infosSearched.add(treeNodeRoot.interpreterInfo); List<TreeNode> nodesOrderedForFileSearch = treeNodeRoot.getNodesOrderedForFileSearch(); for (TreeNode node : nodesOrderedForFileSearch) { PythonpathTreeNode match = findMatch(node, element); if (match != null) { return new StructuredSelection(match); } } return null; }
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (null == activeWorkbenchWindow) { return null; } IWorkbenchPage activePage = activeWorkbenchWindow.getActivePage(); if (null == activePage) { return null; } IWorkbenchPart activePart = activePage.getActivePart(); if (!(activePart instanceof CommonNavigator)) { return null; } CommonNavigator navigator = (CommonNavigator) activePart; CommonViewer commonViewer = navigator.getCommonViewer(); Tree navigatorTree = commonViewer.getTree(); List<TreeItem> visibleItems = new ArrayList<>(); collectChildren(navigatorTree.getItems(), visibleItems); List<Object> visibleData = visibleItems.stream().map(i -> i.getData()).collect(Collectors.toList()); commonViewer.setSelection(new StructuredSelection(visibleData), false); return null; }
private void asyncRefreshCommonViewer(final ProjectExplorer explorer, final boolean resetInput) { // do deferred initialization this.getWorkingSetManagers().stream() .filter(m -> (m instanceof IDeferredInitializer)) .map(m -> (IDeferredInitializer) m) .filter(m -> m.isInitializationRequired()) .forEach(m -> { m.lateInit(); }); final CommonViewer viewer = explorer.getCommonViewer(); final Display d = getDisplay(); if (!d.isDisposed()) { if (resetInput) { d.asyncExec(() -> { if (!viewer.getTree().isDisposed()) viewer.setInput(viewer.getInput()); }); } else { d.asyncExec(() -> { if (!viewer.getTree().isDisposed()) viewer.refresh(true); }); } } }
@Override protected CommonViewer createCommonViewerObject ( final Composite aParent ) { // quick fix to automatically expand some content final CommonViewer result = super.createCommonViewerObject ( aParent ); result.setAutoExpandLevel ( 2 ); return result; }
/** * Retrieves the current viewer if any * @return the instance of common viewer or <code>null</code> */ public static CommonViewer getViewer() { CommonNavigator navigator = findCommonNavigator(ToolboxExplorer.VIEW_ID); if (navigator != null) { final CommonViewer commonViewer = navigator.getCommonViewer(); commonViewer.setAutoExpandLevel(DEFAULT_EXPAND_LEVEL); return commonViewer; } return null; }
/** * Refreshes the instance of the viewer if any */ public static void refresh() { CommonViewer instance = getViewer(); if (instance != null) { instance.refresh(); } }
/** * 병합 후 트리 상태 유지를 위한 메소드 * * * @param parentItem * @param list * void */ public static synchronized void expandTreeItem(TreeItem parentItem, List<Object> list) { CommonViewer viewer = ViewerRegistry.getViewer(); TreeItem[] children = parentItem.getItems(); for (TreeItem child : children) { Object obj = child.getData(); if (list.contains(((ITreeNode) obj).getEObject())) { viewer.expandToLevel(obj, 1); expandTreeItem(child, list); } } }
/** * expandTreeNode * * @param commonViewer * @param node void */ private static void expandTreeNode(CommonViewer commonViewer, ITreeNode node) { if (node != null && !commonViewer.getExpandedState(node)) { try { commonViewer.expandToLevel(node, 1); } catch (Exception e) { } } }
/** * refreshNodeInExplorer * * @param target void */ public static void refreshNodeInExplorer(EObject target) { if (target instanceof EAnnotation) { return; } if (null == target) { return; } CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer.getControl().isDisposed()) { return; } ISelection selection = commonViewer.getSelection(); TreePath[] expanedTreePaths = TreeItemUtil.getExpandTreePaths(commonViewer.getTree()).clone(); /* * stereotype인 경우 전달 객체가 DynamicEobjectImpl이므로 할당된 클래스를 계산하여 처리해야 함. */ if (target instanceof DynamicEObjectImpl) { target = UMLUtil.getBaseElement(target); } ITreeNode targetNode = null; targetNode = UMLTreeNodeRegistry.getTreeNode(target); if (null != targetNode) { commonViewer.refresh(targetNode); TreeItemUtil.expandTreePath(expanedTreePaths, selection); } }
/** * updateExplorer * * @param target * @param childIncluded void */ public static void updateExplorer(EObject target, boolean childIncluded) { if (null == target) { return; } if (target instanceof EAnnotation) { return; } CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer.getControl().isDisposed()) { return; } if (target instanceof DynamicEObjectImpl) { target = UMLUtil.getBaseElement(target); } ITreeNode targetNode = null; targetNode = UMLTreeNodeRegistry.getTreeNode(target); if (null == targetNode) { return; } String[] flags = null; if (childIncluded) { flags = new String[] { IBasicPropertyConstants.P_IMAGE, IBasicPropertyConstants.P_TEXT, IBasicPropertyConstants.P_CHILDREN }; } else { flags = new String[] { IBasicPropertyConstants.P_IMAGE, IBasicPropertyConstants.P_TEXT }; } try { commonViewer.update(targetNode, flags); commonViewer.refresh(targetNode); } catch (Exception ex) { Log.error(ex); } }
/** * refreshExplorer * void */ public static void refreshExplorer() { CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer.getControl().isDisposed()) { return; } ISelection selection = commonViewer.getSelection(); if ((null == selection) || (!(selection instanceof IStructuredSelection))) { return; } Object object = ((IStructuredSelection) selection).getFirstElement(); if (object instanceof ITreeNode) { ITreeNode node = (ITreeNode) object; if (node instanceof UMLFileTreeNode) { ((UMLFileTreeNode) node).refreshNode(); } commonViewer.refresh(node); } // TreeSelection treeSelection = (TreeSelection) selection; // for (TreePath treePath : treeSelection.getPaths()) { // commonViewer.refresh(treePath); // } }
/** * refreshWholeExplorer * void */ public static synchronized void refreshWholeExplorer() { try { ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } catch (CoreException e) { Log.error(e); } CommonViewer commonViewer = ViewerRegistry.getViewer(); if (commonViewer != null && !commonViewer.isBusy()) { commonViewer.refresh(); } }
/** * Finds the tree node of project explorer for the selected element in * diagram. * * @param eobject * void */ public static void findElement(EObject eobject) { CommonViewer viewer = ViewerRegistry.getViewer(); if (eobject == null || eobject.eResource() == null || eobject.eResource().getResourceSet() == null) { return; } eobject = resolveResource(eobject); String fileExtension = eobject.eResource().getURI().fileExtension(); if (!ManagerConstant.UMLDOMAIN_CONSTANT__MODEL_FILE_EXTENSION.equals(fileExtension) && !ManagerConstant.UMLDOMAIN_CONSTANT__FRAGMENT_FILE_EXTENSION.equals(fileExtension)) { MessageDialog.openWarning(UiCorePlugin.getShell(), UMLMessage.LABEL_FIND_ELEMENT, UMLMessage.MESSAGE_CANNOT_FIND_ELEMENT); return; } Object[] objects = viewer.getExpandedElements(); List<Object> expandList = new ArrayList<Object>(); for (Object object : objects) { if (!(expandList.contains(object))) { expandList.add(object); } } ITreeNode node = createExplorerTree(eobject, expandList); objects = expandList.toArray(); if (node != null) { viewer.getControl().setFocus(); if (objects != null) { viewer.setExpandedElements(objects); } viewer.setSelection(new StructuredSelection(node), true); viewer.reveal(node); } }
/** * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent event) { if (!(event.getSelection() instanceof IStructuredSelection)) return; Object object = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (object instanceof ITreeNode) { ITreeNode item = (ITreeNode) object; eobject = item.getEObject(); CommonViewer viewer = ProjectRegistry.ViewerRegistry.getViewer(); ISelection selection = viewer.getSelection(); changeSelection(selection); } }
/** * @see nexcore.tool.uml.ui.project.explorer.action.CommonActionDelegate#run(org.eclipse.jface.action.IAction) */ @Override public void run(IAction action) { IS_RENAME_MODE = true; CommonViewer commonViewer = ViewerRegistry.getViewer(); NavigatorActionService actionService = commonViewer.getCommonNavigator().getNavigatorActionService(); actionService.fillActionBars(commonViewer.getCommonNavigator().getViewSite() .getActionBars()); // Make sure text editor is created only once. Simply reset text // editor when action is executed more than once. Fixes bug 22269. if (textEditorParent == null) { createTextEditor(); if (textEditorParent == null) return; } if (selectedEObject instanceof NamedElement) { textEditor.setText(((NamedElement) selectedEObject).getName()); } else if (selectedEObject instanceof Diagram) { textEditor.setText(((Diagram) selectedEObject).getName()); } else { return; } // ITreeNode targetNode = null; // targetNode = UMLTreeNodeRegistry.getTreeNode(eobject); // Open text editor with initial size. textEditorParent.setVisible(true); Point textSize = textEditor.computeSize(SWT.DEFAULT, SWT.DEFAULT); textSize.x += textSize.y; // Add extra space for new characters. Point parentSize = textEditorParent.getSize(); int inset = 1; textEditor.setBounds(2, inset, Math.min(textSize.x, parentSize.x - 4), parentSize.y - 2 * inset); textEditorParent.redraw(); textEditor.selectAll(); textEditor.setFocus(); }
@Override public void inputChanged(final Viewer v, final Object oldInput, final Object newInput) { final CommonViewer viewer = (CommonViewer) v; final ResourceManager mapper = new ResourceManager(this, viewer); INSTANCE.resetVirtualFolders(mapper); getWorkspace().addResourceChangeListener(mapper, POST_CHANGE | PRE_DELETE); super.inputChanged(viewer, oldInput, newInput); }
@Override protected CommonViewer createCommonViewer(Composite parent) { viewer = super.createCommonViewer(parent); WidgetUtils.runInDisplayThread(viewer.getControl(), new Runnable() { @Override public void run() { viewer.refresh(); } }); return viewer; }
private synchronized void initStateModel(Viewer viewer) { if (!isStateModelInitialized) { if (viewer instanceof CommonViewer) { CommonViewer commonViewer = (CommonViewer) viewer; fContentService = commonViewer.getNavigatorContentService(); fStateModel = fContentService.findStateModel(JAVA_EXTENSION_ID); isStateModelInitialized = true; } } }