Inheritance diagram for UpoElement::

Public Methods | |
| UpoElement () | |
| void | componentAdded (ContainerEvent e) |
| void | componentRemoved (ContainerEvent e) |
| HxCorba.ImageRep | computeResult () |
| void | keyPressed () |
| void | animationStep () |
| boolean | continueAnimation () |
| void | run () |
Protected Methods | |
| void | doInit () |
|
|
00024 {
00025 int marginLF = 0;
00026 int marginUP = ImageElement.componentSize().height / 2;
00027 int marginRG = KeyComponent.componentSize().width / 2;
00028 int marginDW = ImageElement.componentSize().height / 2;
00029 int machineW = 78;
00030 int machineH = 77;
00031
00032 setSize(marginLF+machineW+marginRG, marginUP+machineH+marginDW);
00033
00034 _props = new UpoProperties();
00035 _props.upoName = "threshold";
00036 _props.tagName = "";
00037 _props.tagValue = 0;
00038
00039 _input = createInputSocket(marginLF+22, marginUP + machineH - marginDW - 2);
00040 _output = createOutputSocket(marginLF+22, 0);
00041 createPropertyComponent(_props, marginLF+8, marginUP + 40, 60);
00042 _key = createKeyComponent(marginLF+machineW-marginRG-2, marginUP + 10);
00043
00044 setMachineImage(Images.upo, marginLF, marginUP, machineW, machineH);
00045
00046 _conMgr = new ConnectorManager(this, _output);
00047 _conMgr.setColor(Color.blue);
00048
00049 _tlFactory = null;
00050 _props.nameField.setEnabled(false);
00051 _props.valueField.setEnabled(false);
00052 }
|
|
|
00054 {}
|
|
|
00057 {
00058 if(e.getChild() == this) _conMgr.freeConnector();
00059 }
|
|
|
Reimplemented from ConnectorMachine.
00063 {
00064 if(_input.empty()) return null;
00065
00066 _working = true;
00067 new Thread(this).start();
00068 _key.startAnimation();
00069 _key.joinAnimation();
00070
00071 HxCorba.ImageRep result = _output.getImageRep();
00072 _output.removeElement();
00073 return result;
00074 }
|
|
|
Reimplemented from AnimatedMachine.
00078 {
00079 if(_working) return;
00080
00081 if(_key.isTurned()) {
00082 _conMgr.freeConnector();
00083 _key.turnKey();
00084 return;
00085 }
00086
00087 if(!_output.empty()) return;
00088
00089 if(_input.empty()) { //create connector
00090 _conMgr.createConnector("Upo result");
00091 _key.turnKey();
00092 return;
00093 }
00094
00095 // output.empty() and !input.empty()
00096 _working = true;
00097 _key.startAnimation();
00098 new Thread(this).start();
00099 }
|
|
|
Reimplemented from AnimatedMachine.
00102 {}
|
|
|
Reimplemented from AnimatedMachine.
00106 {
00107 return _working;
00108 }
|
|
|
00111 {
00112 try {
00113 HxCorba.ImageRep obj = _input.getImageRep();
00114 if(obj != null) {
00115 HxCorba.TagList tagList = createTagList(obj);
00116 HxCorba.ImageRep res = obj.unaryPixOp(_props.upoName, tagList);
00117 _output.setImageRep(res);
00118 }
00119 }catch(org.omg.CORBA.SystemException e) {
00120 ErrorStreamArea.println(""+e);
00121 }catch(HxCorba.ImageException e) {
00122 ErrorStreamArea.println(e.message);
00123 }
00124 _working = false;
00125 }
|
|
|
Reimplemented from MachineElement.
00134 {
00135 _tlFactory = ServiceRepository.instance().getConstructor();
00136 if(_tlFactory != null) {
00137 _props.nameField.setEnabled(true);
00138 _props.valueField.setEnabled(true);
00139 _props.tagName = "level";
00140 _props.tagValue = 100;
00141 }
00142 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001