]> gerrit.simantics Code Review - simantics/platform.git/blob - AvailableFontFactory.java
244d73770ac564b3161872f7cce72bbc38fb5ee8
[simantics/platform.git] / AvailableFontFactory.java
1 package org.simantics.modeling.ui.diagram.monitor;
2
3 import java.awt.GraphicsEnvironment;
4 import java.util.ArrayList;
5 import java.util.Arrays;
6 import java.util.List;
7
8 import org.simantics.browsing.ui.swt.widgets.impl.ReadFactoryImpl;
9 import org.simantics.db.ReadGraph;
10 import org.simantics.db.exception.DatabaseException;
11 import org.simantics.utils.datastructures.Pair;
12
13 public class AvailableFontFactory extends ReadFactoryImpl<Object, List<Pair<String, Object>>> {
14
15         @Override
16         public List<Pair<String, Object>> perform(ReadGraph graph, Object input) throws DatabaseException {
17                 
18                 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
19                 String[] fonts = ge.getAvailableFontFamilyNames();
20                 Arrays.sort(fonts);
21         ArrayList<Pair<String, Object>> result = new ArrayList<Pair<String, Object>>();
22                 for(String font : fonts) {
23                         result.add(Pair.make(font, (Object)font));
24                 }
25         return result;
26                 
27         }
28         
29 }