01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.crm.report.properties.editors;
15:
16: import org.jetbrains.annotations.NotNull;
17: import org.jetbrains.annotations.Nullable;
18:
19: import java.awt.*;
20:
21: /**
22: * User: Martin
23: * Date: 21.10.2005
24: * Time: 13:15:53
25: */
26: public class CellEditorJTextFieldWithEllipsisColor extends
27: CellEditorJTextFieldWithEllipsis<Color> {
28: public CellEditorJTextFieldWithEllipsisColor() {
29: }
30:
31: @NotNull
32: public String convertToText(@Nullable
33: Color obj) {
34: if (obj != null) {
35: return obj.getRed() + "; " + obj.getGreen() + "; "
36: + obj.getBlue();
37: }
38: return "";
39: }
40:
41: @Nullable
42: public Color convertFromText(@NotNull
43: String text) throws IllegalArgumentException {
44: if (text.trim().length() == 0) {
45: return null;
46: }
47:
48: int index = text.indexOf(';');
49: int index2 = text.lastIndexOf(';');
50:
51: if (index != -1 && index2 != -1) {
52: try {
53: int n1 = Integer.parseInt(text.substring(0, index)
54: .trim());
55: int n2 = Integer.parseInt(text.substring(index + 1,
56: index2).trim());
57: int n3 = Integer.parseInt(text.substring(index2 + 1,
58: text.length()).trim());
59:
60: return new Color(n1, n2, n3);
61: } catch (Exception e) {
62: throw new IllegalArgumentException(e);
63: }
64: }
65:
66: throw new IllegalArgumentException();
67: }
68:
69: }
|