From a52e8470fcc7a6ee3f024706191c15af2708a8d1 Mon Sep 17 00:00:00 2001 From: Brian Patino Date: Fri, 12 Feb 2016 17:19:23 -0500 Subject: [PATCH] Merge Changes * remove uneeded code * convert to IronFile * code cleanup --- src/main/java/Controller.java | 55 +----- src/main/java/FolderViewManager.java | 51 ++++-- src/main/java/IronFile.java | 1 - src/main/java/IronFileVisitor.java | 32 ++-- src/main/java/Main.java | 28 --- .../Kris_StartPage(merge please).fxml | 160 ------------------ 6 files changed, 51 insertions(+), 276 deletions(-) delete mode 100644 src/main/resources/Kris_StartPage(merge please).fxml diff --git a/src/main/java/Controller.java b/src/main/java/Controller.java index c87e978..28264de 100644 --- a/src/main/java/Controller.java +++ b/src/main/java/Controller.java @@ -27,61 +27,14 @@ public class Controller{ @FXML private MenuItem fileTag; @FXML private MenuItem fileExit; @FXML private MenuItem editPreferences; - @FXML private TreeView dirTree; + @FXML private TreeView dirTree; @FXML private ResourceBundle resources; @FXML private void initialize() { //createTree(); - // FolderViewManager.java calls are done here - - FolderViewManager.view = dirTree; - File homeDir = new File(System.getProperty("user.home")); - FolderViewManager.setRootDirectory(homeDir); - } - - // Create the directory Tree - /* private void createTree() { - // Get the hard disk drives and 2 levels down - IronFile[] roots = IronFile.listRoots(); - for (IronFile hdd : roots) { - TreeItem parentTreeItem = new TreeItem<>(hdd); - parentTreeItem.setGraphic(new ImageView(hddIcon)); - setChildOfParent(hdd, parentTreeItem); - root.getChildren().add(parentTreeItem); // set hdd to root - - } - dirTree.setRoot(root); - dirTree.setShowRoot(false); - - /*dirTree.setCellFactory(new Callback, TreeCell>() { - @Override - public TreeCell call(TreeView param) { - return new TreeFieldImpl(); - } - }); - }*/ - /** - * Set the child of a given parent TreeItem - * - * @param parent file of the parent node - * @param parentTreeItem TreeItem of the parent node - * */ - @SuppressWarnings("ConstantConditions") - private void setChildOfParent(final File parent, TreeItem parentTreeItem) { - for (final IronFile file : IronFile.convertFiles(parent.listFiles())) { - if (file.isDirectory()) { - System.out.println("This is a directory"); - } else { - parentTreeItem.getChildren().add(new TreeItem<>(file)); - System.out.println(file.getName()); - } - } - } - - private class TreeFieldImpl extends TreeCell { - public TreeFieldImpl() { -// MenuItem - } + FolderViewManager manager = new FolderViewManager(root, dirTree); + IronFile homeDir = new IronFile(System.getProperty("user.home")); + manager.setRootDirectory(homeDir); } } diff --git a/src/main/java/FolderViewManager.java b/src/main/java/FolderViewManager.java index 8099ca2..885643c 100644 --- a/src/main/java/FolderViewManager.java +++ b/src/main/java/FolderViewManager.java @@ -21,37 +21,52 @@ @author Brian Patino */ public class FolderViewManager { + private TreeView view; + private TreeItem root; + private int NEST_COUNT = 0; //tracks number of nested calls when searching through files, TEMPORARY - public static TreeView view; - 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) { + public FolderViewManager(TreeItem root, TreeView dirTree) { + this.root = root; + this.view = dirTree; + } - root = new TreeItem(file.getName()); + public void setRootDirectory(IronFile file) { + root = new TreeItem<>(file); view.setRoot(root); - createCellsFromRoot(file, root); } - - private static void createCellsFromRoot(File rootFile, TreeItem rootNode) { - + private void createCellsFromRoot(File rootFile, TreeItem rootNode) { NEST_COUNT++; - if(NEST_COUNT > 6000) { //fixed value, TEMPORARY optimization + if(NEST_COUNT > 1000) { //fixed value, TEMPORARY optimization return; } - for(File f : rootFile.listFiles()) { - if(!f.getName().startsWith(".")) { //don't show system files that start with dot (ex: .filename .pythonfile) - TreeItem fileNode = new TreeItem(f.getName()); + for(IronFile file : IronFile.convertFiles(rootFile.listFiles())) { + if(!file.getName().startsWith(".")) { //don't show system files that start with dot (ex: .filename .pythonfile) + TreeItem fileNode = new TreeItem<>(file); rootNode.getChildren().add(fileNode); - if (f.isDirectory()) { - createCellsFromRoot(f, fileNode); + if (file.isDirectory()) { + createCellsFromRoot(file, fileNode); } } } } + /** + * Set the child of a given parent TreeItem + * + * @param parent file of the parent node + * @param parentTreeItem TreeItem of the parent node + * */ + /*@SuppressWarnings("ConstantConditions") + private void setChildOfParent(final File parent, TreeItem parentTreeItem) { + for (final IronFile file : IronFile.convertFiles(parent.listFiles())) { + if (file.isDirectory()) { + System.out.println("This is a directory"); + } else { + parentTreeItem.getChildren().add(new TreeItem<>(file)); + System.out.println(file.getName()); + } + } + }*/ } diff --git a/src/main/java/IronFile.java b/src/main/java/IronFile.java index c2cddbd..45c3037 100644 --- a/src/main/java/IronFile.java +++ b/src/main/java/IronFile.java @@ -12,7 +12,6 @@ public class IronFile extends File { public IronFile(String pathname) { super(pathname); isRoot = (getParent() == null); - } public IronFile(File file) { super(file.getPath()); diff --git a/src/main/java/IronFileVisitor.java b/src/main/java/IronFileVisitor.java index 065da7d..b8bbd0d 100644 --- a/src/main/java/IronFileVisitor.java +++ b/src/main/java/IronFileVisitor.java @@ -1,24 +1,31 @@ package main.java; +import javafx.scene.Scene; import javafx.scene.control.TreeItem; +import javafx.scene.control.TreeView; +import java.io.File; import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; -import java.io.File; /** - * Created by kristopherguzman on 2/11/16. - */ -public class IronFileVisitor extends SimpleFileVisitor { + This class handles manipulation of the Folder View. This includes + directory searches, displaying directories, and all things directly changing + the Folder View. - private TreeItem currentDirectory; + Additionally, this class extends SimpleFileVisitor which uses java 8. + + @author kristopherguzman + @author Brian Patino + */ +public class IronFileVisitor extends SimpleFileVisitor{ @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - +// System.out.printf("Visiting file %s\n", file); return FileVisitResult.CONTINUE; } /** @@ -32,18 +39,7 @@ public FileVisitResult visitFileFailed(Path file, IOException e) throws IOExcept } @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { - System.out.printf("About to visit directory %s\n", dir); - - currentDirectory = new TreeItem(dir.getFileName().toString()); +// System.out.printf("About to visit directory %s\n", dir); return FileVisitResult.CONTINUE; } - - @Override - public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException { - System.out.printf("About to visit directory %s\n", dir); - - - return FileVisitResult.CONTINUE; - } - } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 83a91ce..151fb3b 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -17,41 +17,13 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception{ - // setUserAgentStylesheet(STYLESHEET_CASPIAN); - /* Button btn = new Button(); - btn.setText("This is a test"); - btn.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent event) { - System.out.print("Bingo you did something!"); - } - });*/ Parent root = FXMLLoader.load(getClass().getResource("/main/resources/StartPage.fxml")); -// Rectangle2D screenBounds = Screen.getPrimary().getVisualBounds(); - primaryStage.setTitle("Iron-gate!"); primaryStage.setScene(new Scene(root, 990, 700)); - Scene scene = primaryStage.getScene(); // we get the scene from above scene.getStylesheets().clear(); // clear any styles // scene.getStylesheets().add("/main/resources/mainStyle.css"); // absolute path - - /** - * Temporally omitted, needs to be transfered to the Controller Class - */ - /*try { //try to set the tree view in the FolderViewManager class - - FolderViewManager.treeView = (TreeView) scene.lookup("#folder-view-pane"); - File homeDir = new File(System.getProperty("user.home")); - - FolderViewManager.setRootDirectory(homeDir); - System.out.println(homeDir.getName() + " set as root directory."); - - } catch (Exception e) { - e.printStackTrace(); - }*/ - primaryStage.show(); } public static void main(String[] args) { diff --git a/src/main/resources/Kris_StartPage(merge please).fxml b/src/main/resources/Kris_StartPage(merge please).fxml deleted file mode 100644 index f9a95e1..0000000 --- a/src/main/resources/Kris_StartPage(merge please).fxml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - -
- - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - - -
- - - - -
- - - -
-
- -
- - -
- - - - - -
- - - - - -
- - - - - - - -
- - - -
-
-