Parcel Load Browser Goodie

Products : VW5i.4
Platforms: ALL

The parcel ParcelLoadBrowser.pcl replaces the parcel load dialog opened from the Parcel Browser or VisualLauncher with a window that allows one to perform the following functions:

  • Accumulate a list of parcels to load at once.
  • View parcels by either filename or name.
  • Select parcels by directory from a tree and view all parcels in the search scope of a directory.
  • Add or remove directories from the tree's search scope.
  • Filter the search for parcels to those matching a string with an optional wild card character *.
  • Parse a list of parcels by name and version from a string and identify which parcels are available to load, are loaded, or missing from the list.
  • View the description of a selected parcel.
  • Search for parcels with a class definition that matches a class, superclass, or namespace.
  • Accumulate a favorites list of parcels to load based on frequency or recency.
  • Adds a list of parcel favorites to load from the VisualLauncher Tools menu.
  • Parcels are selected by either the Path or Name tab in the browser.  Selected parcels appear in the Selections list.  If Unlist prerequisites is checked the browser will attempt to unlist prerequisites of parcels in the Selections list.  This removes unnecessary parcels from the Selections list and avoids attempts to load prerequisite parcels twice.  The description for a parcel, if any, is displayed for any parcel selection in the Files or Selections list.
     

    Path

    The Path page displays a directory tree of all parcels in the VisualWorks parcel path and in directories the user may add.  The scope of the directory tree may be expanded or reduced by selecting a directory in the tree view and using any one of its following menu items:
     
    All Search and include in the tree all subdirectories of the selection that contain parcel files. 
    More Include a greater depth of  subdirectories and their parcel files of the selection in the tree. 
    Less Remove leaf subdirectories and parcel files of the selection in the tree. 
    Remove Remove the selected path from the tree.
    Sort.. Choose to sort names by ascending or descending order in the tree.

    The Files list displays the parcels found in the scope of a selected directory that match in name to the Filter string. If no directory is selected all parcels in the tree are listed.  A new directory may be added to the tree at any time by entering its pathname into the Add path field.  Entries to this field are added to the selections of the field's drop down list so a previous directory may be recovered.

    Selecting a parcel in the Files list adds it to the Selections list.  All parcels in the Selections list will be loaded when the Load button is pressed.  To add multiple parcels Control or Shift select parcels in the Files list.  Names of parcels loaded appear in italics.

    Name

    The Name tab page will parse parcel names from text and identify the available, missing, or loaded parcels parsed.  The Parcel names to load field expects to parse lines in the following format:

        <Parcel name> Version: <Parcel version>  of  <Parcel timestamp>

    or

       <Parcel name> Version: <Parcel version>

    or

        <Parcel name>

    Note that although the parcel name and version is parsed in each line the parcel timestamp entry is ignored.

    To recreate an image from a parcel list, paste the parcel list from the Parcel: section of the dialog opened from the VisualLauncher Help->About menu.  For example, if an excerpt from this section reads:

     AT Profiling Version 5i.1 of 12/13/99 3:06:50 pm
     AT Support Version 5i.0.0 of 3/5/99 3:30:38 pm
     AT Tools Version 5i.1 of 12/13/99 2:52:54 pm
     DLLCC Version 5i.1 of 12/16/99 11:01:59 am
     XML Version 5i.1 of 1/3/00 2:47:43 pm
     XML-source Version 5i.1 of 1/3/00 2:47:55 pm

    then if this is pasted in the Parcel names to load field and the Accept button is pressed the available, missing, or loaded lists are filled with the parcels parsed.   Parcels that cannot be found to be either loaded or in the search tree as specified in the Path tab appear in the missing list.  Those parcels appearing in the available list are added to Selections for loading when Accept is pressed.

    If checked, Obey version ensures that only parcels with the version specified are included in the available list.  For most applications Obey version need not be checked .
     

    Class

    The Class page offers a parcel search facility to locate class definitions matching the name, superclass, or namespace specified.  Parcels searched need not be loaded.  The search is performed within the selected branch of the parcels selected on the Path page.  If no branch in the file tree is selected the entire tree is searched. During the search matching classes are added to the Class: list and their associated parcels are listed in Parcels:.  Selecting a class selects its associated parcel in the parcels list and shows its definition in the definition pane.

    To start a search enter the namespace, class, or superclass criteria in the appropriate fields and press the Search button.  The wildcard '*' may be used in either class, superclass, or namespace entries.  To interrupt the search press the Stop button.  The Reset clears the criteria entries.

    For example, the following search criteria should list all classes and the parcels their definition appears in for a classes matching '*ORB*' in the DST namespace:

    Class: '*orb'
    Namespace: 'DST'

    To limit the search to just the DST parcels select the DST directory from the file tree on the Path page.
     

    Method

    The Method page offers a parcel search facility to locate method definitions matching the class, method protocol, or selector specified.  Parcels searched need not be loaded.  The search is performed within the selected branch of the parcels selected on the Path page.  If no branch in the file tree is selected the entire tree is searched. During the search matching classes are added to the Method: list and their associated parcels are listed in Parcels:.  Selecting a selector in the Method: list selects its associated parcel in the parcels list and shows its definition in the definition pane.

    To start a search enter the class, protocol, or selector criteria in the appropriate fields and press the Search button.  The wildcard '*' may be used in either class, protocol, or selector entries.  To interrupt the search press the Stop button.  The Reset clears the criteria entries.

    For example, the following search criteria should list all selectors and the parcels their definition appears in for a classes matching 'DB*' in the Store-DB namespace:

    Method: 'textFor*'
    Class: 'DB*'

    To limit the search to just the Store parcels select the Store directory from the file tree on the Path page.
     

    Favorites

    As parcels are loaded with the Parcel Load Browser a history of the parcel file last loaded is tallied.  Opening the Favorites will show a list of parcels most frequently or last loaded, depending on the selection in the Sort by box.  To otherwise manually add a parcel to the list first select the parcel from the Path, Class, or Name page to add it to the Parcel Load Browser load list.  Then click the Add button on the Favorites page to add the parcels to the list.  To remove parcels from the list select any and all then press the Remove button.  Parcels that are already loaded list in italics.

    Favorite parcels not yet loaded also appear listed in the VisualLauncher menu Tools->Load Favorite Parcel menu.  This menu is added when the Parcel Load Browser is loaded.  Simply select the parcel to load from the menu and it is loaded.

    Changes to the favorites list are stored to a file named parcels.fav in the default VisualWorks directory whenever the Parcel Load Browser is closed.  This data is recovered as needed from the file.
     

    Additional Info

    To restore the original parcel entry dialog simply unload ParcelLoadBrowser.pcl.

    The pages that appear in the Parcel Load Browser originate as separate classes subclassed from ParcelLoadBrowser.  Individual instances of the pages may be opened as separate windows by evaluating any of the expressions below.

    "Open a parcel path finder window to locate parcels by path"
    ParcelByPathFinder open.

    "Open a parcel name finder window"
    ParcelByNameFinder open.

    "Open a window to find parcels by a class definition (search over entire parcel path space)"
    ParcelByClassFinder open.

    "Open a window to find parcels by a selector definition (search over entire parcel path space)"
    ParcelByMethodFinder open.

    "Open the parcel favorites window"
    ParcelFavorites open.

    Parcel favorites settings can be accessed and changed from class methods of ParcelFavorites.

    "Clear the favorites list and read the favorites from file parcels.fav (if available)"
    ParcelFavorites initialize.

    "List of parcel favorites by name and version array sorted by most use"
    ParcelFavorites mostUsed.


    Copyright © 2000, 2001 Cincom Systems, Inc.  All Rights Reserved.  Unauthorized use, copying or
    redistribution is prohibited. Code and other information are provided as-is, without warranty of
    any kind and Cincom Systems, Inc. disclaims all implied warranties of merchantability or fitness
    for a particular purpose. Code may only be used with Cincom Systems, Inc. products.