View.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef GUI_VIEW_H
00025 #define GUI_VIEW_H
00026
00027 #include <vector>
00028 #include <Base/BaseClass.h>
00029
00030 namespace App
00031 {
00032 class Document;
00033 }
00034
00035 namespace Gui
00036 {
00037 class Document;
00038 class ViewProvider;
00039
00051 class GuiExport BaseView : public Base::BaseClass
00052 {
00053 TYPESYSTEM_HEADER();
00054
00055 public:
00061 BaseView(Gui::Document* pcDocument=0);
00065 virtual ~BaseView();
00066
00067
00071
00072 void setDocument(Gui::Document* pcDocument);
00074 void onClose(void);
00076
00078 Gui::Document* getGuiDocument() const {return _pcDocument;}
00080 App::Document* getAppDocument() const;
00082 bool isPassive(void) const {return bIsPassive;}
00083
00087
00088 virtual void onUpdate(void){}
00090 virtual void onRelabel(Gui::Document *){}
00092 virtual void onRename(Gui::Document *){}
00094 virtual const char *getName(void) const
00095 { return "Base view"; }
00097 virtual bool onMsg(const char* pMsg, const char** ppReturn)=0;
00099 virtual bool onHasMsg(const char* pMsg) const=0;
00101 virtual bool canClose(void){return true;}
00103 virtual void deleteSelf();
00105
00106 protected:
00107 Gui::Document* _pcDocument;
00108 bool bIsDetached;
00109 bool bIsPassive;
00110 };
00111
00112 }
00113
00114 #endif // GUI_VIEW_H