mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
64 lines
1.9 KiB
Plaintext
64 lines
1.9 KiB
Plaintext
function SelectAssetPath::onWake(%this)
|
|
{
|
|
}
|
|
|
|
//SelectAssetPath.showDialog();
|
|
function SelectAssetPath::showDialog(%this, %startingPath, %callback, %promptText)
|
|
{
|
|
if(!isObject(%this.dirHandler))
|
|
%this.dirHandler = makedirectoryHandler(SelectAssetPath-->folderTree, "Core,Tools,cache,shaderCache", "");
|
|
|
|
SelectAssetPath-->folderTree.clear();
|
|
|
|
SelectAssetPath-->folderTree.buildIconTable( ":tools/classIcons/Prefab:tools/classIcons/Prefab" @
|
|
":tools/classIcons/SimSet:tools/classIcons/SimSet");
|
|
|
|
if(%promptText $= "")
|
|
%promptText = "Select Path";
|
|
|
|
SelectAssetPathWindow.text = %promptText;
|
|
|
|
%this.dirHandler.currentPath = %startingPath;
|
|
%this.callback = %callback;
|
|
|
|
%dataItem = SelectAssetPath-->folderTree.insertItem(0, "Data");
|
|
%this.dirHandler.loadFolders("data", %dataItem);
|
|
|
|
%this.dirHandler.expandTreeToAddress(%startingPath);
|
|
%id = %this.dirHandler.getFolderTreeItemFromAddress(%startingPath);
|
|
%this.dirHandler.treeCtrl.clearSelection();
|
|
%this.dirHandler.treeCtrl.selectItem(%id);
|
|
|
|
Canvas.pushDialog(SelectAssetPath);
|
|
}
|
|
|
|
function selectAssetPathTree::onSelect(%this, %itemId)
|
|
{
|
|
if(%itemId == 1)
|
|
//can't select root
|
|
return;
|
|
|
|
SelectAssetPath.selectedTreeItem = %itemId;
|
|
}
|
|
|
|
|
|
function SelectAssetPath::selectPath(%this)
|
|
{
|
|
//do callback
|
|
%selectedId = %this.selectedTreeItem;
|
|
%selectedPath = %this-->folderTree.getItemValue(%selectedId) @ "/" @ %this-->folderTree.getItemText(%selectedId);
|
|
|
|
if(%this.callback !$= "")
|
|
{
|
|
eval( "" @ %this.callback @ "(\"" @ %selectedPath @ "\");");
|
|
}
|
|
|
|
Canvas.popDialog(SelectAssetPath);
|
|
}
|
|
|
|
function SelectAssetPath::newFolder(%this)
|
|
{
|
|
AssetBrowser_newFolderNameTxt.text = "NewFolder";
|
|
Canvas.pushDialog(AssetBrowser_newFolder);
|
|
}
|