Alventis and Designer use an innovative windowing interface allowing you to work in multiple concurrently open forms. The concept should be familiar to you from numerous other applications using the standard Microsoft Windows Multiple Document Interface (MDI). Alventis and Designer are similar in many ways, but differ in some important details. Since both Alventis and Designer use the same exact interface, and this entire chapter applies equally to both, we will be only mentioning Alventis for the rest of this discussion for the sake of brevity.
A large part of Alventis' interface follows the "standard" quite closely:
As you can see, there's nothing unusual about the most essential aspects of Alventis' interface. There are only two new and unusual elements:
Interface Persistence. Alventis attempts to preserve the last known state of everything within it and restore it whenever you re-open the relevant form. Simply put, you can close Alventis that has two dozen open forms, re-open it the next day, and find everything in place as if you haven't closed it at all. The following is a partial list of the most important elements Alventis preserves for you:
You may occasionally want to defeat the automatic saving or loading of these Persistence states. Both saving and loading do not occur if the Shift key on the keyboard is pressed. Pressing and holding it starting with the moment the Splash Screen appears, for example, will launch Alventis "clean" with nothing re-opened and re-loaded. Same goes for InfoView forms: Shift-opening them will prevent their Persistence loading. You may not be able to successfully exercise "fine control" over what you do and don't want to save/load, i.e., it is not possible for you to launch Alventis re-loading its menu/bar setup but not MRU lists of combo boxes. Nevertheless, you can certainly use this feature to, say, open an InfoView, mess-up its layout with its Splitters and Grids, and Shift-close the InfoView without saving any of your unwanted changes for posterity.
Whenever you launch Alventis with the Shift key pressed, the first thing it does is offer you to clear all Persistence information completely. You can accept or reject this offer based on the circumstances.
Alventis has some menus and toolbars. On these menus and toolbars, you will find buttons, combo boxes, and other interface elements that together expose almost all the features available to you. By default, both menus and toolbars contain almost all available items. Together, they contain all of them. The items not duplicated on the menus are simply more appropriate for toolbars: Bold/Italic/Underline/Strikeout buttons, as well as Font Name, Size, Style Picker, and MemoSearch combo boxes. Toolbars and menus are essentially equivalent in the sense that they give you access to whatever items they happen to contain. Clicking a button on a toolbar is therefore no different from clicking the same button on a menu. Which is why we won't be making any explicit distinctions about bars and menus when we talk about clicking buttons or using other similar items. Whether you prefer to use menus or toolbars is a matter of your personal taste. We tend to favor toolbars since they offer a more direct access to the buttons they contain. In particular, toolbars are more convenient when dealing with numerous InstaButtons. That said, you can have multiple InstaButtons on menus too, so it's completely up to you.
You can fully customize both menus and toolbars to your liking. See the Customizing Toolbars and Menus chapter for more information.
Alventis supports a variety of common data controls, such as Edit Boxes, Combo Boxes, Radio Button Groups, and so on. These should be familiar to you from other software, so we won't be describing these in any detail.
You may be less familiar with a few other items, so we'll give you brief tips on their use.
RotoSplitters. These are the fairly common draggable dividers you should be familiar with from other software. The only unusual thing about splitters in Alventis is that they can be rotated. Look for a little "button" at the right or bottom edge. Splitters that have this button are RotoSplitters. You can rotate them, i.e., toggle their orientation between horizontal and vertical, by clicking the little button or by Shift-double-clicking anywhere on the splitter. A few splitters cannot be rotated: usually, such splitters have an obvious preferable orientation, so changing it simply wouldn't make much sense.
PanelZoom. Alventis allows you to "zoom-in" to a particular Panel (or area of a form). This amounts to "maximizing" that Panel to temporarily fill the entire form – much as you would maximize a form to fill the entire Workspace of the application. There are two ways to zoom a Panel. You can double-click the desired Panel. Note that you can double-click not only the Panel per se, but any Label, Shape or static (cosmetic) Image on it – anything on the Panel that normally does not react to clicks. The other way is to invoke the PanelZoom command from a toolbar or a menu. This will zoom the Panel closest to the currently focused item on the form. This seemingly simple statement hides a lot of complexity, so let's try to see what it is really trying to tell you.
Alventis always tries to zoom the closest enclosing Panel that supports zooming. And not all Panels do. Time for an example.
Let's imagine that the designer of the form depicted above has set the following Panels to be zoomable: A, B1, and B2. This case is fairly simple: you can zoom the entire Panel A by double-clicking it. You can also zoom each of the split sub-panels B1 and B2.
Let's now imagine that the designer has specified only Panel B to be zoomable. Attempts to zoom either sub-panel B1 or B2 will no longer zoom the corresponding sub-panel, but rather the entire Split Panel B. Let's say we double-clicked B1. This sub-panel is not zoomable though, so Alventis will start looking for the next enclosing Panel. In the above example, it won't have to look very far: the very next Panel is the entire Split Panel B, which is zoomable, so this is what gets zoomed. Similarly, attempts to zoom Panel A will result in Alventis going through Panels in the order A à B1 à B, and zooming B again.
What Panels are or are not zoomable is up to the designer of the form. As far as InfoView forms are concerned, this is set on a per-Panel basis in Alventis Designer.