Inheritance diagram for InterfaceChoice::

Public Methods | |
| InterfaceChoice (TypeCode tc) | |
| String | name () |
| Name of the type. More... | |
| JComponent | inputRes () |
| Dialog component where the user specifies the parameter. More... | |
| JComponent | inputObj () |
| JComponent | inputArg () |
| Dialog component where the user specifies the result. More... | |
| String | getResult (Any resAny) |
| Request management: extract result from Any (and convert it to String). More... | |
| void | setArgument (Any argsAny) throws InvalidChoiceException |
| Request management: add argument to Any. More... | |
| String | toString (java.lang.Object obj) |
| Converts that object to string. More... | |
| java.lang.Object | asObject (String name) throws InvalidChoiceException |
| Returns the object introduced as that text. More... | |
| Request | createRequest (String op) throws InvalidChoiceException |
| void | dragOver (DropTargetDragEvent event) |
| void | drop (DropTargetDropEvent event) |
| void | dragEnter (DropTargetDragEvent event) |
| void | dragExit (DropTargetEvent event) |
| void | dropActionChanged (DropTargetDragEvent event) |
|
|
00037 {
00038 super(tc);
00039 try {
00040 _id = tc.id();
00041 _name = tc.name();
00042 }catch(org.omg.CORBA.TypeCodePackage.BadKind e){
00043 //???
00044 }
00045 }
|
|
|
Name of the type.
Reimplemented from CorbaObjectChoice.
00048 {
00049 return "interface "+_name;
00050 }
|
|
|
Dialog component where the user specifies the parameter.
Reimplemented from CorbaObjectChoice.
00053 {
00054 if(_input == null) {
00055 StubComboBoxModel model = new StubComboBoxModel(_id);
00056 _input = new JComboBox(model);
00057 //addStubs(_input);
00058
00059 _input.setEditable(true);
00060 _input.getEditor().getEditorComponent().addFocusListener(new SelectOnFocus());
00061
00062 _input.setSelectedIndex(-1);
00063 _input.getEditor().setItem("");
00064 }
00065
00066 return _input;
00067 }
|
|
|
00070 {
00071 if(_input == null) {
00072 StubComboBoxModel model = new StubComboBoxModel(_id);
00073 _input = new JComboBox(model);
00074 //addStubs(_input);
00075
00076 //Component[] comps = _input.getComponents();
00077 //for(int i=0; i<comps.length; i++)
00078 // new DropTarget(comps[i], (DropTargetListener)this);
00079 }
00080 return _input;
00081 }
|
|
|
Dialog component where the user specifies the result.
Reimplemented from CorbaObjectChoice. Reimplemented in MatrixChoice, and TagListChoice.
00084 {
00085 if(_input == null) {
00086 StubComboBoxModel model = new StubComboBoxModel(_id);
00087 model.addElement("_nil");
00088 _input = new JComboBox(model);
00089 //addStubs(_input);
00090
00091 //Component[] comps = _input.getComponents();
00092 //for(int i=0; i<comps.length; i++)
00093 // new DropTarget(comps[i], (DropTargetListener)this);
00094 }
00095 return _input;
00096 }
|
|
|
Request management: extract result from Any (and convert it to String).
Reimplemented from CorbaObjectChoice.
00099 {
00100 org.omg.CORBA.Object obj = resAny.create_input_stream().read_Object();
00101 return toString(obj);
00102
00103 /*String resName = null;
00104
00105 try {
00106 //result = HxCorba."name"Helper.extract(resAny);
00107
00108 Class helper = Class.forName("HxCorba."+_name+"Helper");
00109 Class[] argTypes = { Any.class };
00110 Method methExt = helper.getMethod("extract", argTypes);
00111 java.lang.Object[] args = { resAny };
00112 java.lang.Object obj = methExt.invoke(null, args);
00113
00114 resName = toString(obj);
00115
00116 }catch(Exception e) {
00117 ErrorStreamArea.println(e+": Cannot find helper class for "+_name);
00118 }
00119
00120 return resName;*/
00121 }
|
|
|
Request management: add argument to Any.
Reimplemented from CorbaObjectChoice.
00124 {
00125 org.omg.CORBA.Object obj = (org.omg.CORBA.Object)asObject();
00126
00127 org.omg.CORBA.portable.OutputStream out = argsAny.create_output_stream();
00128 out.write_Object(obj);
00129 argsAny.read_value(out.create_input_stream(), typeCode());
00130
00131 /*try {
00132 //HxCorba."name"Helper.insert(argsAny, this);
00133
00134 Class helper = Class.forName("HxCorba."+_name+"Helper");
00135 Class[] argTypes = { Any.class, Class.forName("HxCorba."+_name) };
00136 Method methIns = helper.getMethod("insert", argTypes);
00137 java.lang.Object[] args = { argsAny, obj };
00138 methIns.invoke(null, args);
00139
00140 }catch(Exception e) {
00141 ErrorStreamArea.println(e+": Cannot find helper class for "+_name);
00142 }*/
00143 }
|
|
|
Converts that object to string. Useful method to implement getResult. Reimplemented from CorbaObjectChoice.
00146 {
00147 if(obj == null) return null;
00148
00149 // This seems to an (incorrect) NullPointer exception on linux...
00150 //String resName = _input.getSelectedItem().toString();
00151 String resName;
00152 if (_input.getSelectedItem() == null)
00153 resName = new String("");
00154 else
00155 resName = _input.getSelectedItem().toString();
00156
00157 if(resName.length() == 0)
00158 resName = _name+"+";
00159
00160 resName = StubRepository.instance().
00161 addStub(_id, resName, (org.omg.CORBA.Object)obj);
00162 return resName;
00163 }
|
|
|
Returns the object introduced as that text. Useful method to implement setArgument. Reimplemented from CorbaObjectChoice. Reimplemented in MatrixChoice, and TagListChoice.
00166 {
00167 if(name.equals("_nil")) return null;
00168
00169 java.lang.Object obj = StubRepository.instance().getStub(_id, name);
00170 if(obj == null)
00171 throw new InvalidChoiceException(_name+" \""+name+"\" doesn't exists");
00172
00173 return obj;
00174 }
|
|
|
00177 {
00178 if(_input.getSelectedItem() == null)
00179 throw new InvalidChoiceException("Interface not selected");
00180
00181 String name = _input.getSelectedItem().toString();
00182 ObjectImpl obj = (ObjectImpl)StubRepository.instance().getStub(_id, name);
00183 return obj._request(op);
00184 }
|
|
|
00189 {
00190 //System.out.println("over "+event.getDropTargetContext().getComponent());
00191 boolean acceptable = event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor);
00192
00193 if(acceptable) {
00194 event.acceptDrag(event.getDropAction());
00195 //setDragPosition(event.getLocation());
00196 }else
00197 event.rejectDrag();
00198 }
|
|
|
00202 {
00203 boolean acceptable = event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor);
00204
00205 if(!acceptable) {
00206 event.rejectDrop();
00207 return;
00208 }
00209
00210 try {
00211 event.acceptDrop(event.getDropAction());
00212 Transferable transferable = event.getTransferable();
00213 ObjectTransfer data = (ObjectTransfer)transferable.getTransferData(
00214 HxCorbaDataFlavor.objectFlavor);
00215
00216 //if(_dropName != null) _input.removeItem(_dropName);
00217 //_dropName = null;
00218
00219 //if(data.getType().equals(_id)) {
00220 // _dropName = "drop:"+data.getName();
00221 // _dropStub = data;
00222 // _input.addItem(_dropName);
00223 //_input.setSelectedItem(_dropName);
00224 //}
00225 //else System.out.println("wrong type");
00226
00227 event.getDropTargetContext().dropComplete(true);
00228 }
00229 catch (java.io.IOException exception) {
00230 exception.printStackTrace();
00231 event.rejectDrop();
00232 }catch (UnsupportedFlavorException ufException ) {
00233 ufException.printStackTrace();
00234 event.rejectDrop();
00235 }
00236 }
|
|
|
00239 {}
|
|
|
00240 {}
|
|
|
00241 {}
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001