Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-04-06Bug 407733 - [General] Papyrus shall support navigation history withShuai Li3-56/+261
back and next buttons - Update for post-refactoring Neon Change-Id: I23a0a26449c2bda1e162d07e659680bea218ebcd Signed-off-by: Shuai Li <shuai.li@cea.fr>
2016-01-22Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus2-2/+2
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Move UI-dependent APIs from the org.eclipse.papyrus.infra.tools bundle to org.eclipse.papyrus.infra.ui. Accordingly move tests into a new org.eclipse.papyrus.infra.ui.tests bundle. Two crucial UI dependencies are inverted by introduction of new OSGi services with core interfaces specified in the non-UI layer: * IExecutorService extends Java Platform's ExecutorService with APIs for synchronous execution (a la Display.syncExec). A new CoreExecutors class in the infra.tools bundle supplies the instance provided by the OSGi service implementation in the infra.ui bundle. This provides compatibility for clients of various UIUtil APIs that they can no longer access * IContextualServiceRegistryTracker abstracts the concept of the default ServicesRegistry found in the currently active editor, which the ServiceUtilsForHandlers class (and hence all of its clients) relies on. Again an OSGi service implementation in the infra.ui bundle supplies the implementation of this tracker, which is exposed in infra.core through the service-utils API Also move UI-dependent APIs from the org.eclipse.papyrus.infra.core bundle into org.eclipse.papyrus.infra.ui. This includes * moving the 'papyrusDiagram' and 'papyrusContentOutline' extension points into the org.eclipse.papyrus.infra.ui namespace * moving various UI-related services such as EditorLifeycleManager, SaveLayoutBeforeClose, and the IMultiDiagramEditor, itself, into the org.eclipse.papyrus.infra.ui bundle This necessitates not only widespread refactorings on the moved APIs, but also concomitant move of other APIs in other bundles because they cannot plausibly use these moved APIs from their new home in org.eclipse.papyrus.infra.ui and/or they cannot reasonably also be moved to the UI bundle and/or they must be used by bundles that now have no UI dependency: * the DI/sash-windows EMF model is moved out of infra.core.sasheditor.di bundle into a new model-only org.eclipse.papyrus.infra.sashwindows.di bundle (which symbolic name incidentally now better reflects the contained Java package names) * the IPageManager and ILocalPageService interfaces are moved out of infra.core.sasheditor.di bundle because they need to remain accessible by headless code such as the edit advices that ensure deletion of sash-model pages for notations that are deleted. These are now in a package named org.eclipse.papyrus.infra.code.sashwindows.di.service. Accordingly the class hierarchy implementing the IPageManager interface is changed: the obsolete PageMngrImpl is deleted, replaced by a BasicPageManagerImpl which now the PageManagerImpl extends. A service factory creates the basic page manager in a headless context, but is overridden by the UI-aware implementation when the UI bundles are installed * the MultiDiagramEditorGefDelegate (which has a GEF 3 dependency) is moved from the org.eclipse.papyrus.infra.core.sasheditor bundle to a new org.eclipse.papyrus.infra.gmfdiag.gef bundle. Its usage for an adapter of ActionRegistry type is extracted out of the CoreMultiDiagramEditor class into a new external adapter-factory in the infra.gmfdiag.gef bundle Tests all still pass (inasmuch as they do in the nightly master builds). Change-Id: I573dee5d9312d6e5746d74575350d0152b591ab3
2015-04-23Bug 465122 - [Navigation] Keys to travers opened tabs in editorShuai Li3-0/+127
- Remove unnecessary execute methods - Log errors - Fix wrong javadoc - Modifications after review. Most noticeable change is that multi-tabfolders are now supported, i.e. traverse tabs in the current active tabfolder. - Add getNextPage and getPreviousPage methods in ISashWindowsContainer and SashWindowsContainer (implementation) - Add CollectNextPageVisitor in SashWindowsContainer to collect the next/previous page - Extend org.eclipse.ui.bindings with 2 key sequences: CTRL+TAB and CTRL+M2+TAB triggering commands below - Extend org.eclipse.ui.category.navigate with Next Tab and Previous Tab commands - NextTabHandler and PreviousTabHandler (extend TraversTabHandler) for the commands Change-Id: I56f0ac57dcb62540a3b5ddf9bb2e21568f20b9f3 Signed-off-by: Shuai Li <shuai.li@cea.fr> Reviewed-on: https://git.eclipse.org/r/46192 Tested-by: Hudson CI Reviewed-by: Christian W. Damus <give.a.damus@gmail.com> Tested-by: Christian W. Damus <give.a.damus@gmail.com> Reviewed-by: Benoit Maggi <benoit.maggi@cea.fr>
2014-08-25[Code style] Apply clean-up profile to Papyrus Main plug-insCamille Letavernier2-2/+3
2014-08-21[Code style] Apply clean-up and formatter on Main plug-insCamille Letavernier6-69/+74
2014-07-24437217: [Editors] In-place reloading of model resources in the editorsChristian W. Damus1-28/+29
https://bugs.eclipse.org/bugs/show_bug.cgi?id=437217 In situ editor reloading. Introduces an IReloadableEditor adapter protocol with an implementation in the CoreMultiDiagramEditor that implements internal destruction of the ServicesRegistry and nested editors. Some refactoring of the initialization and disposal code in the editor class hierarchy and dependencies facilitates reuse of init/dispose code in the reload scenario. The re-loading of an editor is deferred until it is next activated, unless it is already the active editor (can happen when "Save All" is invoked). Editor re-load notifications to dependent views like Model Explorer and Outline. A new listener protocol informs dependents before and after reload so that they may properly dispose of obsolete state and re-initialize when the editor is reloaded. Also ensure that an editor is only reloaded once when some resource that it depends on has changed, not once for each resource. State restoration tokens. Re-load listeners can insert tokens into the re-load event that capture state to be restored after the re-load. Listeners retrieve and apply these tokens after the editor re-loads itself. Current state restoration includes: - tree node expansion and selection state in the Model Explorer view - diagram outline view: which presentation (tree or overview thumbnail) is active - which workbench part is active, such that the correct selection is reflected in views such as Model Explorer, Outline, and Properties - current active diagram in the re-loaded editor - edit-part selections in all diagrams - selection (columns and rows, not individual cells) in table editors - palettes in each diagram (or palette pages when the Palette View is open): * active tool * pinnable stack tool selection * drawer expansion state * drawer scroll position The Palette View support incidentally fixes loss of palette state when switching between Papyrus editors, caused by the PapyrusPaletteSynchronizer. JUnit regression tests for various aspects of editor re-load. Includes a fix for an NPE in the Validation View's content provider that occurs in several tests when an editor is closed or re-loaded. Also support for tests that need to load more than one test-fixture model and/or open more than one editor. Change-Id: Ic0f654ab138d3e091f81f1e9159bcca80d6bb0a5
2014-05-13[433192] - Explicit synchronization between active inner IEditorPage inmgolubev2-4/+130
multi-editor and PaletteView Change-Id: I88d9e13b0347ae809b836766040e6ee458d2a7b7 Signed-off-by: mgolubev <golubev@montages.com>
2013-02-21398712: [Core] Multiple issues with the PageManagercletavernie1-0/+4
https://bugs.eclipse.org/bugs/show_bug.cgi?id=398712 401434: [Core] The CoreEditor shall be covered with integration tests https://bugs.eclipse.org/bugs/show_bug.cgi?id=401434 Missing classes from previous commits
2012-11-23391945: [Refactoring] Part 2: Refactoring on Kepler (0.10)cletavernie2-29/+51
https://bugs.eclipse.org/bugs/show_bug.cgi?id=391945
2012-09-17380517: [Papyrus] We should use explicit plug-in dependencies whenever possiblecletavernie1-6/+0
https://bugs.eclipse.org/bugs/show_bug.cgi?id=380517 + removed some unused dependencies and imports
2011-11-09362162: [Architecture - Refactoring] The plug-ins should be renamed to match ↵cletavernie3-8/+8
their layer's qualified name https://bugs.eclipse.org/bugs/show_bug.cgi?id=362162
2011-10-25359057: [Architecture - SVN - Build] The Papyrus architecture should be ↵cletavernie5-0/+318
refactored https://bugs.eclipse.org/bugs/show_bug.cgi?id=359057

    Back to the top