diff --git a/src/main/java/FolderViewManager.java b/src/main/java/FolderViewManager.java new file mode 100644 index 0000000..3a774d7 --- /dev/null +++ b/src/main/java/FolderViewManager.java @@ -0,0 +1,60 @@ +package main.java; + +import javafx.scene.Scene; +import javafx.scene.control.TreeItem; +import javafx.scene.control.TreeView; + +import java.io.File; + +/** + * Created by kristopherguzman on 2/7/16. + */ + +/** + This class handles manipulation of the Folder View. This includes + directory searches, displaying directories, and all things directly changing + the Folder View. + */ +public class FolderViewManager { + + public static TreeView treeView; + private static TreeItem root; + private static int NEST_COUNT = 0; //tracks number of nested calls when searching through files, TEMPORARY + + private FolderViewManager() { } + + public static void setRootDirectory(File file) { + + root = new TreeItem(file.getName()); + createCellsFromRoot(file, root); + treeView.setRoot(root); + } + + private static void createCellsFromRoot(File rootFile, TreeItem rootNode) { + + NEST_COUNT++; + + if(NEST_COUNT > 6000) { //fixed value, TEMPORARY, must come up with better way to optimize load time of files + + return; + } + + for(File f : rootFile.listFiles()) { + + if(!f.getName().startsWith(".")) { //don't show files that start with dot (ex: .filename .pythonfile) + + TreeItem fileNode = new TreeItem(f.getName()); + rootNode.getChildren().add(fileNode); + + if (f.isDirectory()) { + + createCellsFromRoot(f, fileNode); + + } + } + + } + + } + +}