Search in sources :

Example 1 with FontDefinition

use of org.eclipse.ui.internal.themes.FontDefinition in project eclipse.platform.ui by eclipse-platform.

the class FontDefinitionTest method testFontDefinitionWhenNameCategoryIdAndDescriptionOverridden.

@Test
public void testFontDefinitionWhenNameCategoryIdAndDescriptionOverridden() {
    // given
    engine = createEngine("FontDefinition#org-eclipse-jface-bannerfont {font-family: 'Times';font-size: 12;font-style: italic; font-weight: bold;" + " label:'nameOverridden'; category: '#categoryIdOverridden'; description: 'descriptionOverridden'}", display);
    FontDefinition definition = fontDefinition("org.eclipse.jface.bannerfont", "name", "categoryId", "description");
    assertNull(definition.getValue());
    assertFalse(definition.isOverridden());
    // when
    engine.applyStyles(definition, true);
    // then
    assertNotNull(definition.getValue());
    assertEquals("Times", definition.getValue()[0].getName());
    assertEquals(12, definition.getValue()[0].getHeight());
    assertEquals(SWT.ITALIC | SWT.BOLD, definition.getValue()[0].getStyle());
    assertEquals("categoryIdOverridden", definition.getCategoryId());
    assertEquals("nameOverridden", definition.getName());
    assertTrue(definition.getDescription().startsWith("descriptionOverridden"));
    assertTrue(definition.isOverridden());
}
Also used : FontDefinition(org.eclipse.ui.internal.themes.FontDefinition) Test(org.junit.Test)

Example 2 with FontDefinition

use of org.eclipse.ui.internal.themes.FontDefinition in project eclipse.platform.ui by eclipse-platform.

the class Workbench method initializeFonts.

/*
	 * Initializes the workbench fonts with the stored values.
	 */
private void initializeFonts() {
    StartupThreading.runWithoutExceptions(new StartupRunnable() {

        @Override
        public void runWithException() {
            FontDefinition[] fontDefinitions = WorkbenchPlugin.getDefault().getThemeRegistry().getFonts();
            ThemeElementHelper.populateRegistry(getThemeManager().getCurrentTheme(), fontDefinitions, PrefUtil.getInternalPreferenceStore());
            final IPropertyChangeListener themeToPreferencesFontSynchronizer = event -> {
                if (event.getNewValue() instanceof FontData[]) {
                    FontData[] fontData = (FontData[]) event.getNewValue();
                    PrefUtil.getInternalPreferenceStore().setValue(event.getProperty(), PreferenceConverter.getStoredRepresentation(fontData));
                }
            };
            getThemeManager().getCurrentTheme().getFontRegistry().addListener(themeToPreferencesFontSynchronizer);
            getThemeManager().addPropertyChangeListener(event -> {
                if (IThemeManager.CHANGE_CURRENT_THEME.equals(event.getProperty())) {
                    Object oldValue = event.getOldValue();
                    if (oldValue != null && oldValue instanceof ITheme) {
                        ((ITheme) oldValue).removePropertyChangeListener(themeToPreferencesFontSynchronizer);
                    }
                    Object newValue = event.getNewValue();
                    if (newValue != null && newValue instanceof ITheme) {
                        ((ITheme) newValue).addPropertyChangeListener(themeToPreferencesFontSynchronizer);
                    }
                }
            });
        }
    });
}
Also used : IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) BufferedInputStream(java.io.BufferedInputStream) CommandService(org.eclipse.ui.internal.commands.CommandService) ISaveableFilter(org.eclipse.ui.ISaveableFilter) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) IViewReference(org.eclipse.ui.IViewReference) Point(org.eclipse.swt.graphics.Point) IIntroManager(org.eclipse.ui.intro.IIntroManager) E4XMIResource(org.eclipse.e4.ui.internal.workbench.E4XMIResource) AbstractSplashHandler(org.eclipse.ui.splash.AbstractSplashHandler) ULocale(com.ibm.icu.util.ULocale) Map(java.util.Map) SWTException(org.eclipse.swt.SWTException) IServiceScopes(org.eclipse.ui.services.IServiceScopes) StatusManager(org.eclipse.ui.statushandlers.StatusManager) MessageDialog(org.eclipse.jface.dialogs.MessageDialog) IEditorPart(org.eclipse.ui.IEditorPart) IEvaluationService(org.eclipse.ui.services.IEvaluationService) IEditorInput(org.eclipse.ui.IEditorInput) PlatformUI(org.eclipse.ui.PlatformUI) StatusUtil(org.eclipse.ui.internal.misc.StatusUtil) IThemeManager(org.eclipse.ui.themes.IThemeManager) IRunnableContext(org.eclipse.jface.operation.IRunnableContext) OpenStrategy(org.eclipse.jface.util.OpenStrategy) ActiveContextSourceProvider(org.eclipse.ui.internal.contexts.ActiveContextSourceProvider) Window(org.eclipse.jface.window.Window) WorkbenchMenuService(org.eclipse.ui.internal.menus.WorkbenchMenuService) BindingManager(org.eclipse.jface.bindings.BindingManager) IApplicationContext(org.eclipse.equinox.app.IApplicationContext) XMLMemento(org.eclipse.ui.XMLMemento) IShellProvider(org.eclipse.jface.window.IShellProvider) SafeRunner(org.eclipse.core.runtime.SafeRunner) MPartDescriptor(org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptor) SubMonitor(org.eclipse.core.runtime.SubMonitor) CommandsFactoryImpl(org.eclipse.e4.ui.model.application.commands.impl.CommandsFactoryImpl) BusyIndicator(org.eclipse.swt.custom.BusyIndicator) EPartService(org.eclipse.e4.ui.workbench.modeling.EPartService) ICommandService(org.eclipse.ui.commands.ICommandService) ListenerList(org.eclipse.core.runtime.ListenerList) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) WorkbenchContextSupport(org.eclipse.ui.internal.contexts.WorkbenchContextSupport) ColorDefinition(org.eclipse.ui.internal.themes.ColorDefinition) SplashHandlerFactory(org.eclipse.ui.internal.splash.SplashHandlerFactory) MWindow(org.eclipse.e4.ui.model.application.ui.basic.MWindow) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) ContributionService(org.eclipse.ui.internal.model.ContributionService) IMemento(org.eclipse.ui.IMemento) IWorkbenchContextSupport(org.eclipse.ui.contexts.IWorkbenchContextSupport) ProgressManager(org.eclipse.ui.internal.progress.ProgressManager) MCategory(org.eclipse.e4.ui.model.application.commands.MCategory) EcoreUtil(org.eclipse.emf.ecore.util.EcoreUtil) ISaveablesLifecycleListener(org.eclipse.ui.ISaveablesLifecycleListener) CompatibilityEditor(org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor) IOException(java.io.IOException) ServiceLocatorCreator(org.eclipse.ui.internal.services.ServiceLocatorCreator) ImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) WorkbenchCommandSupport(org.eclipse.ui.internal.commands.WorkbenchCommandSupport) EModelService(org.eclipse.e4.ui.workbench.modeling.EModelService) StringReader(java.io.StringReader) IContextService(org.eclipse.ui.contexts.IContextService) EvaluationService(org.eclipse.ui.internal.services.EvaluationService) ViewDescriptor(org.eclipse.ui.internal.registry.ViewDescriptor) ContextInjectionFactory(org.eclipse.e4.core.contexts.ContextInjectionFactory) UIEvents(org.eclipse.e4.ui.workbench.UIEvents) WorkbenchException(org.eclipse.ui.WorkbenchException) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) WorkbenchAdvisor(org.eclipse.ui.application.WorkbenchAdvisor) URISyntaxException(java.net.URISyntaxException) IAction(org.eclipse.jface.action.IAction) IBindingManagerListener(org.eclipse.jface.bindings.IBindingManagerListener) ErrorDialog(org.eclipse.jface.dialogs.ErrorDialog) Policy(org.eclipse.ui.internal.misc.Policy) IWorkbenchRegistryConstants(org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants) MCommandsFactory(org.eclipse.e4.ui.model.application.commands.MCommandsFactory) IStatus(org.eclipse.core.runtime.IStatus) IExtensionRegistry(org.eclipse.core.runtime.IExtensionRegistry) IExtensionPoint(org.eclipse.core.runtime.IExtensionPoint) FontDefinition(org.eclipse.ui.internal.themes.FontDefinition) IAdaptable(org.eclipse.core.runtime.IAdaptable) IWizardRegistry(org.eclipse.ui.wizards.IWizardRegistry) IBindingService(org.eclipse.ui.keys.IBindingService) Collection(java.util.Collection) UUID(java.util.UUID) ShowKeysListener(org.eclipse.ui.internal.keys.show.ShowKeysListener) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) SourceProviderService(org.eclipse.ui.internal.services.SourceProviderService) Objects(java.util.Objects) ISourceProvider(org.eclipse.ui.ISourceProvider) WorkbenchThemeManager(org.eclipse.ui.internal.themes.WorkbenchThemeManager) ISourceProviderService(org.eclipse.ui.services.ISourceProviderService) ISelection(org.eclipse.jface.viewers.ISelection) IEditorRegistry(org.eclipse.ui.IEditorRegistry) CommandCallback(org.eclipse.jface.action.ExternalActionManager.CommandCallback) CompatibilityPart(org.eclipse.ui.internal.e4.compatibility.CompatibilityPart) SafeRunnable(org.eclipse.jface.util.SafeRunnable) WWinPartServiceSaveHandler(org.eclipse.ui.internal.WorkbenchWindow.WWinPartServiceSaveHandler) IExtensionDelta(org.eclipse.core.runtime.IExtensionDelta) IDecoratorManager(org.eclipse.ui.IDecoratorManager) IPerspectiveRegistry(org.eclipse.ui.IPerspectiveRegistry) Image(org.eclipse.swt.graphics.Image) IEventLoopAdvisor(org.eclipse.e4.ui.internal.workbench.swt.IEventLoopAdvisor) BundleEvent(org.osgi.framework.BundleEvent) HashSet(java.util.HashSet) E4Util(org.eclipse.ui.internal.e4.compatibility.E4Util) E4Application(org.eclipse.e4.ui.internal.workbench.swt.E4Application) MPart(org.eclipse.e4.ui.model.application.ui.basic.MPart) DeviceData(org.eclipse.swt.graphics.DeviceData) IWorkbenchPreferenceConstants(org.eclipse.ui.IWorkbenchPreferenceConstants) WorkbenchLocationService(org.eclipse.ui.internal.services.WorkbenchLocationService) NotHandledException(org.eclipse.core.commands.NotHandledException) BindingService(org.eclipse.ui.internal.keys.BindingService) ServiceRegistration(org.osgi.framework.ServiceRegistration) IRegistryChangeListener(org.eclipse.core.runtime.IRegistryChangeListener) ISaveHandler(org.eclipse.e4.ui.workbench.modeling.ISaveHandler) FileInputStream(java.io.FileInputStream) EclipseSplashHandler(org.eclipse.ui.internal.splash.EclipseSplashHandler) UIStats(org.eclipse.ui.internal.misc.UIStats) ITheme(org.eclipse.ui.themes.ITheme) SynchronousBundleListener(org.osgi.framework.SynchronousBundleListener) FrameworkUtil(org.osgi.framework.FrameworkUtil) Arrays(java.util.Arrays) NotDefinedException(org.eclipse.core.commands.common.NotDefinedException) MultiStatus(org.eclipse.core.runtime.MultiStatus) MTrimContribution(org.eclipse.e4.ui.model.application.ui.menu.MTrimContribution) ActionContributionItem(org.eclipse.jface.action.ActionContributionItem) CoreException(org.eclipse.core.runtime.CoreException) PartRenderingEngine(org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine) IServiceLocatorCreator(org.eclipse.ui.internal.services.IServiceLocatorCreator) MenuSourceProvider(org.eclipse.ui.internal.services.MenuSourceProvider) IUpdateService(org.eclipse.e4.ui.internal.workbench.renderers.swt.IUpdateService) PartInitException(org.eclipse.ui.PartInitException) MBindingContext(org.eclipse.e4.ui.model.application.commands.MBindingContext) BidiUtils(org.eclipse.jface.util.BidiUtils) WorkbenchHelpSystem(org.eclipse.ui.internal.help.WorkbenchHelpSystem) MApplication(org.eclipse.e4.ui.model.application.MApplication) ServiceLocator(org.eclipse.ui.internal.services.ServiceLocator) Realm(org.eclipse.core.databinding.observable.Realm) EContextService(org.eclipse.e4.ui.services.EContextService) PreferenceConverter(org.eclipse.jface.preference.PreferenceConverter) MenuManager(org.eclipse.jface.action.MenuManager) Assert(org.eclipse.core.runtime.Assert) Set(java.util.Set) Status(org.eclipse.core.runtime.Status) IModelResourceHandler(org.eclipse.e4.ui.workbench.IModelResourceHandler) Saveable(org.eclipse.ui.Saveable) DisplayRealm(org.eclipse.jface.databinding.swt.DisplayRealm) IFocusService(org.eclipse.ui.swt.IFocusService) SWT(org.eclipse.swt.SWT) ICommandImageService(org.eclipse.ui.commands.ICommandImageService) IWorkbenchOperationSupport(org.eclipse.ui.operations.IWorkbenchOperationSupport) Dictionary(java.util.Dictionary) MCommand(org.eclipse.e4.ui.model.application.commands.MCommand) WorkbenchJob(org.eclipse.ui.progress.WorkbenchJob) IWorkbenchBrowserSupport(org.eclipse.ui.browser.IWorkbenchBrowserSupport) ArrayList(java.util.ArrayList) Listener(org.eclipse.swt.widgets.Listener) IConfigurationElement(org.eclipse.core.runtime.IConfigurationElement) IApplication(org.eclipse.equinox.app.IApplication) IViewRegistry(org.eclipse.ui.views.IViewRegistry) NotEnabledException(org.eclipse.core.commands.NotEnabledException) FocusControlSourceProvider(org.eclipse.ui.internal.menus.FocusControlSourceProvider) LegacyHandlerService(org.eclipse.ui.internal.handlers.LegacyHandlerService) CommandManager(org.eclipse.core.commands.CommandManager) Shell(org.eclipse.swt.widgets.Shell) IWorkbenchHelpSystem(org.eclipse.ui.help.IWorkbenchHelpSystem) StringWriter(java.io.StringWriter) IElementFactory(org.eclipse.ui.IElementFactory) ExecutionException(org.eclipse.core.commands.ExecutionException) IPresentationEngine(org.eclipse.e4.ui.workbench.IPresentationEngine) PrefUtil(org.eclipse.ui.internal.util.PrefUtil) EventManager(org.eclipse.core.commands.common.EventManager) Command(org.eclipse.core.commands.Command) IWorkbenchListener(org.eclipse.ui.IWorkbenchListener) IIntroRegistry(org.eclipse.ui.internal.intro.IIntroRegistry) ServiceTracker(org.osgi.util.tracker.ServiceTracker) Platform(org.eclipse.core.runtime.Platform) ModalContext(org.eclipse.jface.operation.ModalContext) IEventBroker(org.eclipse.e4.core.services.events.IEventBroker) StartupRunnable(org.eclipse.ui.internal.StartupThreading.StartupRunnable) IExtensionTracker(org.eclipse.core.runtime.dynamichelpers.IExtensionTracker) Constants(org.osgi.framework.Constants) URL(java.net.URL) IWorkbenchCommandConstants(org.eclipse.ui.IWorkbenchCommandConstants) CommandImageManager(org.eclipse.ui.internal.commands.CommandImageManager) IMenuService(org.eclipse.ui.menus.IMenuService) UIExtensionTracker(org.eclipse.ui.internal.registry.UIExtensionTracker) ThemeElementHelper(org.eclipse.ui.internal.themes.ThemeElementHelper) IProgressService(org.eclipse.ui.progress.IProgressService) URI(java.net.URI) ProgressManagerUtil(org.eclipse.ui.internal.progress.ProgressManagerUtil) IExtension(org.eclipse.core.runtime.IExtension) MElementContainer(org.eclipse.e4.ui.model.application.ui.MElementContainer) NLS(org.eclipse.osgi.util.NLS) ExternalActionManager(org.eclipse.jface.action.ExternalActionManager) EObject(org.eclipse.emf.ecore.EObject) Display(org.eclipse.swt.widgets.Display) ContextService(org.eclipse.ui.internal.contexts.ContextService) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) BundleContext(org.osgi.framework.BundleContext) ISharedImages(org.eclipse.ui.ISharedImages) IHandlerService(org.eclipse.ui.handlers.IHandlerService) List(java.util.List) IDisposable(org.eclipse.ui.services.IDisposable) Category(com.ibm.icu.util.ULocale.Category) IPerspectiveDescriptor(org.eclipse.ui.IPerspectiveDescriptor) IViewDescriptor(org.eclipse.ui.views.IViewDescriptor) IProduct(org.eclipse.core.runtime.IProduct) Resource(org.eclipse.emf.ecore.resource.Resource) ContributionInfoMessages(org.eclipse.ui.internal.testing.ContributionInfoMessages) IWindowListener(org.eclipse.ui.IWindowListener) ILocalWorkingSetManager(org.eclipse.ui.ILocalWorkingSetManager) MBindingTable(org.eclipse.e4.ui.model.application.commands.MBindingTable) StartupMonitor(org.eclipse.osgi.service.runnable.StartupMonitor) PropertyPageContributorManager(org.eclipse.ui.internal.dialogs.PropertyPageContributorManager) HashMap(java.util.HashMap) IWorkbenchLocationService(org.eclipse.ui.internal.services.IWorkbenchLocationService) ContextManager(org.eclipse.core.commands.contexts.ContextManager) IntroDescriptor(org.eclipse.ui.internal.intro.IntroDescriptor) ContextFunction(org.eclipse.e4.core.contexts.ContextFunction) IEclipseContext(org.eclipse.e4.core.contexts.IEclipseContext) PreferenceManager(org.eclipse.jface.preference.PreferenceManager) IWorkbenchActivitySupport(org.eclipse.ui.activities.IWorkbenchActivitySupport) IWorkbenchCommandSupport(org.eclipse.ui.commands.IWorkbenchCommandSupport) ContributionInfo(org.eclipse.ui.testing.ContributionInfo) Hashtable(java.util.Hashtable) WorkbenchActivitySupport(org.eclipse.ui.internal.activities.ws.WorkbenchActivitySupport) Job(org.eclipse.core.runtime.jobs.Job) E4Workbench(org.eclipse.e4.ui.internal.workbench.E4Workbench) InjectionException(org.eclipse.e4.core.di.InjectionException) CommandAction(org.eclipse.ui.internal.actions.CommandAction) WorkbenchTestable(org.eclipse.ui.internal.testing.WorkbenchTestable) CommandImageService(org.eclipse.ui.internal.commands.CommandImageService) FontData(org.eclipse.swt.graphics.FontData) WorkbenchBrowserSupport(org.eclipse.ui.internal.browser.WorkbenchBrowserSupport) IWorkbench(org.eclipse.ui.IWorkbench) IWorkingSetManager(org.eclipse.ui.IWorkingSetManager) Collections(java.util.Collections) InputStream(java.io.InputStream) BasicFactoryImpl(org.eclipse.e4.ui.model.application.ui.basic.impl.BasicFactoryImpl) ISources(org.eclipse.ui.ISources) IContributionService(org.eclipse.ui.model.IContributionService) ITheme(org.eclipse.ui.themes.ITheme) FontData(org.eclipse.swt.graphics.FontData) StartupRunnable(org.eclipse.ui.internal.StartupThreading.StartupRunnable) EObject(org.eclipse.emf.ecore.EObject)

Example 3 with FontDefinition

use of org.eclipse.ui.internal.themes.FontDefinition in project eclipse.platform.ui by eclipse-platform.

the class ExtensionEventHandler method loadThemes.

// TODO: confirm
private void loadThemes(IExtension ext) {
    ThemeRegistryReader reader = new ThemeRegistryReader();
    ThemeRegistry registry = (ThemeRegistry) WorkbenchPlugin.getDefault().getThemeRegistry();
    reader.setRegistry(registry);
    for (IConfigurationElement configElement : ext.getConfigurationElements()) {
        reader.readElement(configElement);
    }
    Collection<ColorDefinition> colors = reader.getColorDefinitions();
    ColorDefinition[] colorDefs = colors.toArray(new ColorDefinition[colors.size()]);
    ITheme theme = workbench.getThemeManager().getTheme(IThemeManager.DEFAULT_THEME);
    ThemeElementHelper.populateRegistry(theme, colorDefs, PrefUtil.getInternalPreferenceStore());
    Collection<FontDefinition> fonts = reader.getFontDefinitions();
    FontDefinition[] fontDefs = fonts.toArray(new FontDefinition[fonts.size()]);
    ThemeElementHelper.populateRegistry(theme, fontDefs, PrefUtil.getInternalPreferenceStore());
    Map<String, String> data = reader.getData();
    registry.addData(data);
}
Also used : ColorDefinition(org.eclipse.ui.internal.themes.ColorDefinition) ITheme(org.eclipse.ui.themes.ITheme) FontDefinition(org.eclipse.ui.internal.themes.FontDefinition) ThemeRegistry(org.eclipse.ui.internal.themes.ThemeRegistry) ThemeRegistryReader(org.eclipse.ui.internal.themes.ThemeRegistryReader) IConfigurationElement(org.eclipse.core.runtime.IConfigurationElement)

Example 4 with FontDefinition

use of org.eclipse.ui.internal.themes.FontDefinition in project eclipse.platform.ui by eclipse-platform.

the class ThemesExtensionTest method testThemesExtension.

@Test
public void testThemesExtension() {
    // given
    engine = createEngine("ThemesExtension {font-definition: '#org-eclipse-ui-workbench-FONT_DEF_1'," + "'#org-eclipse-ui-workbench-FONT_DEF_2'; color-definition: '#org-eclipse-ui-workbench-COLOR_DEF_1';}", display);
    ThemesExtension themesExtention = new ThemesExtension();
    // when
    engine.applyStyles(themesExtention, true);
    // then
    assertEquals(3, themesExtention.getDefinitions().size());
    assertTrue(themesExtention.getDefinitions().get(0) instanceof FontDefinition);
    FontDefinition fontDefinition1 = (FontDefinition) themesExtention.getDefinitions().get(0);
    assertTrue(fontDefinition1.isAddedByCss());
    assertFalse(fontDefinition1.isOverridden());
    assertEquals("org.eclipse.ui.workbench.FONT_DEF_1", fontDefinition1.getId());
    assertEquals(ThemesExtension.DEFAULT_CATEGORY_ID, fontDefinition1.getCategoryId());
    assertTrue(fontDefinition1.getName().startsWith(FontDefinition.class.getSimpleName()));
    assertTrue(fontDefinition1.getName().endsWith(fontDefinition1.getId()));
    assertNotNull(fontDefinition1.getDescription());
    assertTrue(themesExtention.getDefinitions().get(1) instanceof FontDefinition);
    FontDefinition fontDefinition2 = (FontDefinition) themesExtention.getDefinitions().get(1);
    assertTrue(fontDefinition2.isAddedByCss());
    assertFalse(fontDefinition2.isOverridden());
    assertEquals("org.eclipse.ui.workbench.FONT_DEF_2", fontDefinition2.getId());
    assertEquals(ThemesExtension.DEFAULT_CATEGORY_ID, fontDefinition1.getCategoryId());
    assertTrue(fontDefinition2.getName().startsWith(FontDefinition.class.getSimpleName()));
    assertTrue(fontDefinition2.getName().endsWith(fontDefinition2.getId()));
    assertNotNull(fontDefinition2.getDescription());
    assertTrue(themesExtention.getDefinitions().get(2) instanceof ColorDefinition);
    ColorDefinition colorDefinition1 = (ColorDefinition) themesExtention.getDefinitions().get(2);
    assertTrue(colorDefinition1.isAddedByCss());
    assertFalse(colorDefinition1.isOverridden());
    assertEquals("org.eclipse.ui.workbench.COLOR_DEF_1", colorDefinition1.getId());
    assertNotNull(colorDefinition1.getDescription());
    assertEquals(ThemesExtension.DEFAULT_CATEGORY_ID, colorDefinition1.getCategoryId());
    assertTrue(colorDefinition1.getName().startsWith(ColorDefinition.class.getSimpleName()));
    assertTrue(colorDefinition1.getName().endsWith(colorDefinition1.getId()));
    assertNotNull(colorDefinition1.getDescription());
}
Also used : ThemesExtension(org.eclipse.ui.internal.themes.ThemesExtension) ColorDefinition(org.eclipse.ui.internal.themes.ColorDefinition) FontDefinition(org.eclipse.ui.internal.themes.FontDefinition) Test(org.junit.Test)

Example 5 with FontDefinition

use of org.eclipse.ui.internal.themes.FontDefinition in project eclipse.platform.ui by eclipse-platform.

the class ThemeRegistryModifiedHandlerTest method testHandleEvent.

@Test
public void testHandleEvent() throws Exception {
    // given
    FontDefinition fontDefinition1 = mock(FontDefinition.class);
    doReturn("fontDefinition1").when(fontDefinition1).getId();
    doReturn(true).when(fontDefinition1).isOverridden();
    FontDefinition fontDefinition2 = mock(FontDefinition.class);
    doReturn("fontDefinition2").when(fontDefinition2).getId();
    doReturn(false).when(fontDefinition2).isOverridden();
    ColorDefinition colorDefinition = mock(ColorDefinition.class);
    doReturn("colorDefinition").when(colorDefinition).getId();
    doReturn(true).when(colorDefinition).isOverridden();
    ThemeRegistry themeRegistry = spy(new ThemeRegistry());
    doReturn(new FontDefinition[] { fontDefinition1, fontDefinition2 }).when(themeRegistry).getFonts();
    doReturn(new ColorDefinition[] { colorDefinition }).when(themeRegistry).getColors();
    FontRegistry fontRegistry = mock(FontRegistry.class);
    ColorRegistry colorRegistry = mock(ColorRegistry.class);
    ITheme colorsAndFontsTheme = mock(ITheme.class);
    doReturn("3.x theme id").when(colorsAndFontsTheme).getId();
    org.eclipse.e4.ui.css.swt.theme.ITheme cssTheme = mock(org.eclipse.e4.ui.css.swt.theme.ITheme.class);
    doReturn("css theme id").when(cssTheme).getId();
    ThemeRegistryModifiedHandlerTestable handler = spy(new ThemeRegistryModifiedHandlerTestable());
    doReturn(themeRegistry).when(handler).getThemeRegistry();
    doReturn(fontRegistry).when(handler).getFontRegistry();
    doReturn(colorRegistry).when(handler).getColorRegistry();
    doReturn(colorsAndFontsTheme).when(handler).getColorsAndFontsTheme();
    doReturn(cssTheme).when(handler).getTheme();
    // when
    handler.handleEvent(mock(Event.class));
    // then
    verify(handler, times(1)).populateThemeRegistries(themeRegistry, fontRegistry, colorRegistry, cssTheme, colorsAndFontsTheme);
    verify(handler, times(1)).sendThemeDefinitionChangedEvent();
}
Also used : ColorDefinition(org.eclipse.ui.internal.themes.ColorDefinition) ITheme(org.eclipse.ui.themes.ITheme) FontDefinition(org.eclipse.ui.internal.themes.FontDefinition) FontRegistry(org.eclipse.jface.resource.FontRegistry) ColorRegistry(org.eclipse.jface.resource.ColorRegistry) ThemeRegistry(org.eclipse.ui.internal.themes.ThemeRegistry) Event(org.osgi.service.event.Event) Test(org.junit.Test)

Aggregations

FontDefinition (org.eclipse.ui.internal.themes.FontDefinition)14 Test (org.junit.Test)11 ColorDefinition (org.eclipse.ui.internal.themes.ColorDefinition)10 ThemeRegistry (org.eclipse.ui.internal.themes.ThemeRegistry)8 ColorRegistry (org.eclipse.jface.resource.ColorRegistry)7 FontRegistry (org.eclipse.jface.resource.FontRegistry)7 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)6 ThemesExtension (org.eclipse.ui.internal.themes.ThemesExtension)5 Event (org.osgi.service.event.Event)5 IStylingEngine (org.eclipse.e4.ui.services.IStylingEngine)4 RGB (org.eclipse.swt.graphics.RGB)4 ITheme (org.eclipse.ui.themes.ITheme)4 IConfigurationElement (org.eclipse.core.runtime.IConfigurationElement)3 ULocale (com.ibm.icu.util.ULocale)1 Category (com.ibm.icu.util.ULocale.Category)1 BufferedInputStream (java.io.BufferedInputStream)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 StringReader (java.io.StringReader)1