| Home > Application Framework > Presentation Layer
The presentation layer of the StrataFrame Application Framework has been designed
with both the end user and the developer in mind. Not only are the included
controls functional and user-friendly, but they are also quickly configured
and easily extended.
| |
Overview
The presentation layer is comprised of a complete collection of user interface
controls for both WinForms and WebForms programming as well as the following features:
- Advanced controls that allow for quick list population
- Fully localizable controls
- Interfaces that can be implemented to create new bindable controls
- A straightforward and attractive messaging interface
Seamlessly Integrated Data BindingZero Code Binding for WinForms and WebForms
In tune with the developer friendly nature of StrataFrame, the presentation layer
contains a full complement of "Zero Code" bindable controls. Through the forms designer,
the developer can easily select the business object source and binding information
through type editors (pull down menus in the property sheet). All binding is
bidirectional regardless of the method of change: user-input or programmatic. When
a change is made to a bound control its corresponding business object will be
updated and vice-versa. Optimized For Speed
StrataFrame data-binding is six times faster than standard ADO.NET data binding to custom
controls. This functionailty is provided through the Business Object Mapper and the strong-typed
properties. Binding to a property versus a data row is natively faster. But to achieve extremely
fast binding, a field property descriptor is dynamically created for each field property which
eliminates the need for reflection and provides all of the information required by .NET when binding
to data. Since no reflection is used and all of the field property descriptors are compiled within
the assembly, forms instantiate much faster. This is especially important for forms that will house
a large number of bound controls.
Effortless List Control Population
Populating a list can be one of the most tedious and time consuming tasks for any
developer. StrataFrame’s class library contains several list controls that allow
for “Zero Code” list population. Its proprietary list editor enables the developer
to select the source for the list: business object type or enumeration type.
Additionally, the display attributes of the list (sorting, filters, etc.) can be
selected via the editor in order to direct the actual list population. Moreover,
the developer is not even required to manually populate the data source.
Auto-Management Features | UI Automation View Larger Image | | Soft Collision Automation View Larger Image | | Automatically Display Errors View Larger Image |
The framework’s base form classes link any dropped business object directly to the
target form. While events raised by the business objects on the form can be handled
by the developer, the form is capable of automatically handling the events to present
messages to the end-user without intervention by the developer. The following are examples
of how the form will handle certain events:
- The form will show a “Save Changes?” dialog when it is closed while a business
object is still “dirty.”
- An error form is displayed when a Database exception occurs.
- The.NET error provider is automatically displayed when business rules are checked.
- A list of soft data collisions is presented to the user for resolution when a
concurrency exception occurs.
- A delete confirmation window is displayed when a record is deleted.
Note: Any automatic feature that exists on the presentation
layer can be disabled if the developer does not want to use it. The framework does not force
the developer to “Program around” any of the automation.
Application Themes
StrataFrame provides a collection of controls referred to as Themed controls. Some of these controls are
shown in more detail below. In addition to extending the developers control arsenal past the standard .NET toolbox, many
of these controls also support the StrataFrame application themes. These themes provide a fresh and attractive appearance to
any application with practically no effort!
Theme Styles
The framework comes with a number of pre-built themes that can be used by setting a single property. When set, the
Themed controls recognize that a theme has been applied and render based on the active theme. There are a number of
different effects that can be applied to the themed controls including glass-effects and refracted light. A pre-built theme
named "BlackIce" is included out-of-the-box which follows the Windows Vista appearance.
Optimized Rendering
The StrataFrame application themes do not use bitmaps or any external configuration files in order to apply a theme to a control.
All themed controls have properties that allow such effects as glass and gradients to be rendered. When a theme is applied to an
application, these properties are dynamically set by the theme. This is important because controls will render
much faster at run-time using this approach rather than using configuration files or bitmaps. Additionally, fewer resources are consumed
as more controls are added to a form, thus adding to the performance.
Pre-Localized Runtime Components
All StrataFrame components which provide pre-built interfaces, such as Role-Based Security, Browse Dialogs, and Maintenance Form Toolstrips are pre-localized out-of-the-box.
This includes all labels, tooltips, messages, broken rules, and anything that displays text to the end-user. Ready Out-Of-The-Box
StrataFrame uses its own localization engine to localize the runtime components. StrataFrame provides the ability
to use embedded XML files within an assembly which will be automatically loaded into the localization cache when the assembly
loads. This requires absolutely no code whatsoever on the part of the developer and will automatically follow the applications
selected language. Below is a list of the available languages which are pre-translated.
- English
- Spanish
- Portuguese
- German
- French
- Italian
- Russian
- Danish
- Greek
Feature Rich and Extended UI Controls
When developing commercial applications, the standard .NET collection does not meet the needs
of the normal developer. StrataFrame has extended the standard .NET controls to provide
expanded functionality, but more importantly, provides many exclusive controls to meet the
aesthetic and functional needs of an application. Below
are just a few of the extended controls that are ready to use out-of-the-box. Windows Theme Support
All StrataFrame controls have functionality to tie into the Windows Themes used by the
end-user. This functionality can be over-written by the developer, but provides a user
interface that is pleasing to the eye. If the end-user changes their Themes, by default, the
StrataFrame controls will follow suit and adjust to the new colors.
Browse Dialog Control
One function that all application developers need is the ability to provide an interface
to their end-users to search and retrieve data dynamically. The Browse Dialog allows a
developer to create a search dialog by simply dropping a control on a form and setting a few
properties. The dialogs can also be classed allowing a common browse dialog to be reused in
an indefinite number of locations.
The Browse Dialog also has a feature called the Information Panel. The information panel is
ultimately a user control that allows a developer to place any type of information, such as a
patient photograph or record details that would be difficult to show in the results list.
Maintenance Form Toolbar
The Maintenance Formm Toolbar is a toolstrip that is "pre-wired" for business object interaction. This control
just needs to be dropped on the form and will immediately work with the business objects without writing a single
line of code. The Maintenance Form Toolstrip allows records to be created, modified, deleted, navigated, saved, and undone.
Additionally, a Browse Dialog control can be associated with the toolbar and it will automatically launch and
manage the Browse Dialog.
The Maintenance Form Toolstrip can even be dropped on a StrataFrame User Control to provide isolated
and classed support when forms need to be dynamically created. In addition to the automated features, the developer
can easily control which buttons will appear and how the toolbar should behave by simply setting properties.
Gradient Form Header
The Gradient Form Header is a dockable control that is generally displayed on the top of a form and
provides a very attractive banner. The Gradient Form Header will follow the Windows Themes unless
the gradient colors are over-written by the developer. Additionally, an image can be associated with
the header and has support for shadowed text. This control really provides a balanced and aesthetically
pleasing appearance to a form.
Child Form Dialog
The Child Form Dialog is a revolutionary approach to dealing with shared data between multiple forms.
The Child Form Dialog control is a component that is dropped on a form. By simply setting two properties,
the child form will be instantiated and displayed when the ShowDialog method is called. This allows
the developer to drop a business object on the child form, and when called, all references, even those in
code, will be translated to the business object on the calling form. This allows a new child record to be
created on the calling form and when the child form displays, the new record will appear as though it had been
created on the child form.
For developers coming from a FoxPro background, this is the answer to a default data session. It allows business objects
(or tables) to be shared across forms without any programming.
Wait Window Control
The Wait Window was spawned from a feature available in Visual FoxPro. It is a threaded component
that displays a Windows Theme colored window at a specified location on the screen, generally the upper right corner.
The Wait Window has been vastly improved over the VFP predacessor with support for a title in addition to the
message as well as threaded and animation support.
A common use for a Wait Window is a quick and easy progress indicator to notify the end-user
of the current state of a task. This is a great control to have in the developers bag of tools.
Themed Group Box
The Themed Group Box is a replacement for the standard group box. As the name implies, the control will
adjust colors to the end-users active Theme. Additionally, there is extended functionality which includes
tabs, blocked headers, gradient color support, and more.
Radio Group Box
Ironically, .NET does not provide native functionality for data binding to a group of radio buttons. The
radio group box allows a group of radio buttons to be associated with a single bound value.
Wizard and Progress Indicator Controls
Create beautiful and functional wizard forms quickly and easily with the Wizard control. Simply
drop the control on a form create pages. There is support for welcome, content, and setup style
pages. Moreover, the pages can even be classed and reused over and over again. The programmatic support
is unsurpassed and allows the developer to completely control the order and display of the pages at design or
run-time. There are events that notify the developer of the end-users interaction which gives complete control.
For example, if the end-user did not complete the page and attempted to move forward, the
developer could stop the progress and notify the end-user of the corrections that need to be made.
The wizard control also has native support for dynamic interaction with a StrataFrame Progress Indicator
control. The Progress Indicator control has extensive features that allows the developer to
visually display the progress of a task. Use of this control is not exclusive to the Wizard
control and can be dropped on any form that a visual representation of progress is needed.
Themed Container Control
The Themed Container Control is also known as an Explorer Control. This type of control can
be seen in the Windows environment in areas such as the control panel or explorer windows. The Themed
Container control can be placed in a flow layout panel for web-style expand and collapse features
on a windows form.
In addition to Windows Theme support, header images, watermarks, and animation can be implemented on
the control. Place any controls within the container and they will expand and collapse with the
Themed Container.
Easily Bind Non-StrataFrame Controls
Every StrataFrame control is made bindable through the implementation of a single
interface. This same interface can be implemented by any developer to create a new
bindable control for either WinForms or WebForms. Additionally, all ADO.NET components
used within the business objects are exposed to allow the developer to bind to the
business objects without using the StrataFrame interfaces. For example, advanced
grids and views would be bound to the CurrentDataTable of a business object rather
than to a specific field within the business object.
Connection Manager Dialogs
StrataFrame provides a complete solution for Connection String Management.
As such, there are times that the developer needs to directly call the
Connection Manager dialogs to be presented to the end-user. The dialogs alleviate the pressures of the developer to produce
server connection, language selection, and shared settings dialogs. Calling these dialogs is as simple as a single
line of code to present the desired form to the end-user.
There are four basic dialogs that include the Database Connection Wizard, Active Application Connections,
Active Language, and the Shared Settings Wizard. Each dialog informs the developer of the selections
made by the end-user so proper action can be taken.
Complete DevExpress and Infragistics Wrappers
StrataFrame has a DevExpress and Infragistics wrapper that provdes integrated and native data binding and functionality.
In addition to the standard DevExpress and Infragistics controls, all StrataFrame extended controls such as the
Gradient Form Header, Browse Dialog, and Maintenance Form Toolstrip, just to name a few, have been
written to support the wrapped skins and controls as well. Use the wrapped controls without
losing any of the functionality of the standard StrataFrame controls.
Extended functionality has been added to the DevExpress controls to add list population support as well
as a replacement for the ListView control in the standard control collection. Infragistics already had a ListView control which was
extended to support all of the native StrataFrame list population techniques.
Complete Localization SolutionLocalize Controls Easily
All text within an application created with StrataFrame is localizable without the use of
satellite DLLs. Localized messages are stored by key within either the application’s
database or within an XML file. Keys can be assigned to controls and the text then
localized at runtime. All localizable text can be retrieved from the message-store
programmatically by the developer.
Design-Time Localization Support
Generally it is difficult to prepare an application for localization support. StrataFrame is
ready out-of-the-box to implement localization quickly and easily. Regardless of the translation
approach that is taken, each control that is to be localized needs to be associated with a key that
tells the control how to retrieve its display value at run-time. StrataFrame provides excellent
design-time localization support allowing a key to be created straight from the control itself. Since
most developers program the forms in their native language, this can be specified in the preferences and the key created
will be automatically assigned to that language.
Rich Messaging InterfaceReplace the Standard Message Box
StrataFrame’s presentation layer contains a messaging interface that goes far beyond the
MessageBox provided by .NET. A rich-text message form enables the developer to provide
colorized and themed messages to the end-user. The message form can display text given
at runtime, or can be called by passing the desired key to the framework; the localized
message information is retrieved and used to show the form.
In addition to rich text support, the messaging interface also support HTML. This is a great
way to create dynamic display messages and present them with a rich look to the end-user.
Office-Style Notification Windows
Many times there is a need to create a notification within an application that alerts the
user in an unobtrusive manner. When this situation occurs, StrataFrame provides a messaging
interface called an InfoBox which behaves and looks like the Office-Style notification windows.
The window has animation support including fade and scroll. Additionally the developer can
control the opacity and the placement of the window. An InfoBox window can appear within the
Windows screen or be bound to appear within a form. Also, the InfoBoxes will automatically stack
if more than one appears in the same location.
On top of the Windows Themed appearances, the developer can specify error and tip windows. Also,
an icon and a sound can be associated with the InfoBox. Last, a content menu can be assigned to the
window allowing support for end-user actions to be made.
Additional Features & Specificationsexpand all | collapse all | |
| Complete Collection of Bindable Controls | | | |
Bindable controls are provided for both WinForms and WebForms applications.
| | |
| | Radio Button Group | | | |
The radio button group is a bindable control that allows binding to
the entire group rather than requiring the developer to bind to each
individual radio button.
| | |
| | Browse Dialog | | | |
The Browse Dialog gives the developer a quick way to provide the
end-user with a way to browse the data within the data-store and
select the desired records. The browse form can be completely
configured through the designer in less than 3 minutes and is
customizable to meet any need. Features include:
- Search fields selection
- Advanced search criteria (contains, begins with,
greater than, etc.)
- Information panel that allows the Browse Dialog to show
additional information not displayed within the results table
(patient picture, complete customer address, etc.)
| | |
| | Child Form Dialog | | | |
The Child Form Dialog opens any form as a child form and translates
business objects between the parent form and the child form. This
enables the developer to use the same business objects between a
child form and a parent form.
| | |
| | Gradient Form Header | | | |
The GradientFormHeader is a themed header than can be dropped
onto any form to add a graphical element to the form.
| | |
| | Themed Detail Window | | | |
The Themed Detail Window is a graphical Windows form that follows the
user’s current theme and is the base used for the Message Form and Wait
Window within the application framework. This class can be used to
create accent forms.
| | |
|
| expand all | collapse all | |
| Optimized for Performance | | | |
Several measures have been taken to ensure the optimized performance
throughout the presentation layer. Data binding on business objects
has been engineered to allow the business object to change the record
pointer without requiring that the data binding be destroyed and
re-created. Caching techniques are used extensively to improve
performance; for example, localized text and messages are cached on
the client side to reduce round-trips to the data store to retrieve
the information.
| | |
| | Customizable Error Provider | | | |
The auto-bound .NET error provider is fully customizable through the
designer. All properties can be modified including the icon, blink
rate and position.
| | |
| | Templates | | | |
Templates are provided for all project and item types used within a
StrataFrame WinForms application, WebForms application, or business
object class library.
| | |
|
|
|