Ok, here goes:
I'm trying to implement a "Windows File Explorer"-like interface to a data
repository. For the time being I'm assuming that I receive XML from some API.
So I'm using a static XML file for now, it's called "treexmldatastruct.xml".
The problem I'm having is this ... I'd like the icons in my explorer interface
(which is implemented as a Tree) to be indicative of the filetype. I've created
icon files and written an IconFunction to do this and it works fine.
Except that branches of the Tree also wind up having their icons changed ... in
spite of the fact that I've defined a folderOpenIcon and a folderClosedIcon.
The docs claim that an IconFunction can't override these, but in fact it does
seem to be.
Here's the relevant code:
<mx:Script>
<![CDATA[
[Embed("icon_jpeg.png")]
public var jpegSymbol:Class;
[Embed("icon_gif.png")]
public var gifSymbol:Class;
// etc, etc ... more image embeds here
private function myIconFunction(item:Object):Class {
var filetype:String = [EMAIL PROTECTED];
switch (filetype) {
case "jpg":
return jpegSymbol;
break;
case "gif":
return gifSymbol;
break;
// etc, etc ... more cases here
case "normal":
return normalSymbol;
break;
default:
return normalSymbol;
}
return normalSymbol;
}
]]>
</mx:Script>
<mx:XML source="treexmldatastruct.xml" id="myMenuStruct" format="e4x"/>
<mx:Tree id="firstList" height="300" width="230" x="20" y="70"
showRoot="true" dataProvider="{myMenuStruct}"
labelField="@label"
dragEnabled="true" dropEnabled="true" dragMoveEnabled="true"
allowMultipleSelection="true"
folderOpenIcon="@Embed(source='icon_open.png')"
folderClosedIcon="@Embed(source='icon_closed.png')"
iconFunction="myIconFunction"/>
The XML file "treexmldatastruct.xml" is:
<?xml version="1.0"?>
<node label="Mail" date="27-06-2006">
<node label="Inbox" date="28-06-2006"/>
<node label="Personal Folder" date="29-06-2006" filetype="">
<node label="Demo" date="30-06-2006" filetype="msword"/>
<node label="Personal" date="31-06-2006" filetype="msword"/>
<node label="Saved Mail" date="01-07-2006" filetype="msword"/>
<node label="Spam" date="02-07-2006" filetype="msword"/>
</node>
<node label="Business Folder" date="29-06-2006">
<node label="Instructions" date="30-06-2006" filetype="pdf"/>
<node label="Personnel Database" date="31-06-2006"
filetype="msaccess"/>
<node label="Quarterly Spreadsheet" date="01-07-2006"
filetype="msexcel"/>
<node label="Company Logo" date="02-07-2006" filetype="jpg"/>
</node>
<node label="Calendar" date="03-07-2006"/>
<node label="Sent" date="04-07-2006"/>
<node label="Trash" date="05-07-2006"/>
</node>
Thanks for any help.
Cheers
John
This email and any files transmitted with it may be confidential and are
intended solely for the use of the individual or entity to whom they are
addressed. This email may contain personal information of individuals, and be
subject to Commonwealth and/or State privacy laws in Australia. This email is
also subject to copyright. If you are not the intended recipient, you must not
read, print, store, copy, forward or use this email for any reason, in
accordance with privacy and copyright laws. If you have received this email in
error, please notify the sender by return email, and delete this email from
your inbox.
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/