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.
Showing posts with label frames. Show all posts
Showing posts with label frames. Show all posts
Tuesday, August 19, 2008
FDCLib - Wizards without the black magic - part 1
Subscribe to:
Posts (Atom)
Programming Related Blogs
-
-
-
-
-
-
IceFest in Pennsylvania5 years ago
-
-
Aaron Swartz13 years ago
-
Setup IIS for Episerver CMS10 years ago
-
-
Never Defragment an SSD15 years ago
-
Welcome to BlogEngine.NET8 years ago
-
-
Somasegar's blog - Site Home - MSDN Blogs10 years ago
-
-
-
-
CodeSOD: The Date and Time and Time16 hours ago
-