annotate dwtx/jface/resource/StringConverter.d @ 7:8a302fdb4140

Jface some window and resource classes
author Frank Benoit <benoit@tionex.de>
date Fri, 28 Mar 2008 23:32:40 +0100
parents
children 46a6e0e6ccd4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2000, 2006 IBM Corporation and others.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwtx.jface.resource.StringConverter;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import dwtx.jface.resource.JFaceResources;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 import dwtx.jface.resource.DataFormatException;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import tango.util.collection.ArraySeq;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.DWT;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import dwt.graphics.FontData;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import dwt.graphics.Point;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.graphics.RGB;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwt.graphics.Rectangle;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import dwtx.core.runtime.Assert;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 import dwt.dwthelper.utils;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 static import tango.text.Util;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 static import tango.text.convert.Float;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 static import tango.text.convert.Integer;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 static import tango.text.Text;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 alias tango.text.Text.Text!(char) StringBuffer;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * Helper class for converting various data types to and from
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 * strings. Supported types include:
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 * <ul>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 * <li><code>bool</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 * <li><code>int</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 * <li><code>long</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 * <li><code>float</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 * <li><code>double</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 * <li><code>dwt.graphics.Point</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 * <li><code>dwt.graphics.Rectangle</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 * <li><code>dwt.graphics.RGB</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 * <li><code>dwt.graphics.FontData</code></li>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 * </ul>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 * All methods declared on this class are static. This
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 * class cannot be instantiated.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 public class StringConverter {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 * Internal font style constant for regular fonts.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 private static const String REGULAR = "regular"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 * Internal font style constant for bold fonts.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 private static const String BOLD = "bold"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 * Internal font style constant for italic fonts.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 private static const String ITALIC = "italic"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 * Internal font style constant for bold italic fonts.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 private static const String BOLD_ITALIC = "bold italic"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 * Internal constant for the separator character used in
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 * font specifications.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 private static const char SEPARATOR = '-';
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 * Internal constant for the seperator character used in font list
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 * specifications.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 private static const String FONT_SEPARATOR = ";"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 /* (non-Javadoc)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 * Declare a private constructor to block instantiation.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 private this() {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 //no-op
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 * Breaks out space-separated words into an array of words.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 * For example: <code>"no comment"</code> into an array
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 * <code>a[0]="no"</code> and <code>a[1]= "comment"</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * @param value the string to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 * @return the list of words
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 * @throws DataFormatException thrown if request string could not seperated
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 public static String[] asArray(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 ArraySeq!(String) list = new ArraySeq!(String);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 foreach ( s; tango.text.Util.delimit( value, " \t\n\r\f" )) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 list.append(s);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 return list.toArray();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 * Breaks out space-separated words into an array of words.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 * For example: <code>"no comment"</code> into an array
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 * <code>a[0]="no"</code> and <code>a[1]= "comment"</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 * Returns the given default value if the value cannot be parsed.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 * @param value the string to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 * @return the list of words, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 public static String[] asArray(String value, String[] dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 return asArray(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 * Converts the given value into a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 * This method fails if the value does not represent a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 * Valid representations of <code>true</code> include the strings
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 * "<code>t</code>", "<code>true</code>", or equivalent in mixed
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 * or upper case.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 * Similarly, valid representations of <code>false</code> include the strings
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 * "<code>f</code>", "<code>false</code>", or equivalent in mixed
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 * or upper case.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 * @return the value as a bool
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 * a bool
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 public static bool asBoolean(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 String v = value.toLowerCase();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 if (v.equals("t") || v.equals("true")) { //$NON-NLS-1$ //$NON-NLS-2$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 return true;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 if (value.equals("f") || v.equals("false")) { //$NON-NLS-1$ //$NON-NLS-2$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 return false;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 "Value " ~ value ~ "doesn't represent a bool"); //$NON-NLS-2$//$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 * Converts the given value into a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 * value does not represent a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 * @return the value as a bool, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 public static bool asBoolean(String value, bool dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 return asBoolean(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 * Converts the given value into a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 * This method fails if the value does not represent a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 * @return the value as a double
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 * a double
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 public static double asDouble(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 * Converts the given value into a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 * value does not represent a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 * @return the value as a double, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 public static double asDouble(String value, double dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211 * Converts the given value into a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212 * This method fails if the value does not represent a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 * @return the value as a float
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 * a float
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 public static float asFloat(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 * Converts the given value into a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 * value does not represent a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 * @return the value as a float, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 public static float asFloat(String value, float dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 * Converts the given value into an DWT font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 * This method fails if the value does not represent font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248 * A valid font data representation is a string of the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 * <code><it>fontname</it>-<it>style</it>-<it>height</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 * <code><it>fontname</it></code> is the name of a font,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 * <code><it>style</it></code> is a font style (one of
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 * <code>"regular"</code>, <code>"bold"</code>,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253 * <code>"italic"</code>, or <code>"bold italic"</code>)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 * and <code><it>height</it></code> is an integer representing the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 * font height. Example: <code>Times New Roman-bold-36</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 * @return the value as font data
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 * font data
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263 public static FontData asFontData(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 "Null doesn't represent a valid font data"); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268 String name = null;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
269 int height = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270 int style = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 int length = value.length;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273 int heightIndex = value.lastIndexOf(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 if (heightIndex is -1) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 "No correct font data format \"" ~ value ~ "\""); //$NON-NLS-2$//$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 height = StringConverter.asInt(value.substring(heightIndex + 1,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 length));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280 int faceIndex = value.lastIndexOf(SEPARATOR, heightIndex - 1);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
281 if (faceIndex is -1) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
282 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
283 "No correct font data format \"" ~ value ~ "\""); //$NON-NLS-2$//$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
284 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
285 String s = value.substring(faceIndex + 1, heightIndex);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
286 if (BOLD_ITALIC.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
287 style = DWT.BOLD | DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
288 } else if (BOLD.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
289 style = DWT.BOLD;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
290 } else if (ITALIC.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
291 style = DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
292 } else if (REGULAR.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
293 style = DWT.NORMAL;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
294 } else {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
295 throw new DataFormatException("Unknown face name \"" ~ s ~ "\""); //$NON-NLS-2$//$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
296 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
297 name = value.substring(0, faceIndex);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
298 } catch (/+NoSuchElement+/Exception e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
301 return new FontData(name, height, style);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
302 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
303
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
304 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
305 * Returns the result of converting a list of comma-separated tokens into an array
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
306 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
307 * @return the array of string tokens
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
308 * @param prop the initial comma-separated string
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
309 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
310 private static String[] getArrayFromList(String prop, String separator) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
311 if (prop is null || prop.trim().equals("")) { //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
312 return new String[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
313 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
314 ArraySeq!(String) list = new ArraySeq!(String);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
315 foreach ( s; tango.text.Util.delimit( prop, separator )) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
316 String token = s.trim();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
317 if (!token.equals("")) { //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
318 list.append(token);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
319 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
320 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
321 return list.drained() ? null : list.toArray();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
322 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
323
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
324 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
325 * Convert the given value into an array of DWT font data objects.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
326 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
327 * @param value the font list string
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
328 * @return the value as a font list
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
329 * @since 3.0
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
330 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
331 public static FontData[] asFontDataArray(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
332 String[] strings = getArrayFromList(value, FONT_SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
333 ArraySeq!(FontData) data = new ArraySeq!(FontData);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
334 data.capacity(strings.length);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
335 for (int i = 0; i < strings.length; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
336 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
337 data.append(StringConverter.asFontData(strings[i]));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
338 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
339 //do-nothing
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
340 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
341 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
342 return data.toArray();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
343 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
344
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
345 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
346 * Converts the given value into an DWT font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
347 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
348 * value does not represent a font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
349 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
350 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
351 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
352 * @return the value as a font data object, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
353 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
354 public static FontData asFontData(String value, FontData dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
355 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
356 return asFontData(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
357 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
358 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
359 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
360 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
361
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
362 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
363 * Converts the given value into an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
364 * This method fails if the value does not represent an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
365 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
366 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
367 * @return the value as an int
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
368 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
369 * an int
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
370 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
371 public static int asInt(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
372 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
373 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
374 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
375 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
376 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
377 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
378
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
379 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
380 * Converts the given value into an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
381 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
382 * value does not represent an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
383 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
384 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
385 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
386 * @return the value as an int, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
387 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
388 public static int asInt(String value, int dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
389 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
390 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
391 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
392 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
393 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
394 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
395
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
396 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
397 * Converts the given value into a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
398 * This method fails if the value does not represent a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
399 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
400 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
401 * @return the value as a long
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
402 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
403 * a long
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
404 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
405 public static long asLong(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
406 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
407 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
408 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
409 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
410 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
411 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
412
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
413 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
414 * Converts the given value into a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
415 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
416 * value does not represent a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
417 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
418 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
419 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
420 * @return the value as a long, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
421 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
422 public static long asLong(String value, long dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
423 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
424 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
425 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
426 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
427 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
428 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
429
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
430 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
431 * Converts the given value into an DWT point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
432 * This method fails if the value does not represent a point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
433 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
434 * A valid point representation is a string of the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
435 * <code><it>x</it>,<it>y</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
436 * <code><it>x</it></code> and <code><it>y</it></code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
437 * are valid ints.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
438 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
439 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
440 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
441 * @return the value as a point
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
442 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
443 * a point
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
444 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
445 public static Point asPoint(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
446 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
447 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
448 "Null doesn't represent a valid point"); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
449 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
450 auto stok = tango.text.Util.delimit( value, "," );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
451 String x = stok[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
452 String y = stok[1];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
453 int xval = 0, yval = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
454 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
455 xval = tango.text.convert.Integer.toInt(x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
456 yval = tango.text.convert.Integer.toInt(y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
457 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
458 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
459 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
460 return new Point(xval, yval);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
461 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
462
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
463 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
464 * Converts the given value into an DWT point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
465 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
466 * value does not represent a point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
467 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
468 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
469 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
470 * @return the value as a point, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
471 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
472 public static Point asPoint(String value, Point dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
473 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
474 return asPoint(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
475 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
476 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
477 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
478 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
479
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
480 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
481 * Converts the given value into an DWT rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
482 * This method fails if the value does not represent a rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
483 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
484 * A valid rectangle representation is a string of the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
485 * <code><it>x</it>,<it>y</it>,<it>width</it>,<it>height</it></code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
486 * where <code><it>x</it></code>, <code><it>y</it></code>,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
487 * <code><it>width</it></code>, and <code><it>height</it></code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
488 * are valid ints.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
489 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
490 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
491 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
492 * @return the value as a rectangle
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
493 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
494 * a rectangle
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
495 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
496 public static Rectangle asRectangle(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
497 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
498 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
499 "Null doesn't represent a valid rectangle"); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
500 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
501 auto stok = tango.text.Util.delimit( value, "," );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
502 String x = stok[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
503 String y = stok[1];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
504 String width = stok[2];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
505 String height = stok[3];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
506 int xval = 0, yval = 0, wval = 0, hval = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
507 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
508 xval = tango.text.convert.Integer.toInt(x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
509 yval = tango.text.convert.Integer.toInt(y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
510 wval = tango.text.convert.Integer.toInt(width);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
511 hval = tango.text.convert.Integer.toInt(height);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
512 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
513 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
514 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
515 return new Rectangle(xval, yval, wval, hval);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
516 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
517
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
518 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
519 * Converts the given value into an DWT rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
520 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
521 * value does not represent a rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
522 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
523 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
524 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
525 * @return the value as a rectangle, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
526 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
527 public static Rectangle asRectangle(String value, Rectangle dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
528 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
529 return asRectangle(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
530 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
531 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
532 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
533 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
534
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
535 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
536 * Converts the given value into an DWT RGB color value.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
537 * This method fails if the value does not represent an RGB
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
538 * color value.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
539 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
540 * A valid RGB color value representation is a string of the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
541 * <code><it>red</it>,<it>green</it></code>,<it>blue</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
542 * <code><it>red</it></code>, <it>green</it></code>, and
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
543 * <code><it>blue</it></code> are valid ints.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
544 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
545 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
546 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
547 * @return the value as an RGB color value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
548 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
549 * an RGB color value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
550 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
551 public static RGB asRGB(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
552 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
553 throw new DataFormatException("Null doesn't represent a valid RGB"); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
554 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
555 auto stok = tango.text.Util.delimit( value, "," );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
556 if( stok.length < 3 ){
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
557 throw new DataFormatException( "not enough values" );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
558 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
559 String red = stok[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
560 String green = stok[1];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
561 String blue = stok[2];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
562 int rval = 0, gval = 0, bval = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
563 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
564 rval = tango.text.convert.Integer.toInt(red);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
565 gval = tango.text.convert.Integer.toInt(green);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
566 bval = tango.text.convert.Integer.toInt(blue);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
567 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
568 throw new DataFormatException(e.msg);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
569 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
570 return new RGB(rval, gval, bval);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
571 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
572
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
573 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
574 * Converts the given value into an DWT RGB color value.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
575 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
576 * value does not represent an RGB color value.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
577 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
578 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
579 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
580 * @return the value as a RGB color value, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
581 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
582 public static RGB asRGB(String value, RGB dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
583 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
584 return asRGB(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
585 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
586 return dflt;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
587 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
588 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
589
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
590 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
591 * Converts the given double value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
592 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
593 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
594 * @param value the double value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
595 * @return the string representing the given double
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
596 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
597 public static String asString(double value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
598 return tango.text.convert.Float.toString(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
599 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
600
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
601 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
602 * Converts the given float value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
603 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
604 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
605 * @param value the float value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
606 * @return the string representing the given float
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
607 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
608 public static String asString(float value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
609 return tango.text.convert.Float.toString(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
610 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
611
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
612 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
613 * Converts the given int value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
614 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
615 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
616 * @param value the int value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
617 * @return the string representing the given int
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
618 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
619 public static String asString(int value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
620 return tango.text.convert.Integer.toString(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
621 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
622
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
623 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
624 * Converts the given long value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
625 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
626 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
627 * @param value the long value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
628 * @return the string representing the given long
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
629 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
630 public static String asString(long value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
631 return tango.text.convert.Integer.toString(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
632 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
633
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
634 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
635 // * Converts the given bool object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
636 // * Equivalent to <code>String.valueOf(value.booleanValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
637 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
638 // * @param value the bool object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
639 // * @return the string representing the given bool value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
640 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
641 // public static String asString(Boolean value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
642 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
643 // return String.valueOf(value.booleanValue());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
644 // }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
645 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
646 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
647 // * Converts the given double object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
648 // * Equivalent to <code>String.valueOf(value.doubleValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
649 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
650 // * @param value the double object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
651 // * @return the string representing the given double value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
652 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
653 // public static String asString(Double value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
654 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
655 // return String.valueOf(value.doubleValue());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
656 // }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
657 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
658 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
659 // * Converts the given float object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
660 // * Equivalent to <code>String.valueOf(value.floatValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
661 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
662 // * @param value the float object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
663 // * @return the string representing the given float value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
664 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
665 // public static String asString(Float value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
666 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
667 // return String.valueOf(value.floatValue());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
668 // }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
669 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
670 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
671 // * Converts the given integer object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
672 // * Equivalent to <code>String.valueOf(value.intValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
673 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
674 // * @param value the integer object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
675 // * @return the string representing the given integer value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
676 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
677 // public static String asString(Integer value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
678 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
679 // return String.valueOf(value.intValue());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
680 // }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
681 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
682 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
683 // * Converts the given long object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
684 // * Equivalent to <code>String.valueOf(value.longValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
685 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
686 // * @param value the long object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
687 // * @return the string representing the given long value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
688 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
689 // public static String asString(Long value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
690 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
691 // return String.valueOf(value.longValue());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
692 // }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
693
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
694 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
695 * Converts a font data array to a string. The string representation is
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
696 * that of asString(FontData) seperated by ';'
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
697 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
698 * @param value The font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
699 * @return The string representation of the font data arra.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
700 * @since 3.0
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
701 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
702 public static String asString(FontData[] value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
703 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
704 for (int i = 0; i < value.length; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
705 buffer.append(asString(value[i]));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
706 if (i !is value.length - 1) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
707 buffer.append(FONT_SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
708 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
709 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
710 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
711 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
712
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
713 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
714 * Converts a font data object to a string. The string representation is
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
715 * "font name-style-height" (for example "Times New Roman-bold-36").
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
716 * @param value The font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
717 * @return The string representation of the font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
718 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
719 public static String asString(FontData value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
720 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
721 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
722 buffer.append(value.getName());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
723 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
724 int style = value.getStyle();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
725 bool bold = (style & DWT.BOLD) is DWT.BOLD;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
726 bool italic = (style & DWT.ITALIC) is DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
727 if (bold && italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
728 buffer.append(BOLD_ITALIC);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
729 } else if (bold) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
730 buffer.append(BOLD);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
731 } else if (italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
732 buffer.append(ITALIC);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
733 } else {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
734 buffer.append(REGULAR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
735 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
736
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
737 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
738 buffer.append(value.getHeight());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
739 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
740 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
741
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
742 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
743 * Converts the given DWT point object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
744 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
745 * The string representation of a point has the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
746 * <code><it>x</it>,<it>y</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
747 * <code><it>x</it></code> and <code><it>y</it></code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
748 * are string representations of integers.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
749 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
750 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
751 * @param value the point object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
752 * @return the string representing the given point
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
753 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
754 public static String asString(Point value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
755 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
756 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
757 buffer.append(value.x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
758 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
759 buffer.append(value.y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
760 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
761 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
762
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
763 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
764 * Converts the given DWT rectangle object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
765 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
766 * The string representation of a rectangle has the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
767 * <code><it>x</it>,<it>y</it>,<it>width</it>,<it>height</it></code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
768 * where <code><it>x</it></code>, <code><it>y</it></code>,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
769 * <code><it>width</it></code>, and <code><it>height</it></code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
770 * are string representations of integers.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
771 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
772 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
773 * @param value the rectangle object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
774 * @return the string representing the given rectangle
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
775 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
776 public static String asString(Rectangle value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
777 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
778 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
779 buffer.append(value.x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
780 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
781 buffer.append(value.y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
782 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
783 buffer.append(value.width);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
784 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
785 buffer.append(value.height);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
786 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
787 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
788
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
789 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
790 * Converts the given DWT RGB color value object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
791 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
792 * The string representation of an RGB color value has the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
793 * <code><it>red</it>,<it>green</it></code>,<it>blue</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
794 * <code><it>red</it></code>, <it>green</it></code>, and
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
795 * <code><it>blue</it></code> are string representations of integers.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
796 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
797 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
798 * @param value the RGB color value object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
799 * @return the string representing the given RGB color value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
800 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
801 public static String asString(RGB value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
802 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
803 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
804 buffer.append(value.red);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
805 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
806 buffer.append(value.green);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
807 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
808 buffer.append(value.blue);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
809 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
810 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
811
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
812 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
813 * Converts the given bool value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
814 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
815 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
816 * @param value the bool value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
817 * @return the string representing the given bool
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
818 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
819 public static String asString(bool value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
820 return value ? "true" : "false";
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
821 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
822
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
823 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
824 * Returns the given string with all whitespace characters removed.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
825 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
826 * All characters that have codes less than or equal to <code>'&#92;u0020'</code>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
827 * (the space character) are considered to be a white space.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
828 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
829 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
830 * @param s the source string
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
831 * @return the string with all whitespace characters removed
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
832 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
833 public static String removeWhiteSpaces(String s) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
834 //check for no whitespace (common case)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
835 bool found = false;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
836 int wsIndex = -1;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
837 int size = s.length;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
838 for (int i = 0; i < size; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
839 found = CharacterIsWhitespace( s.charAt(i) );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
840 if (found) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
841 wsIndex = i;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
842 break;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
843 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
844 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
845 if (!found) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
846 return s;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
847 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
848
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
849 StringBuffer result = new StringBuffer(s.substring(0, wsIndex));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
850 for (int i = wsIndex + 1; i < size; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
851 char ch = s.charAt(i);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
852 if (!CharacterIsWhitespace(ch)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
853 result.append(ch);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
854 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
855 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
856 return result.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
857 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
858
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
859 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
860 * Converts a font data object to a string representation for display.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
861 * The string representation is
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
862 * "font name-style-height" (for example "Times New Roman-bold-36").
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
863 * @param value The font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
864 * @return The string representation of the font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
865 * @deprecated use asString(FontData)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
866 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
867 public static String asDisplayableString(FontData value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
868 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
869 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
870 buffer.append(value.getName());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
871 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
872 int style = value.getStyle();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
873 bool bold = (style & DWT.BOLD) is DWT.BOLD;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
874 bool italic = (style & DWT.ITALIC) is DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
875 if (bold && italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
876 buffer.append(JFaceResources.getString("BoldItalicFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
877 } else if (bold) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
878 buffer.append(JFaceResources.getString("BoldFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
879 } else if (italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
880 buffer.append(JFaceResources.getString("ItalicFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
881 } else {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
882 buffer.append(JFaceResources.getString("RegularFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
883 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
884 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
885 buffer.append(value.getHeight());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
886 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
887
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
888 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
889 }