annotate dwtx/jface/resource/StringConverter.d @ 90:7ffeace6c47f

Update 3.4M7 to 3.4
author Frank Benoit <benoit@tionex.de>
date Sun, 06 Jul 2008 23:30:07 +0200
parents 46a6e0e6ccd4
children 04b47443bb01
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 /*******************************************************************************
90
7ffeace6c47f Update 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
2 * Copyright (c) 2000, 2008 IBM Corporation and others.
7
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>
90
7ffeace6c47f Update 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
52 * @noinstantiate This class is not intended to be instantiated by clients.
7ffeace6c47f Update 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
53 * @noextend This class is not intended to be subclassed by clients.
7
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 public class StringConverter {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56
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 * Internal font style constant for regular fonts.
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 private static const String REGULAR = "regular"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61
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 * Internal font style constant for bold fonts.
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 private static const String BOLD = "bold"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66
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 * Internal font style constant for italic fonts.
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 private static const String ITALIC = "italic"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71
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 * Internal font style constant for bold italic fonts.
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 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
76
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 * Internal constant for the separator character used in
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 * font specifications.
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 private static const char SEPARATOR = '-';
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 * 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
85 * specifications.
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 private static const String FONT_SEPARATOR = ";"; //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 /* (non-Javadoc)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 * Declare a private constructor to block instantiation.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 private this() {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 //no-op
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 * 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
98 * For example: <code>"no comment"</code> into an array
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * <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
100 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 * @param value the string to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 * @return the list of words
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 * @throws DataFormatException thrown if request string could not seperated
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 public static String[] asArray(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 ArraySeq!(String) list = new ArraySeq!(String);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 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
108 list.append(s);
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 return list.toArray();
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 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 * 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
116 * For example: <code>"no comment"</code> into an array
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 * <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
118 * 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
119 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 * @param value the string to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 * @return the list of words, or the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 public static String[] asArray(String value, String[] dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 return asArray(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 * Converts the given value into a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 * 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
135 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 * Valid representations of <code>true</code> include the strings
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 * "<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
138 * or upper case.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 * 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
140 * "<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
141 * or upper case.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 * @return the value as a bool
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 * a bool
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 public static bool asBoolean(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 String v = value.toLowerCase();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 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
152 return true;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 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
155 return false;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 "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
159 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 * Converts the given value into a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 * value does not represent a bool.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 * @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
169 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 public static bool asBoolean(String value, bool dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 return asBoolean(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 * Converts the given value into a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 * 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
181 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 * @return the value as a double
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 * a double
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 public static double asDouble(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 throw new DataFormatException(e.msg);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 * Converts the given value into a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 * value does not represent a double.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 * @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
203 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 public static double asDouble(String value, double dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 * Converts the given value into a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 * 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
215 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 * @return the value as a float
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 * a float
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 public static float asFloat(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 throw new DataFormatException(e.msg);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 * Converts the given value into a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 * value does not represent a float.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 * @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
237 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 public static float asFloat(String value, float dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 return tango.text.convert.Float.toFloat(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 * 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
248 * 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
249 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 * 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
251 * <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
252 * <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
253 * <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
254 * <code>"regular"</code>, <code>"bold"</code>,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 * <code>"italic"</code>, or <code>"bold italic"</code>)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256 * 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
257 * 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
258 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 * @return the value as font data
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263 * font data
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 public static FontData asFontData(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268 "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
269 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270 String name = null;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271 int height = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 int style = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 int length = value.length;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 int heightIndex = value.lastIndexOf(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 if (heightIndex is -1) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 "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
279 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280 height = StringConverter.asInt(value.substring(heightIndex + 1,
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
281 length));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
282 int faceIndex = value.lastIndexOf(SEPARATOR, heightIndex - 1);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
283 if (faceIndex is -1) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
284 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
285 "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
286 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
287 String s = value.substring(faceIndex + 1, heightIndex);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
288 if (BOLD_ITALIC.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
289 style = DWT.BOLD | DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
290 } else if (BOLD.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
291 style = DWT.BOLD;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
292 } else if (ITALIC.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
293 style = DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
294 } else if (REGULAR.equals(s)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
295 style = DWT.NORMAL;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
296 } else {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
297 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
298 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299 name = value.substring(0, faceIndex);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 } catch (/+NoSuchElement+/Exception e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
301 throw new DataFormatException(e.msg);
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 return new FontData(name, height, style);
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
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 * 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
308 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
309 * @return the array of string tokens
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
310 * @param prop the initial comma-separated string
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
311 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
312 private static String[] getArrayFromList(String prop, String separator) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
313 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
314 return new String[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
315 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
316 ArraySeq!(String) list = new ArraySeq!(String);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
317 foreach ( s; tango.text.Util.delimit( prop, separator )) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
318 String token = s.trim();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
319 if (!token.equals("")) { //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
320 list.append(token);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
321 }
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 return list.drained() ? null : list.toArray();
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
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 * 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
328 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
329 * @param value the font list string
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
330 * @return the value as a font list
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
331 * @since 3.0
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
332 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
333 public static FontData[] asFontDataArray(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
334 String[] strings = getArrayFromList(value, FONT_SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
335 ArraySeq!(FontData) data = new ArraySeq!(FontData);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
336 data.capacity(strings.length);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
337 for (int i = 0; i < strings.length; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
338 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
339 data.append(StringConverter.asFontData(strings[i]));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
340 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
341 //do-nothing
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
342 }
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 return data.toArray();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
347 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
348 * 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
349 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
350 * value does not represent a font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
351 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
352 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
353 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
354 * @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
355 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
356 public static FontData asFontData(String value, FontData dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
357 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
358 return asFontData(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
359 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
360 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
364 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
365 * Converts the given value into an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
366 * 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
367 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
368 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
369 * @return the value as an int
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
370 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
371 * an int
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
372 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
373 public static int asInt(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
374 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
375 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
376 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
377 throw new DataFormatException(e.msg);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
381 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
382 * Converts the given value into an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
383 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
384 * value does not represent an int.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
385 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
386 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
387 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
388 * @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
389 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
390 public static int asInt(String value, int dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
391 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
392 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
393 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
394 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
398 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
399 * Converts the given value into a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
400 * 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
401 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
402 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
403 * @return the value as a long
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
404 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
405 * a long
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
406 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
407 public static long asLong(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
408 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
409 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
410 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
411 throw new DataFormatException(e.msg);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
415 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
416 * Converts the given value into a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
417 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
418 * value does not represent a long.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
419 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
420 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
421 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
422 * @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
423 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
424 public static long asLong(String value, long dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
425 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
426 return tango.text.convert.Integer.toInt(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
427 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
428 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
432 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
433 * Converts the given value into an DWT point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
434 * 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
435 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
436 * 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
437 * <code><it>x</it>,<it>y</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
438 * <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
439 * are valid ints.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
440 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
441 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
442 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
443 * @return the value as a point
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
444 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
445 * a point
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
446 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
447 public static Point asPoint(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
448 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
449 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
450 "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
451 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
452 auto stok = tango.text.Util.delimit( value, "," );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
453 String x = stok[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
454 String y = stok[1];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
455 int xval = 0, yval = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
456 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
457 xval = tango.text.convert.Integer.toInt(x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
458 yval = tango.text.convert.Integer.toInt(y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
459 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
460 throw new DataFormatException(e.msg);
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 return new Point(xval, yval);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
465 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
466 * Converts the given value into an DWT point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
467 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
468 * value does not represent a point.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
469 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
470 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
471 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
472 * @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
473 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
474 public static Point asPoint(String value, Point dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
475 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
476 return asPoint(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
477 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
478 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
482 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
483 * Converts the given value into an DWT rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
484 * 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
485 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
486 * 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
487 * <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
488 * 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
489 * <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
490 * are valid ints.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
491 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
492 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
493 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
494 * @return the value as a rectangle
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
495 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
496 * a rectangle
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
497 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
498 public static Rectangle asRectangle(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
499 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
500 throw new DataFormatException(
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
501 "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
502 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
503 auto stok = tango.text.Util.delimit( value, "," );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
504 String x = stok[0];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
505 String y = stok[1];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
506 String width = stok[2];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
507 String height = stok[3];
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
508 int xval = 0, yval = 0, wval = 0, hval = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
509 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
510 xval = tango.text.convert.Integer.toInt(x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
511 yval = tango.text.convert.Integer.toInt(y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
512 wval = tango.text.convert.Integer.toInt(width);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
513 hval = tango.text.convert.Integer.toInt(height);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
514 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
515 throw new DataFormatException(e.msg);
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 return new Rectangle(xval, yval, wval, hval);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
520 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
521 * Converts the given value into an DWT rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
522 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
523 * value does not represent a rectangle.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
524 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
525 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
526 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
527 * @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
528 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
529 public static Rectangle asRectangle(String value, Rectangle dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
530 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
531 return asRectangle(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
532 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
533 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
537 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
538 * 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
539 * 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
540 * color value.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
541 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
542 * 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
543 * <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
544 * <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
545 * <code><it>blue</it></code> are valid ints.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
546 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
547 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
548 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
549 * @return the value as an RGB color value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
550 * @exception DataFormatException if the given value does not represent
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
551 * an RGB color value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
552 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
553 public static RGB asRGB(String value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
554 if (value is null) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
555 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
556 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
557 auto stok = tango.text.Util.delimit( value, "," );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
558 if( stok.length < 3 ){
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
559 throw new DataFormatException( "not enough values" );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
560 }
70
46a6e0e6ccd4 Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 7
diff changeset
561 String red = stok[0].trim();
46a6e0e6ccd4 Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 7
diff changeset
562 String green = stok[1].trim();
46a6e0e6ccd4 Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 7
diff changeset
563 String blue = stok[2].trim();
7
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
564 int rval = 0, gval = 0, bval = 0;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
565 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
566 rval = tango.text.convert.Integer.toInt(red);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
567 gval = tango.text.convert.Integer.toInt(green);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
568 bval = tango.text.convert.Integer.toInt(blue);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
569 } catch (IllegalArgumentException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
570 throw new DataFormatException(e.msg);
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 return new RGB(rval, gval, bval);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
575 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
576 * 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
577 * Returns the given default value if the
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
578 * value does not represent an RGB color value.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
579 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
580 * @param value the value to be converted
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
581 * @param dflt the default value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
582 * @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
583 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
584 public static RGB asRGB(String value, RGB dflt) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
585 try {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
586 return asRGB(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
587 } catch (DataFormatException e) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
588 return dflt;
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
592 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
593 * Converts the given double value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
594 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
595 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
596 * @param value the double value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
597 * @return the string representing the given double
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
598 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
599 public static String asString(double value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
600 return tango.text.convert.Float.toString(value);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
603 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
604 * Converts the given float value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
605 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
606 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
607 * @param value the float value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
608 * @return the string representing the given float
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
609 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
610 public static String asString(float value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
611 return tango.text.convert.Float.toString(value);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
614 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
615 * Converts the given int value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
616 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
617 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
618 * @param value the int value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
619 * @return the string representing the given int
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
620 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
621 public static String asString(int value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
622 return tango.text.convert.Integer.toString(value);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
625 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
626 * Converts the given long value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
627 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
628 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
629 * @param value the long value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
630 * @return the string representing the given long
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
631 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
632 public static String asString(long value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
633 return tango.text.convert.Integer.toString(value);
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
636 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
637 // * Converts the given bool object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
638 // * Equivalent to <code>String.valueOf(value.booleanValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
639 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
640 // * @param value the bool object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
641 // * @return the string representing the given bool value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
642 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
643 // public static String asString(Boolean value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
644 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
645 // return String.valueOf(value.booleanValue());
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 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
648 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
649 // * Converts the given double object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
650 // * Equivalent to <code>String.valueOf(value.doubleValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
651 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
652 // * @param value the double object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
653 // * @return the string representing the given double value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
654 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
655 // public static String asString(Double value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
656 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
657 // return String.valueOf(value.doubleValue());
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 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
660 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
661 // * Converts the given float object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
662 // * Equivalent to <code>String.valueOf(value.floatValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
663 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
664 // * @param value the float object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
665 // * @return the string representing the given float value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
666 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
667 // public static String asString(Float value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
668 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
669 // return String.valueOf(value.floatValue());
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 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
672 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
673 // * Converts the given integer object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
674 // * Equivalent to <code>String.valueOf(value.intValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
675 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
676 // * @param value the integer object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
677 // * @return the string representing the given integer value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
678 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
679 // public static String asString(Integer value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
680 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
681 // return String.valueOf(value.intValue());
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 //
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
684 // /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
685 // * Converts the given long object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
686 // * Equivalent to <code>String.valueOf(value.longValue())</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
687 // *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
688 // * @param value the long object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
689 // * @return the string representing the given long value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
690 // */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
691 // public static String asString(Long value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
692 // Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
693 // return String.valueOf(value.longValue());
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
696 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
697 * 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
698 * that of asString(FontData) seperated by ';'
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
699 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
700 * @param value The font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
701 * @return The string representation of the font data arra.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
702 * @since 3.0
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
703 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
704 public static String asString(FontData[] value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
705 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
706 for (int i = 0; i < value.length; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
707 buffer.append(asString(value[i]));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
708 if (i !is value.length - 1) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
709 buffer.append(FONT_SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
710 }
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 return buffer.toString();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
715 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
716 * 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
717 * "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
718 * @param value The font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
719 * @return The string representation of the font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
720 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
721 public static String asString(FontData value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
722 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
723 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
724 buffer.append(value.getName());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
725 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
726 int style = value.getStyle();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
727 bool bold = (style & DWT.BOLD) is DWT.BOLD;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
728 bool italic = (style & DWT.ITALIC) is DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
729 if (bold && italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
730 buffer.append(BOLD_ITALIC);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
731 } else if (bold) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
732 buffer.append(BOLD);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
733 } else if (italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
734 buffer.append(ITALIC);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
735 } else {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
736 buffer.append(REGULAR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
737 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
738
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
739 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
740 buffer.append(value.getHeight());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
741 return buffer.toString();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
744 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
745 * Converts the given DWT point object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
746 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
747 * The string representation of a point has the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
748 * <code><it>x</it>,<it>y</it></code> where
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
749 * <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
750 * are string representations of integers.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
751 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
752 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
753 * @param value the point object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
754 * @return the string representing the given point
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
755 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
756 public static String asString(Point value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
757 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
758 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
759 buffer.append(value.x);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
760 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
761 buffer.append(value.y);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
762 return buffer.toString();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
765 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
766 * Converts the given DWT rectangle object to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
767 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
768 * The string representation of a rectangle has the form
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
769 * <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
770 * 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
771 * <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
772 * are string representations of integers.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
773 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
774 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
775 * @param value the rectangle object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
776 * @return the string representing the given rectangle
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
777 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
778 public static String asString(Rectangle value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
779 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
780 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
781 buffer.append(value.x);
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.y);
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.width);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
786 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
787 buffer.append(value.height);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
788 return buffer.toString();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
791 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
792 * 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
793 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
794 * 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
795 * <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
796 * <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
797 * <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
798 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
799 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
800 * @param value the RGB color value object
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
801 * @return the string representing the given RGB color value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
802 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
803 public static String asString(RGB value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
804 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
805 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
806 buffer.append(value.red);
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.green);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
809 buffer.append(',');
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
810 buffer.append(value.blue);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
811 return buffer.toString();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
814 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
815 * Converts the given bool value to a string.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
816 * Equivalent to <code>String.valueOf(value)</code>.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
817 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
818 * @param value the bool value
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
819 * @return the string representing the given bool
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
820 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
821 public static String asString(bool value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
822 return value ? "true" : "false";
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
825 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
826 * Returns the given string with all whitespace characters removed.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
827 * <p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
828 * 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
829 * (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
830 * </p>
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
831 *
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
832 * @param s the source string
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
833 * @return the string with all whitespace characters removed
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
834 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
835 public static String removeWhiteSpaces(String s) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
836 //check for no whitespace (common case)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
837 bool found = false;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
838 int wsIndex = -1;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
839 int size = s.length;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
840 for (int i = 0; i < size; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
841 found = CharacterIsWhitespace( s.charAt(i) );
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
842 if (found) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
843 wsIndex = i;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
844 break;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
845 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
846 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
847 if (!found) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
848 return s;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
849 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
850
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
851 StringBuffer result = new StringBuffer(s.substring(0, wsIndex));
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
852 for (int i = wsIndex + 1; i < size; i++) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
853 char ch = s.charAt(i);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
854 if (!CharacterIsWhitespace(ch)) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
855 result.append(ch);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
856 }
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 return result.toString();
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
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
861 /**
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
862 * 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
863 * The string representation is
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
864 * "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
865 * @param value The font data.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
866 * @return The string representation of the font data object.
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
867 * @deprecated use asString(FontData)
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
868 */
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
869 public static String asDisplayableString(FontData value) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
870 Assert.isNotNull(value);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
871 StringBuffer buffer = new StringBuffer();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
872 buffer.append(value.getName());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
873 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
874 int style = value.getStyle();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
875 bool bold = (style & DWT.BOLD) is DWT.BOLD;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
876 bool italic = (style & DWT.ITALIC) is DWT.ITALIC;
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
877 if (bold && italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
878 buffer.append(JFaceResources.getString("BoldItalicFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
879 } else if (bold) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
880 buffer.append(JFaceResources.getString("BoldFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
881 } else if (italic) {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
882 buffer.append(JFaceResources.getString("ItalicFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
883 } else {
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
884 buffer.append(JFaceResources.getString("RegularFont")); //$NON-NLS-1$
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
885 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
886 buffer.append(SEPARATOR);
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
887 buffer.append(value.getHeight());
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
888 return buffer.toString();
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
889
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
890 }
8a302fdb4140 Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
891 }