/* JSFL GetLibraryItemClass.jsfl Command "GetLibraryItemClass" Version 1.1.0 author Eiji Saito since 2008-10-12 update 2009-01-09 : Version 1.1.0 add font item */ var ACTION_NAME = "Get Library Item Class Command"; var MAIN_DIALOG_PATH = "Commands/GetLibraryItemClass/glicMainDialog.xml"; var FILE_DIALOG_PATH = "Commands/GetLibraryItemClass/glicFileDialog.xml"; var doc = fl.getDocumentDOM(); var docName = ""; var isOutputFile = false; var monthArray = ["Jan.","Feb.","Mar.","Apr.","May","June","July","Aug.","Sept.","Oct.","Nov.","Dec."]; // Run command getLibraryItemClass(); /** * get Library Item Class Command. */ function getLibraryItemClass() { if (doc == null) { return; } docName = doc.name; //-------------------------------------- // xmlPanel dialog //-------------------------------------- var mainDialog = doc.xmlPanel(fl.configURI + MAIN_DIALOG_PATH); if (mainDialog.dismiss == "accept") { // save result if (mainDialog.saveMode == "true") { isOutputFile = true; } } else { return; } //-------------------------------------- // FOR OUTPUT PANEL //-------------------------------------- startFlOutput(ACTION_NAME); //-------------------------------------- var docAsVersion = doc.asVersion; var docClass = doc.docClass; fl.trace("ActionScript " + docAsVersion + ".0"); if (docAsVersion == "3") { fl.trace("Document Class:\t" + docClass); } fl.trace("**************************************************"); fl.trace(""); var items = doc.library.items; var itemLength = items.length; for (var i=0; i < itemLength; i++) { var item = items[i]; var type = item.itemType; if (type == "compiled clip" || mainDialog[type] != "true") { continue; } var className = item.linkageClassName; if (className == undefined) { continue; } var itemName = item.name; // Assets & Skins check var pattern = /^Component Assets\/|^ FLV Playback Skins\//; var isSkip = pattern.test(itemName); if (isSkip) { continue; } fl.trace("Library Item:\t" + itemName); if (docAsVersion == "2") { var itemIdentifier = item.linkageIdentifier; fl.trace("Identifier:\t\t" + itemIdentifier); } fl.trace("Class:\t\t\t" + className); if (docAsVersion == "3") { var baseClassName = item.linkageBaseClass; if (baseClassName == "") { switch (type) { case "bitmap" : baseClassName = "flash.display.BitmapData"; break; case "button" : baseClassName = "flash.display.SimpleButton"; break; case "component" : baseClassName = "flash.display.MovieClip"; break; case "movie clip" : baseClassName = "flash.display.MovieClip"; break; case "sound" : baseClassName = "flash.media.Sound"; break; case "font" : baseClassName = "flash.text.Font"; break; default : break; } } fl.trace("BaseClass:\t\t" + baseClassName); } fl.trace("Item Type:\t\t" + type); fl.trace("--------------------------------------------------"); fl.trace(""); } //-------------------------------------- // file output //-------------------------------------- if (isOutputFile) { outPutFile(); } } /** * output file dialog command */ function outPutFile() { var fileDialog = doc.xmlPanel(fl.configURI + FILE_DIALOG_PATH); if (fileDialog.dismiss == "accept") { var filePath = fileDialog.choosefileControl; fl.outputPanel.save(filePath, false, true); } } /** * get date & time */ function getNowTime() { var dateObj = new Date(); var year = dateObj.getFullYear(); var month = monthArray[dateObj.getMonth()]; var date = dateObj.getDate(); var hour = dateObj.getHours(); var min = dateObj.getMinutes(); var sec = dateObj.getSeconds(); var dateStr = month + " " + date + ", " + year + " " + hour + ":" + min + ":" + sec; return dateStr; } //-------------------------------------- // FUNCTION FOR FLASH OUTPUT PANEL //-------------------------------------- function startFlOutput( actionName ) { fl.outputPanel.clear(); var nowTimeStr = getNowTime(); fl.trace(actionName); fl.trace(docName); fl.trace(nowTimeStr); fl.trace(""); fl.trace(""); }