private DataObject getActivatedDataObject(){ DataObject dob = null; Node[] activatedNodes = TopComponent.getRegistry().getActivatedNodes(); if (activatedNodes != null && activatedNodes.length == 1) { dob = activatedNodes[0].getLookup().lookup(DataObject.class); } if (dob == null) { TopComponent activated = TopComponent.getRegistry().getActivated(); if (activated != null && WindowManager.getDefault().isOpenedEditorTopComponent(activated)) { dob = activated.getLookup().lookup(DataObject.class); } } return dob; }
public void init() { WindowManager.getDefault().getRegistry().addPropertyChangeListener(this); }
private void perform(final RunDialogPanel runDialogPanel, final boolean isRun) { if (WindowManager.getDefault().getRegistry().getOpened().isEmpty()){ WindowManager.getDefault().invokeWhenUIReady(new Runnable() { SwingUtilities.invokeLater(new Runnable() {
Set<TopComponent> tcs = TopComponent.getRegistry().getOpened(); for (final TopComponent tc : tcs) { Lookup l = tc.getLookup(); final DataObject tcDataObject = l.lookup(DataObject.class); if (tcDataObject != null && dataObject.equals(tcDataObject)) { final MultiViewHandler handler = MultiViews.findMultiViewHandler(tc); final EditorCookie editorCookie = dataObject.getLookup().lookup(EditorCookie.class); if(editorCookie != null) { Runnable r = new Runnable() { if(SwingUtilities.isEventDispatchThread()) { r.run(); } else { SwingUtilities.invokeLater(r); EditCookie editCookie = dataObject.getLookup().lookup(EditCookie.class); if(editCookie != null) { TopComponent.getRegistry().addPropertyChangeListener(new TCOpenedListener(dataObject, files)); editCookie.edit(); return;
private FileObject getCurrentFile() { Node[] activatedNodes = TopComponent.getRegistry().getActivatedNodes(); if (activatedNodes == null || activatedNodes.length != 1) { return null; } DataObject dobj = activatedNodes[0].getLookup().lookup(DataObject.class); if (dobj == null) { return null; } FileObject fo = dobj.getPrimaryFile(); return fo; }
/*package*/ static void navigateToOccurrence(boolean next) { final Node[] activatedNodes = TopComponent.getRegistry().getActivatedNodes(); // check whether current file is C/C++ DataObject dobj = activatedNodes[0].getLookup().lookup(DataObject.class); FileObject fo = (dobj == null) ? null : dobj.getPrimaryFile(); String mime = (fo == null) ? "" : fo.getMIMEType(); if (MIMENames.isHeaderOrCppOrC(mime)) { EditorCookie ec = dobj.getLookup().lookup(EditorCookie.class); Document doc = ec.getDocument(); int position = CaretAwareCsmFileTaskFactory.getLastPosition(dobj.getPrimaryFile()); int goTo = findOccurrencePosition(next, doc, position); if (goTo > 0) { JEditorPane pane = NbDocument.findRecentEditorPane(ec); pane.setCaretPosition(goTo); } else { StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage(SemanticUtils.class, "cpp-no-marked-occurrence")); } } } }
@Override public FileObject[] getCurrentSelection() { Node[] nodes = TopComponent.getRegistry().getActivatedNodes(); if(nodes == null) { return null; } List<FileObject> ret = new ArrayList<FileObject>(); for(Node node : nodes) { Lookup nodeLookup = node.getLookup(); Collection<? extends Project> projects = nodeLookup.lookupAll(Project.class); if(projects != null && !projects.isEmpty()) { for (Project project : projects) { ret.add(project.getProjectDirectory()); } } else { DataObject dataObj = nodeLookup.lookup(DataObject.class); if (dataObj != null) { FileObject fileObj = dataObj.getPrimaryFile(); if (fileObj != null) { ret.add(fileObj); } } } } return ret.toArray(new FileObject[ret.size()]); }
@Override protected boolean enable(Node[] nodes) { TopComponent activated = TopComponent.getRegistry().getActivated(); if (activated instanceof DiffSetupSource) { return true; } VCSContext context = HgUtils.getCurrentContext(nodes); if(!HgUtils.isFromHgRepository(context)) { return false; } return Lookup.getDefault().lookup(DiffProvider.class) != null; }
private void update() { project = null; TopComponent tc = TopComponent.getRegistry().getActivated(); if (tc != null) { FileObject fo = tc.getLookup().lookup(FileObject.class); if (fo == null) { DataObject dob = tc.getLookup().lookup(DataObject.class); if (dob != null) { fo = dob.getPrimaryFile(); } } if (fo != null) { Project p = FileOwnerQuery.getOwner(fo); if (p != null) { project = p; } } } if (project != null) { applicable = true; name = NbBundle.getMessage(SearchScopeCurrentProject.class, "SearchScopeCurrentProject", shortName(project)); //NOI18N icon = ProjectUtils.getInformation(project).getIcon(); } else { applicable = false; name = ""; //NOI18N icon = null; } notifyListeners(); }
private static FileObject getOpenFileObj() { TopComponent activatedTopComponent = TopComponent.getRegistry() .getActivated(); if (activatedTopComponent == null) { return null; } DataObject dataObj = activatedTopComponent.getLookup() .lookup(DataObject.class); if ((dataObj == null) || !dataObj.isValid()) { return null; } return dataObj.getPrimaryFile(); }
i.setVisible(true); Node[] n = WindowManager.getDefault().getRegistry().getActivatedNodes(); if (n.length > 0) { if (n.length == 1) { final Project prj = n[0].getLookup().lookup(Project.class); if (prj == null) { Logger.getLogger(ShareAction.class.getName()).fine("ShareAction: cannot find project for node " + n[0].getDisplayName()); } else { RequestProcessor.getDefault().post(new Runnable() {
private boolean cssFileFocused() { WindowManager manager = WindowManager.getDefault(); Frame mainWindow = manager.getMainWindow(); if (mainWindow.isActive()) { TopComponent.Registry registry = manager.getRegistry(); TopComponent activeTC = registry.getActivated(); if (activeTC != null) { if (activeTC instanceof CssStylesTC) { return true; } if (manager.isOpenedEditorTopComponent(activeTC)) { FileObject fob = activeTC.getLookup().lookup(FileObject.class); if ((fob != null) && "text/css".equals(fob.getMIMEType())) { // NOI18N return true; } } } } return false; }
public void performActionAt(int index) { NewType[] nt = newTypes (); // bugfix #41587, AIOBE if array is empty if (nt.length <= index) { return; } Node[] arr; if (lookup != null) { arr = (Node[])lookup.lookup (new Lookup.Template (Node.class)).allInstances ().toArray (new Node[0]); } else { arr = WindowManager.getDefault().getRegistry ().getCurrentNodes (); } performAction (arr, nt[index]); }
/** * Returns files from all opened top components * @return set of opened files */ public static Set<VCSFileProxy> getOpenFiles() { TopComponent[] comps = TopComponent.getRegistry().getOpened().toArray(new TopComponent[0]); Set<VCSFileProxy> openFiles = new HashSet<VCSFileProxy>(comps.length); for (TopComponent tc : comps) { Node[] nodes = tc.getActivatedNodes(); if (nodes == null) { continue; } for (Node node : nodes) { VCSFileProxy file = node.getLookup().lookup(VCSFileProxy.class); if (file == null) { FileObject fo = node.getLookup().lookup(FileObject.class); if (fo != null && fo.isData()) { file = VCSFileProxy.createFileProxy(fo); } } if (file != null) { openFiles.add(file); } } } return openFiles; }
@Override public final void run() { try { Source source = Source.create(document); ParserManager.parse(Collections.singleton(source), this); } catch (ParseException e) { LOG.log(Level.WARNING, null, e); return; } TopComponent activetc = TopComponent.getRegistry().getActivated(); if (ui != null) { UI.openRefactoringUI(ui, activetc); } else { JOptionPane.showMessageDialog(null, NbBundle.getMessage(CPActionsImplementationProvider.class, "ERR_CannotRefactorLoc"));//NOI18N } }
@Override public void propertyChange(PropertyChangeEvent evt) { if(Registry.PROP_ACTIVATED.equals(evt.getPropertyName())) { try { TopComponent tc =(TopComponent) evt.getNewValue(); Lookup l = tc.getLookup(); DataObject tcDataObject = l.lookup(DataObject.class); if (tcDataObject != null && dataObject.equals(tcDataObject)) { final MultiViewHandler handler = MultiViews.findMultiViewHandler(tc); if (handler == null || !activateHistoryTab(handler, tc)) { // oops, whats this? // lets fallback on LHTC tc.close(); openLocalHistoryTC(files); } } } finally { TopComponent.getRegistry().removePropertyChangeListener(this); } } }
/** Adds itself as a listener for changes in current ActionMap. * If the lookup is null then it means to listen on TopComponent * otherwise to listen on the lookup itself. * * @param lookup lookup to listen on or null */ private void attachListenerToChangesInMap (Lookup lookup) { if (lookup == null) { org.openide.windows.TopComponent.getRegistry().addPropertyChangeListener( org.openide.util.WeakListeners.propertyChange ( this, org.openide.windows.TopComponent.getRegistry() ) ); } else { result = lookup.lookup (new Lookup.Template (ActionMap.class)); weakLookup = (LookupListener)WeakListeners.create (LookupListener.class, this, result); result.addLookupListener (weakLookup); } checkStateChanged (false); }
public void actionPerformed(ActionEvent e) { for (TopComponent tc : TopComponent.getRegistry().getOpened()) { if (tc.isVisible()) { SVGDataObject targetDObj = tc.getLookup().lookup(SVGDataObject.class); if ( targetDObj != null && !targetDObj.getSceneManager().isReadOnly()) { try { JComponent comp = elem.getVisualRepresentation(); if ( comp instanceof CloneableEditor) { ActiveEditorDrop aed = lookup.lookup(ActiveEditorDrop.class); JTextComponent editor = ((CloneableEditor) comp).getEditorPane(); if (aed != null && editor != null) { DataObject sourceDObj = lookup.lookup(DataObject.class); assert sourceDObj != null;
public void modelProjectForDataSources(Project currentProj) { project = currentProj; ModelSet.addModelSetsListener(modelingListener); topComponent = TopComponent.getRegistry().getActivated(); topComponent.setCursor(Utilities.createProgressCursor(topComponent)); String progressBarLabel = org.openide.util.NbBundle.getMessage(DataSourceResolver.class, "LBL_ProgressBar"); //NOI18N try { // model project FacesModelSet modelSet = FacesModelSet.startModeling(project); if (modelSet == null) { handle = ProgressHandleFactory.createHandle(progressBarLabel); handle.start(); handle.switchToIndeterminate(); } // If modeling has been completed then terminate the progress cursor and update the project if (modelSet != null) { if (handle != null) { handle.finish(); } ModelSet.removeModelSetsListener(modelingListener); ProjectDataSourceTracker.refreshDataSourceReferences(project); update(project); } } finally { topComponent.setCursor(null); } }
public GlobalActionContextProxy() { try { this.content = new InstanceContent(); // The default GlobalContextProvider this.globalContextProvider = new GlobalActionContextImpl(); this.globalContextLookup = this.globalContextProvider.createGlobalContext(); // Monitor the activation of the Projects Tab TopComponent TopComponent.getRegistry().addPropertyChangeListener(this.registryListener); // Monitor the existance of a Project in the principle lookup this.resultProjects = globalContextLookup.lookupResult(Project.class); this.resultProjects.addLookupListener(this.resultListener); } catch (Exception e) { Exceptions.printStackTrace(e); } WindowManager.getDefault().invokeWhenUIReady(new Runnable() { @Override public void run() { // Hack to force the current Project selection when the application starts up TopComponent tc = WindowManager.getDefault().findTopComponent(PROJECT_LOGICAL_TAB_ID); if (tc != null) { tc.requestActive(); } } }); }