It is time to get started with another contribution to the FDCLib.
Frames are great, but they can require a bit of fiddling to work well. The plan is to create a simple system to organize frames for tabbed views and wizards and simplify some of the design problems related to visual inheritance as well as class inheritance.
Design goals
1a. Each frame must not need to descend from the same class
1b. It must still be possible to extend frames by inheritance
2a. Each frame should not need to contain extensive knowledge about other frames
2b. Each frame must be able to obtain knowledge about/from other frames
3. Each frame should have (optional) input validation
4. It must be possible to make reusable frames such as file pickers, etc.
5. It must be possible to use the frames in different contexts (modal or modeless, window or dialog)
Using a similar approach to what I did for the grid controller, I will wrap myself around a basic TFrame and grab hold of the hooks that exist and move the business logic into a non-visual class known as TFrameWrapper.
To organize these non-visual classes, I will create a TFrameController. The frame controller will hold the knowledge about how the frames are to be presented, organized, and navigated.
Teaser: The frame controller will be reused in a future part of FDCLib. What part of the application do you usually need first, but often end up writing last? No, not the documentation :P - we are talking about code after all :)
Before I move on - I'd like gather some intel about how you are using frames today.
Your comments will be greatly appreciated!
Delphi Programming - Real programmers write comments mostly in or about other peoples code.
Delphi Programming
and software in general.Tuesday, August 19, 2008
FDCLib - Wizards without the black magic - part 1
Labels:
delphi,
fdclib,
frames,
reusable code,
wizard
| Reactions: |
Subscribe to:
Post Comments (Atom)
Programming Related Blogs
-
-
-
-
-
XACML is Dead? Long Live XACML!2 weeks ago
-
-
Imagine Cup Deadlines Loom2 years ago
-
Aaron Swartz4 months ago
-
-
New Team, New Challenges8 months ago
-
Never Defragment an SSD2 years ago
-
THMTLWriter and XE41 week ago
-
-
MSDN Blogs - MSDN Blogs3 minutes ago
-
-
Construx Executive Summit 201211 months ago
-
Company pages on Careers 2.05 days ago
-
-