OpenFolderWin打开目录窗体
函数原型
/*
* 打开目录窗体
* @param icoid 目录的icoid
* @param treeshow 是否显示左侧目录树
* @param feature 目录窗体的特征,默认'titlebutton=close|max|min,width=800,height=500'
*/
function OpenFolderWin(icoid,treeshow,feature)
{
if(!treeshow) treeshow=0; //默认不打开左侧目录树
//获取图标数据data,没有数据直接返回
var data=_config.sourcedata.icos[icoid];
if(!data) return;
var fid=data.oid;
var topfid=[]; //目录树数组,
//根据data.type判断是否为目录类型(目录类型包括'pan','storage','ftp'类型)
if(data.type=='shortcut'){ //如果是目录快捷方式时
if(data.tdata.type!='folder') return;
fid=data.tdata.oid;
topfid=data.tdata['topfid'];
}else{ //必须是目录类型的才能打开
if(data.type!='folder' && data.type!='pan' && data.type!='storage' && data.type!='ftp') return;
topfid=_ico.getTopFid(fid);
}
//查找此目录窗体是否已经打开;
var win=null;
for(var id in _window.windows){
var obj=_window.windows[id];
if((obj.type=='folder') && obj.fid==fid){
win=obj;
break;
}
}
if(win){ //此目录已经打开
win.treeshow=treeshow;
win.Focus(); //激活此目录,并且最前端显示
}else{ //开始创建目录窗体
feature=feature?feature:windows['Folder'].features; //如果没有feature,则加载默认的特征 win=_window.OpenFolderWin(icoid,topfid,treeshow,feature); //创建目录窗体,并且加载目录树和此目录内容
if(!data.havetask || data.havetask>0) _dock.Ctask(icoid,win.id); //创建任务栏图标 }
}使用注意事项
被打开的目录的数据(即:_config.sourcedata.icos[icoid])必须已经加载。桌面、任务栏你的图标数据桌面初始化后即完成加载,其他子目录必须其上级目录打开过才会加载其数据。如:想要打开“我的文档”下的目录“我的图片”,必须先打开我的文档(或者先前打开过),才能用此函数打开我的图片目录。
目录快捷方式可以不受第1条的限制。
同一icoid的目录不会重复打开。