Main class for schema browser is toBrowser. It is sub-classed from QTabWidget and provides:
Base classes for object list are toBrowserSchemaCodeBrowser (for code: functions, procedures, packages and types) and toBrowserSchemaTableView (for everything else: tables, views, synonyms etc.) both subclassed from toBrowserSchemaBase.
Base class for object details is toBrowserBaseWidget.
This class will provide tabs for different properties of selected object (f.e. for table that would be columns, indexes, constraints etc.). As it is just a base class – it does not have much functionality – simply manages updating object cache for all object types. It also defines which functions must be defined in all it's subclasses:
Further on each tab (each type of object) will have it's own class subclassed from toBrowserBaseWidget:
Each of these classes will have a number of objects to display different types of object type properties:
When a user chooses a different type/property, following methods are called: