O·M·N·I User's Manual #4

Creating Objects & Windows for Your
O·M·N·I
Online Information System

FOR
WINDOWS

CONTENTS

4.1 The O·M·N·I Window Editor

  • Optimum Resolution & Color Settings for Creating Windows
  • Activating New or Updated Windows & Objects on Your System
  • Using Local Login to Test Your System's Operation

4.1.1 The Window Browser

4.1.1.1 Creating Window Groups

4.1.1.2 Adding Windows

4.1.1.3 Renaming Windows

4.1.1.4 Editing Existing & New Windows

4.1.2 The Object Browser

4.1.2.1 Creating Object Groups

4.1.2.2 Creating Objects

4.2 Window Elements & Their Properties

4.2.1 Common Properties & Their Values

4.2.1.1 Editing-Management Properties

  • Name
  • Fixed Location

4.2.1.2 Basic Design Properties

  • Background Color
  • Border
  • Caption Alignment
  • Caption Text
  • Click Focus
  • Click Left
  • Click Move
  • Click Top
  • Font: Bold
  • Font: Italic
  • Font: Name
  • Font: Size
  • Font: Strikethru
  • Font: Underline
  • Font: 3D
  • Height
  • Hint Text
  • Left
  • Mouse Pointer
  • Rounded Corners
  • Tab Order
  • Text Color
  • Top
  • Visibility
  • Visible
  • Width

4.2.1.3 Commands: Defining How Your System Will Act

4.2.1.4 O·M·N·I Basic: Advanced Programming and Scripting Language

4.2.2 Element Descriptions & Their Specific Properties

4.2.2.1 Window Element

  • Autosize Elements
  • Closable
  • Commands Close
  • Commands Display
  • Commands Open
  • Commands Size
  • Control Box
  • Icon
  • Maximize Button
  • Minimize Button
  • Object List
  • Password
  • Picture
  • Startup Position
  • Startup State
  • Stretch
  • Tile
  • Title Bar
  • Window Border Style

4.2.2.2 Bitmap Tile Element

  • Crop X
  • Crop Y
  • Gap X
  • Gap Y
  • Picture
  • Stretch
  • Tile

4.2.2.3 Picture Box Element

  • Picture

4.2.2.4 Image View Element

  • Click Picture
  • Picture
  • Scrollbars

4.2.2.5 Command Button

  • Bevel Width
  • Picture

4.2.2.6 Panel Element

  • Bevel Inside
  • Bevel Outside
  • Bevel Width
  • Border Width

4.2.2.7 Label Element

  • Background Style

4.2.2.8 Plain Text View Element

  • Allow Edit
  • Contents

4.2.2.9 Document View Element

  • Background Style
  • Commands
  • Contents
  • Scrollbar Horizontal
  • Scrollbar Vertical

4.2.2.10 Tree View Element

  • Contents

4.2.2.11 Column Listbox Element

  • Starting Text

4.2.2.12 File Area Control Element

  • Element Description
  • Element DL Time
  • Element DL Count
  • Element FA Download
  • Element FA File Count
  • Element FA List
  • Element FA More
  • Element FA Name
  • Element FA Preview
  • Element FA Upload
  • Element FA View
  • Element File Size
  • Set FA Commands
  • Title Bar FA Name
  • View File Commands

4.2.2.13 Message Board Control Element

  • Element MB Compose
  • Element MB Date
  • Element MB From
  • Element MB List
  • Element MB Message
  • Element MB Next
  • Element MB Previous
  • Element MB Subject
  • Element MB View
  • Set MB Commands
  • Titlebar MB Name
  • View Message Comm

4.2.2.14 Text Entry Field Element

  • Caption Text

4.2.2.15 Timer Element

  • Command Timer
  • Interval

4.2.3 Other Tools

4.2.3.1 Center Element Horizontally

4.2.3.2 Center Element Vertically

4.2.3.3 Set Precise Size & Position

4.2.3.4 Refresh Display of Window

4.2.3.5 Create Inset Panel

4.2.3.6 Duplicate Element

4.3 The Menu Bar

4.3.1 File

  • Close Window
  • Save Window
  • Import Windows & Objects
  • Export Windows & Objects

4.3.2 Edit

  • Duplicate
  • Erase
  • Send to Back
  • Bring to Front
  • Send Back One Level
  • Bring Forward One Level

4.3.3 System

  • Startup Window
  • Permanent Windows

4.3.4 View

4.3.5 Help

4.1 The O·M·N·I Window Editor

Your O·M·N·I Online Information System features complete object-oriented communications, which means that you can choose which objects are sent live and which ones will be automatically stored on your caller's computer (objects are the basic building blocks of the windows you create and display on your system).

By storing commonly used information on the user's end in the form of "permanent windows" [see Section 4.3.3 below], your system will remain much more responsive to all callers. For example, if you make changes to a permanent window that was previously sent and stored on their computer, only the changes to that window will be sent—i.e., the modified objects only—not the entire window. This way, your callers will also have things updated more quickly . . . than if everything had to be sent each time they logged on to your system.

You can also create permanent forums on your system, where the windows and objects for a forum, or area, on the system are sent permanently to the user's computer only when they enter the forum for the first time [see Section 4.1.2.2 below].

All the objects and windows used on your system must first be created using the O·M·N·I Window Editor—which is by far one of O·M·N·I's most unique and powerful features. The Editor gives you all the tools you need to actually custom-design what users will see on their screens whenever they connect to your system. It's what also gives you the ability to create the "look and feel" of a commercial online service—like America Online® or CompuServe®!

Editor installation is achieved during normal installation of your O·M·N·I Online Information System software.
Once the O·M·N·I Window Editor is successfully installed, double-click on the "Window Editor" icon in your O·M·N·I Program Group to run it.

When the "O·M·N·I Window Editor" comes up on your screen you'll see a toolbar (the Element Palette) and two windows (the Window Browser and the Object Browser) on your desktop. You may click-and-drag these to any position; the Browser windows are also sizable. For practical purposes, position the toolbar on the left and the two Browser windows on the right to leave your work area open in the middle of your screen.

Following are a few things you should know before you start using the Window Editor [also see your Window Editor tutorial—file 4TUTORAL.WRI in your \DOCS subdirectory—for a helpful hands-on approach to learning how to use the Editor]:

  • Optimum Resolution and Color Settings for Creating Windows

You'll find that you'll have more space to work with in the Editor if you use a screen resolution higher than 640x480, but you should keep in mind that this will also scale down the sizes of the actual windows you create. Due to the conventional limitations of many user terminals, it is best to size your windows as though they will be viewed at this lower resolution.

The color standard in O·M·N·I, however, is 256-color. At this level, you may create and use high-quality graphic images while still maintaining optimum transfer speeds.

  • Activating New or Updated Windows & Objects on Your System

The windows and objects you create (or edit) in the Window Editor are stored, by default, under the \EDITOR\WINDOWS subdirectory. However, the windows and objects utilized by the O·M·N·I Server are stored under the \SERVER\WINDOWS subdirectory. Before your Server can use any new and/or updated windows and objects, you must first copy them from your \EDITOR\WINDOWS subdirectory directly to your \SERVER\WINDOWS subdirectory.

(Similarly, whenever you specify or make changes to any "Permanent Windows" and/or the "Startup Window" on your system [see Section 4.3.3 below], you must copy the files PERMWINS.DAT and STARTUP.DAT, respectively, from your \EDITOR\SYSTEM subdirectory to your \SERVER\SYSTEM subdirectory before any changes will take effect.)

By maintaining separate copies of all your windows and objects in this way, you may continue to edit new or existing windows and objects completely offline . . . without interrupting your O·M·N·I Server. This way, your callers will still be able to connect to your online service even while you're making changes to it!

You may easily copy your windows and objects (and ANSI text screens) directly from the O·M·N·I Server by selecting Move Windows & Menus from the Server menu and launching the O·M·N·I Window Mover utility. [For complete instructions, please refer to Section 3.1.3 in your O·M·N·I Server documentation.]

  • Using Local Login to Test Your System's Operation

To test how the windows and objects you create in the Window Editor actually work online, your system's installation of O·M·N·I Term supports a local login feature which allows you to actually "log on" to your O·M·N·I Server as if you were a remote user—without using your modem or phone line.

Local login uses the same protocol that direct (phone) dial-up or connecting from the Internet uses to communicate. This means that all functions available via dial-up are also available via the local login (e-mail, chat, upload, download, etc.). Not only will you be able to see how your windows and objects will appear online, but you'll also have an opportunity to test their actual function.

To set up Local Login, open O·M·N·I Term and proceed as though making any new entry into your Dialing Directory: Select either the "Dialing Directory" button or the Dialing Directory menu item (under Show on the File menu) on the O·M·N·I Term tool bar to open the "O·M·N·I Dialing Directory" window—then press the Add button. Enter a name under System Name then select "O·M·N·I • Local Login" as the Connection Type. (Also enter information into the User ID and Password fields, since you will actually be recognized by your own system as a "new user" when you log on locally for the first time!) When finished, click Done.

Next, open the "O·M·N·I Server Node Setup" dialog box by clicking on its icon in your O·M·N·I program group. Specify a node you wish to use for local login connections, then under the Comm tab simply check Local Login and click Done.

You may now launch your Server as usual. Your local login node should be listed—along with any other nodes you are running—and "Waiting for local connection..." Now open O·M·N·I Term and select your local login entry from the Dialing Directory or "Sign On" window. Sign on as you would for any dial-up system. You will now be able to see and experience exactly what others do when they sign on to your system remotely.

NOTE: Before you attempt to test your system using local login, make sure that you have moved all appropriate objects and windows from the Window Editor to your O·M·N·I Server [see previous section above].

4.1.1 The Window Browser

The Window Browser [Figure 4-A below] offers a convenient internal method of organizing and managing every window you create. You may find the window browser useful for categorizing, naming, and keeping track of windows which are both in the process of being created and which have already been utilized online.

4.1.1.1 Creating Window Groups

Before you may create any window, you must first create a window group, under which the actual windows you create may be named and listed.

NOTE: The names used in both the Window Browser and Object Browser are used internally by your system in order to provide you with a descriptive reference name for organizational purposes. You will create the actual titles (or, rather, "caption text") for your windows and objects elsewhere in the Editor. This design option will be covered later.

Figure 4-A

In Figure 4-A above, note the plus (+), the angled arrow, and the minus (-) buttons to the right of the Window Group drop-down field. Pressing any of these displays a dialog box for adding, renaming, or deleting a Window Group, respectively. Compare these to the Add,
Name, and Remove buttons at the bottom of the dialog box; these function exactly the same way but pertain to specific windows within the current Window Group. The Copy button allows you to copy the currently selected window to either the same or another Window Group.

4.1.1.2 Adding Windows

To create a window, you must first have at least one Window Group to work with [see Section 4.1.1.1—"Creating a Window Group" above]. You can create a total of 255 windows for any one Window Group. To add a new window, select the Add button and enter a descriptive name (up to 50 characters in length) in the "Add Window" dialog box.

NOTE: The windows you create and edit are not entirely functional inside the Window Editor; they are, essentially, non-working "models" of the actual windows your users will see when online. When you have completed a window within the Editor, you will export it to your Server, where it may then be utilized by your callers [see Section 3.1.3 of your O·M·N·I Server manual for complete instructions].

4.1.1.3 Renaming Windows

To rename an existing window, select the Name button and enter the new name in the "Edit Window Name" dialog box. The descriptive name you enter may be up to 50 characters in length.

4.1.1.4 Editing Existing & New Windows

To edit the currently selected window, choose the Edit button (or just double-click on it) and the desired window will pop up for you to begin making changes. If no previous editing has been performed yet on a window you've added to the Window Browser, a blank window will appear in your "work space" for you to begin editing . . . and this is how you start creating new windows!

NOTE: You may open and edit several windows at a time in the Window Editor.

4.1.2 The Object Browser

The Object Browser [Figure 4-B below] offers an extremely useful and convenient tool for organizing and managing all the objects you use for creating the windows on your system. Since objects may be referenced as many times—or in as many windows—as you want, careful planning should go into the way that you categorize and name them in the Object Browser.

4.1.2.1
Creating Object Groups

Before you can create any object, you must first create an object group, under which all the objects you create will be named and listed.

Figure 4-B

In figure 4-B above, note the plus (+), the angled arrow, and the minus (-) buttons to the right of the Object Group drop-down field. Pressing any of these displays a dialog box for adding, renaming, or deleting an Object Group, respectively. Compare these to the Add,
Name, and Remove buttons at the bottom of the Object Browser. These function exactly the same way but are used for the actual objects listed beneath the Object Group drop-down field. The Copy button allows you to copy the currently highlighted object to either the same or another Object Group.

4.1.2.2
Creating Objects

Objects are created and organized within Object Groups. You cannot create a new object unless you have at least one Object Group. To create an object, select the Add button then type a descriptive name (up to 50 characters in length) in the "Add Object" dialog box. You can create as many as 255 objects in any individual Object Group. Choose the type of object you wish to add from the Type drop-down field and select Ok. The newly added object will instantly appear in your listing inside the Object Browser.

Following is a complete list of all the types of objects supported by O·M·N·I . . . just as they are listed in the Type drop-down field of the "Add Object" dialog box.

NOTE: In each of the following descriptions it is assumed that you have already added the specific object—as outlined above—and that it is present within the Object Browser. Also, in each case, a preview of your selected file is available for review before you actually add it to your object listing; but you must be sure to specify the proper object Type in the "Add Object" dialog when you create and Name the object!

  • Data Compressed

The Data Compressed object type is not used internally within O·M·N·I. It is used together with the O·M·N·I Basic scripting language to send application and support files required to run an external application on the Term computer. It allows you to send any type of file you want. All files are stored in a subdirectory called \EXTERNAL which is contained in the cache directory for each specific system a user calls. You can specify a relative path from the \EXTERNAL subdirectory to where you want your file installed. For example, if you specify "TEST\SAMPLE" as the subdirectory in the object definition and the system number in the user's Term is 2, then the file would end up at C:\OMNITERM\DATA\CACHE\2\TEST\SAMPLE. [See Section 4.2.1.4—"O·M·N·I Basic: Advanced Programming and Scripting Language"—below for additional information.]

NOTE: To utilize O·M·N·I Basic, you must have the O·M·N·I Basic script editor installed.

  • Document

The Document object allows you to create and edit a complete multi-font, full-color text document to be inserted into a Document View element [see section 4.2.2.9—"Document View"—below] for display to your users. To create the actual document object, highlight the new Object name and press Edit. The "Edit Document Object" window [Figure 4-C below] will appear, where you may proceed to create your document as you want it to appear inside the Document View element of your window.

Figure 4-C

The "Edit Document Object" window is quite similar to most word processing applications. You can type your text using several different font styles and typefaces, as well as add color and shadowing to your text. The toolbar across the top of the window consists of all the tools that you may use to edit your document object.

The first button on the toolbar opens the "Insert Image File" browser and allows you to insert a BMP, GIF, or JPEG image into your document object at the point of the cursor. This dialog may also be accessed by selecting Insert Image File... from the File menu. You may also specify a background color for your document editor by selecting Background Color... from the File menu. [Also see the description for the "Background Color" property under Section 4.2.1.2 below.]

The second "colorful" button allows you to select or customize the color of the text you are typing (or text you've already typed and selected to color). The next tool is a drop-down field that allows you to select the desired font, followed by another drop-down field which lets you choose the size of the current font. The next is a toggle button labeled "B" which enables you to set the current font's typeface to bold. The button labeled "i" toggles the italic typeface on and off. The button labeled "S" allows you to give the text a foreground or background shadow, or both, in a variety of different colors.

If you prefer, you may also select from the options listed under Character menu at the top of the "Edit Document Object" window to perform any of these functions—in addition to the following properties:

Underline Specifies underlined type for the currently selected text and allows you to select from a variety of specific styles, as well as the size and color of the underline.

            
Strikethrough Specifies strikethrough for the currently selected text.

            
Shift Up... Allows you to increase the leading (space) between lines in your document object by entering a value—in pixels.

            
Shift Down... Allows you to decrease the leading (space) between lines in your document object by entering a value—in pixels.

            
Font Width... Opens a dialog where you can adjust the font width of the currently selected text. A value of zero will leave the font width at its default setting. A value of 1-4 scales the font narrower than normal. A value of 5 or larger scales the font wider than normal.

The last four buttons on the toolbar are used to set the paragraph's alignment to right, left, centered, or justified—respectively. You will also find these options listed under the Paragraph menu . . . which includes another unique property:

Border... Opens a dialog which allows you to specify borders of various styles around paragraphs.

                            
NOTE: If two or more consecutive paragraphs have the same border style, the borders will be combined into a single border surrounding all of them.

You may also select File + Import Document... from the main menu to import documents (in TXT or RTF format) into this window for editing. (Since an imported document will be inserted at the current cursor point, you will be prompted to "clear current document before importing" before the document is actually imported.) Similarly, you may conveniently export the current document by selecting File + Export Document... from the main menu.

  • Icon

The Icon object is simply an imported icon that you may later set to appear in various window elements. After you select Icon from the Type drop-down field and click Ok, the new name will instantly appear in the object listing beneath the currently selected Object Group within the Object Browser. To actually import the desired icon, highlight the newly added icon object name and press Edit. The "Edit Icon Object" dialog will appear, where you may proceed to import the icon by selecting the desired file name—which may include any standard Windows icon (.ICO) file—from the file list field.

  • Images: Bitmap, CMP, GIF, JPEG, and Metafile

When you add an Image object to your Object Browser, you will be able to utilize it in a number of different window elements for display to your callers. Once you name your object and select Ok, the new name will instantly appear in the object listing beneath the currently selected Object Group. To actually import the image, highlight the image's name in the Object Browser and press Edit. The "Edit Image Object" dialog will appear, where you may import the image by choosing the desired image's file name (.BMP, .CMP, .GIF, .JPG or .WMF) from the file list field. The image will instantly appear inside the dialog.

NOTE: You may double-click directly on the "current" image to automatically open that object in the O·M·N·I Imager utility!

  • MIDI

This allows you to insert a MIDI sound object into a specific window element so that callers will hear it play when they execute a certain command [see Section 4.2.1.3—"Basic Command Properties"—below for a basic application]. To import any MIDI (.MID) file, highlight its newly added object name in your Window Browser and press Edit. The "Edit MIDI Object" dialog will appear, where you may proceed to import the desired file by selecting its file name from the file list field.

This object can be used by either the Sound or Alternate Sound tabs of the "Set Command" dialog box or by the "Play MIDI Object" O·M·N·I Basic Script command.

  • O-M-N-I Basic Script

The O-M-N-I Basic Script object allows you to place O·M·N·I Basic script routines into objects, meaning you can actually share a single script between many windows. Use the "Execute Script Object" command in the O·M·N·I Basic script editor to execute an O-M-N-I Basic Script object. [See Section 4.2.1.4—"O·M·N·I Basic: Advanced Programming and Scripting Language"—below for more detailed information about O·M·N·I Basic.]

NOTE: To utilize O·M·N·I Basic, you must have the O·M·N·I Basic script editor installed.

  • Permanent Forum List

The Permanent Forum List object allows you to set up areas of your system which you may otherwise not wish to include as part of the initial permanent window download (when a user first signs on) . . . but which you might want to send permanently to them once they actually enter the area for the first time.

To set up a permanent forum, first create an object group, such as "Permanent Forums," in your Object Browser—then select Add to create a new Permanent Forum List object in the "Add Object" dialog box. Select Edit to open the "Edit Permanent Forum List Object" dialog and add all of the windows you want to use as part of the permanent forum (or area). This works exactly the same way as the "Set Permanent Windows" dialog box. [See item "Permanent Windows" under "System"—Section 4.3.3—for related information.]

Next, set the Command property for the element you want to use to execute downloading of the permanent forum when the user selects it: In the "Set Command" dialog box select the "Display Permanent Forum" command from the Action list under the Command tab, and specify the Object Group and new Forum List Object respectively. Then select the Window (from the appropriate Window Group) which will be opened once all the forum's windows and objects have been sent to the user's O·M·N·I Term.

NOTE: When specifying a Display Permanent Forum command in O·M·N·I Basic, it is necessary to link the object to a selected window by listing it in the window's Object List property. If you don't your forum will never load! [See Section 4.2.1.4—"O·M·N·I Basic: Advanced Programming and Scripting Language"—below for more detailed information.]

         Making Changes to a Permanent Forum

If you change any of the objects or windows in a permanent forum, you must update the object "version" of the Permanent Forum List object that defines that forum. You can do this at any time by simply opening the "Edit Permanent Forum List Object" dialog for the object and pressing the Ok button. There is no need to make any other changes—just opening and resaving the Permanent Forum List object will update the object's version!

Once the object's version has been updated, the Term will recheck the window and object versions for everything used in that forum the next time a user enters that forum. If any of the forum's windows or objects have been updated, only those changed objects and windows will be sent.

IMPORTANT: While it is certainly possible to "nest" permanent forums inside each other—that is, place one forum inside another at deeper levels—in order to properly update the object version of any permanent forum located a level or more deep, you must also update the objects for all the previous (parent) levels at the same time in order to maintain "referential integrity," otherwise your new changes will never be sent.

  • Plain Text

A Plain Text object is a "simple" text document that you create for display to your users. Unlike the Document object [described above] you cannot format the text style, size, or color—nor can you add shadowing or set paragraph alignment. (This object type is comparable to standard Windows text created in Notepad.) To create the Plain Text object, highlight its newly added object name in your Window Browser and press Edit. The "Edit Plain Text Object" dialog will appear, where you may proceed to create your text message as you want it to appear to your callers.

  • Sound Wave

Any Sound Wave object can be inserted into a specific window element so that callers will hear it play back when they execute a certain event [see Section 4.2.1.3—"Basic Command Properties"—below for a basic application]. To import any sound (.WAV) file, highlight its newly added object name in your Window Browser and press Edit. The "Edit Sound Wave Object" dialog will appear, where you may proceed to import the desired file by selecting its file name from the file list field.

  • Tree Structure

The Tree Structure object is used to create a folder-like "tree" structure to organize and group together topics and subtopics of your message boards and file areas (i.e., object lists). A perfect example of the how the tree structure looks and operates is the File Manager utility found in Microsoft® Windows 3.x. You create the message board and file area "folders" and organize them into topics and subtopics using the "Edit Tree Structure Object" dialog. To create the actual Tree Structure object, highlight the newly added tree structure object name and press Edit.

Add a line (or "branch") to your tree structure by selecting the Add button and typing the caption text in the Caption field that appears. Lines can be indented (to appear like a file-folder structure) by using the indent buttons labeled "<< Indent" (left indent) and "Indent >>" (right indent). If you wish to remove a line you can do so using the Remove
button. You may also preview the tree structure—to see how it will appear to callers—by selecting the Preview
button. The last thing you will need to do for each line is to assign commands to it by choosing the Commands button, which will display the "Set Command" dialog box [see Section 4.2.1.3—"Basic Command Properties"—for instructions on setting commands]. You do not need to set commands for every line; those without commands will still appear in the structure but won't do anything.

4.2 Window Elements & Their Properties

Each window you create in the O·M·N·I Window Editor is composed of some combination or variation of window elements . . . which are the basic building blocks of your window designs and "contain" the actual objects which are sent to your caller's computer.

Each element has a specific purpose—some unique design or command function—which you may apply, however you see fit, to your window designs. With the exception of the "Window" element (described below), you select every element you wish to use for a window individually from the Element Palette [Figure 4-D below]. This is the "floating toolbar" mentioned earlier, which you may conveniently position anywhere on your screen.

The Element Palette

Figure 4-D

Each icon on the Element Palette corresponds to a specific element used in the O·M·N·I Window Editor (with the exception of the "tool" icons in the bottom two rows). The "Element Descriptions" section below [Section 4.2.3] shows each icon with the proper element to which it is associated.

Each element's special purpose is determined by its own unique set of properties . . . which allow you to "configure" an element by setting or adjusting their own specific values. This is performed on the stationary toolbar across the top of your screen in the Window Editor, where you may utilize various drop-down fields and lookup buttons to specify the properties and values you want [also see your Window Editor tutorial].

Some properties are common to other elements (i.e., contain the same value options and function essentially the same way in several different elements) and many are specific only to a particular type of element.

Element-specific properties (and their values) are listed beneath the descriptions for each element to which they are associated in Section 4.2.3 below. Common properties, along with their value options, are described directly below.

4.2.1 Common Properties & Their Values

Following is a complete listing of all the common properties found in the O·M·N·I Window Editor—with their accompanying descriptions and value options. They are grouped into three basic functional categories—including editing-management, basic design properties, and the "Commands" property (which is basic to various elements and functions).

NOTE: If you wish to find out which elements contain which common properties, as listed below, refer to the properties list under each element description in Section 4.2.2 that follows—properties not preceded by an asterisk (*) in each element's listing are common properties.

4.2.1.1 Editing-Management Properties

These are properties which aid in the "process" of editing and are not associated with any design or command functions in themselves.

            
Name The descriptive name assigned to each element in a window: A default name (listed under each element described above) is automatically provided but may be replaced at any time with a more appropriate name (any alpha-numeric description up to 50 characters long) in the value field.

                                
NOTE: Giving objects meaningful descriptive names is a wise and useful practice—if only to remind yourself of an object's "purpose" further in the design process.

            
Fixed Location A property which safeguards against accidentally dragging an element out of position while working on a window—set by selecting True or False options.

4.2.1.2 Basic Design Properties

The properties in this category are common to the most number of elements in the O·M·N·I Window Editor—simply because they are associated with the most fundamental design functions for creating windows and the elements within them.

            
Background Color You may choose the background color for a selected element by clicking the lookup button and entering your choice in the "Select Color" window. Color values may be more precisely controlled by viewing dithered patterns and using the color adjustment bars.

            
Border Lets you specify a thin black border around the current element for design purposes or for greater edge definition—set by True or False.

            
Caption Alignment Lets you determine where inside the current element the initial character of your caption text (if any) will start—set by specifying one of the following:

                                
Left-Top Right-Bottom

                                
Left-Middle Center-Top

                                
Left-Bottom Center-Middle

                                
Right-Top Center-Bottom

                                
Right-Middle

                                
NOTE: Caption Alignment options for the Label element differ (i.e., are limited to Left, Center, and Right) because caption text appears in the Title Bar only.

            
Caption Text Enter in the value field any alpha-numeric text message (up to 255 characters) for the caption, title, heading, description . . . that you want to appear inside the selected element.

                                
NOTE: Caption text for the Window Element appears in the title bar only (Title Bar property must also be set to True).

                                
Using a Simple Macro to "Personalize" Caption Text:

                                
A special internal feature of the O·M·N·I Window Editor lets you add a macro to the caption of any element which will display the current—

                                
Name of the Sysop: {%SYSOPNAME%}

                                
User's first name: {%FIRSTNAME%}

                                
User's last name: {%LASTNAME%}

                                
User's middle name: {%MIDDLENAME%}

                                
User's salutation (Mr., Mrs., etc.): {%SALUTATION%}

                                
User's user ID: {%USERID%}

                                
System name as it appears on Term's titlebar: {%SYSTEMNAME%}

                                
Server node number the user is connected to: {%NODE%}

                                
Date in mm-dd-yyyy format: {%DATE%}

                                
Day of week as word (Sunday, Monday, etc.): {%DAYOFWEEK%}

                                
Abbrev. day of week (Sun, Mon, etc.): {%DAYOFWEEKSHORT%}

                                
Month as word (January, February, etc.): {%MONTHNAME%}

                                
Abbrev. month (Jan, Feb, etc.): {%MONTHNAMESHORT%}

                                
Year in four digits (1995, 1996, etc.): {%YEAR%}

                                
To make any of this information appear online anywhere in the caption of an element, just enter the macro enclosed in {% . . . %} exactly as shown after each respective item listed above. For example, setting the Caption text of a panel element to . . .

                                Welcome {%SALUTATION%} {%LASTNAME%}!

                                
. . . would produce the following for Joan Q. Public if she's connected to the system:

                                
Welcome Ms. Public!

                                
The salutation and last name in this example are displayed exactly as they are specified for Joan Q. Public in the system's User Database.

                
Click Focus When set to False (the default), the Click Move property works normally [see "Click Move" property description below]. When set to True, Click Move functions more like a normal Windows button—that is, if a user clicks the element (and it moves) then moves the mouse off it without releasing the mouse button, the element will move back to its original spot without causing the element's commands to execute. This lets users cancel the click of an element if they choose.

                                
NOTE: Click Move [below] must also be set to True for this property to have any affect.

                
Click Left Sets the x window coordinate where you want the current element to move when a user selects it. [See "Click Move" property description below].

                
Click Move When set to True, this property allows the current element to "move" when a user clicks on it. For example, this allows you to create "buttons" with drop shadows where the top part of the button will actually depress down to meet the shadow—then instantly return to its original position—when clicked. You may specify any coordinates on your screen (including outside the current window!) by using the Click Left and Click Top properties.

                                
NOTE: This property is available in the Bitmap Tile, Panel, Picture, and Image View elements—not the Command Button element.

            
Click Top Sets the y window coordinate where you want the current Image View element to move when a user selects it. [See "Click Move" property description above].

            
Font: Bold Sets the specified caption text typeface to bold or non-bold by selecting True or False.

            
Font: Italic Sets the specified caption text typeface to italic or regular by selecting True or False.

            
Font: Name Allows you to specify the typeface for your caption text from a drop-down list of your current fonts.

                                
IMPORTANT: If a caller does not have your selected font actually installed on their system, the typeface in your caption text will default to a more common Windows font such as Arial. A simple alternative to designing graphic displays using special fonts is to create them as picture objects (e.g., bitmaps) instead.

            
Font: Size You specify the font size of your caption text simply by entering the appropriate point size in the value field.

            
Font: Strikethru Allows you to specify a strikethru line through your caption text—using a True or False setting.

            
Font: Underline Allows you to specify underlined caption text—using a True or False setting.

            
Font: 3D This property allows you to set caption text to 3D for the current button or panel, using one of the following options:

                                
Raised with Light Shading

                                
Raised with Heavy Shading

                                
Inset with Heavy Shading

                                
Inset with Light Shading

                                
Select the desired option from the value field drop-down list.

            
Height Shows the present height of the selected element (in pixels) inside the value field and allows you to make precise height adjustments by simply entering a new value and pressing Enter. (Current width and height are also displayed to the far right of the main toolbar.)

Hint Text You may specify the hint text you wish to appear in the current window on your user's screen (in the form of a pop-up hint box) whenever their cursor is placed over the current element in that window.

                                
To edit Hint Text, simply select the property and enter the desired text (up to 255 characters long) in the text field that appears. (If you enter nothing, no hint text will be displayed.) This can be done for most window elements.

            
Left Displays inside the value field the distance (in pixels) of the selected element from the left edge of the window (excluding the window's border). Precise left-right positioning may be achieved by simply entering the correct value and pressing Enter.

                                
NOTE: Exact horizontal centering of an element inside a window may be achieved by pressing the Left-to-Right Arrow button near the bottom of the Element Palette.

            
Mouse Pointer Allows you to set what the mouse cursor will look like when a user positions it over the selected window element.

            
Rounded Corners By selecting either True or False from the value field, you may specify whether or not the current button or panel's inside and/or outside bevel(s) will have rounded corners.

                                
NOTE: This property has no effect unless at least one of the bevel properties is specified.

            
Tab Order Lets you specify the order in which a user will always move whenever they use the Tab key to select between various elements on your window.

                                
You must assign a numeric value—in ascending order—for each individual element on your window that you want a user to be able to select (and which also supports the Tab Order property). Start with zero for the first element of focus—then assign the next highest number to the very next element you want to order into the Tab sequence—and so on.

                                
NOTE: This property is very useful in the creation of forms and menus with multiple text entries or button elements on them!

            
Text Color Lets you specify a color for the caption text of the currently selected element by clicking the lookup button and utilizing the "Select Color" window.

            
Top Displays inside the value field the distance (in pixels) of the selected element from the top edge of the window (excluding the window's border). Precise vertical positioning may be achieved by simply entering the correct value and pressing Enter.

                                
NOTE: Exact vertical centering of an element inside a window may be achieved by pressing the Up-and-Down Arrow button near the bottom of the Element Palette.

            
Visibility A very unique property which allows you to make an element visible only to those at a specified security level. You may specify the security level and/or lock-and-key word(s) in the "Set Visibility" dialog that pops up when this property is selected.

                                
The uses for this property are endless! For example, you can display a message which only callers at a certain security level will ever see. Or you can superimpose identical buttons directly on top of each other, set one one of them to be visible only at a specific security level, then set both of them so they go to completely separate areas on your system!

            
Visible Unlike the Visibility property [above], which lets you define the security level at which a user will be able to see an element, the Visible property lets you specify whether or not the element will be visible to any user.

                                
When set to False, a user will not be able to see the current element when the window on which it is located opens while they are online (however, it will still be visible in the Window Editor)—regardless of any security settings which may already be set for the Visibility property. When set to True (the default), the Visibility property will be evaluated for any security settings instead.

                                
NOTE: This property was added as a convenience to those who use hidden elements in conjunction with O·M·N·I Basic, so that they do not have to enter a fake security level to hide an element. (An element can even be made to appear again to the user online using O·M·N·I Basic's "Show Element" command!)

            
Width Shows the present width of the selected element (in pixels) inside the value field and allows you to make precise width adjustments by simply entering a new value and pressing Enter. (Current width and height are also displayed to the far right on the main toolbar.)

4.2.1.3 Commands: Defining How Your System Will Act

A command is an internal instruction that tells the Server to carry out a specific action when executed by the user at the terminal interface (such as when they click on an icon or button). You specify the action you wish to be carried out when a user selects the appropriate element. For instance, you might set the "Enter Chat Room" command for a button element on one of your windows to tell the Server to place the user into a chat room whenever the button is selected.

In addition to setting a basic action, you can also associate sounds in both WAV and MIDI formats. You can also set security levels for specific commands so that the action will be carried out only when executed by someone who meets the proper security criteria. If the user does not meet the security settings you have specified, then "Alternate Commands" and "Alternate Sounds" may be used instead.

O·M·N·I offers two basic ways of defining how your system's interface will act when your user interacts with it. The first way is by using the "Set Command" dialog box [Figure 4-E below]—which offers the most straightforward method of specifying commands for your system's interface and will satisfy most conventional system requirements. The second way is by using the O·M·N·I Basic script editor [Section 4.2.1.4 below]—which is a special software plug-in for the Window Editor which offers an advanced scripting language for more experienced system designers who want to make their windows interface more "interactive."

The "Commands" property is the main property used for specifying actions on your user's interface and it is available in a number of elements, including the Bitmap Tile, Picture, Image View, Command Button, Panel, and Document View elements.

To set any basic command for the currently selected element—select "Commands" from the properties drop-down field and click on the lookup button to bring up the "Set Command" dialog box. The "Set Command" dialog is separated by tab sections which provide a variety of options which you may use to define how the current window will behave and what action or event will be executed when the current element is selected by the user.

Figure 4-E

Following are descriptions of each tab section and the available commands you may set in the "Set Command" dialog box.

Command

Current Window

        
______________________________________________________________________________________________________

                
Normal: Allows the currently displayed window to remain on-screen (for instance, behind any new ones that are opened).

                
Unload: Unloads the currently displayed window from the computer's memory so that it is not displayed.

                
Minimize: Minimizes the currently displayed window.

        
Action

        
______________________________________________________________________________________________________

                
Display Message Box: Used to display a message box to the user on the Term side.

                
Display

                
Permanent Forum: Allows you to select the Permanent Forum List Object you want to be sent permanently to the Term when the current command is executed. Here you must also select the forum window you want displayed after the Permanent Forum List Object has been sent. [Also see "Permanent Forum List" item under "Creating Objects"—Section 4.1.2.2—above.]

                
Display Window: This tells the Server to display another window. Select the desired window from the Window Group and Window fields.

                
Download Specific File: Allows the user to download a specific file. Select the file using the File Area Group, File Area, and File fields.

                
Enter Chat Lobby: Enters the main chat lobby.

                
Enter Chat Room: When selected, a combo-box appears allowing you to specify which of your permanent chat rooms will be entered.

                
Log-off / Hangup: Tells the server to log the user off your system and hang up.

                
Page Another User: Allows you to place a page button on any window on your system which—when this command is set for it—will allow users to pop up the "Users Currently Online" dialog, just like the "Page" button does in Chat. (From there the user can double-click the person they want to page and send them an "instant message" using the miniature chat window that appears on their screen.)

                
Page Sysop: Allows you to place a chat button in any window on your system which—when this command is set for it—will allow users to page and chat with the Sysop (providing the "Allow Page Sysop" box is checked in the Server.)

                
Show E-mail Center: Displays the E-mail Center.

                
Show File Area: Instructs the File Area Control element to display the contents of the specified file area. Select the area using the File Area Group and File Area fields. [See section 4.2.2.12—"File Area Control Element"—for more information.]

                
Show Message Board: Instructs the File Area Control element to display the contents of the specified message board. Select the message board using the Message Board Group and Message Board fields. [See section 4.2.2.13—"Message Board Control Element"—for more information.]

                
Upload File: Allows the user to upload a file to a specific File Area. Select the desired File Area using the File Area Group and File Area fields.

Sound

        
Play Wave Object

        
______________________________________________________________________________________________________

                                
When you select this option, you can associate a Wave sound object to the current window or element using the Object Group and Wave Object fields. You can also specify whether it should Play Once, Replay (a number of) Times, or maintain Continuous Replay.

                                
NOTE: To set sounds for opening and/or closing windows use the "Commands Close" and "Commands Open" properties for the Window element.

        
Play MIDI Object

        
______________________________________________________________________________________________________

                                
With this option, you can associate a MIDI object to the current window or element in exactly the same way as you can for Wave sound objects [described above].

Security

Security Level & Locks

        
______________________________________________________________________________________________________

                                
To set the security levels and locks that must be met for the settings in the Command, Cache, Sound, and Windows tabs to take effect, enter them in this field. You can enter security levels, "lock-and-key" based security, or passwords. [For more information on how to set security levels see Section 2.1.3.3—"Specifying User Access and Security"—in your Configuration Utility documentation.]

                                
NOTE: If the security level is not passed, the "alternate" commands [described below] are used instead.

Alternate Command

        
[Set the same way as for the Commands tab section—described above.]

        
______________________________________________________________________________________________________

                                
Use this tab to set the commands to be carried out if the security check fails. [See "Command" and "Security" sections above.]

Alternate Sound

        
[Set the same way as for the Sound tab section—described above.]

        
______________________________________________________________________________________________________

                                
Alternate Wave sound object or MIDI object to be played if the security check fails. [See "Command" and "Security" sections above.]

4.2.1.4 O·M·N·I Basic: Advanced Scripting Language

O·M·N·I Basic is a special scripting language that offers more experienced system designers a wider range of commands than the normal set of actions that are available in the "Set Command" dialog box. O·M·N·I Basic includes IF ... ELSE IF ... END IF logic capabilities, which allows you to specify an almost endless number of command-design variations for your interface.

For example, with O·M·N·I Basic you can specify several actions to be performed at once when the user clicks a single button (or another element) on your system's interface. You can set the action to open several windows, close a few others, and minimize another window . . . all with one click. You can create a window with either buttons or a tree element on it which—when individual commands are executed—will load a different object into another element on the same window!

You may also use O·M·N·I Basic to check and set user security levels. And you can use custom variables (which you define) to store specific application-related information. You can use O·M·N·I Basic for all your command settings if you want; because anywhere that the "Set Command" dialog box may be used for specifying commands, you can always use O·M·N·I Basic scripts instead.

To utilize O·M·N·I Basic, a simple and easy-to-use script editor can be accessed by clicking on the O·M·N·I Basic button in the lower left corner of the "Set Command" dialog box. This will display the "Edit Script" window, which lists all the available O·M·N·I Basic commands inside the left pane. Here you may simply double-click any command you want to use for your script (you do not need to remember "command syntax" or "parameter lists" as you do with many programming languages!). If there are any properties to specify for the selected command, the "O·M·N·I Basic" dialog will instantly appear where you may easily set them.

Your script entry will then automatically be listed in the right pane of the "Edit Script" window where your current script is always displayed. At any time, you can select a script line and use the button bar at the bottom of the window to edit command properties (also done by double-clicking a script item), move an item up or down in the script, or delete the selected script item.

The O·M·N·I Basic script editor makes it easy for almost anyone to write basic scripts; yet it is powerful enough for advanced system operators and designers to create highly sophisticated system designs . . . even games and online applications!

Following is the list of script commands presently supported by O·M·N·I Basic:

CHAT Commands pertaining to chat and paging

            
Enter Chat Lobby Enters the system's chat lobby.

            
Enter Chat Room Enters the specified chat room.

            
Page Another User Opens the list of users presently online and allows the current user to page another.

            
Page Specific User Allows you to page a specific user without displaying the "users online" listbox to the caller.

            
Page Sysop Attempts to page the Sysop.

DEBUG Commands that help debug a script

            
Debug Mode Off Turns the Debug menu option back off in the Term where the "Debug Mode On" property has been specified. [See "Debug Mode On" below.]

            
Debug Mode On Enables the Debug menu option to be visible in the Term so that you can view and debug your O·M·N·I Basic scripts during a local login test session.

                                
From the Debug menu you can open the "Debug Variable" window—which allows you to see all the variables currently defined in your O·M·N·I Basic script and what their values are; the "Debug Security" window—which displays all your current security keywords; and the "Debug Output" window—which displays information that may be printed using the "Debug Print Output" command specified in O·M·N·I Basic. [Also see "Using Local Login to Test Your System's Operation" under Section 4.1 above.]

                                
NOTE: Whenever "Debug Mode On" is specified, the Debug menu option will be visible in the Term for ALL users—not just your local login! Be sure to specify "Debug Mode Off" once you're finished testing, if you want to disable the Debug menu item once again.

            
Debug Output Clear Clears the contents of the Term's "Debug Output" window. [See "Debug Mode On" above.]

            
Debug Output Print Prints to the Term's "Debug Output" window. [See "Debug Mode On" above.]

EXECUTION Commands that control script execution

            
Comment Allows you to insert blank links for making your script more readable—or comment lines where you can type any explanatory text you want. Comments have no affect on the execution of a script online.

            
Do Events Allows the system to process events and re-draw the screen. Sometimes it is useful to insert this command between two "Display Window" commands to allow the first window to fully display before the second window is opened.

            
Execute Element Executes the script from the specified element from within a script. This allows you to put common O·M·N·I Basic code in a hidden element on the window which other elements on the window call. (This is similar to subroutines in other programming languages.)

            
Execute Script Object Allows you to execute a script contained inside an O·M·N·I Basic Script object so that you can share a single script between multiple windows. [Also see "O·M·N·I Basic Script" item under Section 4.1.2.2—"Creating Objects"—in your O·M·N·I Window Editor documentation.]

            
Exit Script The script will immediately exit when this command is encountered. No commands after this one will be executed in the script.

            
Go To Label Allows you to jump to another point in your script. (Scripts are executed from top to bottom.) This command lets you change the flow of your script.

                                
NOTE: Be careful not to create an endless loop where your script continuously jumps back to the same point in the script and never exits. Also, you must specify a label when going to the "Label" command. [See "Label" below.]

            
Label This is a line label which you insert to jump to your "Go To Label" command to stop at this point in your script. [Also see "Go To Label" above.]

            
Wait Causes your script to pause for x/10ths of a second. For example, a value of 100 will cause the script to pause for 10 seconds before continuing to execute.

EXTERNAL Interfaces to external applications

            
Launch Server-side This makes it possible to launch an .EXE file on the Server machine. For security purposes, it only allows files in the O-M-N-I\EXTERNAL subdirectory to be launched (Only .EXE files may be launched).

            
Launch Term-side Allows you to start a program on the remote Term computer. The path requested is relative to the \EXTERNAL subdirectory in the specific system's cache directory. Use the Data Compressed object type in the Object Browser's "Add Object" dialog to send files to this \EXTERNAL subdirectory. If you specify no path in the object itself, then you should only include the program filename in the Launch Term-Side command. [Also see "Data Compressed" item under Section 4.1.2.2—"Creating Objects"—in your O·M·N·I Window Editor documentation.]

            
OMNIGLUE Remote Send Allows you to send information to an OMNIGLUE channel on the Server-side. This allows you to communicate with applications running on the server computer. You only need to specify the OMNIGLUE channel's name and the data that you want to pass to it. [See SDK Help for information about OMNIGLUE channels.]

            
OMNIGLUE Send Allows you to send information to an OMNLUE channel on the Term-side. This allows you to communicate with other applications running on the client computer. You only need to specify the OMNIGLUE channel's name and the data that you want to pass to it. [See SDK help for information about OMNIGLUE channels.]

INTERFACE Commands that affect the user interface

            
Close All Windows Closes all open windows on the system except for the window from which the script is being executed.

            
Close Window Closes the specified window.

            
Disable All Windows Disables all of the windows in the Term that are custom. It ensures that the user can't click on another button or option while your code is executing. Make sure you call the "Enable All Windows" command to make your windows work again. The Term's built-in windows, such as chat, e-mail, and dialing directory, are not affected by this command.

            
Display

            
Permanent Forum The Display Permanent Forum command lets you specify different commands to actually link to different windows within a forum—while still allowing access to the permanent forum engine—ensuring that the user has the most up-to-date windows and objects for everything used in the specified forum.

                                
When using O·M·N·I Basic to create a permanent forum, you need to select both a Permanent Forum List object and a window to display. It is highly recommended that the window specified be one of the windows listed in the selected Permanent Forum List object (although it is not actually necessary).

                                
NOTE: When specifying a Display Permanent Forum command in O·M·N·I Basic, it is also necessary to link the object to a selected window by listing it in the window's Object List property. If you don't your forum will never load!

            
Display Window Displays the specified window. The window specified can be either temporary or permanent. If more than one temporary window is specified within a script to be opened, they will be downloaded and displayed in the order they are listed in the script.

            
Enable All Windows Re-enables all custom windows in the Term, reversing the affects of the "Disable All Windows" command.

            
Hide Element Makes the specified element invisible. Has the opposite affect as the "Show Element" command.

            
Hourglass Off Switches the mouse pointer back to its normal appearance.

                                
NOTE: This does not happen automatically at the end of executing a script, so be sure to specify "Hourglass Off" if you have specified "Hourglass On" earlier in your script. [See "Hourglass On" below.]

            
Hourglass On Turns the mouse pointer into an hourglass. (The cursor is not turned into an hourglass automatically when executing a script—this is up to you!)

            
Message Box Displays a message box to the user.

            
Minimize All Windows Minimizes all windows currently open, except the window from which the script is presently executing.

            
Move Element Allows you to change the Top, Left, Width, and Height properties of any element on a window.

            
Play MIDI Object Begins playing the specified MIDI object.

            
Play Wave Object Begins playing the specified Wave object.

            
Restore All Windows Reopens all windows that are minimized. Has the opposite affect as the "Minimize All Windows" command. (It does not affect the state of the window from which the script is executing.)

            
Set Caption Sets the caption of the specified element to the specified text. You can use this command to set the contents of a label, panel, plain text view, or command button element . . . and also the titlebar of a window.

            
Set Contents Loads the specified object into the specified element.

            
Set Interval Allows you to set the Interval property of any Timer element on a window.

            
Show Element Makes the specified element visible on the window. Has the opposite affect as the "Hide Element" command.

            
Show E-mail Center Opens the E-mail Center.

            
Show E-mail Compose Opens a new e-mail "Compose" window and fills in the "To:," "Subject:," and "Message:" fields with the specified values.

            
Stop MIDI Stops playing any currently running MIDI object.

            
Stop Wave Stops playing any currently running Wave object.

LOGIC All decision-making commands

            
Else [See "If" below.]

            
Else If [See "If" below.]

            
End If [See "If" below.]

            
If The commands "If," "Else If," "Else," and "End If" are all used to conditionally execute script commands. In other words, your script can "decide" if it should execute one set of commands or a different set.

                                
You place the commands that should be executed when your "If" conditions are met . . . between the "If" command and an "End If" command. You may follow this with an "Else If" command, which will check another condition if the first check fails. Finally, you can include an "Else" command, which will be executed only when all the specified "If" and "Else If" conditions fail.

                                
NOTE: The "If" command supports both string and numeric variables. All current "If" statements using variables automatically use the "Variable (Numeric)" type. Select "Variable (String)" to perform an "If" statement on a variable and treating the variable's contents as a string of text.

LOOPS Commands for creating process loops

            
Do The commands "Do" and "Loop" work together to continuously loop through a set of commands. Place the "Do" command at the beginning of the block of commands and "Loop" at the end of the block. You must also place an "Exit Do" command somewhere in your "Do/Loop" block (usually as the result of an "If" statement) or O·M·N·I will never exit the loop. [Also see "Exit Do" and "Loop" below.]

            
Exit Do Moves the execution of a "Do/Loop" block to the line immediately after the "Loop" command in order to exit the loop. [See "Do" above.]

            
Loop In a "Do/Loop" block, when O·M·N·I Basic reaches the "Loop" command it immediately jumps back to the "Do" command and begins execution from that point. [Also see "Do" and "Exit Do" above.]

SECURITY Security-related commands

            
Add Security Keyword Adds a keyword to the user's security setting and notifies the Server, which also adds the keyword to the user's security setting in the user database.

            
Add Temporary Adds a keyword to the user's security setting in the

            
Keyword Term only. The Server is not notified, and the new keyword will be lost when the user signs off.

            
Remove Security Removes the specified security keyword from the

            
Keyword user's security settings and notifies the Server to also remove it from the user database.

            
Remove Temporary Removes the specified security keyword on the Term

            
Keyword side only and does not notify the Server to remove it from the user database.

SYSTEM Basic system commands

            
Log-off / Hangup Disconnects from the system, closes all open windows, and immediately exits the script without executing any other commands.

VARIABLES Declaring, using, and killing variables

            
Kill Variable Removes the specified variable from the system and frees up the memory that was being used by that variable, allowing any other commands which access variables to work faster because there are fewer to check.

            
Let Variable Equal Allows you to assign a specific value—either numeric or text—to a variable. A variable allows you to store information internally so that it can be used by your script later (or by other scripts) in your windows. All variables are global, meaning that if a variable such as {%TEST_VARIABLE%} is used in one window, another window can access its value . . . and also overwrite it!

                                
For this reason, you must be very careful when naming variables. You should use a common prefix on all your variables to group them together. That way, variables in an online application that you might get from another developer won't conflict with your own variables. (For example, on the O·M·N·I HQ system all the variables are {%HQ_variablename%}.)

                                
Also note that O·M·N·I Basic determines that you are referencing a variable by placing "{%" before the name and "%}" after the name (without the quotes). You must always include these characters around your variable name when referencing your variables or assigning values to them using the "Let Variable Equal" command.

[ALL COMMANDS] Lists all commands in O·M·N·I Basic

These are the keywords that may presently be accessed in O·M·N·I Basic wherever a variable can be used:

        {%INPUTBOX!maxlength,"Prompt.","Default text."%}

Opens a text input box on the screen and allows the user to enter as many characters as specified by "maxlength".

        {%OPTIONBOX!defaultresult,"Prompt.","Option1|Option2|etc.|"%}

Displays a dialog box with a list of possible options with the one specified by "defaultresult" highlighted. Returns the option number that was selected.

        {%RANDOM!minvalue,maxvalue%}

Generates a random value between the "minvalue" and "maxvalue" values.

{%LTRIM!...%}

Trims off all space characters on the left side of a string. For example {%LTRIM! Only testing.%} would result in the output of "Only testing." (without the quotes). You can also trim off the leftmost spaces from a variable by using {%LTRIM!{%VariableName%}%}.

{%RTRIM!...%}

Trims off all space characters on the right side of a string. See the %LTRIM!%} description for more information.

{%TRIM!...%}

Trims off any extra space characters at the both the left and right side of a string. See the {%LTRIM!%} description for more information.

{%LCASE!...%}

Converts all alpha characters in a string to lowercase. For example {%LCASE!This is a test.%} would result in the output of "this is a test." (without the quotes). You can also perform this function on a variable by using {%LCASE!{%VariableName%}%}.

{%UCASE!...%}

Converts all alpha characters in a string to lowercase. For example {%UCASE!This is a test.%} would result in the output of "THIS IS A TEST." (without the quotes). You can also perform this function on a variable by using {%UCASE!{%VariableName%}%}.

{%TIME!%}

This keyword in two different ways. The first is to use the simple version {%TIME!%} which always gets replaced with the current time in the format specified in the Windows Control Panel using the 12-hour format. The second is to used the advanced version which allows you to specify the formatting and even what parts of the current time are to be displayed. You do this by entering a formatting string after the exclamation point. For example: {%TIME!h:nn:ss AM/PM%} would display the time as 1:23:05 PM. The formatting string follows the same syntax as used by the FORMAT$ function in MS QuickBasic and Visual Basic. The following character combinations can be used in the format string:

         : Used to separate hours, minutes, and seconds.

         h Display the hour as a number without leading zeros (0-23).

         hh Display the hour as a number with leading zeros (00-23).

         n Display the minute as a number without leading zeros (0-59).

         nn Display the minute as a number with leading zeros (00-59).

         s Display the second as a number without leading zeros (0-59).

         ss Display the second as a number with leading zeros (00-59).

        
ttttt Display a time serial number as a complete time (including hour, minute, and second) formatted using the time separator defined by the Time Format in the International section of the Control Panel. A leading zero is displayed if the Leading Zero option is selected and the time is before 10:00 A.M. or P.M. The default time format is h:mm:ss.

        
AM/PM Use the 12-hour clock and display an uppercase AM with any hour before noon; display an uppercase PM with any hour between noon and 11:59 PM.

        
am/pm Use the 12-hour clock and display a lowercase AM with any hour before noon; display a lowercase PM with any hour between noon and 11:59 PM.

        
A/P Use the 12-hour clock and display an uppercase A with any hour before noon; display an uppercase P with any hour between noon and 11:59 PM.

        
a/p Use the 12-hour clock and display a lowercase A with any hour before noon; display a lowercase P with any hour between noon and 11:59 PM.

        
AMPM Use the 12-hour clock and display the contents of the 1159 string (s1159) in the WIN.INI file with any hour before noon; display the contents of the 2359 string (s2359) with any hour between noon and 11:59 PM. AMPM can be either case or lowercase, but the case of the string displayed matches the string as it exists in the WIN.INI file. The default format is AM/PM.

                        Sample format strings and the resulting output:

                        hh:mm AM/PM 08:50 PM

                        h:mm:ss a/p 8:50:35 p

                        h:mm 20:50

                        h:mm:ss 20:50:35

{%DATE!%}

This keyword in two different ways. The first is to use the simple version {%DATE!%} which always gets replaced with the current date in the format specified in the Windows Control Panel. The second is to used the advanced version which allows you to specify the formatting and even what parts of the current date are to be displayed. You do this by entering a formatting string after the exclamation point. For example: %DATE!m/d/yy%} would display the date as 4/23/96. The formatting string follows the same syntax as used by the FORMAT$ function in MS QuickBasic and Visual Basic. The following character combinations can be used in the format string:

         / Used to separate months, days, and years.

         - Used to separate months, days, and years.

        
c Display the date as ddddd and display the time as ttttt, in that order. Only date information is displayed if there is no fractional part to the date serial number; only time information is displayed if there is no integer portion.

         d Display the day as a number without a leading zero (1-31).

         dd Display the day as a number with a leading zero (01-31).

         ddd Display the day as an abbreviation (Sun-Sat).

         dddd Display the day as a full name (Sunday-Saturday).

        
ddddd Display a date serial number as a complete date (including day, month, and year) formatted according to the Short Date setting in the International section of the Windows Control Panel. The default Short Date format is m/d/yy.

        
dddddd Display a date serial number as a complete date (including day, month, and year) formatted according to the Long Date setting in the International section of the Control Panel. The default Long Date format is mmmm dd, yyyy.

        
w Display the day of the week as a number (1 for Sunday through 7 for Saturday.)

         ww Display the week of the year as a number (1-53).

        
m Display the month as a number without a leading zero (1-12). If m immediately follows h or hh, the minute rather than the month is displayed.

        
mm Display the month as a number with a leading zero (01-12). If m immediately follows h or hh, the minute rather than the month is displayed.

         mmm Display the month as an abbreviation (Jan-Dec).

         mmmm Display the month as a full month name (January-December).

         q Display the quarter of the year as a number (1-4).

         y Display the day of the year as a number (1-366).

         yy Display the year as a two-digit number (00-99).

         yyyy Display the year as a four-digit number (100-9999).

                        Sample format strings and the resulting output:

                        m/d/yy 12/7/58

                        d-mmmm-yy 7-December-58

                        d-mmmm 7 December

                        mmmm-yy December 58

{%SCREENWIDTH%}

Returns the current screen width of the user's display. You can use this to create different sets of windows for different resolutions.

{%SCREENHEIGHT%}

Returns the current screen height of the user's display.

{%SCREENCOLORS%}

Returns the number of colors the user's display is capable of displaying. Common results you can expect from this keyword are 16, 256, and 65536. You can use this to create different windows for different color resolutions.

{%CONNECTIONTYPE%}

Returns the type of connection that the Term is using to connect to the server. This keyword returns the following:

1 - Dial-up connection

2 - Local login connection

3 - TCP/IP connection

{%CONNECTTIME%}

Returns the total number of minutes the user has been connected to the system.

{%CONNECTHOURS%}

Returns the number of hours the user has been connected to the system.

{%CONNECTMINUTES%}

Returns the number of minutes the user has been connected to the system.

{%CONNECTSECONDS%}

Returns the number of seconds the user has been connected to the system. Here is a chart showing the results if the users online timer on the Term's toolbar says "2:43:25":

        
{%CONNECTTIME%} 163

        
{%CONNECTHOURS%} 2

        
{%CONNECTMINUTES%} 43

        
{%CONNECTSECONDS%} 25

{%PROP!...%}

Can be used anywhere a variable can be used to read properties (i.e., Caption Text property) from elements on a window. For example, between this keyword and the Text Entry Field element, it is possible to create online forms and questionnaires. Here is an example of the definition you would use to get the Caption Text property contents from the element named TextEdit1: {%PROP!TextEdit1,Caption Text%}.

Additional examples include . . .

        {%PROP!ElementName,Interval%}

        Will return the Interval property of the specified timer.

        {%PROP!ElementName,Top%}

        Will return the top position of the specified element on the window.

        {%PROP!ElementName,Left%}

        Will return the left position of the specified element on the window.

        {%PROP!ElementName,Width%}

        Will return the width of the specified element on the window.

        {%PROP!ElementName,Height%}

        Will return the height of the specified element on the window.

        {%PROP!ElementName,hWnd%}

        Allows you to read the Windows handle of the specified element.

        {%PROP!ElementName,ListCount%}

        
Allows you to read the number of items that are currently in a Tree View element or Column Listbox element.

        {%PROP!ElementName,ListIndex%)

        
Allows you to read the item number within a list that is currently selected. This works for the Tree View element or Column Listbox element.

        {%PROP!ElementName,List,ListIndex%}

        
Allows you to read the text of a list item. (Replace "ListIndex" with the zero-based index to the list item number you want the caption text returned for.) This property works for the Tree View element or the Column Listbox element.

{%WINDOWWIDTH%}

Returns the width of the inside, usable client area of the current window (in pixels).

{%WINDOWHEIGHT%}

Returns the height of the inside, usable client area of the current window (in pixels).

{%WINDOWLEFT%}

Returns the left pixel location of the current window on the screen.

{%WINDOWTOP%}

Returns the top pixel location of the current window on the screen.

{%LEFT!length,string%}

Returns the leftmost characters specified by the length field from the string (in the string field). For example: {%LEFT!5,Sample Text%} would return "Sample" (without the quotes) as the result. You can also pass variables to both the length field and the string field.

{%RIGHT!length,string%}

Returns the rightmost characters specified by the length field from the string (in the string field). For example: {%RIGHT!5,Sample Text%} would return " Text" (without the quotes) as the result. You can also pass variables to both the length field and the string field.

{%MID!start,length,string%}

Returns a string of characters from within the specified string. Use the start field to specify the starting character location . . . and length as the number of characters to return. For example: {%MID!4,5,Sample Text%} would return "ple T" (without the quotes) as the result. You can also pass variables to the start, length, and string fields.

{%LEN!string%}

Returns a numeric value indicating the number of characters in the passed string. For example, if {%Temp%} contains "Sample Text" . . . the keyword {%LEN!{%Temp%}%} would return 11.

{%CURRENCY!string%}

Returns the passed variable as a string formatted to display currency. For example, if {%Temp%} contains "1143.9" . . . the keyword {%CURRENCY!{%Temp%}%} would return "1,143.90" (and suggests how useful this function may be for building online order forms).

{%ADD!

Returns the numeric result of mathematically adding the first parameter to the second. For example, {%ADD!1,5%} would return 6. Variable references can be used as the parameters passed to the function.

{%SUBTRACT!

Returns the numeric result of mathematically subtracting the second parameter from the first. For example, {%SUBTRACT!3,1%} would return 2. Variable references can be used as the parameters passed to the function.

{%DIVIDE!

Returns the numeric result of mathematically dividing the first parameter by the second. For example, {%DIVIDE!10,2%} would return 5. Variable references can be used as the parameters passed to the function.

{%MULTIPLY!

Returns the numeric result of mathematically multiplying the first parameter by the second. For example, {%MULTIPLY!10,2%} would return 20. Variable references can be used as the parameters passed to the function.

{%ASC!

Returns the ASCII character code of the leftmost character in the string passed to it. For example, {%ASC! %} would return a value of 32 (representing the space character).

{%CHR!

Returns the character represented by the passed value. For example, {%CHR!32%} would return the space character. The parameter can be replaced by a variable reference.

{%TOBITS!

Returns the binary equivalent of the string passed to it. What is returned is a string of the characters "0" and "1" representing the binary version of the bytes in the string given to it.

{%MouseX%}

Returns the value of the X (or horizontal) pixel location that the mouse was clicked on for an Image, Picture, Panel, or Bitmap Tile element.

{%MouseY%}

Returns the value of the Y (or vertical) pixel location that the mouse was clicked on for an Image, Picture, Panel, or Bitmap Tile element.

You can also reference all existing {%keywords%}within O·M·N·I Basic anywhere a variable can be used. And all places where you can use variable references also allows the use of indirect variable references. For example, if you wanted to have a series of variables named {%Temp1%}, {%Temp2%}, {%Temp3%}, and {%Temp4%} and not have to reference each one individually by name . . . you could place references to them inside a DO..LOOP and reference them like this: {%Temp{%Indirect%}%}. In this example you would declare a variable called {%Indirect%} and increment its value from 1 to 2 to 3 and finally 4. Within the loop, the reference to {%Temp{%Indirect%}%} would be replaced with an actual reference to {%Temp1%} if the variable {%Indirect%} value was "1" . . . or to {%Temp2%} if {%Indirect%} value was "2" . . . etc.

4.2.2 Element Descriptions & Their Specific Properties

Each element in the O·M·N·I Window Editor is listed along with its toolbar icon from the Element Palette [see Figure 4-D above] and described in full detail below.

Also—under each element's description is a listing of all the properties associated with that element. Those preceded by an asterisk (*) are specific only to that element and no other (although, in one or two instances, some variation of the property may be found in another element). Those not preceded by an asterisk are common properties [as described in Section 4.2.2 above].

Complete descriptions of all the properties specific to an element (i.e., all the properties preceded by an asterisk) . . . follow each element's property listing.

4.2.2.1 Window Element

Default Name: Window

NOTE: Since there is never more than one Window element specified for any window you create, the "Name" property is not necessary for the Window element. The element name is always "Window"—by default.

Description: The fundamental element constituting a window; inside which (more accurately, upon which) all other elements are placed.

Remarks: You do not use the Element Palette to create a new window. To create any new window using the O·M·N·I Window Editor, you must first create (or select) a window group in the Window Browser, then press Add and enter a descriptive Name for the new window in the "Add Window" dialog box. When you select Ok the new name will instantly appear in the window listing beneath the currently selected window group in the Window Browser. To bring the new window element up on your screen where you can start working on it, highlight the new window name and press Edit. A "blank" window will appear in the middle of your screen where you may begin to specify properties and values, or add other elements of your choosing from the Element Palette.

Properties: * Autosize Elements * Control Box * Startup Position

                
Background Color Height * Startup State

                
Caption Text * Icon * Stretch

            
* Closable * Maximize Button * Tile

            
* Commands Close * Minimize Button * Title Bar

            
* Commands Display * Object List Width

            
* Commands Open * Password * Window Border Style

            
* Commands Size * Picture

Window Element-Specific Properties

                
Autosize Elements Allows you to set whether or not the elements in a window will be automatically and proportionally resized to fit the window . . . whenever the user maximizes it or drags the edges to change its size. This option is set by selecting either True or False from the value field drop-down list.

                                
NOTE: Window elements and some element contents are resized proportionally, but some contents (such as icons) are not. Test your system in Local Login to be sure which contents of your windows are actually autosized. [Also see "Stretch" and "Tile" property descriptions below.]

                
Closable Allows you to specify whether or not the user can close the current window using the window's control box. Set this option by selecting either True or False from the value field drop-down list.

                
Commands Close Use this property to set the commands that will be executed when a window is closed. This set of commands will be executed either when the user manually closes the window (i.e., if the window has a title bar and is closable) or if a command specifies that the window should be closed.

                                
NOTE: This set of commands will not be executed if the window is closed due to a carrier drop or when the user is logging off the system.

                
Commands Display Allows you to set the commands that will be executed as soon as the current window becomes visible to the user on the screen—i.e., allowing it load completely before the commands are actually carried out. [Also see "Commands Open" below.]

                
Commands Open Use this property to set the commands that will be executed as soon as the current window is launched (i.e., the instant the user selects it). The specified commands will be executed every time the window is opened—but before it is actually displayed. [Also see "Commands Display" above.]

                                
NOTE: Restoring a window from an icon or switching to a window when another window has the focus does not execute this set of commands.

                
Commands Size Allows the execution of an O·M·N·I Basic script to resize the contents of a window using your own script.

                
Control Box Gives you the option of including a control box (appears in Windows 3.x as a minus sign in the upper left corner of a window) which will allow users to Restore, Move, Size, Minimize, Maximize, or Close the window. To set this option select either True or False from the value field drop-down list.

                
Icon You may define the icon that a window is represented by when it's minimized by clicking the lookup button and selecting an icon from the "Select Icon" dialog box.

                                
NOTE: The icon must be a currently stored object in the Window Editor.

                
Maximize Button Gives you the option of including a maximize button (in the upper-right corner of your window) which will allow users to enlarge the window to the full size of their screen. Set this option by selecting True or False from the value field drop-down list.

                
Minimize Button Gives you the option of including a minimize button (in the upper-right corner of your window) which will allow users to reduce the window to an icon. Set this option by selecting True or False from the value field drop-down list.

                
Object List Allows you to specify a list of objects that will be sent to the Term when the current window is accessed. This is useful when used with the "Set Contents" O·M·N·I Basic script item.

                                
NOTE: The maximum number of objects that can be linked to a window is 255.

                
Password Allows you to password-protect a window so that others cannot edit it. The Password property has no affect on the window to your users online; it only stops people from editing it. This may be especially useful to developers who want to create and distribute online applications and games written in O·M·N·I Basic but don't want anyone to see the source code or change the appearance of the window.

                
Picture By clicking the lookup button, you may select any Bitmap (BMP) picture object from your Object Browser (using the "Select Picture" dialog) and add it to the current Window element. Using this property, pictures will always default to a fixed position.

                                
NOTE: To be distinguished from the Picture Box and Image View elements which offer greater flexibility for cropping and positioning pictures inside another element . . . and also include other file formats besides only BMP.

                
Startup Position From the value field drop-down list, you may set the current window to be displayed in any one of a variety of different positions on the user's screen upon opening—including:

                                
Left-Top Right-Bottom

                                
Left-Middle Center-Top

                                
Left-Bottom Center-Middle

                                
Right-Top Center-Bottom

                                
Right-Middle

                                
NOTE: The default Startup Position is Center-Middle.

                
Startup State This allows you to specify whether the current window's "startup" will be Normal, Minimized, or Maximized—by selecting the respective option from the value field drop-down list.

                                
NOTE: The default Startup State is Normal.

                
Stretch Lets you to stretch the current picture to fit the full size of the window. The picture will extend itself to the Window element's borders if you specify True in the value field. If you specify False, it will simply appear as a normal image.

                                
NOTE: The Stretch property will only work if the Tile property (see below) is set to False.

                
Tile Gives you the option of specifying whether a picture in the Window element will actually appear tiled or as a single image (for example, for the purpose of stretching—see the "Stretch" property description above). Set this property by selecting True or False from the value field.

                                
NOTE: Stretch and Tile properties are also available for the Bitmap Tile element.

                
Title Bar Allows you to specify whether or not a Title Bar will be displayed in the current window . . . by selecting True or False from the value field drop-down list.

                
Window Border Style Gives you the option of specifying non-sizable (fixed) borders or sizable (by clicking-and-dragging) borders for the current window.

4.2.2.2 Bitmap Tile Element

Default Name: Tile1

Description: A special design tool which allows you to repetitively tile a bitmap image or icon.

Remarks: The graphical effect achieved by this element is somewhat similar to that of the Tile option for Wallpaper in the Windows 3.x "Desktop" applet. It is especially useful for creating background patterns—for example, with logos, icons, or other simple rectangular images—without having to create a separate picture element for each repeated occurrence of the image in a pattern.

Properties: Background Color * Crop Y Name

                
Border Fixed Location * Picture

                
Click Focus * Gap X * Stretch

                
Click Left * Gap Y * Tile

                
Click Move Height Top

                
Click Top Hint Text Visibility

                
Commands Left Visible

            
* Crop X Mouse Pointer Width

Bitmap Tile Element-Specific Properties

                
Crop X Allows you to shift the entire bitmap tile you've created to the left to adjust its cropping within the current borders of the element. You may specify inside the value field the number of pixels to the left you wish to shift the image.

                
Crop Y Allows you to shift the entire bitmap tile you've created upward to adjust its cropping within the current borders of the element. You may specify inside the value field the number of pixels upward you wish to shift the image.

                
Gap X You may increase the horizontal separation space between tiled pictures—i.e., spread the tile rows apart left-and-right—by specifying inside the value field a positive number indicating how many pixels farther apart you want them.

                                
You may decrease the horizontal separation space between tiled pictures—thereby "overlapping" the tile rows left-and-right—by specifying a negative number inside the value field instead.

                
Gap Y You may increase the vertical separation space between tiled pictures—i.e., spread the tile rows apart up-and-down—by specifying inside the value field a positive number indicating how many pixels farther apart you want them.

                                
You may decrease the vertical separation space between tiled pictures—thereby "overlapping" the tile rows up-and-down—by specifying a negative number inside the value field instead.

                
Picture By clicking the lookup button, you may select any Bitmap (BMP) or Icon (ICO) picture object from your Object Browser (using the "Select Picture" dialog) and add it to the current Bitmap Tile element. Using this property, pictures will always default to a fixed position.

                                
NOTE: Only bitmaps and icons may be selected for the Picture property in the Bitmap Tile element.

                
Stretch Lets you to stretch the current picture to fit the size of the element. The picture will extend itself to the Bitmap Tile Element's borders if you specify True in the value field. If you specify False, it will simply appear as a normal image.

                                
NOTE: The Stretch property will only work if the Tile property (see below) is set to False.

                
Tile Gives you the option of specifying whether a picture in the Bitmap Tile element will actually appear tiled or as a single image (for example, for the purpose of stretching—see the "Stretch" property above). Set this property by selecting True or False from the value field.

                                
NOTE: Stretch and Tile properties are also available for the Window element.

4.2.2.3 Picture Box Element

Default Name: Picture1

Description: The primary tool for adding a bitmap (BMP), icon (ICO), or metafile (WMF) object to a window where stretching or resizing of its contents is not required. [Also see "Image View Element" below.]

Remarks: The Picture Box element is the only element which allows you to display metafile images.

Properties: Background Color Commands Name

                
Border Fixed Location * Picture

                
Click Focus Height Top

                
Click Left Hint Text Visibility

                
Click Move Left Visible

                
Click Top Mouse Pointer Width

Picture Box Element-Specific Properties

                
Picture By clicking the lookup button, you may select any bitmap (BMP), icon (ICO), or metafile (WMF) picture object from your Object Browser (using the "Select Picture" dialog) and add it to the current Picture Box element. Using this property, pictures will always default to a fixed position.

4.2.2.4 Image View Element

Default Name: ImageView1

Description: The Image View element is the primary tool for adding BMP, JPEG, GIF, and CMP image objects to a window where stretching and resizing of its contents may also be required.

Remarks: In O·M·N·I you have a wide range of options for controlling graphic image quality and transfer speeds. With the Image View element you have the option of displaying resizeable BMP, JPEG, GIF, or CMP images (in 4, 8, 16, or 24-bit color) . . . anywhere on your system's windows. Unlike the Picture Box element, the Image View element automatically stretches the specified image (proportionally) whenever the element is resized.

Properties: Background Color Commands * Picture

                
Border Fixed Location * Scrollbars

                
Click Focus Height Top

                
Click Left Hint Text Visibility

                
Click Move Left Visible

            
* Click Picture Mouse Pointer Width

                
Click Top Name

Image View Element-Specific Properties

                
Click Picture Allows you to select an image object that will be loaded into the element when the element is clicked. Note that the Click Move property must be set to True for this feature to work.

                                
HINT: If you don't actually want the element to move then just set Click Left and Click Top to the element's actual location. When the user releases the mouse button, the Image View element's original image is displayed again. This property makes it much easier to do sophisticated button affects.

                
Picture By clicking the lookup button, you may select any Bitmap (BMP), JPEG, GIF, or CMP picture object from your Object Browser (using the "Select Picture" dialog) and add it to the current Image View element. Using this property, pictures will always default to a fixed position.

                
Scrollbars When set to False (the default), the Image View will stretch or shrink an image to fit within the element. When set to True, the image itself is displayed at its "original" size—and if the element is not big enough to display the whole image, scrollbars are added to the element automatically . . . allowing the user to scroll around on the image to see the entire thing.

4.2.2.5 Command Button Element

Default Name: Button1

Description: Used to add familiar (Windows-like) graphical command buttons to your system's windows and associate them with specific command actions—such as opening or closing a window, or simply exiting the system.

Remarks: The O·M·N·I Command Button element breaks away from simple icon-based "command" systems and offers greater flexibility for presenting a more familiar Windows-like GUI. Button size and appearance may be completely modified to suit individual tastes and preferences.

Properties: * Bevel Width Font: Strikethru Rounded Corners

                
Border Font: Underline Tab Order

                
Caption Text Font: 3D Text Color

                
Commands Height Top

                
Fixed Location Hint Text Visibility

                
Font: Bold Left Visible

                
Font: Italic Mouse Pointer Width

                
Font: Name Name

                
Font: Size * Picture

Command Button Element-Specific Properties

                
Bevel Width Allows you to set the bevel (raised border) width of the current button in pixels. You may set the width by entering a numerical value between 1 and 10 into the value field.

                                
NOTE:The default value is 2.

                
Picture By clicking the lookup button, you may select any Bitmap (BMP) or Icon (ICO) picture object from your Object Browser (using the "Select Picture" dialog) and add it to the current Command Button element. Using this property, pictures will always default to a fixed position.

4.2.2.6 Panel Element

Default Name: Panel1

Description: Beyond the Window element, this is the basic building block for creating graphical window designs in the O·M·N·I Window Editor. While the Window element constitutes the total design area of your window on which all other elements are placed, the Panel element allows you to create individual design sections on which other elements (including other panels!) may also be arranged or ordered.

Remarks: The Panel element is perhaps the most versatile element in the Window Editor. You may use it to define specific areas of your window on which other elements or objects may be placed—or you may use it for "blended background" message displays (first specifying the appropriate "Caption Text" then matching the panel's "Background Color" to that of the element behind it, with no bevels or borders, so that it appears as "one" graphical element).

You may also use the Panel element to create stylized "borders" around other graphical elements in a window by making the panel just slightly larger (proportionally) than the other element, then selecting Send to Back or Send Back One Level under Edit on the main menu bar so that it appears "behind" it with all four edges showing. Precise sizing and fitting adjustments may be made by simply toggling between the selected "foreground" element and panel element, alternately!

Properties: Background Color Click Top Hint Text

            
* Bevel Inside Commands Left

            
* Bevel Outside Fixed Location Mouse Pointer

            
* Bevel Width Font: Bold Name

            
* Border Width Font: Italic Rounded Corners

                
Border Font: Name Tab Order

                
Caption Alignment Font: Size Text Color

                
Caption Text Font: Strikethru Top

                
Click Focus Font: Underline Visibility

                
Click Left Font: 3D Visible

                
Click Move Height Width

Panel Element-Specific Properties

                
Bevel Inside Lets you select from the drop-down list in the value field whether a panel element will appear flat, inset, or raised as defined by the inside bevel of its border. Select None, Inset, or Raised, respectfully.

                
Bevel Outside Lets you select from the drop-down list in the value field whether a panel element will appear flat, inset, or raised as defined by the outside bevel of its border. Select None, Inset, or Raised, respectfully.

                
Bevel Width This property allows you to specify the actual width (in pixels) of the beveled portion of a panel's border. This is set by entering a numerical value (between 1 and 10) in the value field. If both inside and outside bevels are used—each will be set to the same value.

                                
NOTE: The default value is set to 1.

                
Border Width Here you may adjust the "thickness" in pixels between the inside and outside bevels in order to create a 3-dimensional "frame" around a panel. You may set the width by entering a numerical value between 1 and 10 into the value field.

4.2.2.7 Label Element

Default Name: Label1

Description: The Label element's primary function is to allow you to superimpose caption text—i.e., using a transparent background—over a bitmap in a Window element (so that only the caption text appears on the bitmap). This is done by simply specifying the "Transparent" option for the Background Style property.

Remarks: The Label element allows you to superimpose "transparently" over a Window element . . . but
not any other elements. It is useful for creating simple window message displays where only a few elements may be used.

IMPORTANT: The Label element will not appear in front of other elements! . . . only the Window element. Therefore, you may superimpose over a bitmap image in a window only if it is specified by the Window element's Picture property—not any other element. Also, the Send to Back and Bring to Front options under Edit on the menu bar [Section 4.3.2 below] have no effect on Label elements.

Properties: Background Color Font: Name Name

            
* Background Style Font: Size Tab Order

                
Border Font: Strikethru Text Color

                
Caption Alignment Font: Underline Top

                
Caption Text Height Visibility

                
Fixed Location Hint Text Visible

                
Font: Bold Left Width

                
Font: Italic Mouse Pointer

Label Element-Specific Properties

                
Background Style Allows you to specify whether a label's background is Transparent (clear) or Opaque (solid) by selecting these respective options from the value field.

4.2.2.8 Plain Text View Element

Default Name: TextView1

Description: This element allows you to display any plain text object previously created in the Object Browser.

Remarks: To create a plain text object, you must first create (or select) an object group in the Object Browser, then press Add to enter a descriptive Name for the object in the "Add Object" dialog box. You must also select "Plain Text" from the Type field listing so that the new name is associated with a plain text object. When you select Ok the new name will instantly appear in the object listing beneath the currently selected object group in the Object Browser. To create the actual text object, highlight the new object name and press Edit. The "Edit Plain Text Object" dialog will appear where you may proceed to enter your text as you want it to appear inside the TextView element of your window.

Properties: * Allow Edit Font: Size Name

                
Background Color Font: Strikethru Tab Order

            
* Contents Font: Underline Text Color

                
Fixed Location Height Top

                
Font: Bold Hint Text Visibility

                
Font: Italic Left Visible

                
Font: Name Mouse Pointer Width

Plain Text View Element-Specific Properties

                
Allow Edit Allows you to turn a plain text view element into a multi-line text input box, by selecting True.

                                
REMEMBER: To retrieve the value of the text entered from O·M·N·I Basic, use the appropriate property function. For example:

                                
{%PROP!ElementName,Caption Text%}

                
Contents Allows you to specify the text object you wish to use as the contents for the current Plain Text View element. By clicking the lookup button, you may select the object you want from the "Set Plain Text" dialog box. The text object you select will then be automatically sized (scroll bars will also be added, if necessary) to fit the current dimensions of the Plain Text View element.

                                
NOTE: The text object must be a currently stored object in the Window Editor. Once you've selected the appropriate text object, you may then apply any of the font properties listed for the Plain Text View element to the entire text message that is displayed.
The maximum number of objects that can be linked to a window is 255.

4.2.2.9 Document View Element

Default Name: DocView1

Description: This element allows you to display any document object previously created in the Object Browser. You can also use it to create invisible "hot spots" on a window for executing commands [described below].

Remarks: To create a document object, you must first create (or select) an object group in the Object Browser, then press Add to enter a descriptive Name for the object in the "Add Object" dialog box. You must also select "Document" from the Type field listing so that the new name is associated with a document object. When you select Ok the new name will instantly appear in the object listing beneath the currently selected object group in the Object Browser. To create the actual document object, highlight the new object name and press Edit. The "Edit Document Object" window will appear where you may proceed to create your document as you want it to appear inside the DocView element of your window [see "Document" under Section 4.1.1.2 above].

Creating Invisible "Hot Spots": You can use the "Commands" and "Background Style" properties of the Document View element to create special invisible "hot spots" on your window which—when the element is clicked—will carry out the command that you specify. For example, you can use a part of a picture or graphic in your window, instead of a button, to carry out any standard command . . . simply by placing a hot spot over it!

To create an invisible hot spot, size and position the Document View element where you want the hot spot to be on your window (it must be above all other elements on the window). Set the "Commands" property to whatever event you want to happen when the hot spot is clicked. Now set the "Background Style" property of the Document View element to "Transparent." You now have an invisible hot spot on your window which—when clicked by a user—will carry out the specified command!

NOTE: Since the hot spot is completely "invisible," you may also find this feature useful for special access and security applications. For instance, you could let only those users who are allowed access to a certain area actually know where the hot spot is on a window. For added security, you may also specify Security Level & Locks for the hot spot when setting commands for it!

Properties: Background Color Height * Scrollbar Vertical

            
* Background Style Hint Text Tab Order

                
Border Left Top

            
* Commands Mouse Pointer Visibility

            
* Contents Name Visible

                
Fixed Location * Scrollbar Horizontal Width

Document View Element-Specific Properties

                
Background Style You may set the background of the Document View element to either Opaque (solid-colored) or Transparent (see-through). To set this option select either Opaque or Transparent from the value field pull-down list.

                                
NOTE: For creating invisible "hot spots" [see "Remarks" above]—this property must be set to Transparent.

                
Commands For the Document View element, the "Commands" property has a special function: When used with the "Background Style" property set to Transparent—you can create an invisible "hot spot" on your window that users can click to execute the specified command [see "Remarks" above].

                
Contents Allows you to specify the document object you wish to use as the contents for the current Document View element. By clicking the lookup button, you may select the object you want from the "Set Document" dialog box. The document object you select will then be automatically sized (scroll bars will also be added, if necessary) to fit the current dimensions of the Document View element.

                                
NOTE: The document object must be a currently stored object in the Window Editor. The maximum number of objects that can be linked to a window is 255.

                
Scrollbar Horizontal Allows you to specify whether or not a horizontal scrollbar should be displayed with a document—as well as whether it should appear only when necessary (i.e., for sizable document view windows!). From the value field pull-down list, you may specify Visible, Invisible, or Automatic, respectively.

                
Scrollbar Vertical Allows you to specify whether or not a vertical scrollbar should be displayed with a document—as well as whether it should appear only when necessary (i.e., for sizable document view windows!). From the value field pull-down list, you may specify Visible, Invisible, or Automatic, respectively.

4.2.2.10 Tree View Element

Default Name: TreeView1

Description: The basic element used to display any tree structure object previously created in the Object Browser. [Also see "Column Listbox Element" below for an alternative application used specifically for message board and file area listboxes.]

Remarks: For a complete discussion on how to create and display tree structure objects—see "Tree Structure" under Section 4.1.2.2 [above] and "Setting Up File Areas" under Advanced Editing Procedures in your Window Editor tutorial.

Properties: Background Color Font: Size Name

                
Border Font: Strikethru Tab Order

            
* Contents Font: Underline Text Color

                
Fixed Location Height Top

                
Font: Bold Hint Text Visibility

                
Font: Italic Left Visible

                
Font: Name Mouse Pointer Width

Tree View Element-Specific Properties

                
Contents Here you specify the contents of a Tree View element. Set the contents by clicking the lookup button and selecting from the "Set Tree Structure" window the desired Tree Structure object you wish to insert.

                                
NOTE: The maximum number of objects that can be linked to a window is 255.

4.2.2.11 Column Listbox Element

Default Name: ColumnListbox1

Description: A special design tool which should be used in place of the Tree View element [described above] for the listing windows, or "listboxes," in your file and message board areas.

Remarks: While you may still use the Tree View element for file area and message board listboxes (i.e., to display a tree structure object previously created in the Object Browser) . . . the Column Listbox element should be used instead—to ensure that all the columns in your listings line up correctly!

This element functions basically the same way as the Tree View element, except that you specify the listbox "Starting Text"—instead of utilizing the "Contents" property—to specify the appropriate tree structure object.

For a complete discussion on how to create and display tree structure objects—see "Tree Structure" under Section 4.1.2.2 [above] and "Setting Up File Areas" under Advanced Editing Procedures in your Window Editor tutorial.

Properties: Background Color Font: Strikethru * Starting Text

                
Border Font: Underline Tab Order

                
Fixed Location Height Text Color

                
Font: Bold Hint Text Top

                
Font: Italic Left Visibility

                
Font: Name Mouse Pointer Visible

                
Font: Size Name Width

Column Listbox Element-Specific Properties

                
Starting Text Use this property to set the text in the first line of the Column Listbox. To set the text, enter it into the value field.

4.2.2.12 File Area Control Element

Default Name: FileArea

Description: Acts as an interface between any windows you create for displaying file area information . . . and the database in O·M·N·I where your file area information is actually stored—allowing you to duplicate your file area listing in any number (and variety) of windows that you want . . . without the need to duplicate database information for every window.

Remarks: For a complete discussion on how to use the File Area Control element—see "Setting Up File Areas" under Advanced Editing Procedures in your Window Editor tutorial.

Properties: * Element Description * Element FA More Left

            
* Element DL Time * Element FA Name Name

            
* Element DL Count * Element FA Preview * Set FA Commands

            
* Element FA Download * Element FA Upload * Title Bar FA Name

            
* Element FA File Count * Element FA View Top

            
* Element FA List * Element FA Size * View File Commands

File Area Control Element-Specific Properties

                
Specific Properties Associated with File Area "Description" Windows:

                
Element Description Here you need to specify the exact name of the Plain Text View element in the current window in which you want the file description to be displayed. Select the desired element from the list in the value field.

                
Element DL Time Allows you to specify the Panel or Label element in which the download time for a selected file will be displayed. Select the desired element from the list in the value field.

                
Element DL Count Use this property to specify the Panel or Label element in which the download count of a user-selected file will be displayed. Select the desired element from the list in the value field.

                
Element File Size Use this to specify the Panel or Label element in which the file size of a user-selected file will be displayed. Select the desired element from the list in the value field.

                
Specific Properties Associated with File Area "Listing" Windows:

                
Element FA Count Allows you to specify the Panel or Label element in which the current file area's file count is to be displayed. Select the desired element from the list in the value field.

                
Element FA List Here you specify the Tree View or Column Listbox element in which the file listing is to be displayed. Select the desired element from the list in the value field.

                
Element FA More Allows you to specify the Command Button element which users may select to view more file listings when more are available to be displayed.

                
Element FA Name Use this property to specify the Panel or Label element in which the selected file area's name will be displayed. Select the desired element from the list in the value field.

                
Element FA Upload Lets you to specify the Command Button element that the user will click to upload a file. Select the desired element from the drop-down list in the value field.

                
Element FA View Here you define the Command Button element that the user will click to view a
file description. Select the desired element from the list in the value field.

                
View File Commands By clicking the lookup button, you will bring up the "Set Command" dialog. Here you may specify the window in which file descriptions are to be viewed. You will need to select "Display a Window"—then specify the desired Window Group and Window.

                
Common File Area Properties:

                
Element FA Download Here you specify the Command Button element that the user will click to download a selected file. Select the desired element from the value field drop-down list.

                
Element FA Preview Specifies which Command Button element the user will click in order to preview graphic images and ZIP files. Select the desired element from the list in the value field.

                
Set FA Commands By clicking the lookup button, you will bring up the "Set Command" dialog. Here you may specify the file listing (or listbox) window in which file listings are to be displayed. You will need to select "Display a Window"—then specify the desired Window Group and Window.

                                
NOTE: Any window which might issue the "show file area" command should have a File Area Control element placed on it so that it can display the file listing window.

                
Title Bar FA Name Allows you to specify whether or not the file area (or file) name will be displayed in the Title Bar of the file description window. Select True or False from the value field.

4.2.2.13 Message Board Control Element

Default Name: Message Board

Description: Similar to the File Area Control element, the Message Board Control element acts as an interface between any windows you create for displaying message board postings . . . and the database in O·M·N·I where your message board information is actually stored.

Remarks: For a description of this element, simply start with "Setting Up Message Board Areas" above, then refer to the previous discussion of the File Area Control element under "Setting Up File Areas."

Properties: * Element MB Compose * Element MB Next Name

            * Element MB Date * Element MB Previous * Set MB Commands

            * Element MB From * Element MB Subject * Titlebar MB Name

            * Element MB List * Element MB View Top

            * Element MB Message Left * View Message Comm

Message Board Control Element-Specific Properties

                
Specific Properties Associated with

                
Message Board "Read Message" Windows:

                
Element MB Date Here you specify the Panel or Label element in which the message's date is to be displayed. Select the desired element from the drop-down list in the value field.

                
Element MB From Allows you to specify the Panel or Label element in which the message composer's name is to be displayed. Select the desired element using the list in the value field.

                
Element MB Message Lets you specify the Plain Text View element in which the message
text will be displayed. Select the desired from the list in the value field.

                
Element MB Next Specifies the Command Button element the user will click to go to the next message. Select the desired element from the list in the value field.

                
Element MB Previous Specifies the Command Button element the user will click to go to the previous message. Select the desired element from the list in the value field.

                
Element MB Subject Allows you to specify the Panel or Label element in which a selected message's subject will be displayed. Select the desired element from the list in the value field.

                
Specific Properties Associated with

                
Message Board "Message Listing" Windows:

                
Element MB List Here you specify the Tree View or Column List View element in which you wish to display the message listing. Select the desired element from the list in the value field.

                
Element MB View Lets you specify the Command Button element which users will click to view (read) a message. Select the desired element from the list in the value field.

                
View Message Comm Clicking the lookup button will bring you to the "Set Command" dialog. Here you may specify the window where the message text will be displayed. You will need to select "Display a Window"—then specify the desired Window Group and Window.

                
Common Message Board Properties:

                
Element MB Compose Allows you to define which Command Button element the user will click to bring up the "Compose Message" window. Select the desired element using the list in the value field.

                
Set MB Commands Clicking the lookup button will bring you to the "Set Command" dialog. Here you may specify the message listing (or listbox) window in which message listings are to be displayed. You will need to select "Display a Window"—then specify the desired Window Group and Window.

                
Title Bar MB Name Lets you to define whether or not the message board (or message) name will be displayed in the Title Bar of the window. Select True or False from the value field.

4.2.2.14 Text Entry Field Element

Default Name: TextEntry1

Description: This element allows you to add a field to a window which will accept text entries from a user. It can be used with O·M·N·I Basic, for example, to create online forms and questionnaires.

Remarks: The Text Entry Field element is used in conjunction with the O·M·N·I Basic command {%PROP!...%} for creating online forms. [You can find a description for this command under Section 4.2.1.4—"O·M·N·I Basic: Advanced Programming and Scripting Language"—above.] It is recommended that you become familiar with O·M·N·I Basic before attempting to use this element. You must also have the O·M·N·I Basic script editor—a separate software plug-in—installed.

Properties: Background Color Font: Strikethru Tab Order

            
* Caption Text Font: Underline Text Color

                
Fixed Location Height Top

                
Font: Bold Hint Text Visibility

                
Font: Italic Left Visible

                
Font: Name Mouse Pointer Width

                
Font: Size Name

Text Entry Field Element-Specific Properties

                
Caption Text The contents of the Caption Text property may be read from the Text Entry Field element when specified as a variable using the {%PROP!...%} command in O·M·N·I Basic. For example, to get the Caption Text property contents from the element named TextEdit1, you would use the following definition in your O·M·N·I Basic script: {%PROP!TextEdit1,Caption Text%}.

4.2.2.15 Timer Element

Default Name: Timer1

Description: This simple (but extremely powerful!) element allows you to execute O·M·N·I commands at regular, precisely timed intervals.

Remarks: You may use this element to set time intervals for the execution of any command you wish to specify in the "Set Command" dialog box. The Timer element is only visible in the Window Editor and cannot be seen by users that connect to your system.

Properties: * Command Timer * Interval Name

                
Fixed Location Left Top

Timer Element-Specific Properties

                
Command Timer Sets the commands that you want to be executed when the timer interval occurs.

                
Interval Defines how often the "Commands Timer" commands will be executed. The Interval property is in milliseconds, meaning a setting of 1000 will cause the timer to fire every one second—whereas 500 will fire the timer every half second.

4.2.3 Other Tools

Also visible on the Element Palette is a series of special tool icons which may be used for various editing functions, as described below:

4.2.3.1 Center Element Horizontally

You may center any currently selected element horizontally inside a window by pressing this icon on the Element Palette. Elements may only be centered relative to the window itself.

4.2.3.2 Center Element Vertically

You may center any currently selected element vertically inside a window by pressing this icon on the Element Palette. Elements may only be centered relative to the window itself.

4.2.3.3 Set Precise Size & Position

By selecting this button you may access the "Placement" window [Figure 4-F below] which aids in precisely sizing and positioning the currently selected element on a window.

Figure 4-F

You may adjust an element's specific width and height as well as its x and y position by using the nudge (arrow) buttons in the W, H, X, and Y fields, respectively. You may adjust the number of pixels each "nudge" will move the selected element by increasing or decreasing the amount in the Nudge Amount field.

4.2.3.4 Refresh Display of Window

Allows you to refresh a window after you have made changes—this simply re-displays the window with all the new changes.

4.2.3.5 Create Inset Panel

A convenient design tool which lets you instantly create an inset panel "behind" any selected panel to make it appear as its "own" inset border. The inset panel is automatically sized "around" the currently selected element.

4.2.3.6 Duplicate Element

Allows you to duplicate a selected element in a window if you wish, for instance, to repeat a special style or design without having to re-create it.

4.3 The Menu Bar

You may use the menu bar to control many of the Window Editor's functions and options which cannot be accessed from the Element Palette or tool bar. These menu bar options are listed below:

4.3.1 File

The File menu allows you to save and close windows, as well as to import and export windows and objects. Following are brief descriptions of each File menu item:

  • Close Window: Closes the window being edited—you will prompted as to whether or not you want to save any changes.

  • Save Window: Saves the window currently being edited without closing it.

  • Import Windows & Objects: Lets you import all the windows and objects contained within an .OMX file. When chosen, the "Import O-M-N-I Windows & Objects" dialog box will appear, from which you may select the desired .OMX file to import.

  • Export Windows & Objects: Allows you to compact windows and objects into a single file (with an .OMX extension) in order to export them. When chosen, the "Export Windows & Objects" dialog box [Figure 4-G below] will appear. Here you can select the windows and objects you wish to export using either the drop-down fields or the command buttons.

Figure 4-G

4.3.2 Edit

The Edit menu offers some additional tools to aid in editing windows in the Window Editor. It is only functional when a window is open on the screen for editing.

  • Duplicate: This menu option works exactly the same way as the Duplicate Element icon on the Element Palette. To duplicate an element, simply select it in the current window then click on the Duplicate... option under Edit on the menu bar. An exact copy of the element will instantly be created on top of the original. You may click-and-drag it anywhere in the window for positioning and/or editing.

  • Erase: You may click on this option to completely delete any currently selected element in the present window on your screen.

WARNING: You will not be prompted . . . so be absolutely sure you want to delete the currently selected element (defined by sizing handles) before
Erase... is actually selected!

  • Send to Back: When you click on this option, the currently selected element is instantly placed "behind" all the other elements presently specified on a window (except that it is placed directly on the Window element itself . . . because the Window element is always at the bottom—or, rather, remains the furthest one "back"—as the primary element upon which all others are arranged or ordered).

  • Bring to Front: When you click on this option, the currently selected element is instantly placed as the topmost element on a window—i.e., in "front" of all the other elements.

  • Send Back One Level: You may click on this option to send the currently selected element back one level.

  • Bring Forward One Level: You may click on this option to bring the currently selected element forward one level.

4.3.3 System

The System menu is where you go to specify the "Startup" window and "Permanent" windows on your system.

  • Startup Window: Lets you to specify the first window that is shown to users when they connect to your system. Select the desired window from the drop-down fields.

  • Permanent Windows: Allows you to specify which windows you want the Server to send automatically to (as well as store "permanently" on) the caller's computer when they connect to your O·M·N·I system for the first time. Select the desired windows from the drop-down fields. [Also see "Permanent Forum List" item under "Creating Objects"—Section 4.1.2.2 above—for related information.]

IMPORTANT: Whenever you specify or make any changes to the Permanent and/or Startup windows on your system, you must use the "copy" function in the O·M·N·I Server (under Server on the main menu) before the specifications will take affect. [See Section 3.1.3 in your O·M·N·I Server documentation for complete instructions.]

4.3.4 View

The View menu lets you select which editing tools you would like to have open while working within the Window Editor. The tools you may choose to have open are Tools (the Element Palette), Object Browser, Window Browser, Elements, and Properties. Simply check the appropriate menu item to display it, or uncheck it to remove it from view.

4.3.5 Help

Selecting Help + About... displays the O·M·N·I Window Editor's "About" window.

*