Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
2006-01-23 Timothy Wall
* Costello.java: Center on one monitor, not the whole display.
2005-11-09 Timothy Wall
* LookAndFeelPreserver.java: Restore LAF when components are added
*after* the current round of updates completes.
2005-06-10 Timothy Wall
* ScriptEditor.java (openScript): Clear script selection box when
a script not in the current suite is selected.
2005-06-03 Timothy Wall
* ScriptTable.java: Fix table selection foreground.
2005-05-19 Timothy Wall
* ScriptEditor.java: Allow override of editor function keys.
2005-05-09 Timothy Wall
* recorder/EventRecorder.java: Avoid recording key press/release
events with no valid keycode. This is a VM bug, but avoid it anyway.
* recorder/ComponentRecorder.java: Don't swallow key typed events
with alt-graph modifier.
2005-04-26 Timothy Wall
* ScriptEditor.java (ScriptEditor): Fix labels on record vs
record+motion (pdham).
2005-03-13 Timothy Wall
* widgets/Mnemonic.java: Remove 1.4 dependencies.
2005-03-13 Timothy Wall
* TestSelector.java (setCollector): Ensure abbot.jar is always in
test collector classpath. Allow dynamic setting of classpath to
scan for test suites.
* ScriptEditor.java: Pass classpath to TestSelector instead of a
TestCollector.
* widgets/ArrayEditor.java: Repaint on row changes.
2005-02-21 Timothy Wall
* ScriptEditor.java: Add support for fixtures. Preserve selection
when running the current selection of steps.
2005-02-20 Timothy Wall
* ScriptEditor.java (processEvent): Make recording error reporting
consistent.
* recorder/ComponentRecorder.java (parse): Include more directions
in bug report request.
2004-12-27 Timothy Wall
* editors/CallEditor.java: Dynamically loading classes may result
in a NoClassDefFoundError, so handle it gracefully.
2004-12-23 Timothy Wall
* ScriptEditorFrame.java: Ensure mnemonics are properly set on
dynamic menus; encoded ampersand sometimes showed up.
2004-09-24 Timothy Wall
* widgets/Mnemonic.java: Always return a valid display index (an
index of -1 will make the LAF not display the mnemonic).
2004-09-23 Timothy Wall
* widgets/Mnemonic.java (getMnemonic): Encapsulate mnemonic
unencoded text, keycode, and displayed index, based on a property
which uses an ampersand to indicate the mnemonic.
* ScriptEditorFrame.java (EditorMenu): Auto-set mnemonics and
displayed mnemonic indices.
* CustomCheckBoxMenuItem.java: Ditto.
2004-09-21 Timothy Wall
* ScriptEditor.java (processEvent): Fix NPE at end of recording.
2004-09-19 Timothy Wall
* recorder/JTabbedPaneRecorder.java: Handle OSX popup menu tabs.
2004-09-18 Timothy Wall
* ScriptEditor.java: Include border when capturing images on
Frames/Dislogs; if you don't want the decorations, capture the
root pane or layered pane instead.
* LookAndFeelPreserver.java: Fix NPE when there is no explicit
LookAndFeel.
2004-09-16 Timothy Wall
* ComponentBrowser.java: Clean up listeners.
* ScriptEditor.java: Clean up and refactor image capture.
* widgets/AbstractComponentDecorator.java: Put arbitrary
decoration on a widget.
* widgets/Highlighter.java: Highlight a given component's border.
* HierarchyWriter.java: Fix ComponentReference ctor signature.
* ScriptEditor.java: Move dialog display...
* ScriptEditorFrame.java: ...here. Use LAF preserver.
* LookAndFeelPreserver.java: New. Always preserve the editor's
LAF, irrespective of changes made by the SUT.
2004-09-08 Timothy Wall
* widgets/TextField.java: Fix recursive modification exception
when replacing selected text.
* editors/StepEditor.java: Allow reversion of text to default
description.
2004-08-16 Timothy Wall
* ScriptEditor.java (initMenus): Fix OSX menus. Alpabetize steps
and actions in "Insert" menu.
2004-08-15 Timothy Wall
* ScriptEditor.java: Auto-scroll to selected step when running.
2004-08-05 Timothy Wall
* editors/LaunchEditor.java: Replace the hint description on edit.
* editors/AppletviewerEditor.java: Ditto.
* ScriptEditor.java: Use standardized hint descriptions.
2004-08-02 Timothy Wall
* ScriptEditor.java (show->hide): Override non-deprecated method.
* ScriptEditorFrame.java: Add tooltip for script description.
2004-07-30 Timothy Wall
* Costello.java: Use native LAF by default, instead of the default
one (affects w32 and linux, which otherwise default to metal).
* ScriptEditor.java: Minor cleanup. Move wordBreak method to
TextFormat.
2004-07-27 Timothy Wall
* editors/ExpressionEditor.java: New. Edit expressions.
* recorder/ComponentRecorder.java: Better distinguish
native/simulated drag/drop operations. Keep track of drag origin.
2004-07-26 Timothy Wall
* Costello.java: Don't do robot verification when running the editor.
2004-07-26 Timothy Wall
* recorder/ComponentRecorder.java (parseDrop): Fix NPE on X11 text
selection. Distinguish native D&D operations.
* actions/EditorAction.java (EditorAction): Descriptions are optional.
* recorder/Recorder.java: Ensure all exceptions thrown while
recording get captured.
2004-07-23 Timothy Wall
* ScriptEditor.java: Add file bug report option.
2004-07-20 Timothy Wall
* ScriptEditorFrame.java: Allow split pane to go smaller than
editor height.
* ScriptModel.java: Fix exception thrown when deleting rows.
* ScriptEditor.java: Add more support actions (email, website,
userguide). Add explicit AWT mode switch.
* ScriptTable.java (canMoveUp, drag): Don't allow drops prior to
launch step.
2004-07-18 Timothy Wall
* recorder/ComponentRecorder.java: Properly look up modifiers for
ItemEvent handling.
* ComponentBrowser.java: Switch to non-concise hierarchy display
if a selected component is elided.
* ComponentNode.java: Factor out hierarchy tracking functions to
own class.
* CompactHierarchy.java: Directly represent compact hierarchy
instead of faking it via TreeNode interface.
2004-07-07 Timothy Wall
* ScriptEditor.java: Fix recursive save bug if attempt is made to
save a new script in the temporary directory.
2004-06-28 Timothy Wall
* recorder/ComponentRecorder.java: Reduce extraneous log output.
2004-06-25 Timothy Wall
* recorder/ChoiceRecorder.java: Fix recorder to work with
streamlined tester.
2004-06-22 Timothy Wall
* ScriptEditor.java: Obtain InputState through Robot.
2004-06-16 Timothy Wall
* recorder/ComponentRecorder.java: Flag the AWT menu selection as
a popup if it is not activated from a MenuBar. Same for JMenuItem
selections.
* recorder/AbstractSemanticRecorderFixture.java: Make some method
names clearer.
2004-05-12 Timothy Wall
* editors/StepEditor.java: Avoid recursion in
ComboBox.configureEditor.
* editors/CallEditor.java: Catch IllegalArgumentException, which
indicates the selected method is ambiguous and thus can't be
uniquely resolved.
2004-05-02 Timothy Wall
* ScriptEditor.java: Include script launches as indication that
the editor itself is being tested.
2004-03-18 Timothy Wall
* ComponentBrowser.java: Ensure assert/sample buttons stay enabled
when the component selection changes but the selected property
does not.
* editors/CallEditor.java: Avoid inadvertent change to combo box
selected method when the list is refreshed.
2004-03-14 Timothy Wall
* ScriptEditor.java: Fix script rename bug.
2004-03-14 Timothy Wall
* ComponentBrowser.java: Make sure component selection updates
corresponding tables.
* editors/StepEditor.java: Revise component update to only update
selected components.
2004-03-13 Timothy Wall
* ComponentBrowser.java: Add tabs for component InputMap and
ActionMap.
* widgets/ArrayEditor.java: Respond properly to actionPerformed.
* editors/StepEditor.java: Highlight invalid class and method names.
* editors/*Editor.java: Ditto.
2004-03-12 Timothy Wall
* ComponentBrowser.java: String-encode array-valued property values.
Preserve the property selection when other selections change, if
possible.
* ScriptEditor.java: Use String-encoded value when making a new
Assert/Sample.
2004-03-11 Timothy Wall
* editors/AssertEditor.java: Propagate changes appropriately.
* editors/PropertyCallEditor.java: Ditto.
* editors/CallEditor.java: Update method list when class changes.
Turn target class name text red if the class is not found.
2004-03-09 Timothy Wall
* widgets/TextFormat.java (wordWrap): Fix line wrapping.
2004-03-09 Timothy Wall
* ScriptEditor.java: Make shift+F1, alt+shift+F1 actions explicit
in the menus.
2004-03-03 Timothy Wall
* editors/AppletviewerEditor.java: New. Editor for applet launcher.
* ScriptEditorFrame.java: Fix negated label lookup.
2004-02-26 Timothy Wall
* WeakHashMaps keep a strong reference to their values. oops.
So WeakHashMap.put(obj, obj) doesn't work like I thought it did.
Thanks to a little unit testing to expose this artifact.
* editor/ComponentBrowser.java
* editor/ComponentTreeIcons.java
* editor/recorder/ComponentRecorder.java
2004-02-25 Timothy Wall
* ScriptEditor.java: Default to non-threaded launch.
2004-02-23 Timothy Wall
* recorder/EventRecorder.java: Include target component in key events.
2004-02-20 Timothy Wall
* ScriptEditor.java: Clean up menu/action initialization. Menu
layout is declared and defined in ScriptEditor; only the action
names are shared in EditorConstants.
* ScriptEditorFrame.java: Ditto.
2004-02-17 Timothy Wall
* widgets/TextField.java: Allow "ESC" to revert the text field to
its last saved text (since last Enter).
* ReferenceAttributeModel.java: Table model for component
reference attributes.
* ComponentBrowser.java: Add editor for component reference
attributes.
* ComponentTree.java: If a selected component disappears, select
its nearest available ancestor.
2004-02-13 Timothy Wall
* ScriptEditor.java: Allow insertion of scripts that don't yet exist.
2004-02-12 Timothy Wall
* ScriptEditor.java: Don't query on new script, and ensure a
sample fixture is inserted.
* ScriptEditorFrame.java: Fix preservation of editor size/position.
* ComponentTree.java: Position tooltips within the hierarchy.
* ComponentNode.java: ditto.
* ComponentBrowser.java: Link filtering and elision.
2004-02-11 Timothy Wall
* ComponentTree.java: Avoid reloading if setting the selection
triggers hierarchy changes. Preserve selection across changes in
the hierarchy, if possible.
2004-02-09 Timothy Wall
* ScriptEditor.java: Avoid sticky assertion wait (no key released
event is sent on app launch, which leaves the assert button in its
"wait" state).
* ComponentBrowser.java: Extract component tree.
* ComponentTree.java: New. Factor out from larger class.
2004-02-08 Timothy Wall
* ComponentNode.java: Show popups directly under their invoking
components.
* ComponentBrowser.java: Clean up refresh; don't reload the entire
hierarchy on every change.
* ComponentPropertyModel.java: Fix sporadic tree indexing errors.
2004-02-05 Timothy Wall
* ComponentNode.java: Elide RootPaneContainer components for clarity.
* Costello.java: Use platform LAF. Add logo.
* ComponentBrowser.java: Use custom icons for components in tree.
Makes it easier to distinguish windows from components.
* recorder/ComponentRecorder.java: Always use component reference
for window showing/not showing.
2004-02-04 Timothy Wall
* ScriptEditor.java: Clear stop step, and use a different color to
highlight it.
(ScriptEditor): Properly flag which editor is the main one.
2004-02-03 Timothy Wall
* ScriptEditor.java: Update script description to reflect its path
if it's displaying the default description (mbisping).
2004-02-03 Timothy Wall
* recorder/ComponentRecorder.java: Ensure proper target class is
used when using ComponentLocation arguments.
(parseClick): allow for multiple small drag events triggering the
start of a DnD operation. This probably still needs some refinement.
* ScriptEditor.java: Explicitly provide hierarchy for scripts.
2004-01-29 Timothy Wall
* ComponentBrowser.java: Preserve selection when hierarchy is
reloaded. Refresh on popup trigger.
* ComponentNode.java: Displsy transient popups (for now).
Eventually want to make them appear under the invoker instead of
under the parent, at least when the hierarchy is being filtered.
2004-01-26 Timothy Wall
* recorder/JTreeRecorder.java: Capture node handle toggles.
* ComponentNode.java: Fix NPE when generating tree paths.
2004-01-24 Timothy Wall
* ComponentBrowser.java: Use new abbot.finder.* stuff. Move
TreePath generation into ComponentNode.
* ComponentNode.java: Use Hierarchy to determine children. Hide
JPopupMenu from between JMenu and its contents.
* HierarchyWriter.java: Use new abbot.finder.* stuff.
* ScriptEditor.java: Ditto. Add a Hierarchy context.
* recorder/*: Remove unused ComponentFinder references.
2004-01-15 Timothy Wall
* recorder/ButtonRecorder.java: New.
* recorder/CheckboxRecorder.java: New.
* editors/StepEditor.java: Accept all text changes as input
instead of waiting for enter/focus change (since ESC to cancel was
never implemented; maybe do it later so we have commit/rollback).
* editors/CallEditor.java: Use an explicit array editor for
arguments, which avoids having the user escape embedded commas.
* editors/*: Refactor to make operation simpler.
* widgets/ArrayEditor.java: New.
* widgets/TextField.java: Moved from editor dir.
* widgets/TextFormat.java: Ditto.
* widgets/TextArea.java: Send ActionEvents live.
2004-01-15 Timothy Wall
* recorder/ComponentRecorder.java: Don't record a drag unless the
distance exceeds what's likely for a drag.
2004-01-14 Timothy Wall
* ScriptEditor.java: Ignore ThreadDeath.
2004-01-08 Timothy Wall
* ScriptEditor.java: Don't allow code under test to hide the main
editor window.
2004-01-07 Timothy Wall
* recorder/ComponentRecorder.java: Fix drag/drop recording for 1.4
VMs (1.3 VMs do not provide sufficient recording information).
2003-12-22 Timothy Wall
* recorder/JComponentRecorder.java: Fix several
keystroke-generation bugs in AWT mode.
* recorder/ComponentRecorder.java: Ditto.
2003-12-19 Timothy Wall
* recorder/ComponentRecorder.java: No need to track mouse in/out,
since drags get converted to drag tracking instead of click tracking.
2003-12-11 Timothy Wall
* recorder/ComponentRecorder.java: Clean up multi-click handling.
Recognize most exits as semantic event terminators.
2003-11-19 Timothy Wall
* recorder/ComponentRecorder.java: Use ComponentLocation for drag,
drop, popup menus, and click, which enables components with
substructure to provide a better location than a simple
coordinate.
* recorder/JTreeRecorder.java: Ditto.
* recorder/JTableRecorder.java: Ditto.
* recorder/JListRecorder.java: Ditto.
2003-11-16 Timothy Wall
* recorder/JTreeRecorder.java (createClick): select/click by value
(path) if possible.
* recorder/JListRecorder.java (createClick): ditto.
* recorder/JTableRecorder.java (createClick): ditto.
2003-11-12 Timothy Wall
* ScriptEditor.java: Ensure nested scripts are saved beyond 2 levels.
2003-10-12 Timothy Wall
* recorder/ComponentRecorder.java: Properly track AWT checkbox
menu items.
2003-10-10 Timothy Wall
* recorder/ComponentRecorder.java: Properly track AWT popup menus.
2003-10-09 Timothy Wall
* recorder/EventRecorder.java (EventRecorder): Strip extraneous
shortcut modifiers.
* HierarchyWriter.java: Delegate exporting the hierarchy as XML.
* ScriptEditor.java: Use dedicated class to export hierarchy.
2003-10-03 Timothy Wall
* ScriptEditor.java: Don't use ThreadTerminatingSM; it still needs
work.
2003-09-11 Timothy Wall
* ComponentBrowser.java: Fix excessive CPU usage in 1.4.2.
2003-09-05 Timothy Wall
* ScriptEditor.java: Change the default sTepRunner behavior to not
terminate on an error (ensures the app is still visible after
failure).
* recorder/JComboBoxRecorder.java: Use same method of comparing
values as the corresponding tester.
2003-09-04 Timothy Wall
* recorder/WindowRecorder.java: Don't record window move/resize if
the window is not yet showing.
* ScriptEditorFrame.java: Don't show status dialog if there's not
any hidden text.
2003-09-04 Timothy Wall
* ScriptEditor.java: Change event exception handler signature.
(startRecording): Don't do "toBack" if the AUT isn't yet launched,
or it will get hidden.
2003-08-27 Timothy Wall
* ScriptEditor.java (exportHierarchy): Add capability to export
the AUT hierarchy (as a script containing only component references).
Show confirmation dialogs on delete/clear.
Ensure the script editor gets out of the way when replaying selected
steps.
* EditorConstants.java: Ditto.
* ScriptEditorFrame.java: Ditto.
2003-08-25 Timothy Wall
* ScriptEditor.java: Click on selected step should display step
editor if not already.
2003-08-20 Timothy Wall
* ScriptEditor.java (runSelectedSteps): Properly capture ESC
keypress.
* actions/EditorAction.java (EditorAction): Avoid errors if
accelerators/mnemonics are empty strings.
* ScriptEditor.java (main): Don't do a bug check if there's no
splash screen.
2003-08-18 Timothy Wall
* ScriptEditor.java: Add "Run selection" option. Refactor
launch/run steps to use the same step running code.
* ScriptEditorFrame.java: Add new menu option.
* EditorConstants.java: Ditto.
2003-08-13 Timothy Wall
* recorder/DialogRecorder.java (createResize): Only record
resizing if the dialog is user resizable. Remove redundant
createMove method.
* recorder/FrameRecorder.java (createResize): Ditto for Frames.
* recorder/FileDialogRecorder.java: New. Support AWT FileDialog.
* recorder/ComponentRecorder.java: Make isClose/isOpen protected
for subclass access.
* ScriptEditor.java: Ensure insert terminate goes at the *end* of
the script.
* recorder/JComponentRecorder.java: Avoid recording both actions
and keystrokes when actions are detected. Avoid errors on
un-named actions.
2003-08-12 Timothy Wall
* recorder/ComponentRecorder.java (accept): Avoid
Robot.toString(Component) until it gets fixed (big performance hit).
2003-08-12 Timothy Wall
* ScriptEditor.java: Catch uncaught exceptions in thread group.
2003-07-31 Timothy Wall
* recorder/EventRecorder.java: Listen for focus change events.
2003-07-29 Timothy Wall
* ScriptEditor.java: Ensure exit events are captured on OSX.
2003-07-18 Timothy Wall
* recorder/ComponentRecorder.java: Store a component reference if
necessary when tracking window show/hide events.
* ScriptEditorFrame.java: Center about box.
2003-07-17 Timothy Wall
* ScriptEditor.java: Don't add a component reference if there is
no script.
2003-07-16 Timothy Wall
* recorder/Recorder.java: Avoid Robot.toString if not required.
2003-07-14 Timothy Wall
* recorder/JComboBoxRecorder.java (createSelection): Don't select
by value if the toString method is Object.toString.
* recorder/JListRecorder.java: Ditto.
* ScriptEditor.java: Don't require MJRApplicationUtilities to run.
2003-07-11 Timothy Wall
* recorder/EventRecorder.java (insertStep): Initialize
lastStepTime in start() instead of in ctor.
2003-07-10 Timothy Wall
* ScriptEditor.java (processEvent): Use abbot.fixture.event_mask
to indicate what events to look for (defaults to
RECORDING_EVENT_MASK).
2003-07-08 Timothy Wall
* recorder/ComponentRecorder.java: Don't create early references
(fixed problem in DefaultComponentFinder that necessitated the
workaround).
* recorder/AbstractInternalFrameWatcher.java: New. Extracted
support for tracking internal frame events.
* recorder/JInternalFrameRecorder.java: Implement tracking of
iconify, resize, and move actions.
* recorder/EventRecorder.java: Catch internal frame CLOSING events.
* recorder/JInternalFrameRecorder.java: Record internal frame events.
2003-07-01 Timothy Wall
* ScriptEditor.java (processEvent): Add a component reference on
alt+shift+F1 (jimdoyle).
* ScriptEditor.java (browseTests): Use exception.toString instead
of getMessage, since the latter might return null.
* ScriptEditor.java (main): Handle startup errors more gracefully.
* Costello.java: Ditto.
2003-06-27 Timothy Wall
* ScriptEditor.java (newScript): Fix "new file" bug.
2003-06-16 Timothy Wall
* recorder/JTextComponentRecorder.java (JTextComponentRecorder):
Record clicks as an index into the text rather than a
component-relative coordinate.
2003-06-11 Timothy Wall
* editors/*Editor.java: Ensure display of default description gets
updated.
* ScriptEditor.java (newScript): Don't accept directories as "new
script".
* editors/EventEditor.java (EventEditor): Properly initialize
event editor field.
2003-06-04 Timothy Wall
* ScriptTable.java (getCursorRowAtPoint): Use the full row height
when checking where the cursor should go.
2003-06-03 Timothy Wall
* ScriptEditor.java (startRecording): Apparently setEnabled(true)
on a frame now activates it on w32. Make sure it doesn't happen
when we're starting a recording, since activating the editor frame
tells the editor to stop recording.
2003-06-03 Timothy Wall
* ScriptEditor.java: Don't pass filtered events to recorder. Fix
bug which prevented shift+F2 from triggering a recording after the
first occurrence of that event.
2003-06-02 Timothy Wall
* ScriptEditor.java: Make sure we can still activate the editor
window during recording (terminates recording). W32 behavior has
changed to make activating the frame impossible if it is not
enabled.
2003-05-26 Timothy Wall
* recorder/Recorder.java: Change interface to accomodate failures.
* recorder/EventRecorder.java: Catch and rethrow semantic recorder
failures.
* recorder/RecordingFailedException: Provide payload for
recorder failures.
2003-05-25 Timothy Wall
* ComponentBrowser.java: Add button for creating property samples.
* ScriptEditor.java: Add Sample options.
(eventDispatched): Fix assert/sample options based on modifier
keypress.
2003-05-24 Timothy Wall
* ScriptEditorFrame.java: Move actions into a submenu.
* ComponentBrowser.java: Switch to hierarchy view if the component
selection has no corresponding reference.
* ScriptEditor.java: Internal housekeeping.
Use the least-derived component class possible when creating
Assert steps that check component properties.
(addTesterMethodCall): Improve arguments input.
(setProperty): Implement new Resolver interface.
2003-05-21 Timothy Wall
* recorder/ComponentRecorder.java: move setting of open/closed
window cache to the appropriate location.
2003-05-20 Timothy Wall
* recorder/ComponentRecorder.java: Don't record window events from
transient popups.
* recorder/JComboBoxRecorder.java (parseClick): Significantly
clean up combo box recording.
* recorder/ChoiceRecorder.java: New.
2003-05-19 Timothy Wall
* recorder/ComponentRecorder.java: Use strings instead of numeric
codes for event recording type.
2003-05-18 Timothy Wall
* recorder/JComboBoxRecorder.java: Clean up combo box recording;
fix class cast exception bug.
* ScriptEditor.java: Change event exception handler signature.
2003-05-14 Timothy Wall
* ScriptEditor.java (getTesterMethodArgsDesc): Use tester class
name, since any given action might override one from its parent
class.
(setDocumentationProperties): Deprecate.
* TextFormat.java: Don't wrap html in html. Don't word-wrap html.
2003-05-13 Timothy Wall
* editor/ComponentNode.java: getFrames is now getRootWindows.
* actions/EditorAction.java (EditorAction): Avoid OOB indexing
error in the off chance a loaded property is invalid.
Make explicit that certain strings are optional resources.
2003-05-10 Timothy Wall
* ScriptEditor.java: Don't terminate AUT when doing save as or
rename. Keep track of script filenames rather than script objects.
Query to save when switching between scripts.
* recorder/FrameRecorder.java (FrameRecorder): Add support for
maximize/normalize (not entirely done yet).
2003-05-09 Timothy Wall
* ScriptEditor.java: Trim down event mask.
* recorder/EventRecorder.java: Ditto.
2003-05-04 Timothy Wall
* ScriptEditor.java: Preserver security manager when editor itself
is under test.
* ComponentPropertyModel.java (ComponentPropertyModel): Fix
property list filtering.
* ScriptTable.java (ScriptTable): Add actions to table action map.
Map space to toggle open/closed state of selected sequence.
2003-05-03 Timothy Wall
* ScriptEditor.java (runScript): Move toFront call to end of
script run (it was mistakenly placed after script launch).
* ScriptEditor.java (setStatus): Provide file:line information on
step failure.
* ScriptMode.java: Provide access to file/line information.
2003-04-30 Timothy Wall
* ScriptEditor.java: Control recorder directly. Clean up event
handling.
(terminate): Keep recorder results on app exit.
* recorder/Recorder.java (Recorder): Moved component event
generation to EventNormalizer. Simplify usage (no more
threading); Recorder can be directly fed events.
* recorder/ComponentRecorder.java (isClose): Don't use
HIERARCHY_CHANGE events any more.
* recorder/EventRecorder.java: Adapt to new Recorder signature.
2003-04-26 Timothy Wall
* recorder/ComponentRecorder.java: Ditch unnecessary synchronization.
* recorder/EventRecorder.java: Ditto.
* recorder/*Recorder.java: Ditto.
2003-04-25 Timothy Wall
* ScriptEditor.java: Update components state after changing the
script.
* ScriptTable.java: Select entire sequence.
* recorder/ComponentRecorder.java: Rename isDrop to isDragDrop,
which is more accurate.
2003-04-23 Timothy Wall
* ScriptEditor.java (groupSteps): Add group command.
* EditorActions.java: Ditto.
* ScriptEditorFrame.java: Ditto.
2003-04-22 Timothy Wall
* ScriptTable.java: Fix cursor indexing bug.
2003-04-17 Timothy Wall
* StepTransferable.java: New. Support dragging script steps.
* ScriptTable.java: Enable drag & drop.
* ScriptEditor.java: Ditto.
* ScriptModel.java: Refactor; limit to script manipulation.
2003-04-05 Timothy Wall
* ComponentBrowser.java (setSelectedReference): Fix NPE when
clearing selection.
* ScriptEditor.java (addTesterMethodStep): Don't replace the first
component argument if the first argument isn't a component.
Use a VM system property to indicate which editor is the "root".
Make closing a dialog the same as "cancel".
* ScriptModel.java: Don't wait for results of GUI update.
* Costello.java: Remove NPE handling on dispose which is now
handled elsewhere.
2003-04-03 Timothy Wall
* ScriptEditor.java: Fix image capture key control tracking.
2003-04-01 Timothy Wall
* ScriptEditorFrame.java: Ensure status window doesn't have a
screwy location when it's large and first shown.
* recorder/ComponentRecorder.java: Fix class cast exception on
non-component events when checking for tool tips.
2003-03-31 Timothy Wall
* ScriptEditorFrame.java (setStatus): Avoid startup deadlock on SMP
linux. Set initial status window position.
* recorder/EventRecorder.java (EventRecorder): When inserting
window waits, use the actual timeout if greater than the default.
Remove remnants of one-off recordings.
* recorder/Recorder.java: Keep track of when the last event was
processed.
2003-03-29 Timothy Wall
* recorder/ComponentRecorder.java (parseClick): Fix bug which
masked certain InputEvents following MouseEvents (pickens).
* recorder/EventRecorder.java: Strip key press/release at
beginning/end of recording.
* ScriptEditor.java: Cull duplicate key events pre-1.4.
* recorder/Recorder.java: Ditto.
* recorder/EventRecorder.java (captureRawEvent): Don't need to cull
duplicate key events any longer.
* recorder/EventRecorder.java (getSemanticRecorder): Properly
cache recorders for inner classes (pickens).
* ComponentPropertyModel.java (isAccessibleGetterMethod): Don't
display getTag or getTester in the list of available properties.
2003-03-27 Timothy Wall
* recorder/ComponentRecorder.java (ComponentRecorder): Filter out
tooltip events (pickens).
* recorder/WindowRecorder.java: Record window_closing events.
2003-03-25 Timothy Wall
* actions/CommandHistory.java: New. Command history/undo support.
* actions/NoUndoException.java: Ditto.
* actions/UndoableCommand.java: Ditto.
* editors/AnnotationEditor.java: New. Annotation editing.
* ScriptEditor.java (launch): Re-enable components on the event
dispatch thread. Don't respond to manual settings of combo boxes.
* Costello.java: Add some OSX 1.4 checking.
* EditorConstants.java: Add annotation menu item.
* ScriptEditorFrame.java: Ditto.
* editors/StepEditor.java: Add text area creation. Clean up
component management.
* editors/CommentEditor.java: Use base class facilities.
2003-03-10 Timothy Wall
* ScriptEditor.java: Factor out input state tracking.
(isRecorderStart/isRecorderStop): 1.4 doesn't send multiple key
events to outer components, so account for that.
2003-03-09 Timothy Wall
* ComponentBrowser.java (fireHierarchyChanged): Don't bother
notifying updater if the component is disabled; it will
automatically reload when re-enabled (pickens).
* editors/EventEditor.java: New. Editor for raw AWT events.
* editors/StepEditor.java: Provide a combo box for selecting among
component references.
* recorder/EventRecorder.java: Make enter/exit mouse events become
motion events.
* recorder/Recorder.java: Use single-threaded event listener.
2003-02-23 Timothy Wall
* ScriptEditorFrame.java (dispose): Add missing call to super.dispose.
2003-02-22 Timothy Wall
* recorder/EventRecorder.java: Use Event instead of SendEvent.
* editors/EventEditor.java: New. Editor for raw events.
* ScriptEditor.java (isRecorderStart): Make sure recorder doesn't
start again immediately after stopping. Change editor functions
to use shift+FN. Remove single-action recorders, as they're not
terribly useful.
2003-02-18 Timothy Wall
* recorder/Recorder.java (eventDispatched): Don't recursively
invoke eventDispatched, which will botch the order of deferred
events; sequentially process events instead.
* ScriptEditor.java (eventDispatched): Ditto.
2003-02-07 Timothy Wall
* ScriptEditor.java (eventDispatched): Ensure that deferred events
will actually get processed at some later point.
* recorder/Recorder.java (eventDispatched): Serialize all events
to be dispatched on the event dispatch thread *only*.
2003-02-07 Timothy Wall
* recorder/JComponentRecorder.java (createActionMap): Use
JComponent class when creating a new action.
2003-02-01 Timothy Wall
* recorder/ComponentRecorder.java (createWindowEvent): Use window
name over title or tag, if available.
2003-01-15 Timothy Wall
* ScriptModel.java (ScriptModel): Fix step move operation when a
sequence is open.
* ScriptEditor.java (setTestSuite): Use error/warning dialogs
instead of printing dialog warnings (toddster).
2003-01-14 Timothy Wall
* recorder/ComponentRecorder.java: Allow for some
1.4.1 intervening events on a multiple click.
2003-01-13 Timothy Wall
* recorder/ComponentRecorder.java: Modifier keys terminate an
input method sequence. Absorb key release events after input
method events on OSX (may need to do this on other platforms).
* recorder/EventRecorder.java: Prune option key on OSX when it
appears to have surrounded an input method event.
2003-01-02 Timothy Wall
* recorder/ComponentRecorder.java: Terminate input method
recording after every commit.
2002-12-27 Timothy Wall
* ScriptEditorFrame.java: Add apple-specific about handler. Use
improved text field for script description.
* ScriptEditor.java: Add apple-specific quit handler.
* TextField.java: New. Refactor improved text field...
* editors/StepEditor.java: ...from here.
2002-12-17 Timothy Wall
* recorder/ComponentRecorder.java (parseClick): Account for
forwarded mouse clicks.
* ScriptModel.java (setValueAt): Don't hold lock when posting to
event queue.
2002-12-14 Timothy Wall
* ScriptEditor.java: Remove security manager on exit.
(dupScript): subsumed into newScript, since functionality was
almost identical.
(newScript): ensure file exists when creating a new script, since
scripts now require all referenced files to exist.
2002-12-11 Timothy Wall
* EditorConstants.java: Add close menu item.
* ScriptEditor.java: Ditto.
* ScriptEditorFrame.java: Ditto.
* editors/AssertEditor.java: Handle invalid class names.
* editors/CallEditor.java: Ditto.
* recorder/Recorder.java: Ensure recorder is always removed from
listening prior to creating a step. Also ignore events if
suspended, terminated, or canceled.
2002-12-09 Timothy Wall
* recorder/Recorder.java (recordEvent): Don't record events to
filtered components.
2002-12-08 Timothy Wall
* ComponentPropertyModel.java (setComponent): Include properties
provided by ComponentTester classes.
2002-12-07 Timothy Wall
* recorder/JComboBoxRecorder.java: Save value instead of index, if
possible.
* ScriptEditorFrame.java: Save view settings.
* ComponentPropertyModel.java: Include hasXXX.
* editors/StepEditor.java: Provide a combo box method.
* editors/CallEditor.java (getMethodNames): Use a combo box for
method name selection.
* editors/ActionEditor.java: Ditto.
* editors/AssertEditor.java: Ditto.
* editors/LaunchEditor.java; Ditto.
* Preferences.java: New. Persistent editor preferences.
2002-12-06 Timothy Wall
* editors/StepEditor.java (isLocalMenuActive): Ensure changes are
propagated when focus leaves a text field.
* recorder/AbstractButtonRecorder.java: Ignore multiple clicks.
* recorder/JComboBoxRecorder.java: Ditto.
* recorder/JListRecorder.java: Handle multiple clicks.
* recorder/ComponentRecorder.java: Ditto.
* recorder/JTabbedPaneRecorder.java: Ditto.
* recorder/JTableRecorder.java: Ditto.
2002-12-05 Timothy Wall
* editors/LaunchEditor.java (actionPerformed): Remove extraneous
fields.
2002-12-04 Timothy Wall
* recorder/JTextComponentRecorder.java (createDrop): Supply class
when creating the action, so that the JTextComponentTester is
properly identified on playback.
2002-12-03 Timothy Wall
* ComponentBrowser.java (setSelectedComponent): Ignore transient
popups. Update reference list in response to resolver changes.
* ComponentNode.java: Abstract transient popup check.
* recorder/Recorder.java: Ditto.
* ScriptEditor.java: Get rid of add/remove event handler cruft.
Extract EventExceptionHandler class.
(setStatus): Provide stack trace information on errors.
* ScriptEditorFrame.java: Provide for extended status
information. Fix size of status window.
* editors/ScriptEditor.java: Change method signature for file path.
2002-12-02 Timothy Wall
* ScriptEditor.java (ScriptEditor): Recursively save scripts.
2002-12-01 Timothy Wall
* recorder/WindowRecorder.java: Don't record windows that aren't
yet open.
* ComponentBrowser.java (fireHierarchyChanged): Update hierarchy
table when re-enabled.
2002-11-30 Timothy Wall
* recorder/JComboBoxRecorder.java (parseClick): Gracefully handle
drags (fixes NPE bug).
* recorder/JTextComponentRecorder.java: New. Capture text
selections.
* recorder/ComponentRecorder.java: Clean up drag handling.
* recorder/EventRecorder.java: Keep track of when a new recorder
is started.
* recorder/JComponentRecorder.java: Capture action map actions.
2002-11-25 Timothy Wall
* ScriptEditor.java: Use a separate lock for the mouse tracker.
* ComponentPropertyModel.java (setComponent): Only look up public
property methods, and show warnings when property values are
inaccessible.
2002-11-24 Timothy Wall
* ScriptEditor.java (actionPerformed): Refer to ScriptFixture
instead of ScriptTestCase.
2002-11-23 Timothy Wall
* script/Script.java: Simplify ctors.
* ScriptEditor.java (newScript): Use new Script ctors.
* ScriptModel.java: Ditto.
* script/Call.java: Delegate script parse error tracking to Step.
* script/Step.java: Provide facility for noting script errors.
Make factory method dynamically look up step classes.
* script/Launch.java: Leave threading up to the StepRunner.
* script/Sequence.java: Pass script errors to base Step class.
Simplify ctors.
* script/StepRunner.java: Thread launch steps, if necessary, and
catch their results. Track launch step instead of class loader.
2002-11-22 Timothy Wall
* ScriptEditor.java (initFrame): Unify status colors with script
table colors.
* ComponentBrowser.java (getComponentForReference): Provide a
component even if more than one were found.
(setComponentReference): Print multiple components more nicely.
* recorder/ComponentRecorder.java (ComponentRecorder): Capture
certain keys as keystrokes rather than character input.
2002-11-21 Timothy Wall
* ScriptEditor.java (actionPerformed): Add insertCall function.
* ScriptEditorFrame.java (ScriptEditorFrame): Ditto.
* EditorConstants.java: Ditto.
* editors/CallEditor.java (CallEditor): New.
* editors/AssertEditor.java: Derive from CallEditor.
* editors/ActionEditor.java: Ditto.
* editors/LaunchEditor.java: Ditto.
2002-11-14 Timothy Wall
* recorder/ComponentRecorder.java (createAWTMenuSelection): Fix
bug setting incorrect method call.
2002-11-11 Timothy Wall
* recorder/Recorder.java: Refactor hierarchy event handler.
2002-11-10 Timothy Wall
* recorder/ComponentRecorder.java: Use simplified version checking.
* recorder/Recorder.java: Ditto.
2002-11-10 Timothy Wall
* ScriptEditor.java: Disable entire UI while script is running or
being launched.
2002-11-09 Timothy Wall
* ScriptEditorFrame.java (initComponents): Add non-modal status
window for long status messages. Don't export status label.
* ScriptEditor.java (getDirectory): Method added to Resolver interface.
* editors/AssertEditor.java: Step might change more internal state
when inverted/value are set.
2002-11-07 Timothy Wall
* ScriptEditor.java (eventDispatched): Release lock on deferred
event list prior to dispatching an event.
* recorder/Recorder.java (suspend): Add suspend/resume to recorder.
* recorder/EventRecorder.java (insertStep): Allow manual insertion
of steps into the recorder's stream.
2002-11-05 Timothy Wall
* ScriptEditor.java (addStep): Only use cursor location for
determining where to insert steps, not the selection. Don't
terminate recorder if app not yet launched.
* ScriptModel.java (insertStep): Throw IllegalArgumentException if
arguments are out of bounds.
* recorder/Recorder.java: Add debug output.
2002-11-03 Timothy Wall
* ComponentBrowser.java (ComponentBrowser): Ignore hierarchy
changes on filtered windows.
2002-10-29 Timothy Wall
* Costello.java: Hide 1.4.1 VM window dispose bug.
2002-10-28 Timothy Wall
* ScriptModel.java (insertStep): Special case inserting a step
with no existing steps.
2002-10-27 Timothy Wall
* ScriptEditor.java (addStep): Refactor step movement/insert
functionality into ScriptModel.
(eventDispatched): Add workaround to prevent a common application
startup deadlock, typically triggered by Window.show().
* ScriptModel.java: Ditto.
* recorder/ComponentRecorder.java: Save tab key as keystrokes.
* recorder/EventRecorder.java: Use F2 as terminator.
2002-10-26 Timothy Wall
* ScriptEditor.java: Use F1, F2 for convenience in selecting
components and start/stop recording.
* ScriptEditorFrame.java (showAboutBox): Add about box.
2002-10-22 Timothy Wall
* recorder/*.java: Ensure full method names are used when creating
new actions.
* ScriptEditor.java: Expect runner to throw.
2002-10-19 Timothy Wall
* ScriptEditorFrame.java: Add runto menu item.
* ScriptEditor.java: Add runto option. Move action here...
* actions/EditorActions.java: ...from here. Obsolete.
* ScriptEditor.java: Use a dedicated class (StepRunner) to run
scripts. This allows more control over script execution than if
the script itself controls it. stop on error/failure options are
on the runner now.
* ScriptModel.java: No need to listen to script any longer.
* ScriptTable.java: Leave step coloring up to subclassing.
2002-10-18 Timothy Wall
* recorder/ComponentRecorder.java: Accumulate input method text.
Create keystrings instead of keystrokes on key_typed events, since
keystrokes depend on a reverse char->keycode map which isn't
always available.
* recorder/EventRecorder.java: Coalesce key strokes into a key
string where possible. Accumulate multiple key strings into a
single event.
2002-10-17 Timothy Wall
* Costello.java: Widen splash screen for French formatting.
* i18n/Resources.java: Only warn about missing resources if asked
(abbot.editor.show_missing_resources).
* recorder/EventRecorder.java (eventNames): Add InputMethod.
* recorder/SemanticEvents.java: Ditto.
* recorder/ComponentRecorder.java: Ditto.
2002-10-15 Timothy Wall
* ScriptEditor.java (saveScript): Accomodate canonical
File.canWrite usage. Allow checkExit from methods that aren't
really exiting. Don't let code under test install its own event
thread exception handler.
Provide a separate motion-tracking recorder.
2002-10-11 Timothy Wall
* Costello.java: Catch NPE bugs on OSX. Provide access to the
splash screen itself for bug checking.
* editor/ScriptEditor.java: Fix NPE when no script is specified.
Check for w32 bugs on startup ([email protected]).
2002-10-10 Timothy Wall
* editors/ScriptEditor.java: Add vm args. Warn if save file is
not writable.
* ScriptEditor.java: Handle extra VM args.
* action/EditorActions.java: Add vmargs action.
* EditorConstants.java: Ditto.
2002-10-08 Timothy Wall
* ScriptEditor.java: Let the component browser update itself.
* ComponentBrowser.java (ComponentBrowser): Ensure the browser is
always updated from the appropriate context.
2002-10-05 Timothy Wall
* recorder/EventRecorder.java: Use Action methods instead of
Step.toString hack.
* editors/AssertEditor.java: Add missing arguments field.
* ComponentBrowser.java: Clean up reloading.
* ComponentNode.java: Ditto.
* Costello.java: Clean up splash label.
* ScriptEditor.java: Avoid potential event thread deadlock.
* recorder/*Recorder.java: Use full method names when creating
actions/asserts.
* ScriptEditor.java: Look first in resources for action
descriptions, then look in system properties.
* i18n/Resources.java: Change optional property suffixes. Return
null if resource not found; if someone wants to have the key be
the default, they can provide the function.
* i18n/Strings.java: Remove STR_ constants.
* ScriptEditorFrame.java, ScriptModel.java, TestSelector.java,
ComponentBrowser.java, ComponentNode.java,
ComponentPropertyModel.java: Reference resource bundle directly.
2002-10-03 Timothy Wall
* ScriptModel.java (toString): Use proper Script representation in
table.
* i18n/Resources.java: Fall back to default resource, then the key
itself. It's not useful to have a missing resource exception; log
a warning instead on program exit.
* ScriptEditor.java: Update assert/wait creation.
* recorder/ComponentRecorder.java: Ditto.
* editors/AssertEditor.java: Add wait options.
* editors/StepEditor.java: Add a border.
2002-10-02 Timothy Wall
* recorder/EventRecorder.java: i18n.
* Costello.java (main): Provide some splash window standout on
platforms that needed.
2002-09-30 Timothy Wall
* i18n/*: Move i18n resources to top level, auto-generate from
build script.
2002-09-30 Timothy Wall
* i18n/StringsBundle_fr_FR.properties: New french translations.
* i18n/StringsBundle_en_US.properties: Add full descriptions for
aid in translation.
2002-09-29 Timothy Wall
* editors/CommentEditor.java (CommentEditor): New.
* EditorConstants.java: Add insert comment option.
* ScriptEditor.java: Ditto.
* ScriptEditorFrame.java: Ditto.
* actions/EditorActions.java: Ditto.
* ScriptModel.java: Don't need custom Step stringification any
more.
2002-09-28 Timothy Wall
* ComponentBrowser.java: Clean up UI sizing.
* ScriptEditor.java: Make sure inserted scripts are file-relative.
* ScriptEditorFrame.java: Ditto.
* ScriptTable.java: Ditto.
* editors/StepEditor.java: Implement Scrollable.
* editors/ScriptEditor.java: New.
* editors/SequenceEditor.java: New.
* editors/*.java: Support step data changes.
* recorder/EventRecorder.java: Add InputMethod events.
* editors/{Action,Assert,Launch,Step}Editor.java: New editors.
* ScriptEditor.java: Only provide xml editing when no editor is
provided. Move editor lookup to StepEditor. Disable editor
selection while script is running.
* ScriptEditorFrame.java: Fix compiler warning. Maintain step
editor size.
* ScriptModel.java: Listen to step edits.
* ScriptTable.java: Provide selected Step access.
* i18n/*.properties: Add step editor strings.
2002-09-26 Timothy Wall
* ReferencesModel.java: Catch an invalid script exception, not
IllegalArgument, and show a dialog when we get it.
* ScriptEditor.java: Catch Invalid script errors.
* ScriptModel.java: Update to use jdom.
* editors/XMLEditor.java: Ditto.
2002-09-24 Timothy Wall
* ScriptEditorFrame.java: Keep step editor sizes more stable.
2002-09-23 Timothy Wall
* recorder/ComponentRecorder.java (accept): Support AWT menu
selections.
* recorder/EventRecorder.java: Ditto.
* recorder/Recorder.java: Ditto.
* ComponentNode.java: Accomodate MenuComponents.
* ComponentBrowser.java: Ditto.
* ScriptEditor.java: Catch ActionEvents, since that's sometimes
the only event we can get from an AWT menu component.
* Costello.java: No screen menu bar for OSX, it's buggy.
2002-09-22 Timothy Wall
* ComponentBrowser.java: Reduce split pane divider sizes. Set
scroll pane background color.
* Costello.java (main): Use screen menu bar if not under test.
* EditorConstants.java: Move Accelerator key generation here. Add
slow script option.
* ScriptEditor.java: Add slow script option handling. Add
preliminary step editor loading.
* ScriptEditorFrame.java: Move some string constants here. Add
some padding around top row. Support step editors.
* actions/EditorAction.java: Simplify ctor.
* actions/EditorToggleAction.java: Ditto.
* actions/EditorActions.java: Ditto.
* icons/*.gif: Rename to match i18n keys.
* i18n/Strings.java: Move out some constants.
* i18n/*.properties: Add some more keys. Add accelerators and
mnemonics.
2002-09-20 Timothy Wall
* ComponentBrowser.java (eventDispatched): Avoid event storms in
1.4 (1.4 spews far more HIERARCHY_CHANGE events).
* ScriptEditor.java: Explicitly set test script selector enabled
if there's a test suite.
2002-09-20 Timothy Wall
* ScriptEditor.java (stateChanged): Don't rely on reference equality.
Add script fork toggle option.
* EditorConstants.java: Add script fork toggle option
* ScriptEditorFrame.java: Ditto.
* i18n/*: Add forking strings.
2002-09-18 Timothy Wall
* ScriptEditor.java (setStatus): Clean up setStatus(Step) and use
MessageFormat for error/warning/failure.
* i18n/*: Support above changes.
2002-09-17 Timothy Wall
* ComponentBrowser.java: Reload on window closing/closed events.
* ScriptEditor.java (ScriptEditor): Add an event dispatch
exception handler to avoid console spewage on application under
test exit. Remove more ComponentFinder dependencies, update ref
lookup signature. Catch script errors and display them in a
dialog. Fix NPE in SaveAs.
* ScriptModel.java: Show dialogs on error.
* recorder/ComponentRecorder.java (parseMenuSelection): Fix popup
parsing bug on w32 (popup doesn't show until after MOUSE_RELEASE).
2002-09-17 Timothy Wall
* i18n/Resources.java (load): Add exception handling (maybe 1.4
added the thrown exception -- 1.3 didn't have it).
* recorder/EventRecorder.java: Use explicit package name.
* ComponentBrowser.java: Get rid of some redundant borders.
* ScriptEditor.java: Don't need to keep track of the recorder
action listener.
* ScriptEditorFrame.java: Remove some unused fields.
* recorder/*Recorder.java: Remove ComponentFinder dependencies.
2002-09-16 Timothy Wall
* ComponentBrowser.java (ComponentBrowser): More i18n.
* TextFormat.java (dialog): Ditto.
* TestSelector.java (TestSelector): Ditto.
* i18n/Strings.java, *.properties: New strings added.
* ComponentPropertyModel.java (ComponentPropertyModel): List
uninteresting properties to be filtered rather than the inverse.
2002-09-15 Timothy Wall
* i18n/StringsBundle_en_GB.properties: New
([email protected]).
* i18n/StringsBundle_en_US.properties: Fix typo, add default
launch description.
2002-09-14 Timothy Wall
* ScriptModel.java (setValueAt): Reset the default placeholder
launch description once the step has been edited.
* ScriptEditor.java (stopListening): Remove ComponentFinder linkage.
* recorder/*Recorder.java: Remove ComponentFinder from ctor, since
chained ComponentFinders are no longer required.
Remove ActionListener from ctor to simplify derived class ctors.
* recorder/WindowRecorder.java: New.
* recorder/FrameRecorder.java: New.
* recorder/DialogRecorder.java: New.
2002-09-13 Timothy Wall
* recorder/ContainerRecorder.java (ContainerRecorder): New. For
consistency.
* recorder/WindowRecorder.java (parseWindowEvent): New. Record
window move and resize.
* Costello.java (main): Oops, don't enable screen menu bar until
it's fixed (Jaguar?).
2002-09-13 Timothy Wall
* ComponentBrowser.java (ComponentBrowser): Ensure hierarchy is
updated when new windows appear.
2002-09-12 Timothy Wall
* ScriptEditor.java: Use Throwable.toString instead of getMessage.
* ScriptModel.java: Row of script itself is -1.
2002-09-11 Timothy Wall
* ComponentBrowser.java (setSelectedComponent): Major rework of
component browser selections and messaging. Fix step insertion
errors as well as some other minor bugs.
* ComponentBrowserListener.java: New.
* ScriptEditor.java: Implement listener.
(addTesterMethodStep): refactor from editor action. editor action
now only collects the arguments. Don't try to load icons unless a
property has been set for the action.
* ComponentPropertyModel.java (setComponent): Optimize for loading
speed. Provide manifest constants for data access.
2002-09-10 Timothy Wall
* ScriptEditor.java (insertStep): Use getTester methods from
ComponentTester rather than ComponentFinder.
2002-09-10 Timothy Wall
* ScriptEditor.java: Revise editor context setup, now
that dynamic class loading is working properly. Root context is
determined by the editor's class loader.
2002-09-08 Timothy Wall
* ScriptEditor.java (browseTests): Don't clear test suite if no
others found.
* Costello.java: Set up OSX properties.
* ScriptEditorFrame.java: Use a more maintainable layout.
2002-09-07 Timothy Wall
* ScriptEditorFrame.java (ScriptEditorFrame): Use i18n resources.
* actions/EditorActions.java (createActions): Ditto.
* ScriptEditor.java (eventDispatched): Terminate recording rather
than canceling it. Keep recording if there's an app thread
running. Use resource bundle properties for documentation
properties.
* i18n/Strings.java: Remove unused entry. Add more entries.
* i18n/StringsBundle*: Ditto.
* recorder/Recorder.java: Add terminate method, to explicitly
indicate that the recorder is done.
2002-09-06 Timothy Wall
* i18n/Strings.java: Add i18n resources.
* i18n/StringsBundle_en_US.properties: US English translations.
(Title): Remove extraneous character.
* EditorConstants.java: Extend string resource IF.
* ScriptEditor.java: Extract most strings to resource bundle.
(checkExit): Allow exit on startup errors.
2002-09-03 Timothy Wall
* ScriptEditor.java: Move security manager to inner class.
2002-09-02 Timothy Wall
* ScriptEditor.java: Consolidate editor action data into
EditorActions.
* ScriptEditorFrame.java: Refactor menu generation.
* EditorConstants.java: Remove unused constants.
* ScriptEditorJMenuBar.java: Removed.
* actions/EditorAction.java: Renamed from AbstractEditorAction.
* actions/EditorToggleAction.java: Renamed from
AbstractEditorToggleAction.
* actions/*Action.java: Removed. Data moved to EditorConstants.
2002-08-31 Timothy Wall
* ScriptEditor.java (runScript): Add menu doc strings for new
actions. Don't generate updates for ComponentBrowser, but do
disable it during launch.
* ComponentBrowser.java (ComponentBrowser): Update self from
hierarchy changes instead of depending on editor to do it.
* ComponentNode.java: Use default finder instance.
2002-08-29 Timothy Wall
* Costello.java: Remove anonymous class to reduce startup load
overhead.
2002-08-27 Timothy Wall
* ScriptEditor.java (insertLaunch): Default to delegating class
loader instead of non-delegating.
2002-08-26 Timothy Wall
* ScriptEditor.java (record): Don't listen to events until we
start recording. Avoid logging events on filtered components,
since toString(event) can be slow (as per kgirard).
(eventDispatched): Only log events on components with a
non-filtered frame.
2002-08-22 Timothy Wall
* ScriptEditor.java (wantMnemonics): Use Platform functions.
* ScriptEditorJMenuBar.java: Ditto.
2002-08-18 Timothy Wall
* ScriptEditor.java (getWorkingDirectory): If no test suite, use
the directory of the current script.
2002-08-15 Timothy Wall
* ScriptEditor.java (main): Pack and show main window on the event
dispatch thread to avoid deadlocks. NOTE: while setText on the
status bar doesn't need to be on the event thread, setForeground
and setToolTipText do b/c they directly affect the native peer
and/or other AWT resources.
Also make sure splash screen isn't prematurely disposed.
(getChooser): Set default directory in file chooser to be the
current working directory, which is preferable to the user home
directory.
2002-08-14 Kyle Girard
* ScriptEditor.java: fixed the save-as feature. Script actually
saves then the save button is pressed and if script doesn't belong
to a suite the script selctor is disabled
2002-07-31 Timothy Wall
* ComponentBrowser.java: Use new componentsMatch signature.
* ComponentNode.java: Only match class name prefix, since the last
part may vary depending on whether you get a Window, Panel, or
something else.
* Costello.java (main): Add a splash screen.
* ScriptEditor.java (insertScript): Defer creation of file chooser
to speed startup. Instantiate available flavors of EventRecorder.
(runScript): Don't save the script prior to running.
(quit): Close windows more quickly on exit.
(setStatus): Set text field text on Swing thread.
(addComponentPropertyCheck): Reorganize call structure to make the
component class available.
2002-07-26 Timothy Wall
* ScriptEditor.java (populateCaptureMenu): On script
failure/error, leave "launch" disabled, but enable "run" and
"terminate", if applicable.
2002-07-23 Timothy Wall
* ScriptEditorFrame.java (ScriptEditorFrame): Provide access to
enabled state of actions.
* ScriptEditor.java (populateCaptureMenu): Launch the app if
starting a recording and it's not launched.
2002-07-17 Timothy Wall
* EventRecorder.java (coalesceKeyStrokes): Don't save mods arg if
there isn't one.
* ComponentRecorder.java (createStep): Ditto.
* ScriptEditor.java (eventDispatched): Fix some of the hierarchy
event NPE spewage by automatically filtering script editor subwindows.
2002-07-16 Timothy Wall
* ScriptEditor.java (eventDispatched): Don't look at or respond to
certain events if a test is running.
2002-07-15 Timothy Wall
* ScriptEditor.java (setStatus): Use better checking for tertiary
mouse click.
2002-07-13 Timothy Wall
* ScriptEditor.java (launch): Make sure terminate is enabled even
if launch fails.
2002-07-12 Timothy Wall
* ScriptEditor.java (initFrame): Customize the frame's dispose
method so that applications under test cannot dispose the frame.
2002-07-11 Timothy Wall
* ScriptEditor.java (launch): Suppress problematic component
refresh (JTree) while the GUI under test is launching or the
script is running.
2002-07-10 Timothy Wall
* ScriptEditor.java (initContext): Use factory method to obtain a
ComponentFinder.
2002-07-04 Timothy Wall
* ComponentRecorder.java (parse): Drop duplicate key typed events.
* EventRecorder.java: Put event capture into its own method.
* ScriptEditorFrame.java: Move ctors up.
* SemanticRecorder.java: Clear up javadoc.
2002-07-03
* ScriptEditor.java: Fixed bug which just inserted another launch
and terminate when there was already a script loaded.
2002-06-27 Timothy Wall
* ComponentRecorder.java: Use new finder method names.
* ScriptEditor.java: Clean up event logging.
2002-06-25 Timothy Wall
* ComponentRecorder.java (parse): Handle popups on mouse button
release.
* ScriptEditor.java (initSecurityManager): Avoid annoying A: drive
bug on w32.
2002-06-24 Timothy Wall
* ScriptEditorFrame.java (ScriptEditorFrame): Move more of the
GUI-specific stuff here from ScriptEditor.
* ScriptEditorJMenuBar.java (createMenu): Only set mnemonics where
appropriate. Strip down to basics and keep it simple.
* ScriptEditor.java: Move more GUI stuff out.
* actions/*.java: Give actions unique integer IDs, and use these
when notifying the action listener.
* EditorConstants.java: New. Menu and menu item IDs. Could
probably also be used for string constants.
2202-06-24 Kyle Girard
* ScriptEditor.java Added the accelerators back in (oops)
* ScriptEditorJMenuBar.java removed the large number of get methods
in favour of one get method
2002-06-24 Timothy Wall
* ComponentNode.java (toString): Use standard ComponentTester
toString function for components.
* actions/AbstractEditorAction.java: Define other modifier mask
strings.
* ScriptEditor.java: Hide must be within try block to avoid Sun
bug NPE.
2002-06-20 Timothy Wall
* ComponentNode.java (getChildCount): Move filtering of transient
popup windows here.
* DefaultComponentFinder.java: From here.
2002-06-19 Timothy Wall
* ScriptEditor.java (ScriptEditor): Remove obsolete event
intervention.
* ScriptEditorFrame.java: Ditto.
* Recorder.java (enableHierarchyEvents): Use a method of checking
for a protected class that doesn't make the compiler complain.
2002-06-19 Kyle Girard
* ScriptEditor.java split ScriptEditor into View/Controller
all GUI components are in ScriptEditorFrame and ScriptEditorJMenuBar
* added ScriptEditorFrame.java
* added ScriptEditorJMenuBar.java
* moved CustomCheckBoxMenuItem.java into it's own class
2002-06-18 Timothy Wall
* ScriptEditor.java (launch): Make sure the script launch is
explicitly threaded. Ensure launch/terminate actions are
enabled/disabled on changes to the script steps, as well as on
launch/terminate.
* ComponentBrowser.java (getReferenceListSelection): Return null
if there is no selection.
* Recorder.java: Use isAssignableFrom instead of string comparison
on class name.
2002-06-17 Timothy Wall
* TextFormat.java: Support for tooltips/dialog text formatting.
* ComponentBrowser.java: Display a tooltip for the property
assertion button to indicate wait/invert alternatives.
2002-06-13 Timothy Wall
* EventRecorder.java (coalesceKeyStrokes): Clean up text capture,
accomodate lack of KEY_TYPED events.
* Recorder.java: Remove duplicate logging.
* ComponentBrowser.java: Update label for property assertion button.
* ScriptEditor.java (createMenuBar): Rename Run menu to Test.
Abstract key codes for invert/wait toggles.
2002-06-12 Kyle Girard
* ScriptEditor.java Removed the press alt to switch Assert to Wait.
Assert and Wait might be combined... the jury's still out
* ScriptEditor.java Moved Assert and Wait Menus into the Insert Menu
* ScriptEditor.java Removed the "Insert" label from items in the
Insert Menu
* ScriptEditor.java No longer have to hold shift the entire time you
enter wait/assert information in order to invert the action
2002-06-12 Timothy Wall
* ComponentRecorder.java: Move isModifier into Recorder.
On linux, ignore ICONIFIED as part of window closing.
* EventRecorder.java: Coalesce key press/typed/release events.
Remove redundant press/release events. Do both of these just
prior to creating the final sequence.
* Recorder.java: Added isModifier.
2002-06-11 Timothy Wall
* ScriptEditor.java (runScript): Make sure new threads are started
under the appropriate thread group.
* ComponentBrowser.java: Show all components found in a warning,
for debug purposes. Eventually want this to go in the gui somewhere.
2002-06-10 Timothy Wall
* ComponentRecorder.java (createStep): Use correct Action ctor for
activating a Window. Allow some intervening events when recording
a click, and require a release before a click is recorded.
* actions/SaveAsScriptAction.java (SaveAsScriptAction): Reinstate.
* ScriptEditor.java (addStep): Fix duplicate fixture command. Fix
up some menu shortcuts and ordering. Reinstate saveas, delete
actions.
(eventDispatched): Cancel recording if there are no application
windows left open (required to stop an EventRecorder, since there
is no cancel event for that recorder).
* Recorder.java: Some refactoring for hierarchy events, planning
to avoid some bugs in 1.3 awt implementations.
2002-06-09 Timothy Wall
* ScriptEditor.java (initActions): Revert "Save As" to "Rename".
Clean up menu generation and labels. No mnemonics on Macs.
(main): Serious menu cleanup.
(dupScript): Include wait for frame showing if there is one, since
this is a common step after launch.
* actions/*.java: Ditto.
2002-06-08 Timothy Wall