Many of the browsers and inspectors now have horizontal scroll bars.
In most cases, these additions required changing
existing code and could not be made using Envy
extensions.
For more details on what code was changed, see the following places in
the code:
CTSystemConfigurationBrowser>>openOn:
ETBrowser>>hierarchicalListWidget:changeSelector:
menuSelector:printBlock:statusBlock:min:max:
doubleClick:initialSelection:hasChildrenSelector:
childrenSelector:parentSelector:showing:
grayItem:hierarchySelector:
ETBrowser>>multiSelectionListWidget:changeSelector:
menuSelector:printBlock:statusBlock:
min:max:doubleClick:initialSelection:
ETDoubleListChooser
class>>prompt:chooseFrom:
printBlock:dependentListBlock:dependentPrintBlock:
The standard emulation of scroll bars in VisualWorks has no way of
controlling how fast the scroll bars respond to repeated mouse clicks
or a mouse button being held down.
This can lead to scrolling down a page or more further than was
intended or to scrolling
through a list faster than it can be read. This can be especially
aggravating when using Application
Manager or Configuration
Maps browsers.
Through an Envy extension and code in the supplied DevTools workspace,
the speed can be adjusted to an acceptable response rate.
After the DevTools are loaded, any new windows that are opened will
respond to the set speeds and will automatically adjust their response
rate as the speed settings are changed.
See the classes and extensions in the DevToolsScrollingApp
and any of its subapplications
for additional
details.
When
a new SortedInspector
is opened
from another SortedInspector, the
new one will try to open down and to the right of its parent
SortedInspector.
This
Cascading SortedInspectors feature
works best if the Window tab
of the File | Settings dialog
is set to Automatic placement.
For additional details on this “automatic
cascading” see SortedInspector>>initialPositionFor:
and its callers.
When many new browser windows are opened from another browser window,
the
new one will try to open down and to the right of its parent window.
This
feature works best if the Window
tab of the File | Settings
dialog is set to Automatic placement.
This Cascading Browsers
feature can
be turned on or off using code in the supplied DevTools
workspace.
For additional details on this “automatic
cascading” see EtBrowser>>openNoTerminate
and its callers.
In many of the code browsers and the Debugger window, the Source
button has been shrunk on the right hand side. This makes it less
likely for the button to be accidentally pressed when an attempt is
made to press the "down arrow" part of the scroll bar in the pane above.
For additional details on this button resizing see EtAbstractMethodsBrowser>>addInformationLineTo:, EtDebugger>>createWindow
and their callers.
Envy has always provided a way to set the default window sizes for
their browsers, but the feature has not been well-publicized. Code is
provided in the supplied DevTools workspace to make it easy to set
the default sizes for small as well as larger screen sizes.
This
feature works best if the Window
tab of the File | Settings
dialog is set to Automatic placement.
For additional details on the default browser window size see EtBrowser class>>defaultWindowSize
and its callers.
Some of the features in the DevTools could not be implemented using
Envy extensions. Modifications to existing VisualWorks,
ControlWORKS
or Envy code were required. Every existing method that was changed has
a notation in the code. It is in the form of a call to a method in Object.
Object>>developmentToolsDestructiveChange
is provided as the first extended method in the DevelopmentTools
Envy Application.
Because some of the modified methods execute during the application and
config map loading process, the DevelopmentTools
application must be loaded before any of the other modified
applications. If this is not done, the image could lock up during the
loading process.
For a complete listing of the modified methods, browse the callers of Object>>developmentToolsDestructiveChange.