<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
I sincerely hope that Paul will help you out.<br>A really useful script-idea and I'm looking forward to that one.<br>Inge<br><br><div><hr id="stopSpelling">From: jey@adobe.com<br>To: APBeta@lists.astroplanner.net<br>Date: Sat, 9 Jul 2011 01:12:02 +0100<br>Subject: [APBeta] Script help<br><br>
<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML"><style>
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal
{margin-bottom:.0001pt;font-size:11.0pt;font-family:'Calibri','sans-serif';}
.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink
{color:blue;text-decoration:underline;}
.ExternalClass a:visited, .ExternalClass span.ecxMsoHyperlinkFollowed
{color:purple;text-decoration:underline;}
.ExternalClass span.ecxEmailStyle17
{font-family:'Calibri','sans-serif';color:windowtext;}
.ExternalClass .ecxMsoChpDefault
{;}
@page WordSection1
{size:612.0pt 792.0pt;}
.ExternalClass div.ecxWordSection1
{page:WordSection1;}
</style><div class="ecxWordSection1"><p class="ecxMsoNormal">Paul,</p><p class="ecxMsoNormal"> </p><p class="ecxMsoNormal">I’ve written the following script to allow editing of user image descriptions (and some of the flags). The first dialog shows a list of user images. Double-clicking one of them brings up an edit dialog which allows you to edit the description and two of the flags.</p><p class="ecxMsoNormal"> </p><p class="ecxMsoNormal">The first dialog list is doing a string-sort instead of an ID-sort, though. Is there a way to return ID for the MultiFieldObject’s ColumnType so the list will sort correctly?</p><p class="ecxMsoNormal"> </p><p class="ecxMsoNormal">Thanks,</p><p class="ecxMsoNormal">Jeff.</p><p class="ecxMsoNormal"> </p><p class="ecxMsoNormal"></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">function EditImage(img as Image) as boolean</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> dim editor as Dialog, imgCanvas as Canvas</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> editor = new Dialog</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> imgCanvas = Dialog.NewCanvas(500, 500)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> imgCanvas.DrawImage(img, 0, 0, 500)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> editor.CanvasParameter(imgCanvas)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> editor.StringParameter("Description", img.Description)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> editor.BooleanParameter("Color", img.IsColor)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> editor.BooleanParameter("Black on White", img.IsBlackOnWhite)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if editor.show("Edit User Image for " + img.ID) then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> img.Description = editor.StringParameter("Description")</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> img.IsColor = editor.BooleanParameter("Color")</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> img.IsBlackOnWhite = editor.BooleanParameter("Black on White")</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return true</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return false</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"></span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">function toStr(b as boolean) as string</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if b then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "true"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> else</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "false"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"></span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">class ImageMetaData </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> implements MultiFieldObject</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> ID as string</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> Desc as string</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> isColor as boolean</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> isBlackOnWhite as boolean</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> index as integer</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> function ColumnName(idx as integer) as string</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if idx = 1 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "ID"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 2 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "Description"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 3 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "Color"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 4 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "Black on White"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 5 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "Index"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> function ColumnType(idx as integer) as integer</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if idx = 1 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return vtype_String</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 2 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return vtype_String</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 3 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return vtype_Boolean</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 4 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return vtype_Boolean</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 5 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return vtype_Integer</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> function ColumnValue(idx as integer) as string</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if idx = 1 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return ID</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 2 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return Desc</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 3 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return toStr(isColor)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 4 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return toStr(isBlackOnWhite)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> elseif idx = 5 then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return Str(index)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return "undefined column (" + Str(idx) + ")"</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> function nColumns() as integer</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return 5</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">end class</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"></span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">function getImageMetaData(img as Image, idx as integer) as ImageMetaData</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> dim metadata as ImageMetaData</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> metadata = new ImageMetaData</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> metadata.ID = img.ID</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> metadata.Desc = img.Description</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> metadata.isColor = img.IsColor</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> metadata.isBlackOnWhite = img.IsBlackOnWhite</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> metadata.index = idx</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return metadata</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">end function</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"></span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">sub main()</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">try</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> dim imageData(1000) as ImageMetaData</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> dim i, idx as integer, img as Image</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> i = 0</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> for idx = 1 to Image.Count</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> img = Image.Get(idx)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if img.IsUser then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> imageData(i) = getImageMetaData(img, idx)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> i = i + 1</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> next</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> redim imageData(i-1)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> dim browser as Dialog</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> while true</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> browser = new Dialog</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> browser.ListChoiceParameter("User Images", 0, imageData, true, 50, true)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> browser.ParameterWindowNoCancel()</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> browser.ParameterWindowOKCaption("Done")</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> </span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if browser.show("User Image Browser") then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if browser.DoubleClickedList() = "User Images" then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> i = browser.ListChoiceParameter("User Images")</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> idx = imageData(i).index</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> img = Image.Get(idx)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> if EditImage(img) then</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> imageData(i) = getImageMetaData(img, idx)</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> else</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> else</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> return</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> end if</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> wend</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"></span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">catch</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"> print "My bad. Image Browser script generated an exception."</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">end try</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'">end sub</span></p><p class="ecxMsoNormal"><span style="font-family:'Courier New'"></span></p></div><br>_______________________________________________
APBeta mailing list
APBeta@lists.astroplanner.net
http://lists.astroplanner.net/listinfo.cgi/apbeta-astroplanner.net</div> </div></body>
</html>