Horus Doc || Java GUI Reference || Doxygen's quick Index  

PixValueChoice Class Reference

A CorbaObjectChoice for PixValue's. More...

Inheritance diagram for PixValueChoice::

CorbaObjectChoice List of all members.

Public Methods

 PixValueChoice (TypeCode tc)
String name ()
 Name of the type. More...

JComponent inputRes ()
 Dialog component where the user specifies the parameter. More...

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...

java.lang.Object asObject (String name) throws InvalidChoiceException
 Returns the object introduced as that text. More...

String toString (java.lang.Object obj)
 Converts that object to string. More...


Static Public Methods

HxCorba.PixValue getPixValue (String strValue) throws InvalidChoiceException

Detailed Description

A CorbaObjectChoice for PixValue's.


Constructor & Destructor Documentation

PixValueChoice::PixValueChoice TypeCode    tc [inline]
 

00023 {
00024     super(tc);
00025 }


Member Function Documentation

String PixValueChoice::name   [inline, virtual]
 

Name of the type.

Reimplemented from CorbaObjectChoice.

00028 {
00029     return "PixValue";
00030 }

JComponent PixValueChoice::inputRes   [inline, virtual]
 

Dialog component where the user specifies the parameter.

Reimplemented from CorbaObjectChoice.

00033 {
00034     return null;
00035 }

JComponent PixValueChoice::inputArg   [inline, virtual]
 

Dialog component where the user specifies the result.

Reimplemented from CorbaObjectChoice.

00038 {
00039     if(_input == null) {
00040         _input = new JComboBox();
00041         _input.addItem("1");
00042         _input.addItem("1.0");
00043         _input.addItem("1 1");
00044         _input.addItem("1.0 1.0");
00045         _input.addItem("1 1 1");
00046         _input.addItem("1.0 1.0 1.0");
00047 
00048         _input.setEditable(true);
00049         _input.getEditor().getEditorComponent().addFocusListener(new HxJava.Util.SelectOnFocus());
00050 
00051         _input.setSelectedIndex(0);
00052     }
00053     return _input;
00054 }

String PixValueChoice::getResult Any    resAny [inline, virtual]
 

Request management: extract result from Any (and convert it to String).

Reimplemented from CorbaObjectChoice.

00058 {
00059     java.lang.Object result = HxCorba.PixValueHelper.extract(resAny);
00060     return toString(result);
00061 }

void PixValueChoice::setArgument Any    argsAny [inline, virtual]
 

Request management: add argument to Any.

Reimplemented from CorbaObjectChoice.

00064 {
00065     HxCorba.PixValue val = (HxCorba.PixValue)asObject();
00066     HxCorba.PixValueHelper.insert(argsAny, val);
00067 }

HxCorba.PixValue PixValueChoice::getPixValue String    strValue [inline, static]
 

00071 {
00072     HxCorba.PixValue val = new HxCorba.PixValue();
00073 
00074     try {
00075         int[] values = getIntValues(strValue);
00076         if(values.length > 3)
00077             throw new InvalidChoiceException("Wrong pixel value (too many components)");
00078 
00079         switch (values.length) {
00080         case 1:
00081             val.scalarInt(values[0]);
00082             return val;
00083         case 2:
00084             val.vect2Int(new HxCorba.Vec2I(values[0], values[1]));
00085             return val;
00086         case 3:
00087             val.vect3Int(new HxCorba.Vec3I(values[0], values[1], values[2]));
00088             return val;
00089         }
00090     }catch(NumberFormatException e) {
00091         //Maybe are doubles
00092     }
00093 
00094     try {
00095         double[] values = getDoubleValues(strValue);
00096         if(values.length > 3)
00097             throw new InvalidChoiceException("Wrong pixel value (too many components)");
00098 
00099         switch (values.length) {
00100         case 1:
00101             val.scalarDouble(values[0]);
00102             return val;
00103         case 2:
00104             val.vect2Double(new HxCorba.Vec2D(values[0], values[1]));
00105             return val;
00106         case 3:
00107             val.vect3Double(new HxCorba.Vec3D(values[0], values[1], values[2]));
00108             return val;
00109         }
00110     }catch(NumberFormatException e) {
00111     }
00112 
00113     throw new InvalidChoiceException("Wrong pixel value (wrong number)");
00114 }

java.lang.Object PixValueChoice::asObject String    name [inline, virtual]
 

Returns the object introduced as that text.

Useful method to implement setArgument.

Reimplemented from CorbaObjectChoice.

00117 {
00118     try {
00119         return getPixValue(name);
00120     }catch(InvalidChoiceException e) {
00121         _input.requestFocus();
00122         throw e;
00123     }
00124 }

String PixValueChoice::toString java.lang.Object    obj [inline]
 

Converts that object to string.

Useful method to implement getResult.

Reimplemented from CorbaObjectChoice.

00127 {
00128     HxCorba.PixValue val = (HxCorba.PixValue)obj;
00129     if(val.discriminator() == HxCorba.PixValueTag.SI) {
00130         int res = val.scalarInt();
00131         return ""+res;
00132     }
00133     else if(val.discriminator() == HxCorba.PixValueTag.SD) {
00134         double res = val.scalarDouble();
00135         return ""+res;
00136     }
00137     else if(val.discriminator() == HxCorba.PixValueTag.V2I) {
00138         HxCorba.Vec2I res = val.vect2Int();
00139         return "{"+res.x+", "+res.y+"}";
00140     }
00141     else if(val.discriminator() == HxCorba.PixValueTag.V2D) {
00142         HxCorba.Vec2D res = val.vect2Double();
00143         return "{"+res.x+", "+res.y+"}";
00144     }
00145     else if(val.discriminator() == HxCorba.PixValueTag.V3I) {
00146         HxCorba.Vec3I res = val.vect3Int();
00147         return "{"+res.x+", "+res.y+", "+res.z+"}";
00148     }
00149     else if(val.discriminator() == HxCorba.PixValueTag.V3D) {
00150         HxCorba.Vec3D res = val.vect3Double();
00151         return "{"+res.x+", "+res.y+", "+res.z+"}";
00152     }
00153     return "unknown";
00154 }


The documentation for this class was generated from the following file:
Generated on Tue Feb 3 14:19:49 2004 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001