This provides a way for the classes in
selected applications to be
searched to see if any of their methods contain a specified string.
The search only operates on visibly selected applications and
subapplications. If a selected application has subapplications but the
application is collapsed in the list pane, then only the classes in
the top level application will be searched. Expand the application
and
also select its subapplication to insure that all the classes will be
searched.
When the menu item is chosen, a dialog box is presented with an
entry field for the search string.
Wildcard
characters ‘*’ can be put in the string, but it is not
necessary to add them either at the beginning or end of the string. If
they are
not
there, they will be added automatically before the search starts.
After
the OK
button is
pressed, a dialog box will be presented to show the progress of the
search. Clicking on the Cancel
button at any time will abort the search.
When
a search has completed, if any methods are
found that contain the specified string, a standard method
browser window will be opened showing those methods. If no methods
are
found,
a
dialog box with the text “No methods found” will be presented.
The menu item find
string... on the Application pane pop-up menu can be removed
using code in the supplied DevTools
workspace.
See EtApplicationManager>>searchAppsForString and its callers
for additional
details.
Starting at the selected application, the
list of applications and subapplication will be searched for the next
one that is considered a scratch edition. If the end of the list is
reached, the search continues at the first application at the start of
the list. If
a scratch edition is found, it is automatically selected. If none are
found, a dialog
will be presented with the text “No scratch editions found.”
This menu choice can be especially useful
during the versioning process to insure that all changes have been
saved
into full versions of their applications.
The menu item find
next scratch edition on the Application pane pop-up menu can be
removed from the menu using code in the supplied DevTools
workspace.
See EtApplicationManager>>searchForNextScratchEdition and its callers for additional details.
This
browser works in conjunction with the version | name each
with comments ... menu item. Any
comments associated with
the versions of selected application can be viewed using it.
Select the version name in the upper pane
and its comments will be displayed in the lower pane.
As with other version browsers, if an “*”
is in front of the version name, then that version of the application
is
the currently loaded edition.
If the name of a currently loaded
Application edition is double clicked with the mouse, an Application
browser will be opened on that edition of the class. If name of an
unloaded Application edition is double clicked, a ShadowApplication
browser will be opened on that edition of the class. This
feature can be turned on or off the using code in the supplied
DevTools
workspace.
Unlike the version comments
for classes,
the comments of application versions can be modified and saved using
the
text pane’s pop-up menu or using a keystroke if the acceptKey: method
is mapped to a keystroke using the DispatchTable
editor.
This
text pane pop-up menu is similar to the enhanced ParagraphEditor
menu. The “paste
method call...”
sub menu item has been removed because it is currently only available
in
code browsers.
When applications are versioned, their
version comments are stored in a ‘description‘
entry of the editionRecord of
the application.
The menu item browse
editions comments on the Application pane pop-up menu can be
removed from the menu using code in the supplied DevTools
workspace.
For more information on the creation of
the text pane pop-up menu for this comments browser, see ParagraphEditor>>initializeMenuForWorkspace.
See implementors of >>browseApplicationVersionComments
and the class ApplicationVersionCommentsBrowser
for additional
details.
No new submenu items have been added to
this menu but a new feature has been added to the loading of all
Applications.
When an Application is loaded, a notation is appended to the version
comments. The notation includes, the date and time of the loading, who
the
logged in user at the time was, and what type of browser the loading
was
initiated from. A loaded notation might look as
follows:
Loaded at: (September 3, 2002 8:18:58 pm) by: Library Supervisor from: a EtApplicationManager
The logging of when an Application is
loaded can be turned on
or off using code in the supplied DevTools
workspace.
For more information on the logging, see SubApplication>>logApplicationLoadedFrom:
and its callers.
For more information on the Application version comments, see the
documentation for the version |
name each with comments ... and browse
editions comments menu
items on the Application pane pop-up menu.
This
menu item allows comments to be associated with an application as it is
being versioned.
Like the standard application version
dialog, the next suggested version name is put in the entry field.
The comments text pane will be filled in
with details about the changes that have taken place since the last
version of the application. These suggested comments can be added to or
otherwise edited. Based on what has changed, the
automatically created comments can include listings of the following:
Class Changes
New Classes
Deleted Classes
Changed Classes
New Sub Applications
Deleted Sub Applications
Changed Sub Applications
Items in each of the sections will
include its name as well as its current version number.
Both the entry field for the version name
and the text pane for the comments use the same truncated text pop-up
menu. The “paste previous...” menu item is
the only included enhanced item because the dialog box is modal.
When
applications are versioned, their
version comments are stored in a ‘description‘
entry of the editionRecord of
the application.
For more information on the storage of
these version comments, see SubApplication
class>>versionComments: and its callers for additional
details.
For more information on the creation of
the text pane pop-up menu for this versioning dialog box, see ParagraphEditor>>initializeMenuForEnhancedText.
For more information on the this
versioning dialog box, see the class VersionWithCommentsDialog
and its users.
The menu item version |
name each with comments ... on the Application pane pop-up menu
can be removed from the menu using code in the supplied DevTools
workspace.
The version comments for an Application
can be viewed using the browse editions comments menu
item.
This browser works in conjunction with
the version |
name each with comments ...
menu
item. Any
comments associated with
the versions of selected class can be viewed using it.
Select the version name in the upper pane
and its comments will be displayed in the lower pane.
As with other version browsers, if an “*”
is in front of the version name, then that version of the class is the
currently loaded edition.
If one of the class edition names is
double clicked with the mouse, a ClassEdition browser will be opened on
that edition of the class. This feature can be turned on or off using
code in the supplied DevTools
workspace.
When
classes are versioned, their version
comments are stored in a class method. The name of the method will
be
the same as the application that owns the class or the class extension.
This is done to insure that version comments from multiple applications
are separate from each other.
Since class
version comments are stored in a method, they
cannot be modified once they are created. To reflect this, the text
pane pop-up menu only provides “find”
and “copy” functions.
The menu item browse
editions comments on the Class pane pop-up menu can be removed
from the menu using code in the supplied DevTools
workspace.
For more information on the storage of
these version comments, see EtApplicationManager>>saveClassVersionComments:for:
and its callers.
For more information on the creation of
the text pane pop-up menu for this comments browser, see ParagraphEditor>>initializeMenuForCopyOnly.
For more information on this comments
browser see implementors of >>browseClassVersionComments
and the class ClassVersionCommentsBrowser.
A new feature has been added to these
menu items.
When one of these browsers is opened, the first method defined for the
class in the current application will be automatically selected in
the new browser.
The automatic selection of the method can be turned on
or off using code in the supplied DevTools
workspace.
See EtApplicationManager>>browseClass, EtApplicationManager>>browseHierarchy and their
callers
for additional
details.
This
menu item allows comments to be associated with a
class as it is being versioned.
Unlike
standard class versioning, a check
is made to insure that the currently logged-in user is the
developer of
the class being versioned. If the current user is not the developer,
then a dialog box pops up to inform the current user of
this. The dialog box then gives the user the option of trying to
change the logged in user to the correct one.
If the Switch
button is pressed, the normal user switch process is called and, if
successful, the versioning process continues.
If the Cancel
button is clicked, or the
user switch process is unsuccessful, then the class versioning process
will be aborted.
For more information on this, see EtApplicationManager>>currentUserMustBeDeveloperOfClass:, EtApplicationManager>>changeUserToGroupMember: and their callers.
To
address problems with the merging of
changes from multiple developers, a check is made to see if any of the
class’ methods in the current application are in an ‘As yet unclassified’ protocol. If
any are found, a dialog box pops up to inform the developer of
this. The dialog box then gives several options.
If the Browse
buttons is pressed, a ClassHierarchy browser is opened on the class,
the ‘As yet unclassified’
protocol is automatically selected, and the class versioning process is
aborted. The methods in question can be moved to the appropriate
protocols, and the class versioning process can be restarted.
If the Version button is pressed, the class versioning process will continue, and the methods in question will remain in the ‘As yet unclassified’ protocol.
Clicking on the Cancel
button will abort the class versioning process.
The verification of method protocol
assignments can be turned on or off using code in the supplied
DevTools
workspace.
For more information on this, see EtApplicationManager>>methodsMustBeClassifiedBeforeVersioningOfClass:
and its callers.
After
these checks and actions are performed, a class
versioning dialog pops up. Like the standard class version dialog,
the next suggested version name is put in the entry field.
The comments text pane is filled in
with details about the changes since the last
version of the class. These suggested comments can be added to or
otherwise edited. Based on what has changed, the
automatically created comments can include listings of the following:
Class Instance Variables
New Class Instance Variables
Deleted Class Instance Variables
New Instance Variables
Deleted Instance Variables
New Class Variables
Deleted Class Variables
New Pool Variables
Deleted Pool Variables
New Class Methods
Deleted Class Methods
Changed Class Methods
New Instance Methods
Deleted Instance Methods
Changed Instance Methods
Both the entry field for the version name
and the text pane for the comments use the same truncated text pop-up
menu. The “paste previous...” menu item is
the only included enhanced item, because the dialog box is modal.
When classes are versioned, their version
comments are stored in a class method. The name of the method will be
the same as the application that owns the class or the class extension.
This is done to insure that version comments from multiple applications
are separate from each other.
For more information on the storage of
these version comments, see EtApplicationManager>>saveClassVersionComments:for:
and its callers.
For more information on the creation of
the text pane pop-up menu for this versioning dialog box, see ParagraphEditor>>initializeMenuForEnhancedText.
For more information on the this
versioning dialog box, see the class VersionWithCommentsDialog
and its users.
The menu item version |
name each with comments ... on the Class pane pop-up menu can be
removed from the menu using code in the supplied DevTools
workspace.
The version comments for an Application can be viewed using the browse editions comments menu item.