home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / APPBRWSR.ZIP / APPBRWSR.DOC < prev    next >
Text File  |  1992-02-02  |  13KB  |  305 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                            TK's Application Browser(c)
  10.          
  11.                                         by
  12.          
  13.                                  Thomas Koschate
  14.          
  15.          
  16.                                      (c) 1992
  17.                                  Thomas Koschate
  18.                             Brampton, Ontario, Canada
  19.  
  20.          0.0 Introduction
  21.          
  22.          I came to Smalltalk relatively recently (November, 1991) from 
  23.          another object-oriented environment, and realized I'd come home.  
  24.          However, there were one or two pieces missing in Smalltalk that I 
  25.          missed from that other environment.  One of these was referred to 
  26.          there as a "Project Browser", but many Smalltalkers referred to 
  27.          "Applications Browsers", so there you are.
  28.          
  29.          All I really wanted out of an application browser was a browser 
  30.          that would allow me to group together the classes that I'm 
  31.          currently using to put together an application for ease of 
  32.          reference.  I know there's a Goodies pack, but it's for 
  33.          Smalltalk/V DOS, and I didn't know whether a port would even be 
  34.          feasible.  Besides, what better way to really get one's feet wet 
  35.          in Smalltalk?  
  36.          
  37.          Along the way, I picked up a couple of other treasures.  The 
  38.          Recent Classes option, that keeps a history of recently browsed 
  39.          classes for instant jump back, is based on Dan Goldman's code 
  40.          from a recent issue of SCOOP (although I did tweak it a bit, and 
  41.          enhance its application).  The BookMark option allows one to save 
  42.          one's place in the browser, and jump back to it with one 
  43.          keystroke.  It is something I saw in that other environment, and 
  44.          decided to implement in Smalltalk.
  45.          
  46.          Important Note:  This browser was written for Smalltalk/V PM.  I 
  47.          have no idea whether or not it will work with Smalltalk/V for 
  48.          Windows.  There is no particular reason why it shouldn't, but you 
  49.          will have to register to get the source code to find out.
  50.          
  51.          
  52.          1.0 Installation
  53.          1.1 Before Installing
  54.          
  55.          TK's Application Browser(c) will add a subclass to the 
  56.          ClassHierarchyBrowser.  It assumes that the ClassHierarchyBrowser 
  57.          is as distributed by Digitalk.  If you have changed it, such as 
  58.          by installing the Recent Classes option, you will not be able to 
  59.          install this version of the browser.  Try the installation on 
  60.          virgin image - if you like the browser enough to register (see 
  61.          below), it won't be a problem.
  62.          
  63.          TK's Application Browser(c) will also add one new class method to 
  64.          TextPane, and two instance methods, as well as replacing the 
  65.          instance method #buildMenuBar in the class ApplicationWindow.  
  66.          Again, if you have changed any of these classes, the installation 
  67.          may fail.
  68.          
  69.          
  70.          1.1 Physical Installation
  71.          
  72.          Installing TK's Application Browser(c) is easy.  The first step 
  73.          is to copy the file APPBRWSR.DLL to the same directory as your 
  74.          other Smalltalk DLL's.  Then, get into Smalltalk, and close down 
  75.          all your windows until just the Transcript is open.  Do a 
  76.          File/Open, switch to the DLL directory, and Install the the 
  77.          APPBRWSR.DLL.
  78.          
  79.          After installing, every time you open a new window, a new menu 
  80.          item, Applications, will appear on the window's menu bar.
  81.          
  82.          
  83.          2.0 Usage
  84.          2.1 Applications Menu
  85.          
  86.          The Applications menu contains three options, Select, Remove and 
  87.          About TK's Application Browser.  
  88.          
  89.          
  90.          2.1.1 Applications/Select 
  91.          
  92.          The Select option allows the selection or creation of an 
  93.          application.  It pops up a dialog containing a ComboBox that 
  94.          allows one to choose from a menu of existing applications, or to 
  95.          type in a new application name.  Double clicking a selection, 
  96.          hitting enter on a selection, or pressing the OK button after a 
  97.          selection all have the same effect.  If the application is new. A 
  98.          confirmation dialog box will appear, and then TK's Application 
  99.          Browser(c) will open.
  100.          
  101.          
  102.          2.1.2 Applications/Remove
  103.          
  104.          The Remove option pops up a dialog containing a ListBox of all 
  105.          available applications.  Removing an application only removes the 
  106.          entry from the Applications dictionary.  THE CLASSES THEMSELVES 
  107.          ARE NOT AFFECTED.  Confirmation is required before the 
  108.          application is removed.
  109.          
  110.          
  111.          2.1.3 About TK's Application Browser
  112.          
  113.          This is nothing more exciting than a statement of copyright.  The 
  114.          registered version does not include this menu option.
  115.          
  116.          
  117.          
  118.          2.2 TK's Application Browser(c)
  119.          
  120.          As you might expect, TK's Application Browser(c) looks and 
  121.          functions much like a Class Hierarchy Browser with some 
  122.          exceptions.  The Class pane is sorted alphabetically, with no 
  123.          hierarchy indentations, the Applications menu has an additional 
  124.          option, and the Classes menu has several new options.
  125.          
  126.          
  127.          2.2.1 Applications/File Out
  128.          
  129.          The Applications/File Out option will file out all the classes 
  130.          participating in an application into a single file.  This eases 
  131.          the process of moving an application to a new image.  Note that 
  132.          the classes are filed out in alphabetical order.  It is possible 
  133.          that if participating classes are subclasses of each other, the 
  134.          subclass may appear in the file before the superclass, which 
  135.          would cause an error when installing the file.  The only solution 
  136.          right now is to manually edit the file.
  137.          
  138.          
  139.          2.2.2 Classes
  140.          
  141.          The new features of the Classes menu are intended to support the 
  142.          additional requirements of TK's Application Browser(c), and to 
  143.          add some productivity features.  Only variations from the Class 
  144.          Hierarchy Browser are discussed.
  145.          
  146.          
  147.          2.2.2.1 Classes/Include
  148.          
  149.          As an application is being built, existing classes can be 
  150.          included in the Browser by use of this option.  A dialog box with 
  151.          a multiple selection ListBox containing all the classes in 
  152.          Smalltalk will pop up, allowing as many classes as desired to be 
  153.          included.  
  154.          
  155.          
  156.          2.2.2.2 Classes/Add Subclass
  157.          
  158.          This option performs in the same manner as in the Class Hierarchy 
  159.          Browser, except that only classes in TK's Application Browser(c) 
  160.          can be subclassed, and they are displayed in the Class pane 
  161.          alphabetically after creating.
  162.          
  163.          
  164.          2.2.2.3 Recent Classes
  165.          
  166.          Based on the Dan Goldman's code, Recent Classes pops up a menu of 
  167.          the last fifteen classes browsed, from most recent to least 
  168.          recent.  Changes I have made to Dan's code include limiting the 
  169.          number of classes in the history, and adding classes visited 
  170.          using the Find option.
  171.          
  172.          
  173.          2.2.2.4 Set Bookmark
  174.          
  175.          Setting a bookmark will record the current class and method being 
  176.          browsed, as well as the whether instances or classes are being 
  177.          browsed.  This allows one to go exploring, yet still return 
  178.          instantly to a known spot.
  179.          
  180.          
  181.          2.2.2.5 Jump to Bookmark
  182.          
  183.          If a bookmark has been previously set, jumping to a bookmark will 
  184.          restore the browser to the class, method, and instance/class 
  185.          state where the bookmark was set.
  186.          
  187.          
  188.          2.2.2.6 Exclude Class
  189.          
  190.          This will remove the currently selected class from the set of 
  191.          those participating in the application.  It does not remove it 
  192.          from the image.
  193.          
  194.          
  195.          
  196.          3.0 Known Problems
  197.          
  198.          The Recent Classes option will occasionally induce a Walkbalk.  
  199.          This appears to be a problem within Smalltalk itself, possibly in 
  200.          the Menu class.  It is non-fatal.  Just close the Walkback window 
  201.          and try again.
  202.          
  203.          Application names are currently restricted to 32 characters.  
  204.          This is due to a bug in the implementation of the ComboBox class; 
  205.          Digitalk did not include all the methods to which ComboBoxes will 
  206.          respond, such as the setting of maximum text size.  Registered 
  207.          versions of TK's Application Browser(c) include details on how to 
  208.          fix it, and do not have this limitation.
  209.          
  210.          As stated above, Application Fileouts will not necessarily 
  211.          install properly without manual editing.  A future release will 
  212.          likely deal with this.
  213.          
  214.          
  215.          
  216.          4.0 Registration
  217.          4.1 Why Register?
  218.          
  219.          Registration of this browser, using the form below, entitles you 
  220.          to complete source code for the browser, as well as the necessary 
  221.          modifications to add Recent Classes and Bookmark functionality to 
  222.          the ClassHierarchyBrowser.  In addition, fixes and enhancements 
  223.          for a period of one year will be provided free of charge.
  224.          
  225.          
  226.          4.2 What does it cost?
  227.          
  228.          The cost is a mere US$25.00, or CDN$30.00, payable in cash, money 
  229.          order, or cheque.  Canadian residents, please add 7% G.S.T. 
  230.          (CDN$2.10), and Ontario residents, 8% P.S.T. (CDN$2.40).
  231.          
  232.          
  233.          5.0 Warranty and Disclaimer
  234.          
  235.          TK's Application Browser(c) is provided "as is".  No warranty is 
  236.          offered, either express  or implied.  No responsibility for loss 
  237.          or damage will be accepted in any way, shape or form!
  238.          
  239.          
  240.          6.0 Licence
  241.          
  242.          This software may be freely used for non-commercial purposes.  It 
  243.          may not be re-sold, but may be freely distributed in its 
  244.          original, unmodified form.  The software may not be sold, or 
  245.          included in a package for resale without the author's explicit, 
  246.          written consent.
  247.          
  248.          
  249.          7.0 Support
  250.          
  251.          Support is available electronically through several networks:
  252.          
  253.               Internet:      tom.koschate@rose.uucp
  254.               Bix:           tkoschate
  255.               CompuServe:    76214,1034
  256.          
  257.          Or by mail:
  258.          
  259.               Thomas Koschate
  260.               54 Mill Street South
  261.               Brampton, Ontario
  262.               L6Y 1S6
  263.  
  264.                                     
  265.                                     ORDER FORM
  266.                                        for
  267.                              TK's Application Browser
  268.          
  269.          
  270.          
  271.          Send this form with payment to:
  272.               Thomas Koschate
  273.               54 Mill Street South
  274.               Brampton, Ontario
  275.               L6Y 1S6
  276.               Canada
  277.          
  278.          
  279.          
  280.          Name:  _________________________________________________________
  281.          
  282.                 _________________________________________________________
  283.          
  284.          Address:  ______________________________________________________
  285.          
  286.                    ______________________________________________________
  287.          
  288.                    ______________________________________________________
  289.          
  290.          
  291.          City:  ______________________ Province/State:  _________________
  292.          
  293.          
  294.          Postal Code/Zip Code:  ________________________
  295.          
  296.          Country:  _____________________________________
  297.          
  298.          
  299.          I am enclosing $___________ for ____ copies of TK's Application 
  300.          Browser at cost of US$25.00, or CDN$30.00, payable in cash, money 
  301.          order, or cheque per copy.  (Canadian residents, please add 7% 
  302.          G.S.T. (CDN$2.10), and Ontario residents, 8% P.S.T. (CDN$2.40).)
  303.          
  304.          Please ship on _____ 3.5" disks   or   ______   5.25" disks.
  305.