01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.applications.designstudio.propertiesdialogs;
16:
17: import java.awt.Dimension;
18:
19: import javax.swing.JComboBox;
20: import javax.swing.JTextArea;
21: import javax.swing.JTextField;
22:
23: import com.metaboss.sdlctools.models.metabossmodel.ModelElement;
24: import com.metaboss.sdlctools.models.metabossmodel.datadictionarymodel.TypeTemplate;
25: import com.metaboss.sdlctools.models.metabossmodel.datadictionarymodel.TypeTemplateLanguage;
26: import com.metaboss.sdlctools.models.metabossmodel.datadictionarymodel.TypeTemplateLanguageEnum;
27:
28: /* Typetemplate propertie dialog */
29:
30: public class TypeTemplatePropertiesDialog extends
31: ModelElementPropertiesDialog {
32: private Object[] mNamespaces = null;
33: // UI constrols
34: private JTextField mNameField = new JTextField();
35: private JComboBox mLanguageField = new JComboBox();
36: private JTextArea mDescriptionField = new JTextArea(8, 40);
37:
38: public TypeTemplatePropertiesDialog() {
39: super ("TypeTemplate", new Dimension(400, 290));
40:
41: addTextField(mPropertiesPanel, "Name: ", mNameField, 1, true);
42: addComboBox(mPropertiesPanel, "Language: ", mLanguageField, 2,
43: false);
44: addTextArea(mPropertiesPanel, "Description: ",
45: mDescriptionField, 3, false);
46:
47: mLanguageField.addItem(TypeTemplateLanguageEnum.JAMON);
48: mLanguageField.addItem(TypeTemplateLanguageEnum.JAVA);
49: mLanguageField.addItem(TypeTemplateLanguageEnum.VELOCITY);
50: }
51:
52: // load entity properties
53: public void loadProperties(ModelElement pObject) throws Exception {
54: if (pObject != null && pObject instanceof TypeTemplate) {
55: TypeTemplate lTypeTemplate = (TypeTemplate) pObject;
56:
57: mNameField.setText(lTypeTemplate.getName());
58: mLanguageField
59: .setSelectedIndex(findLanguageIndex(lTypeTemplate
60: .getLanguage()));
61: mDescriptionField.setText(lTypeTemplate.getDescription());
62: }
63: super .loadProperties(pObject);
64: }
65:
66: // save entity proeprties
67: public void saveProperties(ModelElement pObject) throws Exception {
68: super .saveProperties(pObject);
69: if (pObject != null && pObject instanceof TypeTemplate) {
70: TypeTemplate lTypeTemplate = (TypeTemplate) pObject;
71:
72: lTypeTemplate.setName(mNameField.getText());
73: lTypeTemplate
74: .setLanguage((TypeTemplateLanguage) mLanguageField
75: .getSelectedItem());
76: lTypeTemplate.setDescription(mDescriptionField.getText());
77: }
78: }
79:
80: // find language index
81: private int findLanguageIndex(TypeTemplateLanguage lLanguage) {
82: for (int i = 0; i < mLanguageField.getItemCount(); i++) {
83: TypeTemplateLanguage lItem = (TypeTemplateLanguage) mLanguageField
84: .getItemAt(i);
85: if (lItem == lLanguage)
86: return i;
87: }
88: return -1;
89: }
90: }
|