[Schmitzm-commits] r51 - in trunk/src/schmitzm: geotools/styling swing
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Fri Apr 17 15:18:16 CEST 2009
Author: alfonx
Date: 2009-04-17 15:18:16 +0200 (Fri, 17 Apr 2009)
New Revision: 51
Modified:
trunk/src/schmitzm/geotools/styling/StylingUtil.java
trunk/src/schmitzm/swing/SwingUtil.java
Log:
Modified: trunk/src/schmitzm/geotools/styling/StylingUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/styling/StylingUtil.java 2009-04-17 12:56:15 UTC (rev 50)
+++ trunk/src/schmitzm/geotools/styling/StylingUtil.java 2009-04-17 13:18:16 UTC (rev 51)
@@ -65,6 +65,7 @@
import org.geotools.styling.StyleBuilder;
import org.geotools.styling.StyleFactory;
import org.geotools.styling.Symbolizer;
+import org.geotools.styling.TextSymbolizer;
import org.geotools.util.NumberRange;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
@@ -923,7 +924,40 @@
return fcVisible;
}
+ /**
+ * @param style A {@link Style} to search for the first {@link TextSymbolizer}
+ *
+ * @author Stefan A. Krüger
+ *
+ * @return <code>null</code> or the first {@link TextSymbolizer} found in the style.
+ */
+ public static TextSymbolizer getTextSymbolizer(Style style) {
+ try {
+ if (style != null) {
+
+ for (FeatureTypeStyle fts : style.getFeatureTypeStyles()){
+ for (Rule r : fts.getRules()){
+
+ for (Symbolizer symb : r.getSymbolizers()){
+ if (symb instanceof TextSymbolizer) {
+ return (TextSymbolizer)symb;
+ }
+ }
+ }
+ }
+
+
+ }
+
+ } catch (Exception e) {
+ System.err.println("");
+ return null;
+ }
+ return null;
+ }
+
+
Modified: trunk/src/schmitzm/swing/SwingUtil.java
===================================================================
--- trunk/src/schmitzm/swing/SwingUtil.java 2009-04-17 12:56:15 UTC (rev 50)
+++ trunk/src/schmitzm/swing/SwingUtil.java 2009-04-17 13:18:16 UTC (rev 51)
@@ -281,20 +281,20 @@
* Zentriert ein Fenster auf dem Monitor.
* @param window das zu zentrierende Fenster
*/
- public static void centerFrameOnScreen(Window window) {
- setRelativeFramePosition(window,0.5,0.5);
+ public static void centerFrameOnScreen(Component comp) {
+ setRelativeFramePosition(comp,0.5,0.5);
}
/**
* Zentriert ein Fenster auf dem Monitor, aber verrückt das Window per Zufall um 10 Prozenz
*
- * @param window das zu zentrierende Fenster
+ * @param comp Eine Componente des zu zentrierenden Fensters. Wenn comp kein {@link Window} ist, wird das Parent {@link Window} ermittelt.
*
* @author <a href="mailto:skpublic at wikisquare.de">Stefan Alfons Krüger</a>
*/
- public static void centerFrameOnScreenRandom(Window window) {
- Random r = new Random( (new Date()).getTime() );
- setRelativeFramePosition(window,0.5 + (r.nextDouble()*0.2-0.1) , 0.5 + (r.nextDouble()*0.2-0.1));
+ public static void centerFrameOnScreenRandom(Component comp) {
+ Random r = new Random();
+ setRelativeFramePosition(comp,0.5 + (r.nextDouble()*0.2-0.1) , 0.5 + (r.nextDouble()*0.2-0.1));
}
@@ -303,12 +303,13 @@
* positioniert das Fenster z.B. genau in der Mitte des Monitors; (0.25/0.5)
* setzt das Fenster vertikal in die Mitte und horizontal auf ein Viertel der
* Monitorbreite.
- * @param window das zu positionierende Fenster
+ * @param comp Eine Komponente des zu positionierenden Fensters oder direckt das {@link Window}.
* @param relX Relationsfaktor fuer die horizontale Position (0 < <code>relX</code> < 1)
* @param relY Relationsfaktor fuer die vertikale Position (0 < <code>relX</code> < 1)
*/
- public static void setRelativeFramePosition(Window window, double relX, double relY) {
- setRelativeFramePosition(window,null,relX,relY);
+ public static void setRelativeFramePosition(Component comp, double relX, double relY) {
+
+ setRelativeFramePosition(comp,null,relX,relY);
}
/**
@@ -316,13 +317,24 @@
* anderen Fensters. (0.5/0.5) positioniert das Fenster z.B. genau in der Mitte
* anderen Fensters. (0.25/0.5) setzt das Fenster vertikal in die Mitte und
* horizontal auf ein Viertel des Referenz-Fensters.
- * @param window das zu positionierende Fenster
+ * @param comp Eine Komponente des zu positionierenden Fensters oder direkt das {@link Window}.
* @param relFrame Fenster zu dem das Fenster in Relation gesetzt wird (wenn
* <code>null</code> wird der gesamte Monitor verwendet)
* @param relX Relationsfaktor fuer die horizontale Position (0 < <code>relX</code> < 1)
* @param relY Relationsfaktor fuer die vertikale Position (0 < <code>relY</code> < 1)
*/
- public static void setRelativeFramePosition(Window window, Window relFrame, double relX, double relY) {
+ public static void setRelativeFramePosition(Component comp, Window relFrame, double relX, double relY) {
+
+ // Added by SK, 17.4.2009
+ // sk.sc
+ Window window;
+ if (comp instanceof Window){
+ window = (Window) comp;
+ } else {
+ window = SwingUtil.getParentWindow(comp);
+ }
+ // sk.ec
+
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension relSize = (relFrame==null) ? screenSize : relFrame.getSize();
Point relLocation = (relFrame==null) ? new Point(0,0) : relFrame.getLocation();
More information about the Schmitzm-commits
mailing list