Java Code Examples for org.eclipse.ui.IPartService#addPartListener()
The following examples show how to use
org.eclipse.ui.IPartService#addPartListener() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AbstractPDFViewerRunnable.java From tlaplus with MIT License | 6 votes |
public AbstractPDFViewerRunnable(ProducePDFHandler handler, IWorkbenchPartSite site, IResource aSpecFile) { Assert.isNotNull(handler); Assert.isNotNull(site); Assert.isNotNull(aSpecFile); this.handler = handler; this.specFile = aSpecFile; final boolean autoRegenerate = TLA2TeXActivator.getDefault().getPreferenceStore() .getBoolean(ITLA2TeXPreferenceConstants.AUTO_REGENERATE); if (autoRegenerate) { // Subscribe to the event bus with which the TLA Editor save events are // distributed. In other words, every time the user saves a spec, we // receive an event and provided the spec corresponds to this PDF, we // regenerate it. // Don't subscribe in EmbeddedPDFViewerRunnable#though, because it is run // repeatedly and thus would cause us to subscribe multiple times. final IEventBroker eventService = site.getService(IEventBroker.class); Assert.isTrue(eventService.subscribe(TLAEditor.SAVE_EVENT, this)); // Register for part close events to deregister the event handler // subscribed to the event bus. There is no point in regenerating // the PDF if no PDFEditor is open anymore. final IPartService partService = site.getService(IPartService.class); partService.addPartListener(this); } }
Example 2
Source File: DropWorkbenchChangeListener.java From statecharts with Eclipse Public License 1.0 | 5 votes |
protected void hookWindow(IWorkbenchWindow window) { if (window == null) { return; } window.addPageListener(this); window.addPerspectiveListener(this); IPartService partService = (IPartService) window.getService(IPartService.class); partService.addPartListener(this); windowChanged(window); }
Example 3
Source File: GamlEditor.java From gama with GNU General Public License v3.0 | 5 votes |
private void assignBoxPartListener() { final IPartService partService = getSite().getWorkbenchWindow().getPartService(); if (partService == null) { return; } if (partListeners == null) { partListeners = new HashMap<>(); } final IPartListener2 oldListener = partListeners.get(partService); if (oldListener == null) { final IPartListener2 listener = new BoxDecoratorPartListener(); partService.addPartListener(listener); partListeners.put(partService, listener); } }
Example 4
Source File: DisplayOverlay.java From gama with GNU General Public License v3.0 | 5 votes |
public DisplayOverlay(final LayeredDisplayView view, final Composite c, final IOverlayProvider<OverlayInfo> provider) { this.createExtraInfo = provider != null; this.view = view; final IPartService ps = ((IWorkbenchPart) view).getSite().getService(IPartService.class); ps.addPartListener(pl2); referenceComposite = c; // parentShell = c.getShell(); popup = new Shell(c.getShell(), SWT.NO_TRIM | SWT.NO_FOCUS); popup.setAlpha(140); final FillLayout layout = new FillLayout(); layout.type = SWT.VERTICAL; layout.spacing = 10; popup.setLayout(layout); popup.setBackground(IGamaColors.BLACK.color()); createPopupControl(); popup.setAlpha(140); popup.layout(); c.getShell().addShellListener(listener); // parentShell.addControlListener(listener); c.addControlListener(listener); if (provider != null) { provider.setTarget(new ThreadedOverlayUpdater(this), view.getDisplaySurface()); } // if (GamaPreferences.Displays.CORE_SHOW_FPS.getValue()) { timer.schedule(new FPSTask(), 0, 1000); // } }
Example 5
Source File: CommonEditorPlugin.java From APICloud-Studio with GNU General Public License v3.0 | 5 votes |
public void windowOpened(IWorkbenchWindow window) { IPartService partService = window.getPartService(); if (partService != null) { partService.addPartListener(fPartListener); } window.addPerspectiveListener(fPerspectiveListener); }
Example 6
Source File: CommonEditorPlugin.java From APICloud-Studio with GNU General Public License v3.0 | 5 votes |
private void addPartListener() { try { IWorkbench workbench = PlatformUI.getWorkbench(); if (workbench != null) { IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); IPartService partService; for (IWorkbenchWindow window : windows) { partService = window.getPartService(); if (partService != null) { partService.addPartListener(fPartListener); } window.addPerspectiveListener(fPerspectiveListener); } // Listen on any future windows PlatformUI.getWorkbench().addWindowListener(fWindowListener); } } catch (Exception e) { // ignore, may be running headless, like in tests } }
Example 7
Source File: OccurrencesSearchMenuAction.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
private RetargetAction createSubmenuAction(IPartService partService, String actionID, String text, String actionDefinitionId) { RetargetAction action= new RetargetAction(actionID, text); action.setActionDefinitionId(actionDefinitionId); partService.addPartListener(action); IWorkbenchPart activePart = partService.getActivePart(); if (activePart != null) { action.partActivated(activePart); } return action; }
Example 8
Source File: SurroundWithTemplateMenuAction.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
/** * {@inheritDoc} */ public void init(IWorkbenchWindow window) { if (fPartService != null) { fPartService.removePartListener(fPartListener); fPartService= null; } if (window != null) { IPartService partService= window.getPartService(); if (partService != null) { fPartService= partService; partService.addPartListener(fPartListener); } } }
Example 9
Source File: EditorManager.java From xds-ide with Eclipse Public License 1.0 | 4 votes |
public void initialize() { IWorkbenchWindow window = WorkbenchUtils.getActiveWorkbenchWindow(); IPartService partService = window.getPartService(); partService.addPartListener(new ViewPartListener()); }
Example 10
Source File: ModelEditor.java From tlaplus with MIT License | 4 votes |
/** * Initialize the editor */ @Override public void init(IEditorSite site, IEditorInput input) throws PartInitException { // TLCUIActivator.getDefault().logDebug("entering ModelEditor#init(IEditorSite site, IEditorInput input)"); super.init(site, input); // grab the input final FileEditorInput finput = getFileEditorInput(); // the file might not exist anymore (e.g. manually removed by the user) if ((finput == null) || !finput.exists()) { throw new PartInitException("Editor input does not exist: " + finput.getName()); } model = TLCModelFactory.getBy(finput.getFile()); int openTabsValue = 0; try { openTabsValue = model.getLaunchConfiguration().getAttribute(IModelConfigurationConstants.EDITOR_OPEN_TABS, 0); } catch (CoreException e) { } final boolean mustShowResultsPage = model.isSnapshot() || parsePotentialAssociatedTLCRunToDetermineWhetherResultsPageMustBeShown(); final IPreferenceStore ips = TLCUIActivator.getDefault().getPreferenceStore(); if (openTabsValue == IModelConfigurationConstants.EDITOR_OPEN_TAB_NONE) { pagesToAdd = mustShowResultsPage ? new BasicFormPage[] { new MainModelPage(this), new ResultPage(this) } : new BasicFormPage[] { new MainModelPage(this) }; } else { final ArrayList<BasicFormPage> editorPages = new ArrayList<>(); editorPages.add(new MainModelPage(this)); if ((openTabsValue & IModelConfigurationConstants.EDITOR_OPEN_TAB_ADVANCED_MODEL) != 0) { editorPages.add(new AdvancedModelPage(this)); } if ((openTabsValue & IModelConfigurationConstants.EDITOR_OPEN_TAB_ADVANCED_TLC) != 0) { editorPages.add(new AdvancedTLCOptionsPage(this)); } if (mustShowResultsPage || ((openTabsValue & IModelConfigurationConstants.EDITOR_OPEN_TAB_RESULTS) != 0)) { editorPages.add(new ResultPage(this)); if (ips.getBoolean(IModelEditorPreferenceConstants.I_MODEL_EDITOR_SHOW_ECE_AS_TAB)) { editorPages.add(new EvaluateConstantExpressionPage(this)); } if (mustShowResultsPage) { final int openTabState = getModel().getOpenTabsValue(); updateOpenTabsState(openTabState | IModelConfigurationConstants.EDITOR_OPEN_TAB_RESULTS); } } pagesToAdd = editorPages.toArray(new BasicFormPage[editorPages.size()]); } ips.addPropertyChangeListener(preferenceChangeListener); // setContentDescription(path.toString()); if (model.isSnapshot()) { final String date = SIMPLE_DATE_FORMAT.format(model.getSnapshotTimeStamp()); this.setPartName(model.getSnapshotFor().getName() + " (" + date + ")"); } else { this.setPartName(model.getName()); } this.setTitleToolTip(model.getFile().getLocation().toOSString()); // add a listener that will update the tlc error view when a model editor // is made visible IPartService service = (IPartService) getSite().getService(IPartService.class); service.addPartListener(ModelEditorPartListener.getDefault()); /* * Install resource change listener on the workspace root to react on any changes in th current spec */ ResourcesPlugin.getWorkspace().addResourceChangeListener(workspaceResourceChangeListener, IResourceChangeEvent.POST_BUILD); // update the spec object of the helper helper.resetSpecNames(); // initial re-validate the pages, which are already loaded UIHelper.runUIAsync(validateRunable); // TLCUIActivator.getDefault().logDebug("leaving ModelEditor#init(IEditorSite site, IEditorInput input)"); // Asynchronously register a PageChangedListener to now cause cyclic part init warnings UIHelper.runUIAsync(new Runnable() { public void run() { addPageChangedListener(pageChangedListener); } }); model.add(modelStateListener); }
Example 11
Source File: ICEResourceView.java From ice with Eclipse Public License 1.0 | 4 votes |
/** * This operation overrides the ViewPart.createPartControl method to create * and draw the TreeViewer before registering it as a selection provider. * * @param parent * The Composite used to create the TreeViewer. */ @Override public void createPartControl(Composite parent) { // Create a TabFolder to manage tabs tabFolder = new TabFolder(parent, SWT.NONE); // Create pages (TabItems) for text files and images TabItem textTab = new TabItem(tabFolder, SWT.NONE, 0); textTab.setText("Files"); TabItem imageTab = new TabItem(tabFolder, SWT.NONE, 1); imageTab.setText("Images"); TabItem plotTab = new TabItem(tabFolder, SWT.NONE, 2); plotTab.setText("Plots"); // Create the tool bar and buttons for the view createActions(); // Initialize the TreeViewer fileTreeViewer = new TreeViewer(tabFolder); imageTreeViewer = new TreeViewer(tabFolder); // Create content and label providers initializeTreeViewer(fileTreeViewer); initializeTreeViewer(imageTreeViewer); // Register the tree to the tabs textTab.setControl(fileTreeViewer.getControl()); imageTab.setControl(imageTreeViewer.getControl()); // Register this view as a SelectionProvider getSite().setSelectionProvider(fileTreeViewer); getSite().setSelectionProvider(imageTreeViewer); // Registered the view as a double click listener of the TreeViewer fileTreeViewer.addDoubleClickListener(this); imageTreeViewer.addDoubleClickListener(this); // Add a listener to catch tab selection changes. // NOTE: In Windows, this event is fired instantly, so this listener // needs to be declared after everything else is initialized! tabFolder.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { // If tabs are changed while playing, stop playing. if (playAction.isInPlayState()) { playAction.stop(); } // Set the TreeViewer input to the selected tab setTreeContent(tabFolder.indexOf((TabItem) event.item)); } }); // Create the Table and table viewer for the Plot tab Table listTable = new Table(tabFolder, SWT.FLAT); DefaultEventTableViewer<VizResource> listTableViewer = new DefaultEventTableViewer<VizResource>( plotList, listTable, plotList); // Register the table control with the plot tab plotTab.setControl(listTable); // Check if there is currently an active ICEFormEditor. If so, update // the currently active editor and related UI pieces. IEditorPart activeEditor = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (activeEditor != null && activeEditor instanceof ICEFormEditor) { if (activeEditor != editor) { setActiveEditor((ICEFormEditor) activeEditor); } } else { // Get a list of all the currently open editors IWorkbenchPage workbenchPage = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage(); IEditorReference[] editorRefs = workbenchPage.getEditorReferences(); if (editorRefs != null && editorRefs.length > 0) { // Begin iterating through all the editors, looking for one // that's an ICEFormEditor for (IEditorReference e : editorRefs) { // If it's an ICEFormEditor, set it as the active editor if (e.getId().equals(ICEFormEditor.ID)) { setActiveEditor((ICEFormEditor) e.getEditor(false)); break; } } } } // Register as a listener to the part service so that the view can // update when the active ICEFormEditor changes. IPartService partService = getSite().getWorkbenchWindow() .getPartService(); partService.addPartListener(this); return; }
Example 12
Source File: BTEditor.java From jbt with Apache License 2.0 | 4 votes |
/** * * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, * org.eclipse.ui.IEditorInput) */ public void init(IEditorSite site, IEditorInput input) throws PartInitException { if (!(input instanceof BTEditorInput)) { throw new PartInitException("Illegal IEditorInput. Must be " + BTEditorInput.class.getCanonicalName()); } setSite(site); setInputWithNotify(input); BTEditorInput editorInput = (BTEditorInput) input; setPartName(input.getName()); this.openGuardEditors = new Hashtable<BTNode, BTEditor>(); /* Set the IPartListener that will handle close events. */ IPartService partService = (IPartService) this.getSite().getService(IPartService.class); partService.addPartListener(new BTEditorPartListener()); if (editorInput.isFromFile()) { /* If the tree comes from a file, load the file. */ try { this.tree = BTXMLManager.load(editorInput.getTreeName()); this.tree.addTreeModifiedListener(this); this.dirty = false; } catch (IOException e) { throw new PartInitException("There were errors while loading the tree: " + e.getMessage(), e); } } else if (editorInput.isFromGuard()) { /* * If the tree comes from a guard, we have to construct a new tree * whose root is the guard. */ this.tree = new BT(); this.tree.addTreeModifiedListener(this); BTEditor activeEditor = Utilities.getActiveBTEditor(); this.guardTree = activeEditor.getBT(); String[] pieces = editorInput.getTreeName().split(File.pathSeparator); this.guardNode = this.guardTree.findNode(new Identifier(pieces[1])); /* * Important: the root node (type ROOT) of the guard's tree is not a * normal ROOT, since it has no name. Therefore, we clone the * original ROOT type and remove its ability to provide a name. */ ConceptualBTNode conceptualNoNameRoot = NodesLoader.getNode( NodeInternalType.ROOT.toString(), null).clone(); conceptualNoNameRoot.setHasName(false); BTNode noNameRoot = this.tree.createNode(conceptualNoNameRoot); BTNode guard = this.guardNode.getGuard(); if (guard != null) { /* If the node had a guard, then the editor is not dirty. */ BTNode clonedGuard = guard.clone(); clonedGuard.setParent(noNameRoot); noNameRoot.addChild(clonedGuard); this.dirty = false; } else { /* Otherwise, the editor is dirty. */ this.dirty = true; } this.tree.setRoot(noNameRoot); this.setTitleImage(ApplicationIcons.getIcon(IconsPaths.GUARD)); } else { /* Otherwise, create a new empty BT. */ this.tree = new BT(); this.tree.addTreeModifiedListener(this); tree.setRoot(tree.createNode(NodesLoader.getNode(NodeInternalType.ROOT.toString(), null))); this.dirty = true; } }