summaryrefslogtreecommitdiff
path: root/fluid/Fl_Type.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2023-07-19 17:44:44 +0200
committerMatthias Melcher <github@matthiasm.com>2023-07-19 17:45:28 +0200
commitf8a327877699a8565d36b2f0b1cbe074f224fba4 (patch)
tree00673ec9887fa97a108a56910c97df6b37c6ff8c /fluid/Fl_Type.cxx
parent9ee8cdc727e7c510c28b51318b953d82aa1dd936 (diff)
FLUID: emulated RTTI for all types
Complete type hierarchy in Fl_Types doc Window now derives correctly from Group Menu Items now correctly (functionally in FLUID) derived form Button Menu Buttons have a better hierarchy Fixing two possible crash bugs where Input_Choice was assumed to be a Menu_ Hoping I have not degraded the original code!
Diffstat (limited to 'fluid/Fl_Type.cxx')
-rw-r--r--fluid/Fl_Type.cxx82
1 files changed, 72 insertions, 10 deletions
diff --git a/fluid/Fl_Type.cxx b/fluid/Fl_Type.cxx
index 18c108ca8..110122a1e 100644
--- a/fluid/Fl_Type.cxx
+++ b/fluid/Fl_Type.cxx
@@ -18,17 +18,79 @@
/// \{
/** \class Fl_Type
-Each object described by Fluid is one of these objects. They
-are all stored in a double-linked list.
+ Each object described by Fluid is one of these objects. They
+ are all stored in a double-linked list.
+
+ The "type" of the object is covered by the virtual functions.
+ There will probably be a lot of these virtual functions.
+
+ The type browser is also a list of these objects, but they
+ are "factory" instances, not "real" ones. These objects exist
+ only so the "make" method can be called on them. They are
+ not in the linked list and are not written to files or
+ copied or otherwise examined.
+
+ The Fl_Type inheritance is currently:
+ --+-- Fl_Type
+ +-- Fl_Function_Type
+ +-- Fl_Code_Type
+ +-- Fl_CodeBlock_Type
+ +-+ Fl_Decl_Type
+ | +-- Fl_Data
+ +-- Fl_DeclBlock_Type
+ +-- Fl_Comment_Type
+ +-- Fl_Class_Type
+ +-+ Fl_Widget_Type, 'o' points to a class derived from Fl_Widget
+ +-+ Fl_Browser_Base_Type, 'o' is Fl_Browser
+ | +-+ Fl_Browser
+ | | +-- Fl_File_Browser
+ | +-- Fl_Check_Browser
+ +-- Fl_Tree_Type
+ +-- Fl_Help_View_Type
+ +-+ Fl_Valuator_Type, 'o' is Fl_Valuator_
+ | +-- Fl_Counter_Type
+ | +-- Fl_Adjuster_Type
+ | +-- Fl_Dial_Type
+ | +-- Fl_Roller_Type
+ | +-- Fl_Slider_Type
+ | +-- Fl_Value_Input_Type
+ | +-- Fl_Value_Output_Type
+ +-+ Fl_Input_Type
+ | +-- Fl_Output_Type
+ +-+ Fl_Text_Display_Type
+ | +-- Fl_Text_Editor+Type
+ | +-- Fl_Simple_Terminal_Type
+ +-- Fl_Box_Type
+ +-- Fl_Clock_Type
+ +-- Fl_Progress_Type
+ +-- Fl_Spinner_Type
+ +-+ Fl_Group_Type
+ | +-- Fl_Pack_Type
+ | +-- Fl_Flex_Type
+ | +-- Fl_Table_Type
+ | +-- Fl_Tabs_Type
+ | +-- Fl_Scroll_Type
+ | +-- Fl_Tile_Type
+ | +-- Fl_Wizard_Type
+ | +-+ Fl_Window_Type
+ | +-- Fl_Widget_Class_Type
+ +-+ Fl_Menu_Manager_Type, 'o' is based on Fl_Widget
+ | +-+ Fl_Menu_Base_Type, 'o' is based on Fl_Menu_
+ | | +-- Fl_Menu_Button_Type
+ | | +-- Fl_Choice_Type
+ | | +-- Fl_Menu_Bar_Type
+ | +-- Fl_Input_Choice_Type, 'o' is based on Fl_Input_Choice which is Fl_Group
+ +-+ Fl_Button_Type
+ +-- Fl_Return_Button_Type
+ +-- Fl_Repeat_Button_Type
+ +-- Fl_Light_Button_Type
+ +-- Fl_Check_Button_Type
+ +-- Fl_Round_Button_Type
+ +-+ Fl_Menu_Item_Type, 'o' is derived from Fl_Button in FLUID
+ +-- Fl_Radio_Menu_Item_Type
+ +-- Fl_Checkbox_Menu_Item_Type
+ +-- Fl_Submenu_Item_Type
-The "type" of the object is covered by the virtual functions.
-There will probably be a lot of these virtual functions.
-
-The type browser is also a list of these objects, but they
-are "factory" instances, not "real" ones. These objects exist
-only so the "make" method can be called on them. They are
-not in the linked list and are not written to files or
-copied or otherwise examined.
*/
#include "Fl_Type.h"