📄 workersphotobuilder.as
字号:
// import MenuXMLAssembler class
import pssclasses.splitpanel.leftmenu.*;
//**import PSSContentControler class**************************
import pssclasses.splitpanel.*;
//***********************WorkersPhotoBuilder class**************************
// Class work with ID photo or part or album
// get Id class build parts or album or big photo
// class created for search works
import pssclasses.photocontainers.*;
class WorkersPhotoBuilder {
//*****************define attributes***************
private var LeftMenu:MovieClip;
private var Browser:MovieClip;
private var ScrollPanel:MovieClip;
private var BrowserFooter:MovieClip;
private var BrowserHeader:MovieClip;
private var ContentHolder:MovieClip;
private var ScrollPanelBG:MovieClip;
private var PlayMenu:MovieClip;
private var LinksMenu:MovieClip;
private var SoundMenu:MovieClip;
private var PhotoMenu:MovieClip;
//parts and albums arrays
private var PartObject:Object;
private var AlbumObject:Object;
private var PartsArray:Array;
private var AlbumsArray:Array;
private var PartIndex:Number;
private var AlbumIndex:Number;
private var PhotosArray:Array;
private var PhotoObject:Object;
private var PhotoIndex:Number;
private var PhotoSearchID:Number;
private var PartID:Number;
private var AlbumID:Number;
//
private var Worker:Object;
// ****************define metods******************
public function WorkersPhotoBuilder() {
Worker = this;
}
//********************get all components****************
public function init(browser:MovieClip):Void {
Browser = browser;
// get browser components
LeftMenu = Browser.getLeftMenu();
ScrollPanel = Browser.getScrollPanel();
BrowserFooter = Browser.getFooter();
BrowserHeader = Browser.getHeader();
//***********************get parts and albums data from left menu*********
PartsArray = LeftMenu.getPartsArray();
AlbumsArray = LeftMenu.getAlbumsArray();
// get components from scrollpanel
ContentHolder = ScrollPanel.getContentHolder();
ScrollPanelBG = ScrollPanel.getScrollPaneBG();
// get components from browser footer
PlayMenu = BrowserFooter.getPlayMenu();
LinksMenu = BrowserFooter.getLinkMenu();
SoundMenu = BrowserFooter.getSoundMenu();
PhotoMenu = BrowserFooter.getPhotoMenu();
}
//**************************openPhoto by partID albumID photoID*******************
public function openPhotoByID(partID:Number, albumID:Number, photoID:Number):Void {
PartID = partID;
AlbumID = albumID;
//***********************search index from array by id**************
// part index
PartIndex = getPartIndexByID(PartsArray, partID);
if (PartIndex != -1) {
// album index
AlbumIndex = getAlbumIndexByID(AlbumsArray, albumID, PartIndex);
if (AlbumIndex != -1) {
if (isNaN(photoID)) {
LeftMenu.openSubPartMenu(PartIndex);
LeftMenu.openAlbum(partID, albumID, AlbumIndex, PartIndex);
//select sub part
LeftMenu.selectInLeftMenu(PartIndex, AlbumIndex);
// set header label
BrowserHeader.setLabel(PartObject.name+" | "+AlbumObject.name);
} else {
// set showing to LeftMenu
LeftMenu.setShowingSwitch("PHOTO");
LeftMenu.openSubPartMenu(PartIndex);
BrowserHeader.setLabel(PartObject.name+" | "+AlbumObject.name);
PhotoSearchID = photoID;
//select sub part
LeftMenu.selectInLeftMenu(PartIndex, AlbumIndex);
//**************************LOAD BIG PHOTO********************
// load photos XML
loadPhotosXML(partID, albumID);
//********end*************LOAD BIG PHOTO********************
}
} else {
// open first all parts
LeftMenu.openSubPartMenu(PartIndex);
openClearPart(PartIndex);
// set header label
BrowserHeader.setLabel(PartObject.name);
}
// end album index
} else {
// open first all parts
openClearPart();
}
// end part index
}
//******end***************openPhoto by partID albumID photoID*******************
//********************load Photos XML and pars********************
private function loadPhotosXML(partID:Number, albumID:Number):Void {
var _BROWSER:MovieClip = Browser;
var _Worker:Object = Worker;
var photosArray:Array;
MenuXMLAssembler.setPhotosIsLoaded(false);
if (!MenuXMLAssembler.getPhotosIsLoaded()) {
MenuXMLAssembler.loadPhotosXML(partID, albumID);
//var intervalIndex:Number = setInterval(chechPhotoXML, 50);
MenuXMLAssembler.setCalBackAction(chechPhotoXML, this);
} else {
chechPhotoXML();
}
function chechPhotoXML():Void {
if (MenuXMLAssembler.getPhotosIsLoaded()) {
//clearInterval(intervalIndex);
photosArray = MenuXMLAssembler.getPhotosArray();
_Worker.searchPhotoById(photosArray);
//****************************set to play menu photos array with photo object************
_BROWSER.footer_mc.playMenu_mc.setPhotosArray(photosArray);
}
}
}
//*****end***********load Photos XML and pars********************
public function openClearPart(partInd:Number):Void {
LeftMenu.openSubPartMenu(partInd);
//PSSContentControler
var newPSSContentControler:Object = new PSSContentControler();
newPSSContentControler.setLeftMenu(LeftMenu);
newPSSContentControler.setScrollPane(ScrollPanel);
newPSSContentControler.setPartsAndAlbumArray(PartsArray, AlbumsArray);
newPSSContentControler.createPartsList(partInd);
delete newPSSContentControler;
}
public function openAlbum(partID:Number, albumID:Number, partIndex:Number):Void {
MenuXMLAssembler.setPhotosIsLoaded(false);
LeftMenu.openSubPartMenu(partIndex);
//*********************SET DopPhotoMenu to pasiv****************
Browser.footer_mc.photoMenu_mc.setToPasiv();
//PSSContentControler
var newPSSContentControler:Object = new PSSContentControler();
newPSSContentControler.setLeftMenu(LeftMenu);
newPSSContentControler.setScrollPane(ScrollPanel);
newPSSContentControler.setPartsAndAlbumArray(PartsArray, AlbumsArray);
newPSSContentControler.createPhotosList(partID, albumID, PartIndex);
delete newPSSContentControler;
}
//***********************search index from array by id**************
public function getPartIndexByID(arr:Array, searchID:Number):Number {
var arrCount:Number = arr.length;
for (var i = 0; i<arrCount; i++) {
var tempObject:Object = arr[i];
if (tempObject.id == searchID) {
PartObject = tempObject;
return i;
}
}
return -1;
}
public function getAlbumIndexByID(alarr:Array, searchID:Number, partIndex:Number):Number {
var albArray:Array = alarr[partIndex];
var countsAlbums:Number = albArray.length;
for (var i = 0; i<countsAlbums; i++) {
var tempObject:Object = albArray[i];
if (tempObject.id == searchID) {
AlbumObject = tempObject;
return i;
}
}
return -1;
}
//***************check photo XML*****************
public function searchPhotoById(photosAr:Array):Number {
PhotosArray = photosAr;
var photosCount:Number = PhotosArray.length;
for (var i = 0; i<photosCount; i++) {
var tempObject:Object = PhotosArray[i];
if (tempObject.id == PhotoSearchID) {
tempObject.index = i;
PhotoIndex = i;
tempObject.p_index = PartIndex;
tempObject.a_index = AlbumIndex;
PhotoObject = tempObject;
// open foto
firstOpenBigPhoto();
return 1;
}
}
//PhotoSearchID
//PhotoObject
//PhotoIndex
}
//********************OPEN BIG PHOTO***********************
private function firstOpenBigPhoto():Void {
//*blok reBuild albums
LeftMenu.setShowingSwitch("PHOTO");
//*******************for photo dop menu***********************
PhotoMenu.setToActiv();
PhotoMenu.setAlbumData(PartID, AlbumID);
PhotoMenu.setPhotoData(PhotosArray[PhotoIndex]);
//*******end*******for photo dop menu***********************
// attach big photo holder
var BigPHolder:MovieClip;
BigPHolder = ContentHolder.attachMovie("bigPhotoholder", "bigPhotoholder", 0);
BigPHolder.setPhotoData(PhotosArray[PhotoIndex]);
LeftMenu.setBigPhotoHolder(BigPHolder);
// take photos array
BigPHolder.setPhotosArray(PhotosArray);
// add link on BigPholder to play menu
PlayMenu.setBigPhotoHolder(BigPHolder, ContentHolder, ScrollPanelBG);
// **********************set to dop photo menu data***********************
PhotoMenu.setScrollPanelBG(ScrollPanelBG, LeftMenu, BigPHolder);
//
}
//*********END ********OPEN BIG PHOTO***********************
public function getPartsArray():Array {
return PartsArray;
}
public function getAlbumsArray():Array {
return AlbumsArray;
}
//**********************end class********************************
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -