summaryrefslogtreecommitdiffstats
path: root/umbrello/umbrello/codegenerators/rubycodedocumentation.h
diff options
context:
space:
mode:
Diffstat (limited to 'umbrello/umbrello/codegenerators/rubycodedocumentation.h')
-rw-r--r--umbrello/umbrello/codegenerators/rubycodedocumentation.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/umbrello/umbrello/codegenerators/rubycodedocumentation.h b/umbrello/umbrello/codegenerators/rubycodedocumentation.h
new file mode 100644
index 00000000..72908f78
--- /dev/null
+++ b/umbrello/umbrello/codegenerators/rubycodedocumentation.h
@@ -0,0 +1,97 @@
+/***************************************************************************
+ rubycodedocumentation.h
+ Derived from the Java code generator by thomas
+
+ begin : Thur Jul 21 2005
+ author : Richard Dale
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * copyright (C) 2006-2007 *
+ * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
+ ***************************************************************************/
+
+#ifndef RUBYCODEDOCUMENTATION_H
+#define RUBYCODEDOCUMENTATION_H
+
+#include <qstring.h>
+#include "../codecomment.h"
+
+class RubyClassifierCodeDocument;
+
+/**
+ * class RubyCodeDocumentation
+ * A Ruby code comment. There is only a single styles of comments:
+ * these are simply started with a hash and no terminating
+ * characters
+ */
+
+class RubyCodeDocumentation : virtual public CodeComment
+{
+ Q_OBJECT
+public:
+
+ // Constructors/Destructors
+ //
+
+
+ /**
+ * Constructors
+ */
+ explicit RubyCodeDocumentation ( RubyClassifierCodeDocument * doc, const QString & text = "");
+
+ /**
+ * Empty Destructor
+ */
+ virtual ~RubyCodeDocumentation ( );
+
+ // Public attributes
+ //
+
+ // Other
+ //
+
+ /**
+ * Save the XMI representation of this object
+ */
+ virtual void saveToXMI ( QDomDocument & doc, QDomElement & root );
+
+ /**
+ * @return QString
+ */
+ QString toString ( );
+
+ /** UnFormat a long text string. Typically, this means removing
+ * the indentaion (linePrefix) and/or newline chars from each line.
+ */
+ virtual QString unformatText ( const QString & text, const QString & indent = "" );
+
+ /** a special version here because we want to not only indent
+ * the new line, but to add the "# " sequence as well.
+ */
+ virtual QString getNewEditorLine ( int amount );
+
+ /** Ush. These are terrifically bad and must one day go away.
+ * Both methods indicate the range of lines in this textblock
+ * which may be edited by the codeeditor (assuming that any are
+ * actually editable). The default case is no lines are editable.
+ * The line numbering starts with '0' and a '-1' means no line
+ * qualifies.
+ */
+ virtual int firstEditableLine();
+ virtual int lastEditableLine();
+
+
+protected:
+
+private:
+
+};
+
+#endif // RUBYCODEDOCUMENTATION_H