KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > tools > specifier > components > DjCodeArea


1 /*
2  * Copyright (c) 2001-2005 by Genimen BV (www.genimen.com) All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, is permitted provided that the following conditions are met: -
6  * Redistributions of source code must retain the above copyright notice, this
7  * list of conditions and the following disclaimer. - Redistributions in binary
8  * form must reproduce the above copyright notice, this list of conditions and
9  * the following disclaimer in the documentation and/or other materials
10  * provided with the distribution. - All advertising materials mentioning
11  * features or use of this software must display the following acknowledgment:
12  * "This product includes Djeneric." - Products derived from this software may
13  * not be called "Djeneric" nor may "Djeneric" appear in their names without
14  * prior written permission of Genimen BV. - Redistributions of any form
15  * whatsoever must retain the following acknowledgment: "This product includes
16  * Djeneric."
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL GENIMEN BV, DJENERIC.ORG, OR CONTRIBUTORS
22  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */

30 package com.genimen.djeneric.tools.specifier.components;
31
32 import java.awt.event.FocusEvent JavaDoc;
33 import java.awt.event.FocusListener JavaDoc;
34
35 import com.genimen.djeneric.repository.exceptions.DjenericException;
36 import com.genimen.djeneric.tools.specifier.interfaces.ObjectViewer;
37 import com.genimen.djeneric.ui.DjCodeEditor;
38 import com.genimen.djeneric.util.DjLogger;
39
40 public class DjCodeArea extends DjCodeEditor implements DjBindable, FocusListener JavaDoc
41 {
42   private static final long serialVersionUID = 1L;
43   private BindingMediator _mediator = new BindingMediator(this);
44   ObjectViewer _viewer;
45
46   public DjCodeArea()
47   {
48     try
49     {
50       getEditor().addFocusListener(this);
51     }
52     catch (Exception JavaDoc e)
53     {
54       DjLogger.log(e);
55     }
56   }
57
58   public void apply() throws DjenericException
59   {
60     _mediator.setValue(getEditor().getText());
61   }
62
63   public boolean isComponentWritable()
64   {
65     return _mediator.isComponentWritable();
66   }
67
68   public void focusGained(FocusEvent JavaDoc e)
69   {
70   }
71
72   public void focusLost(FocusEvent JavaDoc e)
73   {
74     try
75     {
76       apply();
77     }
78     catch (Exception JavaDoc x)
79     {
80       DjLogger.log(x);
81     }
82   }
83
84   public void setPropertyName(String JavaDoc propertyName) throws DjenericException
85   {
86     _mediator.setPropertyName(propertyName);
87   }
88
89   public void setViewer(ObjectViewer viewer)
90   {
91     _viewer = viewer;
92     _mediator.setViewer(viewer);
93   }
94
95   public void synchronize() throws DjenericException
96   {
97     getEditor().setText(_mediator.getPropertyValueString());
98     getEditor().setCaretPosition(0);
99     getUndomanager().discardAllEdits();
100   }
101
102   public Object JavaDoc getDisplayedValue()
103   {
104     return getEditor().getText();
105   }
106
107   public String JavaDoc getPropertyName()
108   {
109     return _mediator.getPropertyName();
110   }
111
112   protected ObjectViewer getViewer()
113   {
114     return _viewer;
115   }
116
117   public boolean isMemo()
118   {
119     return true;
120   }
121 }
Popular Tags