Skip to content

Commit

Permalink
Merge Changes
Browse files Browse the repository at this point in the history
* remove uneeded code
* convert to IronFile
* code cleanup
  • Loading branch information
brp14005 committed Feb 12, 2016
1 parent 5ee5dec commit a52e847
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 276 deletions.
55 changes: 4 additions & 51 deletions src/main/java/Controller.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,61 +27,14 @@ public class Controller{
@FXML private MenuItem fileTag;
@FXML private MenuItem fileExit;
@FXML private MenuItem editPreferences;
@FXML private TreeView<String> dirTree;
@FXML private TreeView<IronFile> 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<IronFile> 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<TreeView<File>, TreeCell<File>>() {
@Override
public TreeCell<File> call(TreeView<File> 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<IronFile> 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<File> {
public TreeFieldImpl() {
// MenuItem
}
FolderViewManager manager = new FolderViewManager(root, dirTree);
IronFile homeDir = new IronFile(System.getProperty("user.home"));
manager.setRootDirectory(homeDir);
}
}

51 changes: 33 additions & 18 deletions src/main/java/FolderViewManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,37 +21,52 @@
@author Brian Patino
*/
public class FolderViewManager {
private TreeView<IronFile> view;
private TreeItem<IronFile> root;
private int NEST_COUNT = 0; //tracks number of nested calls when searching through files, TEMPORARY

public static TreeView<String> view;
private static TreeItem<String> 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<IronFile> root, TreeView<IronFile> dirTree) {
this.root = root;
this.view = dirTree;
}

root = new TreeItem<String>(file.getName());
public void setRootDirectory(IronFile file) {
root = new TreeItem<>(file);
view.setRoot(root);

createCellsFromRoot(file, root);
}


private static void createCellsFromRoot(File rootFile, TreeItem<String> rootNode) {

private void createCellsFromRoot(File rootFile, TreeItem<IronFile> 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<String> fileNode = new TreeItem<String>(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<IronFile> 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<IronFile> 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());
}
}
}*/
}
1 change: 0 additions & 1 deletion src/main/java/IronFile.java
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
32 changes: 14 additions & 18 deletions src/main/java/IronFileVisitor.java
Original file line number Diff line number Diff line change
@@ -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<Path> {
This class handles manipulation of the Folder View. This includes
directory searches, displaying directories, and all things directly changing
the Folder View.
private TreeItem<String> currentDirectory;
Additionally, this class extends SimpleFileVisitor which uses java 8.
@author kristopherguzman
@author Brian Patino
*/
public class IronFileVisitor extends SimpleFileVisitor<Path>{

@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

// System.out.printf("Visiting file %s\n", file);
return FileVisitResult.CONTINUE;
}
/**
Expand All @@ -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<String>(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;
}

}
28 changes: 0 additions & 28 deletions src/main/java/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<ActionEvent>() {
@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<String>) 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) {
Expand Down
Loading

0 comments on commit a52e847

Please sign in to comment.