Inheritance diagram for BpoElement::
Public Methods | |
BpoElement () | |
void | componentAdded (ContainerEvent e) |
void | componentRemoved (ContainerEvent e) |
HxCorba.ImageRep | computeResult () |
void | keyPressed () |
void | animationStep () |
boolean | continueAnimation () |
void | run () |
Protected Methods | |
void | doInit () |
|
00025 { 00026 int marginLF = 0; 00027 int marginUP = ImageElement.componentSize().height / 2; 00028 int marginRG = KeyComponent.componentSize().width / 2; 00029 int marginDW = ImageElement.componentSize().height / 2; 00030 int machineW = 126; 00031 int machineH = 77; 00032 00033 setSize(marginLF+machineW+marginRG, marginUP+machineH+marginDW); 00034 setMachineImage(Images.bpo, marginLF, marginUP, machineW, machineH); 00035 00036 _props = new BpoProperties(); 00037 _props.bpoName = "add"; 00038 _props.tagName = ""; 00039 _props.tagValue = 0; 00040 00041 _input0 = createInputSocket(marginLF+18, marginUP + machineH - marginDW - 2); 00042 _input1 = createInputSocket(marginLF+76, marginUP + machineH - marginDW - 2); 00043 _output = createOutputSocket(marginLF+46, 0); 00044 createPropertyComponent(_props, marginLF+32, marginUP + 40, 60); 00045 _key = createKeyComponent(marginLF+machineW-marginRG-2, marginUP + 10); 00046 00047 _conMgr = new ConnectorManager(this, _output); 00048 _conMgr.setColor(Color.red); 00049 00050 _tlFactory = null; 00051 _props.nameField.setEnabled(false); 00052 _props.valueField.setEnabled(false); 00053 } |
|
00055 {} |
|
00058 { 00059 if(e.getChild() == this) _conMgr.freeConnector(); 00060 } |
|
Reimplemented from ConnectorMachine.
00065 { 00066 if(_input0.empty() || _input1.empty()) return null; 00067 00068 _working = true; 00069 new Thread(this).start(); 00070 _key.startAnimation(); 00071 _key.joinAnimation(); 00072 00073 HxCorba.ImageRep result = _output.getImageRep(); 00074 _output.removeElement(); 00075 00076 return result; 00077 } |
|
Reimplemented from AnimatedMachine.
00081 { 00082 if(_working) return; 00083 00084 if(_key.isTurned()) { //there is a connector 00085 _conMgr.freeConnector(); 00086 _key.turnKey(); 00087 return; 00088 } 00089 00090 if(!_output.empty()) return; 00091 00092 if(_input0.empty() || _input1.empty()) { //create connector 00093 _conMgr.createConnector("Bpo result"); 00094 _key.turnKey(); 00095 return; 00096 } 00097 00098 // output.empty() and !input0.empty() and !input1.empty() 00099 _working = true; 00100 _key.startAnimation(); 00101 new Thread(this).start(); 00102 } |
|
Reimplemented from AnimatedMachine.
00106 { 00107 } |
|
Reimplemented from AnimatedMachine.
00111 { 00112 return _working; 00113 } |
|
00117 { 00118 try { 00119 HxCorba.ImageRep obj = _input0.getImageRep(); 00120 HxCorba.ImageRep arg = _input1.getImageRep(); 00121 if((obj != null) && (arg != null)) { 00122 HxCorba.TagList tagList = createTagList(obj); 00123 HxCorba.ImageRep res = obj.binaryPixOp(arg, _props.bpoName, tagList); 00124 _output.setImageRep(res); 00125 } 00126 }catch(org.omg.CORBA.SystemException e) { 00127 ErrorStreamArea.println(""+e); 00128 }catch(HxCorba.ImageException e) { 00129 ErrorStreamArea.println(e.message); 00130 } 00131 _working = false; 00132 } |
|
Reimplemented from MachineElement.
00136 { 00137 _tlFactory = ServiceRepository.instance().getConstructor(); 00138 if(_tlFactory != null) { 00139 _props.nameField.setEnabled(true); 00140 _props.valueField.setEnabled(true); 00141 } 00142 } |