jsShell Design and Description
The following is a brief description of basic overall operation and
design of the jsShell dBL class. Don't worry if you don't clearly
understand what is described. Simply read it for purposes of 'awareness'.
Much of the following will become clearer as you become familiar with
using jsShell. In reality, jsShell is quite simple to use. What
follows is a small attempt to satisfy those who want to know 'just a bit more'.
jsShell is a non-visual dBL class intended to retrieve useful information
regarding system parameters, and to perform system-level functions that are
not available in the dBL language.
The 'spirit' of jsShell is to exist as a child of the global _sys object,
similar to the
way the frameWin is a child to the global _app object in the core product.
jsShell is intended to provide dBL access to functionality and resources
supported by the system shell.
- jsShell makes available the system shell functionality to copy,
delete, move, and rename files, using the same error, progress, and message
dialogs that are used by the system with fully configurable options to control
dialog display, and copy, delete, move, and rename behavior.
- jsShell allows for querying the system recycle bin on a single
drive or total system basis to determine the number of items and total size of
the items. Support for emptying the recycle bin is also included.
- jsShell can determine if an application is associated with a file
and retrieve the full path/filename to the application.
- jsShell can launch a file by association (for example, launching
the registered application for a .txt or .doc file.
- jsShell can open the system Properties dialog for any file.
- jsShell can open the system Find dialog to allow the user to
search for files. Note however that a list of files found is not returned to
the dBL application.
- jsShell can surface the handles to the large
and small system image lists for use in other js* classes such as jsComboBoxEx,
jsListView, jsNoteBook, and jsTreeView.
- jsShell can retrieve the index into the system image list for the
registered icon for any file on the system, allowing for true icon representation
of folders, files, and namespaces in jsComboBoxEx, jsListView, jsNoteBook, and
jsTreeView.
- jsShell preloads the most-used system icons such as the desktop,
network, opened/closed folders, etc, and also preloads a few 'special' dBASE
specific icons.