|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
ui package contains classes for the default user interface
for DrJava.
See:
Description
| Interface Summary | |
|---|---|
| ClipboardHistoryFrame.CloseAction | Interface for an action to be performed when the user closes the frame, either by using "OK" or "Cancel". |
| InteractionsController.ConsoleStateListener | A listener interface that allows for others outside the interactions controller to be notified when the input console is enabled in the interactions pane. |
| RecentFileManager.RecentFileAction | This interface is to be implemented and passed to the manager upon creation. |
| RegionsTreePanel.IChangeState | State pattern for improving performance during rapid updates. |
| Class Summary | |
|---|---|
| AbortablePanel | Panel for displaying some component with buttons, one of which is an "Abort" button. |
| AboutDialog | About dialog. |
| AboutDialog.ImageInfo | |
| AboutDialog.LogoList | |
| AbstractConsoleController | Abstract class that hooks a Swing console/interactions document with its Swing pane. |
| AbstractDJPane | This pane class for a SwingDocument. |
| AutoCompletePopup | Autocomplete support. |
| BackgroundColorListener | Creates and installs an OptionListener for DEFINITIONS_BACKGROUND_COLOR on a specified JTextComponent. |
| BookmarksPanel | Panel for displaying bookmarks. |
| BreakpointsPanel | Panel for displaying the breakpoints. |
| BreakpointsPanel.BreakpointRegionTreeUserObj | Class that gets put into the tree. |
| ClassPathFilter | A file filter for files with extensions ".jar"/".zip". |
| ClipboardHistoryFrame | Frame with history of clipboard. |
| ClipboardHistoryFrame.FrameState | Class to save the frame state, i.e. |
| ClipboardHistoryFrame.HistoryString | Keeps a full string, but toString is only the first line. |
| CommonCloseButton | Common button that can be instantiated to create close buttons with any ActionListener to notify, or not, if you so choose. |
| CompilerErrorPanel | The panel which houses the list of errors after an unsuccessful compilation. |
| ConsoleController | A Swing specific console controller class that includes both a Swing InteractionsDJDocument and a GUI agnostic ConsoleDocument (wrapping the former). |
| DebugPanel | Panel for displaying the debugger input and output in MainFrame. |
| DebugPanel.WatchEditor | Adds config color support to DefaultCellEditor. |
| DefinitionsPane | The pane in which work on a given OpenDefinitionsDocument occurs. |
| DefinitionsPane.FindResultsColorOptionListener | The OptionListener for FIND_RESULTS_COLOR. |
| DefinitionsPane.ThreadColorOptionListener | The OptionListener for DEBUG_THREAD_COLOR. |
| DefinitionsPaneMemoryLeakTest | Tests the Definitions Pane |
| DefinitionsPaneMemoryLeakTest.DocChangeListener | |
| DefinitionsPaneTest | Tests the Definitions Pane |
| DefinitionsPaneTest.KeyTestListener | |
| DetachedFrame | |
| DetachedFrame.FrameState | Class to save the frame state, i.e. |
| DirectoryFilter | A file filter for selecting directories. |
| DrJavaErrorHandler | The handle() method in this class is called every time an uncaught exception propagates to an AWT action. |
| DrJavaErrorHandler.LoggedCondition | The throwable used for logging unexpected situations. |
| DrJavaErrorPopup | Displays a popup window for the first uncaught exception or logged conditions. |
| DrJavaErrorWindow | Displays uncaught exceptions and logged conditions. |
| DrJavaScrollableDialog | A JDialog with a scrollable text area and a button panel. |
| DrJavaSurveyPopup | Asks whether DrJava may contact the DrJava developers and send information about the operating system and the Java version used. |
| EditExternalDialog | |
| EditExternalDialog.FrameState | Class to save the frame state, i.e. |
| ErrorCaretListener | Listens to the caret in the associated DefinitionsPane and highlights the text containing CompilerErrors. |
| ErrorPanel | This class contains common code and interfaces from CompilerErrorPanel, JUnitPanel, and JavadocErrorPanel. |
| ExecuteExternalDialog | |
| ExecuteExternalDialog.FrameState | Class to save the frame state, i.e. |
| ExternalProcessPanel | Panel for displaying some component with buttons, one of which is an "Abort" button. |
| FindReplacePanel | The tabbed panel that handles requests for finding and replacing text. |
| FindResultsPanel | Panel for displaying find results. |
| ForegroundColorListener | Creates and installs an OptionListener for DEFINITIONS_NORMAL_COLOR on a specified JTextComponent. |
| GenerateCustomDrJavaJarFrame | A frame for generating a custom drjava.jar. |
| HelpFrame | The frame for displaying the HTML help files. |
| HistorySaveDialog | Displayed when the user chooses to save the interactions history. |
| HTMLFrame | The frame for displaying the HTML help files. |
| HTMLFrame.ConsolidatedAction | |
| HTMLFrame.HistoryList | |
| HTMLFrame.ResourceAction | |
| InsertVariableDialog | Dialog allowing the user to select a variable. |
| InteractionsController | This class installs listeners and actions between an InteractionsDocument (the model) and an InteractionsPane (the view). |
| InteractionsController.InputBox | A box that can be inserted into the interactions pane for separate input. |
| InteractionsHistoryFilter | A file filter for files with extensions ".hist". |
| InteractionsPane | The view component for repl interaction. |
| InteractionsPaneTest | Test functions of InteractionsPane. |
| InteractionsScriptController | Controller for an interactions script. |
| InteractionsScriptPane | Pane for an interactions script. |
| JarOptionsDialog | |
| JarOptionsDialog.FrameState | Class to save the frame state, i.e. |
| JavadocDialog | Manages a dialog box that can select a destination directory for generating Javadoc. |
| JavadocErrorPanel | The panel which displays all the Javadoc parsing errors. |
| JavadocFrame | DrJava's Javadoc viewing frame |
| JavaSourceFilter | A file filter for files with extensions ".java" and ".dj?". |
| JUnitPanel | The panel that displays all the testing errors. |
| JUnitPanel.JUnitProgressBar | A progress bar showing the status of JUnit tests. |
| KeyBindingManager | Contains Hashtables that are used in the key-binding process along with methods to build them and access their contents. |
| KeyBindingManager.KeyStrokeData | |
| LessPanel | Panel for displaying some component with buttons, one of which is an "Abort" button. |
| LineEnumRule | The row header of the DefinitionsPane which displays the line numbers |
| MainFrame | DrJava's main window. |
| MainFrame.DJFileDisplayManager | This manager is meant to retrieve the correct icons for the given filename. |
| MainFrame.GlassPane | Blocks access to DrJava while the hourglass cursor is on. |
| MainFrame.MenuBar | This allows us to intercept key events when compiling testing and turn them off when the glass pane is up. |
| MainFrame.OddDisplayManager | This class wraps the file display managers by superimposing any notification icons on top of the base file icon. |
| MainFrameStatics | Utilities for DrJava's main window. |
| MainFrameStatics.AutoCompletePopupEntry | |
| MainFrameStatics.GoToFileListEntry | Wrapper class for the "Go to File" dialog list entries. |
| MainFrameStatics.JavaAPIListEntry | Wrapper class for the "Open Javadoc" and "Auto Import" dialog list entries. |
| MainFrameTest | Test functions of MainFrame. |
| NewJavaClassDialog | Generates Java source from information entered in the "New Class" dialog. |
| NewJavaClassTest | Tests for NewNewJavaClassDialog. |
| NewVersionPopup | Displays whether a new version of DrJava is available. |
| PreviewConsoleFrame | DrJava's print preview window for a console document (interactions or console) |
| PreviewDefDocFrame | DrJava's print preview window for a definitions document |
| PreviewFrame | DrJava's print preview window |
| PreviewFrame.PageChangerUpdater | |
| PreviewFrame.PagePreview | Static inner class which displays the image on the screen, and holds the Image object. |
| ProjectAdvancedPropertiesFrame | A frame for setting Project Advanced Preferences |
| ProjectAdvancedPropertiesFrame.PreferencesRecord | |
| ProjectMenuTest | Test functions of Project Facility working through the main frame and model. |
| ProjectPropertiesFrame | A frame for setting Project Preferences |
| QuickStartFrame | The frame for displaying the HTML quick start files. |
| RecentDocFrame | This class extends a Swing view class. |
| RecentFileManager | Manages a list of the most recently used files to be displayed in the File menu. |
| RecentFileManagerTest | Test functions of RecentFileManager. |
| RegionsListPanel<R extends IDocumentRegion> | Panel for displaying regions in a list in the order specified by indices passes to addRegion. |
| RegionsListPanel.RegionListUserObj<R extends IDocumentRegion> | Class that gets put into the list. |
| RegionsTreePanel<R extends OrderedDocumentRegion> | Panel for displaying regions in a tree sorted by class name and line number. |
| RegionsTreePanel.RegionTreeUserObj<R extends OrderedDocumentRegion> | Class that is embedded in each leaf node. |
| ReverseHighlighter | Implements the Highlighter interfaces. |
| ReverseHighlighter.DefaultFrameHighlightPainter | Simple highlight painter that draws a rectangular box around text. |
| ReverseHighlighter.DefaultUnderlineHighlightPainter | Simple highlight painter that underlines text. |
| ReverseHighlighter.DrJavaHighlightPainter | This class is a wrapper for the DefaultHighlightPainter that allows us to tell whether a highlight was requested by DrJava or by Swing (as in selected text). |
| SimpleInteractionsWindow | A standalone Interactions Window that provides the functionality of DrJava's Interactions Pane in a single JVM. |
| SmartSourceFilter | A file filter for all source files. |
| SplashScreen | A splash screen window to be displayed as DrJava is first starting up. |
| TabbedPanel | Extended by all panels that can dynamically be added or removed from the _tabbedPane in MainFrame. |
The ui package contains classes for the default user interface
for DrJava.
The interface allows multiple documents to be open, but requires that exactly
one document is active at any time, since only one document is displayed in
the GUI. This is enforced by subclassing the
DefaultGlobalModel in the model package to add
additional constraints to the logic and state of DrJava, while maintaining
the separation from the pure user interface classes.
The SingleDisplayModel is a subclass of
DefaultGlobalModel, primarily providing the constraint that
exactly one document is active at any time. It adds public methods for
getting and setting the currently active document to the interface provided
by GlobalModel, and fires a corresponding event through the
SingleDisplayModelListener class, which is a subclass of
GlobalModelListener.
Note that this behavior is not included in the
DefaultGlobalModel because the notion of a single active document
is specific to this user interface. Alternative GUIs might choose to display
multiple documents simultaneously, eliminating the need for this additional
constraint. Housing this logic in a subclass of
DefaultGlobalModel, rather than in MainFrame itself,
allows us to verify through unit tests that only one document can be active.
The graphical user interface is implemented in Swing and is coordinated
through the MainFrame class. The general layout and primary
components of the interface are shown in the image below.
The MainFrame is the JFrame which houses all
other components of the GUI. It is solely a means of displaying the
state and logic kept within its SingleDisplayModel, and
maintains as little state of its own as possible. The
MainFrame consists of a JMenuBar containing the
menus, current filename, and toolbar buttons, together with a collection
of panes for displaying the various components of DrJava. These include
a scrollable JList with the OpenDefinitionDocuments,
a DefinitionsPane for displaying and editing the source code,
and a tabbed pane at the bottom which houses the
InteractionsPane, CompilerErrorPanel, and
OutputPane.
In addition to setting up the GUI and passing action requests to the
model, MainFrame is also responsible for listening to
events fired by both the GlobalModel and the document
itself, in order to keep the display current.
MainFrame is the
DefinitionsPane, which is a JEditorPane that
is tied to a specific OpenDefinitionsDocument in the
model. This pane handles all highlighting and text indenting for its
document, as well as undoing actions specific to the document.
InteractionsPane is held in the tabbed pane at the
bottom of the interface and provides the actual interaction with the
repl interpreter within the GlobalModel.
CompilerErrorPanel is another tab in the tabbed pane,
and contains both a JComboBox for selecting the compiler
and an ErrorListPane for displaying all the errors from
the most recent compilation, sorted by document. The
ErrorListPane is an inner class of
CompilerErrorPanel, and is responsible for highlighting
errors in the list and in the source consistently.
OutputPane is the third tab in the tabbed pane, and
is simply where System.out and System.err
are redirected when DrJava is run.
FindReplaceDialog is a separate JDialog
which handles the logic and state of finding and replacing text in the
code, including highlighting and changing the source position as
necessary. Only one FindReplaceDialog exists in the GUI,
and it must be notified each time the active document is changed.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||