//---------------------------------------------------------------------------- // $Id: QtRpl/RplObjPanel.hpp 2017/07/23 16:20:45 philw $ //---------------------------------------------------------------------------- // // Note: This initial implementation doesn't have a .cpp file. // (This is an abstract class with no concrete implementation). // // This is a base class of these these two classes: // class RplBlockPanel : public QFrame, public RplObjPanel // class RplFunctionPanel : public QFrame, public RplObjPanel // //--- #pragma once #ifndef RplObjPanelINCLUDED #define RplObjPanelINCLUDED #ifndef RplBlockINCLUDED #include "RplBlock.hpp" #endif class RplObj; class RplStatement; class RplObjPanel { public: RplObjPanel() {} virtual ~RplObjPanel() {} virtual QFrame* instance() = 0; virtual bool update() = 0; virtual bool updateDescr() = 0; virtual bool updateNotes() = 0; virtual bool updateLoadStatus() = 0; virtual bool rebuild() = 0; virtual void installMenuBar() = 0; virtual void completeInit() = 0; virtual void selectRplStatement(RplStatement* statement) = 0; virtual void showDescription(bool) = 0; virtual void showNotes(bool) = 0; virtual void selectStringInDescription( const Rpl::SearchSpec& searchSpec) = 0; virtual void selectStringInNotes( const Rpl::SearchSpec& searchSpec) = 0; public: // These methods are Qt slots (signal handlers) in derived classes. virtual void updateEditActions() = 0; virtual void scrollToDebugCursor() = 0; public: virtual RplObj* getRplObj() const = 0; virtual void updateExternalDocButton() = 0; virtual void debuggerStateChanged() = 0; virtual QString nameEditorText() const = 0; }; #endif // RplObjPanelINCLUDED //--- (end RplObjPanel.hpp) ---