summaryrefslogtreecommitdiffstats
path: root/src/definition.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/definition.h')
-rw-r--r--src/definition.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/definition.h b/src/definition.h
new file mode 100644
index 0000000..2dbee89
--- /dev/null
+++ b/src/definition.h
@@ -0,0 +1,64 @@
+/******************************************************************************
+ *
+ * $Id$
+ *
+ * Copyright (C) 1997-1999 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * All output generated with Doxygen is not covered by this license.
+ *
+ */
+
+#ifndef DEFINITION_H
+#define DEFINITION_H
+
+#include <qstring.h>
+#include "config.h"
+
+/*! The common base class of all definitions. */
+class Definition
+{
+ public:
+ //! create a new definition
+ Definition(const char *name,const char *b=0,const char *d=0)
+ { n=name; brief=b; doc=d; }
+ //! destroys the definition
+ virtual ~Definition() {}
+ //! returns the name of the definition
+ QString name() const { return n; }
+ //! returns the detailed description of this definition
+ QString documentation() const { return doc; }
+ //! returns the brief description of this definition
+ QString briefDescription() const { return brief; }
+ //! sets a new name for the definition
+ void setName(const char *name) { n=name; }
+ //! sets the documentation of this definition
+ void setDocumentation(const char *d)
+ {
+ doc=d; doc=doc.stripWhiteSpace();
+ }
+ //! sets the brief description of this definition
+ void setBriefDescription(const char *b)
+ {
+ brief=b; brief=brief.stripWhiteSpace();
+ int bl=brief.length();
+ if (bl>0 && brief.at(bl-1)!='.' && brief.at(bl-1)!='!' &&
+ brief.at(bl-1)!='?') brief+='.';
+ }
+ //! returns TRUE iff the definition is documented
+ bool hasDocumentation()
+ { return !doc.isNull() || !brief.isNull() || extractAllFlag; }
+ QString nameToFile(const char *name);
+
+ private:
+ QString n; // name of the definition
+ QString brief; // brief description
+ QString doc; // detailed description
+};
+
+#endif