All Classes and Interfaces
Class
Description
Request to add the specified category to the specified PictureInfo node objects
Adds a collection to a group node
This request indicates that the user wants to add the supplied collection to the supplied group
Adds an empty group to the indicated group node
This request indicates that the user wants to add an empty group to the supplied node
This request indicates that the user wants to add a flat file to the supplied node
Adds the contents of a flat file to the supplied node
Adds the pictures in the supplied group to the email selection
This request indicates that the group's child nodes should be added to the email selection
This request indicates that the supplied picture nodes should be added
to the email selection
Brings up the dialog after a file save and allows the saved collection to
be set as the default start up collection.
This request opens the dialog after the File > Save and asks if the user wants to make this file
the default file to open.
Creates the menu for the JPO application.
Handles application startup
This request indicates that the application should start up and initialise itself.
Brings up an Auto Advance Dialog and sends off a new request if successful.
A class which holds information about the digital camera as seen by the file
system and can tell if there are new pictures on the camera.
A wizard that leads the user through downloading the pictures from his digital camera.
This class was designed to hold the data that the
CameraDownloadWizard
needs.The first step in the download from camera dialog that pops up and informs
the user that on the camera she just plugged in x new pictures were
discovered.
The second step in the download from camera dialog asks whether the user
wants to copy or move the pictures to his computer.
The third step in the download from camera dialog asks whether to create a
new Group, the description for the new Group and the node for which the
operation is to run.
The fourth step in the download from camera dialog asks for the storage location on the disk.
The fourth step in the download from camera dialog asks for the storage location on the disk.
The fifth step in the download from camera download wizard summarises the
action that will be performed.
The sixth step in the download from camera actually does the download.
Downloads the pictures on a background thread and updates the Progress bar
This class creates a JPanel and allows attributes of a single camera to be
edited on it.
A Controller and View of the camera.
Daemon Thread that monitors when a camera has been connected.
This class serves as a notification that the Categories were modified and
Listening classes can refresh their display.
A class which represents a Category
Brings up a window showing all the available Categories and allows the user to assign or remove categories
for the nodes supplied in the CategoryAssignmentWindowRequest.
Opens the Category Assignment window to pick categories for the indicated nodes.
This request indicates that the user wants to see the CategoryAssignmentWindow for a set of nodes
A widget to show the category
CategoryEditorJFrame.java: Creates a GUI to edit the categories of the
collection
CategoryGuiInterface.java: an interface that helps the Category Browser tell the AddFromCamera with categories
the user has selected.
CategoryJScrollPane.java: Creates a JPanel in a JScrollPane that lists
categories
A class which formats a Category for use in a JList
Creates a JPopupMenu with entries for all the categories
This class implements the
Query
interface to show all the nodes
attached to a category.A class that generates a popup menu for a group node.
Opens the Reconcile window to check for missing pictures
This request indicates that the user wants to reconcile pictures in the
collection to those in a directory
Checks the loaded collection for problems and suggests measures
This request should fire off a program that checks the currently loaded collection for problems
Listens to the CheckForUpdatesRequest and fulfills it if the conditions are met
This request asks the handler to check whether there is a new version of
the application available.
This request indicates that the user wants to bring up the Integrity checker
GUI
Facilitates adding a collection to the current one
This request indicates that the user wants to bring up a GUI to pick a
collection and it to the group
Brings up a chooser to pick a flat file and add them to the group.
This request indicates that the user wants to bring up a GUI to pick a flat
file of picture filenames and it to the group
Brings up a chooser to pick files and add them to the group.
This request indicates that the user wants to bring up a GUI to pick pictures
and add them to the group
This request desires to clear all nodes from the email selection
GUI to remove old thumbnails that have been discovered when loading a
collection
An icon of a clock
Frame to capture the details of the collection export
This class deals with the tree representation of the picture collection
Subscribers can listen for this event to be made aware that the collection has changed the lock status
This interface allows the GUI to call back with the directory and whether to
consolidate the subgroups.
Controller to consolidate pictures of a node into a directory.
Opens the consolidate-group dialog
Request to indicate that the user would like bring up the Consolidate Group
dialog
Consolidates the files
GUI to ask for the target directory and whether to recurse the subgroups in
a consolidation.
Request to consolidate a group
This class moves all pictures of a group node to a target directory.
Request to copy the picture nodes to the system clipboard
This event indicates that the copy locations in the Settings object changed
Request to copy the file path(s) of picture nodes to the system clipboard
Request to indicate that the user would like to copy the pictures in the
selected nodes to a target directory
Request to copy the pictures of the supplied nodes to a directory to be
picked from a Filechooser
Request to copy the pictures of the supplied nodes to a Zipfile to be picked
from a Filechooser
Handles the request CopyToZipfileRequest
Request to indicate that the user would like to copy the pictures in the
selected nodes to a target zipfile
Looks for missing SHA256 code and corrects them.
A dummy event listener that listens to all events and simply logs them.
Handles the request to delete the picture files of nodes
This request indicates that the user wants to delete the picture files of nodes and remove the nodes
An object of this class displays a directory field with a dropdown button to
select the previously used directories and has a button next to it which
allows you to bring up a filechooser.
This class finds duplicates and adds them to a query object
Handles the request to edit the camera
This request indicates that the user wants to edit the Cameras
Handles the request to edit Settings
This request indicates that the user wants to edit the Settings
Error thrown when a Swing EDT violation is detected.
This thread sends the emails.
EmailerGui.java: Creates a GUI to edit the categories of the collection
Adds the picture nodes in the supplied request to the email selection
Listens to the EventBus events and prints them in the Panel
This annotation is used to declare that the annotated class is an event handler for the JPO Eventbus
and should be instantiated an added to the bus.
Class that interacts with Drew Noake's library and extracts the Exif
information
Request to fulfill the ExportGroupToCollectionRequest
Request to indicate that the user would like to export the pictures to a flat file
Request to indicate that the user would like to see the Export to HTML wizard
Request to indicate that the user would like to export the pictures to a new collection
Request to indicate that the user would like to export the pictures to Picasa
This request indicates that the user wants to choose a file for loading
This request indicates that a file is to be loaded and shown
Handler for the FileSaveAsRequest request
This request indicates that the user wants to save the collection under a new
name
Handler for the FileSaveRequest
This request indicates that the user wants to save the collection
Handles the request to find a basedir: FindBasedirRequest
This request looks for a base directory
Handler for the FindDuplicatesRequest request
This request indicates that the user wants open up the find duplicates GUI
a class that exports a tree of chapters to an XML file
Distiller Result
Class to import a flat file of pictures into the supplied node
Converts a tree of notes into a flat list of pictures
Static class that loads the Font Awesome Font into a Java Font object.
This object holds the details of how the WebsiteGenerator is supposed to
generate the output pages.
Define the types of output
Define the types of output naming convention
Define the types of SSH Authentication
Extends an GenerateWebsiteRequest class and pre-populates the options with
default values.
This class runs the user through a series of Wizard steps to define the
choices for the Web page rendering
This Wizard Step welcomes the user to the wizard and states what is about to
happen
Asks all the questions we need to know in regard the thumbnails on the web
page.
This Wizard Step asks and stores the Midres Stuff
Asks all the questions we need to know in regard the highres images on the
target page.
Asks all the questions we need to know in regard to the options for the
website
Asks where we should create the website
This Wizard step summarises the settings and then goes off and does them
A GroupInfo object carries a description and its owning node can have zero or
many GroupOrPicture carrying nodes.
Objects of this class have details about what was changed in a GroupInfo
object.
This interface allows GroupInfo objects to tell listeners that something has changed
Creates a Frame and allows the field(s) of a group to be edited.
This class implements the NodeNavigator in the specific manner that is
required for displaying the child nodes of a Group in the Thumbnail
JScrollPane.
Objects conforming to this interface are the objects on each tree node in JPO.
Generates a popup menu on a group node
Serializable array of bytes representing an Image
This class overrides the abstract javax.swing.filechoose.FileFilter class
(not the java.io.FileFilter) to provide a true or false indicator to
using JFileChoosers whether the file is a directory or image
ending in .jpg, .jpeg, .tif, .tiff or .gif.
Manages the Info Panel
IntegrityChecker.java: creates a frame and checks the integrity of the
collection
This class can be used as a semaphore to indicate to a thread that it should
be interrupted at a convenient time.
This class overrides the abstract javax.swing.filechoose.FileFilter class
(not the java.io.FileFilter) to provide a true or false indicator to
using JFileChoosers whether the file is a directory or image
ending in .jpg or .jpeg.
Cache for the Jpo application
Defines the interface that must be implemented by those components that want to
receive drop events for JPO Transferables
A Singleton for the JPO Application EventBus.
class that holds the generic labels for the JPO application.
class that holds the generic labels for the JPO application.
class that holds the generic labels for the JPO application.
class that holds the generic labels for the JPO application.
A transferable for the JPO application
A drop target listener for the transferable
Writes the JPO Collection to a xml formatted file
JTableCopyPasteClipboardAdapter enables Copy-Paste Clipboard functionality on JTables.
Creates a JFrame that holds a centred JLabel.
The state of the button
This class creates and Shows the License window
This class implements the NodeNavigator Interface so that all the pictures of
a specified List can be browsed sequentially.
This request asks that the application restores the positions of the internal
windows.
This event indicates that the locale of the application was changed
The first class to be started to get the JPO application going.
Main Window of the JPO application.
A controller for the Map Component which can be retrieved by @see getJXMapViewer
A controller to manage a map window in the info panel.
A singleton to get the smallest date the Calendar object allows so that we can compare
null timestamps with real timestamps and make them come out as lower.
This request indicates that the nodes should be indented
Request to indicate that the user would like move the supplied node down in the group
Request to indicate that the user would like move the supplied node to the last position in the group
Request to indicate that the user would like move the supplied nodes as last
child on the target node
Request to indicate that the user would like move the supplied node to the first position in the group
Request to indicate that the user would like move the supplied node up in the group
This request indicates that the nodes should be outdented
Moves the pictures of the supplied nodes to the target directory
Request to move the pictures of the supplied nodes to the supplied directory
Request to move the pictures of the supplied nodes to the supplied directory
Extends the default JButton with no border, standard background color,
standard dimensions of 24 pixels and tooltip at 0, -20 Uses the
Settings.PICTUREVIEWER_BACKGROUND_COLOR for the background.
This class implements the NodeNavigatorListener functionality required by the
NodeNavigatorInterface but the other methods need to be implements by the
extending class.
This interface defines the methods that a "set of nodes" must implement so
that the Controller can identify the Nodes to be displayed.
This interface allows the Navigators to inform a client that the nodes have
changed and that they need to update the screen.
A Class that counts nodes, groups, pictures and disk usage on the supplied
node
a panel that shows some counts about the collection
A Panel that holds labels and a method to fill in the numbers
This class overrides the
adjustVisibility
method of the
DefaultCaret
class.An Exception to indicate that we have no PictureInfo node.
Handles the OpenCategoryEditorRequest request
This request indicates that the user wants open the category editor
The receiver of this request is supposed to open the operating system file explorer
This request indicates that the user wants to open the Help About window
Opens the License window
This request indicates that the user wants to open the license window
This request indicates that the app wants to open the MainWindow
This request indicates that the user wants to open the privacy frame
Overrides the Picture Controller with functionality to overlay the picture
with information
The type of overlay that should be shown
This class runs the user through a series of Wizard steps to define the
choices for the Web page rendering
Performs the login to Google
Performs the login to Google
Performs the login to Google
A Class which brings up a progress bar and adds pictures to the specified node.
This request holds the details about pictures to be added
Handles the requests to add and remove categories from picture nodes
This object holds the state of the picture collection
The job of this Component is to scale and display a picture.
The interface to define the capabilities a PictureController requires from the provider of the BufferedImage
This request indicates that the user wants to zoom in on the picture in the PictureViewer
This controller class brings up a Filechooser which allows the user to select
pictures and directories.
Class that manages the frame and display of the Picture.
This class manages the PictureFrame.
Objects of this type represent a single picture in the collection.
Objects of this class have details about what was changed in a PictureInfo
object.
This interface allows PictureInfo objects to tell other objects about changes
An editor window that allows the attributes of a picture to be modified
This class generates a popup menu on a picture node.
An event to indicate that a picture was selected
PictureViewer is a Controller that manages a window which displays a picture.
Creates a navigation Bar with several icons to navigate the Picture Viewer
Class used to serialise the memorised pictures of a camera
A dialog to clear private data from JPO
a private class that allows the PictureAdder to show what it is doing.
Interface to listen on progress
Controller for the searches JTree
An Interface that specifies what a query must implement, so it can be shown
This class implements the
NodeNavigator
in the specific manner that is required for
displaying Query
in the ThumbnailsPanelController
.Priority enum for the Thumbnail Queue.
This class returns a NodeNavigator which shuffles the supplied nodes
This event indicates that the recent files in the Settings object changed
This event indicates that the recent drop nodes in the Settings object were changed
This class creates a GUI where the user can specify a directory against which
he wants to reconcile the pictures in the current collection.
Refreshes a thumbnail
This request indicates that the thumbnails of the specified nodes are
supposed to be refreshed
Request to remove the specified category from the specified PictureInfo object
This request indicates that the user wants to remove specific nodes
Handles the RemoveOldLowresThumbnailsRequest request
This request indicates that the GUI to remove the old lowres thumbnail files
that JPO up to version 0.11 used to create should be shown.
This request indicates that the supplied picture nodes should be removed
from the email selection
Handles the request to rename a file
The receiver of this request is supposed to bring up the file rename dialog for the selected node
static class to create a collection of Rename menu items.
The receiver of this request is supposed to bring up the file rename dialog for the selected node
This is basically a JFrame which understands how to resize itself to a
specific
Window size options
A class to test the ResizableJFrame.
A slider to scale the thumbnails
This request asks that the application restores the default positions of the
internal windows.
Static class that loads the Roboto Font into a Java Font object.
Handles the RotatePictureRequest request
The receiver of this request is supposed to rotate the picture of the node by the specified angle
Requests a user function to be run
This request asks that the application saves the positions of the internal
window frames.
A xml parser to load the collections.
a class to load and scale an image either immediately or in a separate
thread.
Status that the Scalable Picture could have
This interface allows the image loaders to update the view about
changes in the image loading status.
This class helps with screen size logic.
This request indicates that the user wants to bring up the send email GUI
Sets the picture rotation
The receiver of this request is supposed to rotate the picture to the 0
rotation angle
This class defines all the settings for the JPO application.
Codes to indicate the field
A window to modify the settings of the JPO application
This request indicates that the user wants to see the AutoAdvanceDialog
This request indicates that the user wants to edit the group as a table
The receiver of this request is supposed to spawn the Group Info Editor
for the supplied node.
This request indicates that the group popup menu should be shown
This request indicates that the user wants to see a set of thumbnails.
The receiver of this request is supposed to spawn the Picture Info Editor
for the supplied node.
This request indicates that the group popup menu should be shown
The receiver of this request is supposed to spawn a full screen view of the picture
under the supplied node.
This request indicates that the user wants to see the results of a query
This request indicates that the application should be shut down.
This class implements the ThumbnailBrowserInterface in the specific manner that is required for
displaying a single picture in the ThumbnailJScrollPane.
This is the main data structure object for the JPO Collection.
This request indicates that the user wants to sort a group by the specified criteria
A class that holds a description of what will be sorted, and it's key
This class can load and rotate a digital picture either immediately or in a
separate thread from a URL
States of the source picture
This interface allows a SourcePicture to inform a listener that the status has changed.
This request indicates that the app wants to start a camera watch daemon
The receiver of this request is supposed to spawn two panels and start a random slideshow
Scans for non-populated hashcodes
This request indicates that the application should populate missing hash codes
This request indicates that the user wants to start a new collection
It will not check for unsaved updates.
Start a ThumbnailCreationDaemon
This request indicates that the application should start up a new ThumbnailCreationDaemon
Starts the watchdog
This request indicates that the application should start the WatchDog process for the
ThumbNailCreationDaemons
A sorter for TableModels.
Manages the Tag Cloud
This class stores the parameters for a search and can return a List of the
search results.
This class overrides a JButton and sets the size and text.
This class extends a JComponent showing an ImageIcon.
ThumbnailController controls a visual representation of the specified node.
Instantiated objects of this class sit on their thread, polling the
ThumbnailCreationQueue for new thumbnail creation requests.
instance of this class will monitor whether we have run out of live ThumbnailCreationDaemons
A singleton to create, track and monitor the ThumbnailCreationDaemon thread
objects.
Queue that holds requests to create Thumbnails from Images.
ThumbnailDescriptionJPanel is a JPanel that displays the metadata of a
thumbnail.
choices for the Description size
Swing component that show information underneath the thumbnail
A little GUI to experiment with the ThumbnailDescriptions
A Layout Manager for the Thumbnail pane
This class does the widgets at the top of the ThumbnailPanel
The ThumbnailQueueRequest is the type of object that will sit on the
ThumbnailCreationQueue
with a references to the
ThumbnailQueueRequestCallbackHandler
and the queue priority.Informs that the ImageIcon on a ThumbnailQueueRequest is ready for displaying
The ThumbnailPanelController manages a JPanel in a JScrollPane that displays
a group of pictures in a grid of thumbnailControllers or ad hoc search
results.
A little GUI to experiment with the ThumbnailDescriptions
separate class to hold a collection of static methods that are frequently
needed.
The TristateCheckBox is a JCheckBox with a third state.
This request must bring up the unsaved changes dialog
and allow the user to save the changes.
This request indicates that the application should change its title
This event indicates that the user functions in the Settings object changed
This class can figure out if the current JPO version is out of date
and offers to open the download page in the browser for the user
to upgrade.
This class generates a set of HTML pages that allows a user to browse groups
of pictures in a web-browser.
This class extends the JTextField and allow only entry of digits.
part of the inner workings
FlowLayout subclass that fully supports wrapping of components.
This class overrides the abstract javax.swing.filechoose.FileFilter class
(not the java.io.FileFilter) to provide a true or false indicator to using
JFileChoosers whether the file is a directory or image ending in .xml.
class that reads an XML collection and creates a tree of
SortableDefaultMutableTreeNodes
This class stores the parameters for a search and can return a List of the
search results.