The Browse Form Manager Class was created to provide some advanced interfaces in my applications, without having to include a lot of code to manage the interface in each window.
The Browse Form Manager Class was created to provide some advanced interfaces in my applications, without having to include a lot of code to manage the interface in each window. Let me start by saying that from an Academic standpoint this Class breaks all the “rules”. As the Academic “Rule” is that class should not deal with the interface. However, I am not creating a class that will be graded by a college professor somewhere, I am trying to get my job done, quicker and easier and follow the rule of when possible reuse code.
This class does manage the adding, changing and deleting of records, but there is nothing fancy in that code, it is just standardized code that I had on all my add, change, delete buttons, that has been made generic enough to be reusable. The real purpose and power of this class is the unique interfaces that it provides and manages so an advanced user interface can be provided without a lot of hand coding, for the most part, once the screen is designed, all the controls laid out on the window, then its a simple matter of adding 10-20 lines of class calls to the window to allow the class to manage the window. The interface styles supported by this class are:
- Standard Browse and Form on separate windows. The table can be set to allow multiple selections and the class can manage several open forms at one time.
- Peek-A-Boo Browse/Form Combination
- A browse with an integrated form that is automatically displayed and hidden as needed and learns the users preference of either only seeing the form while in edit mode, or always seeing the form.
- Edit in Place Browse
- Browse with editable fields and no form
- Tabbed Interface
- This is similar to the latest interfaces used by Microsoft Outlook and similar programs, the browse is displayed in a tab, and as records are edited that are opened as separate forms, contained in additional tabs. Logically this is very similar to the Standard Separate windows, but it appears to be one window with many tabs to the end user
There is also a extension class to assist with the management of child tables
There are many advanced properties and methods that allow you to extend the functionality of the window and still have the class manage the basic interface.
Enough of a sales job. I hope you enjoy it. If you have any questions, suggestions, complaints (well not complaints) then please use the comments below so we can all benefit from each others additions. This article will be updated with each new release of the class.
If you have any questions about the NextAge Open Source initiative be sure to check out this post.
The Download Links
Version 1.0 – Initial Release 1/16/2013