package edu.mbl.jif.imaging.nav;
/*
* ========== To Do: ==============================================
* TODO:
* MMgr Plugin
* Packaging
*
*
* Launcher, shortcut
* Dependencies
* (without JAI support)
*
[ ] What if Startup path doesn't exist?
?? How to prevent endless hunt when SubDirs is on and the dir level is too high....
?? Limit hunt depth
* Ellimate Galatee.properties.
* Prefs: Persist these: (uses Prefs from IJ2)
* frame bound
* Start in root or default dir.
* Persist last used dir for restart
* Enhance, View, SubDirs. firstOnly, thumbSize
*
* [ ] Remember frame size
* Add ProgressMonitor...
*
* [ ] Set # of columns in grid view based on panel width, update on change of size.
* [ ] Popup on file, add copy path, copy, delete
Popup Menu on Image - copy path to sys. clipboard
*
* Open directory in tree for the selected image, right-click, OpenDirectory
* ! Tree hunt takes forever
* only search down from current dir. ?
*
* On change Dir, blank table and show 'Working...'
*
* ### File System/Tree Navigation
Allow or not navigating UP in file system. (GoUpOneFolderLevel)
SubDirs is disabled on GoUpOneFolderLevel
* .. Button, roots Button
* [x] Show path relative to current dir. for children (when recursive)
* [ ] Allow Select DiskDrive (root) selection not done.
* [ ]+ Open Explorer/FileFinder here...
* Sorting - by Name or Date of file - not gonna do.
* Filtering for both Dir and Files with wildcards
* Choose Image Types: All Images, .tif, .ome.tif
*
[ }+ Drag-and-drop from DirTree... ?
*
* ### Opening Images
* If MMgr, try to open with Micro-Manager (assuming it is running.)
* Open MMgr Datasets, isMMDataset() - presence of metadata.txt or file with .ome.tif
* Otherwise, uses ImageJ.
* If all else fails, trys with ImageIO.
*
[ }+ Add option to run a plugin after opening a certain type.
* Default ImageOpener
* Bundle ImageIO for Tiff
*
* Popup for Opening with spec. app is not implemented
* Add other app. launchers for other file types ...
*
*
* If "Find Micro-Manager Datasets", * Open dataset, get summary metadata and firstOnlyChk image.
* Add 'Show Metadata' checkbox
* Read OME metadata...
* ++ Copy/Move with anticedents...
*
*
* Add acknowlegement to Galatee
*
* Later...
* Add dragAndDrop
* Add Checkboxes to choose multiple images to operate on
*
* ========== Done: ==============================================
* On selection of an image/item, show the path and filename...
* -- Set Size of thumbnails32,64,128,256
* (In Grid view, number of columns fits in horiz space)
*
* -- PopupMenu on Directory Tree, includes Copy Path (to sys. clipboard)
* -- SubDirectories (recursive) checkbox
* -- First-only checkbox (default on)
* -- Views - toggle from List to Grid
* 1) Single column with thumbnail and description (path & filename)
* 2) Grid/Table View of thumbnails in N columns and no description.
*
*
* -- Thumbnail display options: (eg. 16 bit) EnhanceContrast (equalize) (byte & short)
*
* -- Directory/File Watching
* Checkbox to turn on/off Watching of dir. If Sub-Dirs selected, it also recurses.
* PathMonitor - watch current dir. for changes (esp. during acquisition)
* PathWatcher - While running an acquisition, it is helpful to have the ImageNavigator
* update the images when a file is created or deleted.
* On Windows, it can allow watch a directory and it's subdirectories (recursive)
* [ ] Need to test.
Callbacks: Pass in an implementation of
interface FileChoosenListener or interface DirectoryChoosenListener
[ ] + Open in External Viewer (e.g. Irfanview)
*
Keep a history/breadcrumbs, add GoBack button.
SubDirs is turned OFF on
- up-level
- change Drive
[x] Initial open, ckecking subdirs does not update the list
[x] ability to set SubDirs on initialization
[ ] ability to set notAboveDirectory, when allowNavUp
[ ] Repaints sometimes incomplete...
And yet more features that would be nice to add (May 14):
[ ] add right-click to 'Inspect' the image/file properties, metadata, whatever...
[ ] In not Sub-dirs and no images, display number of images under this dir, without displaying, rather than just "No Images"
Aug 14
[ ] handle multi-position MMgr datasets -- needs dataset lib
[ ] Don't remove the up level button, but limit to top-level dir.
*/