$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" \
- "$(DESTDIR)$(fontdir)" "$(DESTDIR)$(mimedir)"
-DATA = $(appdata_DATA) $(desktop_DATA) $(font_DATA) $(mime_DATA)
+ "$(DESTDIR)$(mimedir)"
+DATA = $(appdata_DATA) $(desktop_DATA) $(mime_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
# Note that here, it is datadir and NOT pkgdatadir
appdatadir = $(datadir)/appdata
appdata_DATA = scilab.appdata.xml
-
-# Embedded font file
-# Note that here, it is datadir and NOT pkgdatadir
-fontdir = $(datadir)/fonts/google-droid/
-font_DATA = DroidSans-Bold.ttf \
-DroidSansMono.ttf \
-DroidSans.ttf \
-DroidSerif-BoldItalic.ttf \
-DroidSerif-Bold.ttf \
-DroidSerif-Italic.ttf \
-DroidSerif-Regular.ttf
-
all: all-recursive
.SUFFIXES:
@list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir)
-install-fontDATA: $(font_DATA)
- @$(NORMAL_INSTALL)
- @list='$(font_DATA)'; test -n "$(fontdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(fontdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(fontdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(fontdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(fontdir)" || exit $$?; \
- done
-
-uninstall-fontDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(font_DATA)'; test -n "$(fontdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(fontdir)'; $(am__uninstall_files_from_dir)
install-mimeDATA: $(mime_DATA)
@$(NORMAL_INSTALL)
@list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(fontdir)" "$(DESTDIR)$(mimedir)"; do \
+ for dir in "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(mimedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
info-am:
install-data-am: install-appdataDATA install-desktopDATA \
- install-fontDATA install-mimeDATA
+ install-mimeDATA
install-dvi: install-dvi-recursive
ps-am:
uninstall-am: uninstall-appdataDATA uninstall-desktopDATA \
- uninstall-fontDATA uninstall-mimeDATA
+ uninstall-mimeDATA
.MAKE: $(am__recursive_targets) install-am install-strip
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-appdataDATA install-data \
install-data-am install-desktopDATA install-dvi install-dvi-am \
- install-exec install-exec-am install-fontDATA install-html \
- install-html-am install-info install-info-am install-man \
- install-mimeDATA install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-appdataDATA uninstall-desktopDATA \
- uninstall-fontDATA uninstall-mimeDATA
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-mimeDATA \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-appdataDATA uninstall-desktopDATA uninstall-mimeDATA
.PRECIOUS: Makefile
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2007 - INRIA - Allan CORNET
* Copyright (C) 2007 - INRIA - Sylvestre Ledru
- * Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
*
* Copyright (C) 2012 - 2016 - Scilab Enterprises
*
package org.scilab.modules.gui.utils;
-import java.awt.Font;
-import java.awt.FontFormatException;
-import java.awt.GraphicsEnvironment;
-import java.io.File;
-import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import javax.swing.SwingUtilities;
-import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
-import javax.swing.plaf.FontUIResource;
/**
* Class used to modify look and feel in Scilab GUIs
* @author Sylvestre Ledru
*/
public class LookAndFeelManager {
- private static LookAndFeelManager instance;
- public static LookAndFeelManager getInstance() {
- if (instance == null) {
- instance = new LookAndFeelManager();
- }
- return instance;
- }
-
- private final UIManager.LookAndFeelInfo[] availableLookAndFeels;
+ private static UIManager.LookAndFeelInfo[] availableLookAndFeels = UIManager.getInstalledLookAndFeels();
private boolean ret;
- private Font serif;
- private Font sansSerif;
- private Font monospaced;
- private Font dialog;
- private Font dialogInput;
-
-
/**
* Constructor
*/
public LookAndFeelManager() {
- availableLookAndFeels = UIManager.getInstalledLookAndFeels();
}
- public Font getSerifFont() {
- if (serif == null) {
- serif = new Font(Font.SERIF, Font.PLAIN, 12);
- }
- return serif;
- }
-
- public Font getSansSerifFont() {
- if (sansSerif == null) {
- sansSerif = new Font(Font.SANS_SERIF, Font.PLAIN, 12);
- }
- return sansSerif;
- }
-
- public Font getMonospacedFont() {
- if (monospaced == null) {
- monospaced = new Font(Font.MONOSPACED, Font.PLAIN, 12);
- }
- return monospaced;
- }
-
- public Font getDialogFont() {
- if (dialog == null) {
- dialog = new Font(Font.DIALOG, Font.PLAIN, 12);
- }
- return dialog;
- }
-
- public Font getDialogInputFont() {
- if (dialogInput == null) {
- dialogInput = new Font(Font.DIALOG_INPUT, Font.PLAIN, 12);
- }
- return dialogInput;
- }
-
-
-
-
/**
* Get Installed Look and Feels
* @return an array of String
public void run() {
try {
UIManager.setLookAndFeel(lookandfeel);
- registerEmbeddedFonts();
- storeEmbeddedFonts();
- initComponentDefaults(UIManager.getDefaults());
-
ret = true;
} catch (UnsupportedLookAndFeelException e) {
System.err.println("Cannot find this look and feel:");
} catch (InstantiationException e) {
System.err.println("Instantiation error while setting the Look And Feel:");
System.err.println(e.getLocalizedMessage());
- } catch (FontFormatException e) {
- System.err.println("Invalid Font format:");
- System.err.println(e.getLocalizedMessage());
- } catch (IOException e) {
- System.err.println("Unable to open Font:");
- System.err.println(e.getLocalizedMessage());
}
}
});
}
/**
- * Register the shipped fonts
- */
- private void registerEmbeddedFonts() throws FontFormatException, IOException {
- GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
-
- File[] possibleDirs = {
- new File(System.getenv("SCI"), "/../fonts/google-droid"), // binary version (eg. where we have a "share")
- new File(System.getenv("SCI"), "/desktop"), // Linux dev. version or Windows install
- };
-
- // detect existing dir
- File dir = null;
- for (File d : possibleDirs) {
- if (d.isDirectory()) { // also check if it exists implicitly
- dir = d;
- break;
- }
- }
- if (dir == null) {
- return;
- }
-
- // register fonts
- String[] filenames = {"DroidSans-Bold.ttf", "DroidSansMono.ttf", "DroidSans.ttf", "DroidSerif-BoldItalic.ttf", "DroidSerif-Bold.ttf", "DroidSerif-Italic.ttf", "DroidSerif-Regular.ttf"}; ;
- final Float size = 11f;
-
- for (String filename : filenames) {
- File f = new File(dir, filename);
-
- if (f.canRead()) {
- Font base = Font.createFont(Font.TRUETYPE_FONT, f);
-
- Font derived = base.deriveFont(size);
- ge.registerFont(derived);
- }
- }
- }
-
- /**
- * Store on local fields the default used fonts
- */
- private void storeEmbeddedFonts() {
- serif = new Font("Droid Serif", Font.PLAIN, 12);
- sansSerif = new Font("Droid Sans", Font.PLAIN, 12);
- monospaced = new Font("Droid Sans Mono", Font.PLAIN, 12);
- dialog = new Font("Droid Sans", Font.PLAIN, 12);
- dialogInput = new Font("Droid Sans Mono", Font.PLAIN, 12);
- }
-
- /**
- * Override some defaults previously set in GTKLookAndFell#initComponentDefaults(UIDefaults)
- *
- * @param table the default settings
- */
- private void initComponentDefaults(UIDefaults table) {
- final FontUIResource defaultFontUIResource = new FontUIResource(getDialogFont());
- final FontUIResource defaultMonospacedFontUIResource = new FontUIResource(getMonospacedFont());
-
- table.put("ArrowButton.font", defaultFontUIResource);
- table.put("Button.font", defaultFontUIResource);
- table.put("CheckBox.font", defaultFontUIResource);
- table.put("CheckBoxMenuItem.font", defaultFontUIResource);
- table.put("ColorChooser.font", defaultFontUIResource);
- table.put("ComboBox.font", defaultFontUIResource);
- table.put("DesktopPane.font", defaultFontUIResource);
- table.put("DesktopIcon.font", defaultFontUIResource);
- table.put("EditorPane.font", defaultFontUIResource);
- table.put("FileChooser.font", defaultFontUIResource);
- table.put("FormattedTextField.font", defaultFontUIResource);
- table.put("InternalFrame.font", defaultFontUIResource);
- table.put("InternalFrameTitlePane.font", defaultFontUIResource);
- table.put("Label.font", defaultFontUIResource);
- table.put("List.font", defaultFontUIResource);
- table.put("Menu.font", defaultFontUIResource);
- table.put("MenuBar.font", defaultFontUIResource);
- table.put("MenuItem.font", defaultFontUIResource);
- table.put("OptionPane.font", defaultFontUIResource);
- table.put("Panel.font", defaultFontUIResource);
- table.put("PasswordField.font", defaultFontUIResource);
- table.put("PopupMenu.font", defaultFontUIResource);
- table.put("PopupMenuSeparator.font", defaultFontUIResource);
- table.put("ProgressBar.font", defaultFontUIResource);
- table.put("RadioButton.font", defaultFontUIResource);
- table.put("RadioButtonMenuItem.font", defaultFontUIResource);
- table.put("RootPane.font", defaultFontUIResource);
- table.put("ScrollBar.font", defaultFontUIResource);
- table.put("ScrollBarTrack.font", defaultFontUIResource);
- table.put("ScrollBarThumb.font", defaultFontUIResource);
- table.put("ScrollPane.font", defaultFontUIResource);
- table.put("Separator.font", defaultFontUIResource);
- table.put("Slider.font", defaultFontUIResource);
- table.put("SliderTrack.font", defaultFontUIResource);
- table.put("SliderThumb.font", defaultFontUIResource);
- table.put("Spinner.font", defaultFontUIResource);
- table.put("SplitPane.font", defaultFontUIResource);
- table.put("TabbedPane.font", defaultFontUIResource);
- table.put("Table.font", defaultFontUIResource);
- table.put("TableHeader.font", defaultFontUIResource);
- table.put("TextArea.font", defaultFontUIResource);
- table.put("TextField.font", defaultMonospacedFontUIResource);
- table.put("TextPane.font", defaultMonospacedFontUIResource);
- table.put("ToggleButton.font", defaultFontUIResource);
- table.put("ToolBar.font", defaultFontUIResource);
- table.put("ToolTip.font", defaultFontUIResource);
- table.put("Tree.font", defaultFontUIResource);
- table.put("Viewport", defaultFontUIResource);
- }
-
- /**
* Set System Look and Feel
* @return a boolean
*/