00001 00058 package com.arcle.rmt.j2se.swing.vc.rqml; 00059 00060 import javax.swing.*; 00061 import java.awt.BorderLayout; 00062 import java.awt.GridBagLayout; 00063 import java.awt.GridBagConstraints; 00064 import java.awt.Insets; 00065 import java.util.Observable; 00066 00067 import com.arcle.rmt.rqml.RQMLFirstClass; 00068 import com.arcle.rmt.rqml.Context; 00069 import com.arcle.rmt.rqml.Origin; 00070 import com.arcle.rmt.rqml.TextualData; 00071 00072 00078 public class ContextAttributes extends FirstClassPanel { 00079 public ContextAttributes(RQMLFirstClass fc) { 00080 super(fc); 00081 setName("Context"); 00082 } 00083 00084 //------------------------------------------------------------------- 00085 // View implementations 00086 00087 00088 //------------------------------------------------------------------- 00089 protected void initChildren() { 00090 lbOrigin = createLabel("Origin"); 00091 lbTextualData = createLabel("Textual-Data"); 00092 00093 edOrigin = createTextField(); 00094 edTextualData = createTextArea(); 00095 } 00096 00097 protected void layoutChildren() { 00098 JPanel p1, p2, p3; 00099 final int xGap = 4; 00100 final int yGap = 2; 00101 setLayout(new BorderLayout()); 00102 00103 // Origin field at top 00104 p1 = new JPanel(); 00105 p1.setLayout(new BorderLayout()); 00106 p1.add(lbOrigin, BorderLayout.WEST); 00107 p1.add(edOrigin, BorderLayout.CENTER); 00108 add(p1, BorderLayout.NORTH); 00109 00110 // Textual-Data field at center 00111 p1 = new JPanel(); 00112 p1.setLayout(new BorderLayout()); 00113 p1.add(lbTextualData, BorderLayout.NORTH); 00114 p1.add(createScrollPane(edTextualData), BorderLayout.CENTER); 00115 add(p1, BorderLayout.CENTER); 00116 } 00117 00118 //------------------------------------------------------------------- 00119 00120 protected void loadData() { 00121 RQMLFirstClass elem = getElement(); 00122 if (elem instanceof Context) { 00123 Context ctx = (Context) elem; 00124 edOrigin.setText(ctx.getOrigin().getString()); 00125 edTextualData.setText(ctx.getTextualData().getString()); 00126 } 00127 00128 } 00129 00130 protected void saveData() { 00131 RQMLFirstClass elem = getElement(); 00132 if (elem instanceof Context) { 00133 Context ctx = (Context) elem; 00134 ctx.getOrigin().setString(edOrigin.getText()); 00135 ctx.getTextualData().setString(edTextualData.getText()); 00136 } 00137 } 00138 00139 //------------------------------------------------------------------- 00140 // Member Variables 00141 00142 private JLabel lbOrigin; 00143 private JLabel lbTextualData; 00144 00145 private JTextField edOrigin; 00146 private JTextArea edTextualData; 00147 }