home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Share Gallery 1
/
share_gal_1.zip
/
share_gal_1
/
DT
/
DT023B.ZIP
/
INC-PROG.LZH
/
HELP.LZH
/
MCC.HLP
< prev
next >
Wrap
Text File
|
1991-02-28
|
15KB
|
243 lines
mcc
Help information about: Classes
^WhyFilenameExtension
E╔════════════════════════════════════════════════╗
E║ CClassesE ║
E╚════════════════════════════════════════════════╝
CWhat Are Classes?
In MS-DOS, files are given names like "autoexec.bat". The characters
after the period (in this case, "bat") identify the kind of file it is.
InContext uses this filename extension to indicate the CclassB of an
ZmccwB object (CJ Why? CB). Thus, an ordinary text file might be of class "txt",
while a Lotus 1-2-3 spreadsheet might be of class "wk1".
Incidentally, InContext also has to have some way of showing you files
which have no filename extension. These files are displayed using the
Greek letter Phi ("CφB", often used to mean "empty" or "nothing"). Thus a
file named simply "temp" would be displayed by InContext as "temp.φ".
CClasses and Actions
InContext allows the user to define the CactionsB of a class. One reason
for doing this is to cause standard actions to behave differently (and
appropriately) for different classes. For example, Lotus 1-2-3 is an
appropriate tool with which to "edit" a spreadsheet, but not a text
object. A second reason is to add operations especially applicable to
the class (e.g., "compile" a C program, or "show" a "pcx" PC-Paintbrush
image).
If you have not installed or created a definition of a particular class,
then only the default actions are available for that class. These actions,
too, are under your control, and you can redefine them (for more
ZmcaeB information about this, see CJ Action Definition Editing CB). A typical
set of default actions might include "view", "copy", "rename", and
"delete". These actions apply to undefined classes, and do not vary from
class to class.
While the default actions might be good enough for some purposes, the
way to get real power with InContext is to define specialized behavior
for different object classes. The figure below shows, by way of example,
sample action lists for two classes.
E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
E█A A E█
E█A Class: document makefile A E█
E█A ("doc") ("mk") A E█
E█A A E█
E█A Actions: edit edit A E█
E█A view view A E█
E█A copy copy A E█
E█A rename rename A E█
E█A delete delete A E█
E█A spellchk make_pkg A E█
E█A preview inst_pkg A E█
E█A print test_pkg A E█
E█A archive arch_pkg A E█
E█A printpkg A E█
E█A cleanpkg A E█
E█A A E█
E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The "doc" (document) class has some of the ordinary operations you might
think of in connection with a text document. For example, you can edit
it, check its spelling, preview how it will look when printed, and save
it in an archive. The "mk" (makefile) class is a kind of object that
describes a software package being developed. This class has several
actions in common with the document class, such as view, edit, and delete.
However, it also has specialized operations, such as "make the package",
"install the package", etc. While these actions are listed above by their
short names, intended to fit in limited space, they also have longer
descriptive names by which you can recognize them in actual use.
CFocussing By Use of the Class Command
Although the user can reconfigure InContext to behave differently,
the Main Display normally shows several lists, one of which is a list
of objects in the current directory. For example, the display below
shows such objects as "afhsmin.doc" and "lwv.arc".
E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
E█A A E█
E█A E│B A E█
E█A E│B EViewsB EClassB EObjectsB A E█
E█A E│B CALL B CALLB document.arc pubmin.doc A E█
E█A E│B archive arc lwv.arc recrep.doc A E█
E█A E│B chess doc admnnot.doc recycedp.doc A E█
E█A E│B document fmt C afhsmin.docB recycg&o.doc A E█
E█A E│B execable lis afhsnot.doc recyclan.doc A E█
E█A E│B finance lYBtr bksale.doc recycli1.doc A E█
E█A E│B fonts lyr edcord.doc recyclis.doc A E█
E█A E│B graphic rec lwvbylw.doc recycmin.doc A E█
E█A E│B incontxt zip ordattle.doc recycmtg.doc A E█
E█A E│B letters ordedc1.doc recycoor.doc A E█
E█A E│B messages ordlegno.doc recyst.doc A E█
E█A E│B program ordmin.doc resume.doc A E█
E█A E│B tapcis ordnot.doc votergd.doc A E█
E█A E│B ventura ordpub1.doc afhsnot.fmt A E█
E█A E│B xref ordpub2.doc help.lis A E█
E█A E│B ordrenot.doc lwvlabel.lis A E█
E█A E│B ordreop.doc temp.lis A E█
E█A E│B pubhear.doc votrguid.lis A E█
E█A E└─ User: H. Rudy Ramsey ──────────────────── A E█
E█A A E█
E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
They are identifiable as objects because they appear under the label,
"EObjectsB". However, this display is currently showing objects
of all types, so they're all mixed in together. Furthermore, not all
objects are shown, since there are too many to fit in the objects
area of the display. One way to deal with this is to select the
ZmcoB CJ Object Command CB, in order to pop up a window dedicated entirely
to objects. A second way to deal with this is to focus on a smaller set
ZmcvB of objects, either by CJ view CB or by CclassB.
The two columns to the left, "EViewsB" and "EClassB", are your means
of focussing on larger or smaller sets of objects. As you can see by the
highlight of the word "CALLB", ALL views and ALL object classes in the
directory are being displayed. If you want to focus on only a small set
of the objects, one way of doing so is to select a single class. For
example, placing the cursor on the "ltr" class, as shown above, and
pressing ENTER or the left mouse button will produce a main display that
looks like the following.
E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
E█A A E█
E█A E│B A E█
E█A E│B EViewsB EClassB EObjectsB A E█
E█A E│B CALL B ALL bee.ltr A E█
E█A E│B archive arc monxmas.ltr A E█
E█A E│B chess doc A E█
E█A E│B document fmt A E█
E█A E│B execable lis A E█
E█A E│B finance ClYCtrB A E█
E█A E│B fonts lyr A E█
E█A E│B graphic rec A E█
E█A E│B incontxt zip A E█
E█A E│B letters A E█
E█A E│B messages A E█
E█A E│B program A E█
E█A E│B tapcis A E█
E█A E│B ventura A E█
E█A E│B xref A E█
E█A E│B A E█
E█A E│B A E█
E█A E│B A E█
E█A E└─ InContext Work Environment Manager ────── A E█
E█A A E█
E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
As you can see from the highlighting of the word "CltrB" under EClassB, only
objects of class "ltr" are now being displayed. This is one way of
rapidly focussing in on a small set of objects. There are at least two
reasons you might want to do this:
CB It makes it much easier and quicker to find the single object
you're actually looking for.
CB Many programs are equipped to operate on multiple files, and
InContext allows you to apply such programs to a whole group of
objects. For example, if you use an editor (such as Brief) that
can edit multiple files, you can pick a class and invoke the editor
on all the objects of that class in a single action.
CUsing the Class Command and Its Display
If the information shown in the main display is not enough for you to
select the appropriate class, you can use the CClassB command. It
produces a display which gives you more information about the object
classes C(not yet implemented)B, and lets you select the desired one.
An example of this display is shown below.
E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
E█A A E█
E█A Cmsey Personal Center -- alice B1/25/A E█
E█A Eew:B CALL B EClass:B CltrB EObject:B C B ETask:A E█
E█A C G Class C A E█
E█A B G FªHDelpG B A E█
E█A Eur│B E│A B ESA E█
E█A E..│B EClassB E│A BcoA E█
E█A E..│B ALL E│At B A E█
E█A E..│B arc E│A B A E█
E█A E..│B doc E│A B A E█
E█A E..│B fmt E│A B A E█
E█A E..│B lis E│A B A E█
E█A E..│B lYBtr E│Ag B A E█
E█A E..│B lyr E│A B A E█
E█A Ehh│B rec E│A B A E█
E█A EwCwE│B zip E│A B A E█
E█A CwwE│B E│Al B A E█
E█A A E█
E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
mccw
Help information about: Why Use Filename Extension to Identify Class?
E╔════════════════════════════════════════════════╗
E║ CWhy Use Filename Extension to Identify Class?E ║
E╚════════════════════════════════════════════════╝
You will notice that InContext requires that you identify object classes,
and therefore object behavior, through the consistent use of MS-DOS
Cfilename extensionsB. You may be aware of other programs, such as
Lotus' Magellan, that identify object types without relying on filename
extensions. Those programs read a portion of the file and do pattern-
matching, to calculate the probabilities that the file is of one type or
another. That is, arguably, a convenience for the user, but it can't
give you the power that InContext provides, for two reasons:
CB Identifying object types by pattern-matching is imprecise, and
results in frequent errors. Those errors don't matter much if all
you can do with the object is view it, since viewing cannot change
the contents of the file. InContext allows you to perform many
operations that CdoB change the file content, and it cannot rely
on such imprecise algorithms.
CB You may wish to have multiple object classes that have the same
basic type (e.g., ASCII text, or Lotus 1-2-3 spreadsheets), but
have differing purposes and possible operations. Identification of
the file type by pattern-matching would prevent you from doing so.
Magellan is a fine product, and no criticism is intended (we use it
ourselves, for information searching). To gain the kind of operational
power provided by InContext, though, it is necessary that you be explicit
about object class names.
Another approach to this problem, frequently seen in graphical
environments like Windows and GEM, is to allow Conly a single application
to be associated with an object class. This is rather constraining. With
such an assumption, the functionality readily available for any object
class is CexactlyB that provided by its principal application. If your
word processor doesn't do spelling checking, for example, there is no
ready mechanism for allowing you to invoke a CseparateB spelling checker
on a document.
The principal goal of InContext is to allow you to construct a smoothly
functioning, integrated work environment. We believe the approach we've
taken gives more power than either of these others, and is particularly
appropriate under MS-DOS.