selectPath.tscript 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. function SelectAssetPath::onWake(%this)
  2. {
  3. }
  4. //SelectAssetPath.showDialog();
  5. function SelectAssetPath::showDialog(%this, %startingPath, %callback, %promptText)
  6. {
  7. if(!isObject(%this.dirHandler))
  8. %this.dirHandler = makedirectoryHandler(SelectAssetPath-->folderTree, "Core,Tools,cache,shaderCache", "");
  9. SelectAssetPath-->folderTree.clear();
  10. SelectAssetPath-->folderTree.buildIconTable( ":tools/classIcons/Prefab:tools/classIcons/Prefab" @
  11. ":tools/classIcons/SimSet:tools/classIcons/SimSet");
  12. if(%promptText $= "")
  13. %promptText = "Select Path";
  14. SelectAssetPathWindow.text = %promptText;
  15. %this.dirHandler.currentPath = %startingPath;
  16. %this.callback = %callback;
  17. %dataItem = SelectAssetPath-->folderTree.insertItem(0, "Data");
  18. %this.dirHandler.loadFolders("data", %dataItem);
  19. %this.dirHandler.expandTreeToAddress(%startingPath);
  20. %id = %this.dirHandler.getFolderTreeItemFromAddress(%startingPath);
  21. %this.dirHandler.treeCtrl.clearSelection();
  22. %this.dirHandler.treeCtrl.selectItem(%id);
  23. Canvas.pushDialog(SelectAssetPath);
  24. }
  25. function selectAssetPathTree::onSelect(%this, %itemId)
  26. {
  27. if(%itemId == 1)
  28. //can't select root
  29. return;
  30. SelectAssetPath.selectedTreeItem = %itemId;
  31. }
  32. function SelectAssetPath::selectPath(%this)
  33. {
  34. //do callback
  35. %selectedId = %this.selectedTreeItem;
  36. %selectedPath = %this-->folderTree.getItemValue(%selectedId) @ "/" @ %this-->folderTree.getItemText(%selectedId);
  37. if(%this.callback !$= "")
  38. {
  39. eval( "" @ %this.callback @ "(\"" @ %selectedPath @ "\");");
  40. }
  41. Canvas.popDialog(SelectAssetPath);
  42. }
  43. function SelectAssetPath::newFolder(%this)
  44. {
  45. AssetBrowser_newFolderNameTxt.text = "NewFolder";
  46. Canvas.pushDialog(AssetBrowser_newFolder);
  47. }