Menu

/trunk/drjava/src Commit Log


Commit Date  
[r4538] by mgricken

Moved the place the last survey result is saved so DrJava does
not ask again the next time it starts in case "No" was pressed.

2008-07-02 01:58:50 Tree
[r4537] by mgricken

This commit fixes a problem with the DrJavaErrorWindow. If an
unhandled exception occurred before MainFrame was completely
initialized, the DrJavaErrorWindow was not displayed, yet the
application did not terminate.
When the "Tabbed Panes" are detached, now displayes the
detached window when the panes are displayed by invoking
Find/Replace, Bookmarks Panel, Breakpoints Panel, Compile,
Test, etc.
Renames the debugger's detached frame "Debugger" (accidentally
left as "Tabbed Panes").

M src/edu/rice/cs/drjava/ui/MainFrame.java
M src/edu/rice/cs/drjava/ui/DrJavaErrorPopup.java
M src/edu/rice/cs/drjava/ui/DetachedFrame.java
M src/edu/rice/cs/drjava/ui/DrJavaSurveyPopup.java
M src/edu/rice/cs/drjava/ui/ExecuteExternalDialog.java
M src/edu/rice/cs/drjava/ui/DrJavaErrorWindow.java

2008-07-02 00:57:51 Tree
[r4536] by mgricken

Made debugger pane detachable (Debug menu, Detach Debugger).
Fixed problem with two modal windows both trying to stay on top,
which caused flickering and made DrJava unresponsive.
Added revision number and build time to the DrJava survey.

M src/edu/rice/cs/drjava/config/OptionConstants.java
M src/edu/rice/cs/drjava/ui/MainFrame.java
A src/edu/rice/cs/drjava/ui/DetachedFrame.java
D src/edu/rice/cs/drjava/ui/TabbedPanesFrame.java
M src/edu/rice/cs/drjava/ui/DrJavaSurveyPopup.java
M src/edu/rice/cs/drjava/ui/config/ConfigFrame.java
M src/edu/rice/cs/drjava/ui/DrJavaErrorHandler.java

2008-07-01 21:54:36 Tree
[r4535] by rcartwright

This revision (i) streamlines the implementation of findNext (by
relying on hourglassOn instead of read locking to ensure mutual
exclusion) and (ii) re-implements the aborted changes to
ReducedModelBrace. I have no idea why the changes in (ii) did not
produce the same performance bug introduced in r4521. This revision
also includes some cosmetic formatting changes.

The following files were modified:

M src/edu/rice/cs/drjava/DrJavaRoot.java
M src/edu/rice/cs/drjava/model/debug/jpda/JPDADebugger.java
M src/edu/rice/cs/drjava/model/definitions/ColoringGlyphPainter.java
M src/edu/rice/cs/drjava/model/definitions/CompoundUndoManager.java
M src/edu/rice/cs/drjava/model/definitions/ColoringView.java
M src/edu/rice/cs/drjava/model/definitions/DefinitionsDocumentTest.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/ReducedModelComment.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/AbstractReducedModel.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/ReducedModelControl.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/TokenList.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/BraceReduction.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/ReducedModelBrace.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/ReducedModelTest.java
M src/edu/rice/cs/drjava/model/junit/DefaultJUnitModel.java
M src/edu/rice/cs/drjava/model/repl/InteractionsScriptModel.java
M src/edu/rice/cs/drjava/model/AbstractDJDocument.java
M src/edu/rice/cs/drjava/model/DummyOpenDefDoc.java
M src/edu/rice/cs/drjava/model/FindReplaceMachine.java
M src/edu/rice/cs/drjava/model/AbstractGlobalModel.java
M src/edu/rice/cs/drjava/model/DJDocument.java
M src/edu/rice/cs/drjava/config/ConfigOptionListeners.java
M src/edu/rice/cs/drjava/ui/MainFrame.java
M src/edu/rice/cs/drjava/ui/ExternalProcessPanel.java
M src/edu/rice/cs/drjava/ui/EditExternalDialog.java
M src/edu/rice/cs/drjava/ui/NewVersionPopup.java
M src/edu/rice/cs/drjava/ui/config/KeyStrokeOptionComponent.java
M src/edu/rice/cs/drjava/ui/MainFrameTest.java
M src/edu/rice/cs/drjava/ui/ExecuteExternalDialog.java
M src/edu/rice/cs/drjava/ui/FindReplacePanel.java
M src/edu/rice/cs/drjava/ui/InteractionsController.java
M src/edu/rice/cs/drjava/ui/ReverseHighlighter.java
M src/edu/rice/cs/util/swing/FontChooser.java
M src/edu/rice/cs/util/swing/ScrollableListSelectionDialog.java
M src/edu/rice/cs/util/swing/SwingWorker.java
M src/edu/rice/cs/util/swing/ScrollableListDialog.java

2008-07-01 17:19:17 Tree
[r4534] by mgricken

Added "Detach Tabbed Panes" menu item in "Edit" menu to
move tabbed panes from bottom of MainFrame into separate
window.

2008-06-30 09:30:03 Tree
[r4533] by mgricken

Fixed problems with series of external processes on Windows.
The problem was that the process separator colon (':') was also
used in drive letters (e.g. "C:\WINDOWS") and that the colon
in the drive letter was used to split the path in two (i.e.
"C" and "\WINDOWS").
To keep things simple, I changed the process separator from
':' on Windows and ';' on Unix to '#' (pound) on all systems.
The pipe separator to pipe output from one process into the
next process remains '|' (pipe).

2008-06-29 08:52:17 Tree
[r4531] by rcartwright

This commit moves all Swing pack operations inside the event thread.
Is this necessary? Without a detailed analysis of the Swing library,
we don't know for certain. Sun recommends that all GUI code run in
the event thread (with a very short list of exceptions), but we have
found this practice produces unacceptable startup overhead. An
earlier discpline promulgated by Sun stated that GUI components could
be manipulated outside the event thread until they were "realized" but
this guidance is rather vague. If it means before any GUI component
is realized (which starts the event thread), then it clearly looks OK
but how can a programmer designing a specific GUI class know if any
other GUI component has been realized?. This is a global property of
a program. On the other hand, the more liberal interpretation that
each individual GUI component can be manipulated before it is realized
is clearly too liberal because the manipulation might link this
component into an existing GUI component that has already been
realized and is being accessed by the event thread potentially
traversing the unrealized component in the process. So I think Sun
really intended to mean that a GUI component can be safely manipulated
outside the event thread until it becomes accessible to the event
thread. The tricky issue is determining when a GUI component becomes
accessible to the event thread. The pack() operation is particularly
problematic because it may operate on the component after making it
accessible to the event thread. In contrast, setVisible(true) seems
less threatening because it intuitively involves creating a single
reference to the GUI component (in a data structure recording what is
visible) and nothing more.

If we subsequent study the Swing library (which of course can change
from one release to the next) and determine these concerns are
misplaced (because, for example, the pack method is very carefully
coded not to perform any operations on the packed component after it
has been made known to the GUI, then all of these pack operations can
be moved back to their "parent" threads.

The following files were modified:

M src/edu/rice/cs/drjava/DrJavaTestCase.java
M src/edu/rice/cs/drjava/model/MultiThreadedTestCase.java
M src/edu/rice/cs/drjava/ui/config/KeyStrokeOptionComponent.java
M src/edu/rice/cs/drjava/ui/ProjectMenuTest.java
M src/edu/rice/cs/drjava/ui/MainFrameTest.java

2008-06-26 20:20:59 Tree
[r4530] by rcartwright

This commit is an attempt to fix an occasional
ArrayOutOfBoundsException bug in the setUp method for ProjectMenuTest.
This attempted fix probably does not address the real problem since the
exception was thrown in the bowels of Swing library code invoked from
MainFrame.<init> and this fix simply moves the subsequent frame.pack()
operation to the event thread. Why not move MainFrame <init> to the event
thread? It slows down unit testing considerably.

I don't know what the event thread is doing between tests in a unit
testing suite. Is is already running when the test starts?

The following file was updated:

M src/edu/rice/cs/drjava/ui/ProjectMenuTest.java

2008-06-26 00:20:03 Tree
[r4529] by rcartwright

This revision fixing the indenting performance bug that was introduced
in revision 4521. A small change in ReducedModelBrace caused the
problem and I still don't see how it could create a performance
problem due to low CPU utlization. Weird. But I laboriously checked
the impact of each change in the r4521 until I found the code change
that caused the problem.

The following files were modified in this commit:

M src/edu/rice/cs/drjava/model/definitions/DefinitionsDocument.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/ReducedModelComment.java
M src/edu/rice/cs/drjava/model/definitions/reducedmodel/ReducedModelBrace.java
M src/edu/rice/cs/drjava/model/AbstractDJDocument.java
M src/edu/rice/cs/drjava/model/DummyOpenDefDoc.java
M src/edu/rice/cs/drjava/model/AbstractGlobalModel.java
M src/edu/rice/cs/drjava/model/DJDocument.java
M src/edu/rice/cs/drjava/ui/MainFrame.java
M src/edu/rice/cs/drjava/ui/InteractionsPane.java
M src/edu/rice/cs/drjava/ui/DefinitionsPane.java
M src/edu/rice/cs/drjava/ui/AbstractDJPane.java

2008-06-25 19:24:16 Tree
[r4528] by mgricken

Many small changes:
Changed keyboard mnemonics (e.g. Alt-F to open File menu) so
they work on non-Mac platforms but are ignored on Macs; they
did not work as expected on Macs.

Fixed a bug in "Open Javadoc API" for Java 6 classes. Since
the URLs in Java 6 Javadocs are absolute, the fully-qualified
class names were incorrect.

Changed the extension of external process files from
*.drjavaxml and *.drjavajar to *.djapp. The distinction
between XML and JAR file is made by examining the content.

To avoid confusion between the properties ${drjava.file}
(which contains the file name of the currently used DrJava
executable) and ${drjavajar.file} (which contains the name
of the *.drjavajar file that might enclose the *.drjavaxml
file), the latter was renamed to ${enclosing.djapp.file}.

Fixed a bug that made action properties eager, causing
the actions to be executed (!) when the values were
previewed. Now they are lazy again.

Fixed a bug in PredictiveInputFrame that didn't deactivate
the hourglass pane when the frame was closed using the [X]
or the red button, instead of using the "Cancel" button.
Removed the MainFrame.installModalWindowAdapter(Window w)
method that did not require to-front and close actions
because the use of that method lead to this dangerous
situation.

Gave buttons in PredictiveInputFrames the ability to have
tooltips. Now the tooltip for the "Fully Qualified" button
on the "Auto-Complete Word" dialog explains that it will
insert the fully-qualified class name of the selected class.

Fixed a bug in the External Process panel that didn't
display the command line to execute correctly after it
was evaluated.

Fixed a bug that did not let the DrJava survey window
pop up, even when there was no New Version popup (previously,
the decision was made to ever only display *one* popup
window on DrJava startup to avoid clutter).

Decided to write the timestamp of the last DrJava survey
window popup into the configuration even when the user
pressed "No, do not send information". That way, the user
isn't consistently bothered with the same question at every
start.

2008-06-25 04:01:59 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.