X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=fold.h;h=e8c78b7e57e72e5300cb122781a3eb130bda215b;hb=f2906162189674ce1931eb8cb3907ef8b7fcb925;hp=589b76b28783fa740cb718e700231fbb09a9d0d8;hpb=d7f2452e20b04d1559b7bdd3aa49b6fbf7d0abaf;p=odcread.git diff --git a/fold.h b/fold.h index 589b76b..e8c78b7 100644 --- a/fold.h +++ b/fold.h @@ -7,33 +7,45 @@ namespace odc { + /** + * Supertype for views (in MVC framework). + * Included because a Fold is a View and not a Model, for some reason. + */ class View : public Store { private: - static const std::string TYPENAME; - static const TypeProxy PROXY; + static const TypeProxy PROXY; public: - View(INTEGER id); - static const std::string &getType(); - static const std::string *getSuper(); + static const std::string TYPENAME; virtual const std::string &getTypeName() const; + + View(INTEGER id); + /** + * Just calls super and reads the version and checks that its in the allowed range. + */ virtual void internalize(Reader &reader); }; + /** + * Folds are collapsible components in a text document. + */ class Fold : public View { private: - static const std::string TYPENAME; - static const TypeProxy PROXY; + static const TypeProxy PROXY; Store *d_hidden; SHORTCHAR *d_label; bool d_collapsed; public: - Fold(INTEGER id); - static const std::string &getType(); - static const std::string *getSuper(); + static const std::string TYPENAME; virtual const std::string &getTypeName() const; + + Fold(INTEGER id); + /** + * Calls super and reads the version and checks that its in the allowed range. + * Then reads the state of the Fold, including the hidden part. + */ virtual void internalize(Reader &reader); virtual std::string toString();