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

ImageElement Class Reference

Inheritance diagram for ImageElement::

ConnectorElement VideoElement List of all members.

Public Methods

 ImageElement ()
 ImageElement (HxCorba.ImageRep data)
 ImageElement (HxCorba.ImageRep data, String name)
ImageElement cloneElement ()
HxCorba.ImageRep getImageRep ()
void setImageRep (HxCorba.ImageRep data)
String getImageName ()
void setImageName (String n)
void paint (Graphics g)
void dragGestureRecognized (DragGestureEvent event)
void dragDropEnd (DragSourceDropEvent event)
void dragEnter (DragSourceDragEvent event)
void dragOver (DragSourceDragEvent event)
void dragExit (DragSourceEvent event)
void dropActionChanged (DragSourceDragEvent event)

Static Public Methods

Dimension componentSize ()
ImageElement getLocalDrag ()

Static Public Attributes

Cursor takeCur = createCursor(Images.takeHand, new Point(16, 16), "take")
Cursor dragCur = createCursor(Images.dragHand, new Point(16, 16), "drag")

Protected Attributes

HxCorba.ImageRep _imageRep
String _name
DragGestureRecognizer _dragGR
double _iconSize = 30.0
Image _icon
int _iconW
int _iconH

Constructor & Destructor Documentation

ImageElement::ImageElement   [inline]
 

00028 {
00029     this(null);
00030 }

ImageElement::ImageElement HxCorba.ImageRep    data [inline]
 

00033 {
00034     this(data, "Image");
00035 }

ImageElement::ImageElement HxCorba.ImageRep    data,
String    name
[inline]
 

00038 {
00039     setImageRep(data);
00040     setImageName(name);
00041 
00042     setSize(componentSize());
00043     //setCursor(takeCur);
00044 
00045     DragSource dragSource = DragSource.getDefaultDragSource();
00046     _dragGR = dragSource.createDefaultDragGestureRecognizer((Component)this,
00047         DnDConstants.ACTION_COPY_OR_MOVE, this);
00048     //if(data != null) setCursor(WorldGui.takeCur);
00049 }


Member Function Documentation

ImageElement ImageElement::cloneElement   [inline]
 

Reimplemented in VideoElement.

00052 {
00053     return new ImageElement(_imageRep, _name);
00054 }

HxCorba.ImageRep ImageElement::getImageRep   [inline]
 

Reimplemented in ConnectorElement.

00057 {
00058     return _imageRep;
00059 }

void ImageElement::setImageRep HxCorba.ImageRep    data [inline]
 

00062 {
00063     _imageRep = data;
00064     if(data == null)
00065         _icon = null;
00066     else {
00067         int w = data.dimensionSize(1);
00068         int h = data.dimensionSize(2);
00069 
00070         double s = _iconSize / ((double) Math.max(w, h));
00071         _iconW = (int)(s * w);
00072         _iconH = (int)(s * h);
00073         HxCorba.ImageRep iconImg = data.scale(s,s, HxCorba.GeoIntType.LINEAR);
00074         _icon = Images.imageFromStub(iconImg);
00075     }
00076     repaint();
00077 }

String ImageElement::getImageName   [inline]
 

00080 {
00081     return _name;
00082 }

void ImageElement::setImageName String    n [inline]
 

00085 {
00086     _name = n;
00087     setToolTipText(_name);
00088 }

void ImageElement::paint Graphics    g [inline]
 

Reimplemented in ConnectorElement, and VideoElement.

00091 {
00092     Dimension s = getSize();
00093     g.setColor(Color.white);
00094     g.fillRect(0, 0, s.width, s.height);
00095     g.setColor(Color.black);
00096     g.drawRect(0,0,s.width-1,s.height-1);
00097     if(_icon != null)
00098         g.drawImage(_icon, (s.width - _iconW) / 2, 3, this);
00099 }

Dimension ImageElement::componentSize   [inline, static]
 

00102 {
00103     return new Dimension(38, 37);
00104 }

ImageElement ImageElement::getLocalDrag   [inline, static]
 

00107 {
00108     return _localDrag;
00109 }

void ImageElement::dragGestureRecognized DragGestureEvent    event [inline]
 

00114 {
00115     // a drag gesture has been initiated
00116     String name = _name;
00117     String ior = null;
00118 
00119     if(_imageRep != null)
00120         ior = CorbaMediator.instance().object_to_string(_imageRep);
00121 
00122     _localDrag = this;
00123     Transferable data = new ImageTransfer(name, ior);
00124     event.getDragSource().startDrag(event, //WorldGui.dragCur,
00125       DragSource.DefaultMoveNoDrop, data, this);
00126 }

void ImageElement::dragDropEnd DragSourceDropEvent    event [inline]
 

00131 {
00132     _localDrag = null;
00133 
00134     if(event.getDropSuccess() == false ) return;
00135 
00136     //if(event.getDropAction() == DnDConstants.ACTION_MOVE) {
00137     //    Container parent = getParent();
00138     //    parent.remove(this);
00139     //    parent.repaint();
00140     //}
00141 }

void ImageElement::dragEnter DragSourceDragEvent    event [inline]
 

00144 {}

void ImageElement::dragOver DragSourceDragEvent    event [inline]
 

00146 {
00147     //event.getDragSourceContext().setCursor(null);
00148     //event.getDragSourceContext().setCursor(dragCur);
00149 }

void ImageElement::dragExit DragSourceEvent    event [inline]
 

00151 {}

void ImageElement::dropActionChanged DragSourceDragEvent    event [inline]
 

00152 {}


Member Data Documentation

Cursor ImageElement::takeCur = createCursor(Images.takeHand, new Point(16, 16), "take") [static]
 

Cursor ImageElement::dragCur = createCursor(Images.dragHand, new Point(16, 16), "drag") [static]
 

HxCorba.ImageRep ImageElement::_imageRep [protected]
 

String ImageElement::_name [protected]
 

DragGestureRecognizer ImageElement::_dragGR [protected]
 

double ImageElement::_iconSize = 30.0 [protected]
 

Image ImageElement::_icon [protected]
 

int ImageElement::_iconW [protected]
 

int ImageElement::_iconH [protected]
 


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:11:20 2003 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001