I didn't see anything obvious.  What are the specifics of the problem?

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Muhammad Ariful Islam
Sent: Thursday, July 03, 2008 11:47 AM
To: [email protected]
Subject: [flexcoders] Re: Drag-n-Drop problem in DataGrid with custom
ItemRenderer ...

 

Here is the code for GridImageRenderer which I'm using. The code is a
little messy because of its complex use, sorry for that.

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml> " width="100"
height="115"
creationComplete="initCanvus()">

<mx:Metadata>
[Event(name="imagePreview",type="desktopclient.PreviewEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
import mx.formatters.DateFormatter;
import mx.controls.Image;
import mx.controls.Alert;

private var srcPrefix:String = "";
private var imagesLoaded:Boolean = false;

public var result:Object;

private function initCanvus():void
{
if (!imagesLoaded) {
this.data = super.data;
imagesLoaded = true;
}
}

// Override the set method for the data property.
override public function set data(value:Object):void
{
super.data = value;
imagesLoaded = true;

if(Capabilities.os.search("Mac") >= 0){
srcPrefix = "File://";
}

if (value != null)
{
if (XMLComboData.isVideoType(data.extension)) {
imgBig.source =
File.applicationDirectory.nativePath + ImageHelper.pathDelim + "icons" +
ImageHelper.pathDelim + "video-icon.jpg";
imgBig.width = 100;
imgBig.height = 100;
imgBig.x = 0;
imgBig.y = 0;
imgBig.setConstraintValue("horizontalAlign",
"center");
imgBig.setConstraintValue("verticalAlign",
"middle");
imgSmall.visible = false;
} else {

imgBig.source = srcPrefix +
data.getSource().replace(".", "_thumb.");

if (data.paired) {
imgBig.width = 70;
imgBig.height = 70;
imgBig.x = 5;
imgBig.y = 5;

imgBig.setConstraintValue("horizontalAlign", "left");

imgBig.setConstraintValue("verticalAlign", "top");

imgSmall.source = srcPrefix +
data.otherElem.getSource().replace(".", "_thumb.");
imgSmall.visible = true;

} else {

imgBig.setConstraintValue("horizontalAlign", "center");

imgBig.setConstraintValue("verticalAlign", "middle");

imgBig.width = 100;
imgBig.height = 100;
imgBig.x = 0;
imgBig.y = 0;
imgSmall.visible = false;
}
}

doDrawTextIndicators();
}
} else {
imagesLoaded = false;
}
}

private function onRollOver(event:Event):void
{
event.target.toolTip = generateToolTip();
}

private function generateToolTip():String
{
var retStr:String = "";
if (data.copied) {
var cd:Date = new Date(data.lastCopiedAt);
var df:DateFormatter = new DateFormatter();
df.formatString = "MMM DD, YYYY - JJ:NN:SS";
retStr = "Last copied to Hot folder: " +
df.format(cd);
}
return retStr;
}

public function doDrawTextIndicators():void
{
if (data.copied) {
lblBottom.text = "Copied";
} else {
lblBottom.text = "";
}
}

public function doOnImageClick(event:MouseEvent):void
{
var imgSrc:String =
Image(event.target.parent).source.toString();
if (imgSrc.indexOf("thumb") >= 0) {
imgSrc = imgSrc.replace("_thumb.", ".");
}
if (XMLComboData.isVideoType(data.extension)) {
dispatchEvent(new PreviewEvent(imgSrc,
data.getSource(), "imagePreview", true));
} else {
dispatchEvent(new PreviewEvent(imgSrc, imgSrc,
"imagePreview", true));
}
}

]]>
</mx:Script>
<mx:Image x="45" y="45" id="imgSmall" scaleContent="true"
width="50" height="50"
horizontalAlign="right" verticalAlign="bottom"
doubleClickEnabled="true" maintainAspectRatio="true"
doubleClick="doOnImageClick(event)"/>
<mx:Image id="imgBig" scaleContent="true" width="100"
height="100" x="0" y="0"
horizontalAlign="center" verticalAlign="middle"
doubleClickEnabled="true" maintainAspectRatio="true"
doubleClick="doOnImageClick(event)"/>
<mx:Label id="lblBottom" color="#414141" fontWeight="bold"
bottom="0" horizontalCenter="0" rollOver="onRollOver(event)"/>

</mx:Canvas>

Regards,
~ Arif

 

Reply via email to