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的目录不会重复打开。