[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kate] part/document: overload constructors, allow operator= and copy constructor
From: Dominik Haumann <dhdev () gmx ! de>
Date: 2012-07-03 8:23:19
Message-ID: 20120703082319.674DDA60A6 () git ! kde ! org
[Download RAW message or body]
Git commit ff611519e53c342749a906ea5e5eb1f55288da3f by Dominik Haumann.
Committed on 03/07/2012 at 10:20.
Pushed by dhaumann into branch 'master'.
overload constructors, allow operator= and copy constructor
M +29 -0 part/document/documentcursor.cpp
M +27 -10 part/document/documentcursor.h
http://commits.kde.org/kate/ff611519e53c342749a906ea5e5eb1f55288da3f
diff --git a/part/document/documentcursor.cpp b/part/document/documentcursor.cpp
index c97ea3c..7ebe753 100644
--- a/part/document/documentcursor.cpp
+++ b/part/document/documentcursor.cpp
@@ -31,6 +31,35 @@ DocumentCursor::DocumentCursor(KTextEditor::Document* document)
Q_ASSERT(m_document);
}
+DocumentCursor::DocumentCursor(KTextEditor::Document* document, const KTextEditor::Cursor& position)
+ : m_document(document)
+ , m_cursor(position)
+{
+ // we require a valid document
+ Q_ASSERT(m_document);
+}
+
+DocumentCursor::DocumentCursor(KTextEditor::Document* document, int line, int column)
+ : m_document(document)
+ , m_cursor(line, column)
+{
+ // we require a valid document
+ Q_ASSERT(m_document);
+}
+
+DocumentCursor::DocumentCursor (const DocumentCursor &other)
+: m_document(other.m_document)
+, m_cursor(other.m_cursor)
+{
+}
+
+DocumentCursor& DocumentCursor::operator= (const DocumentCursor &other)
+{
+ m_document = other.m_document;
+ m_cursor = other.m_cursor;
+ return *this;
+}
+
KTextEditor::Document *DocumentCursor::document () const
{
return m_document;
diff --git a/part/document/documentcursor.h b/part/document/documentcursor.h
index 161eeaa..a6f5b16 100644
--- a/part/document/documentcursor.h
+++ b/part/document/documentcursor.h
@@ -84,8 +84,29 @@ class KATEPART_TESTS_EXPORT DocumentCursor
// Constructor
//
public:
+ /**
+ * Constructor that creates a DocumentCursor at the \e invalid position
+ * (-1, -1).
+ * \see isValid()
+ */
DocumentCursor(KTextEditor::Document* document);
+ /**
+ * Constructor that creates a DocumentCursor located at \p position.
+ */
+ DocumentCursor(KTextEditor::Document* document, const KTextEditor::Cursor& position);
+
+ /**
+ * Constructor that creates a DocumentCursor located at \p line and \p column.
+ */
+ DocumentCursor(KTextEditor::Document* document, int line, int column);
+
+ /**
+ * Copy constructor. Make sure the Document of the DocumentCursor is
+ * valid.
+ */
+ DocumentCursor (const DocumentCursor &other);
+
//
// stuff that needs to be implemented by editor part cusors
//
@@ -132,16 +153,6 @@ class KATEPART_TESTS_EXPORT DocumentCursor
*/
DocumentCursor ();
- /**
- * no copy constructor, don't allow this to be copied.
- */
- DocumentCursor (const DocumentCursor &);
-
- /**
- * no assignment operator, no copying around clever cursors.
- */
- DocumentCursor &operator= (const DocumentCursor &);
-
//
// convenience API
//
@@ -263,6 +274,12 @@ class KATEPART_TESTS_EXPORT DocumentCursor
// operators for: DocumentCursor <-> DocumentCursor
//
/**
+ * Assignment operator. Same as the copy constructor. Make sure that
+ * the assigned Document is a valid document pointer.
+ */
+ DocumentCursor &operator= (const DocumentCursor &other);
+
+ /**
* Equality operator.
*
* \note comparison between two invalid cursors is undefined.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic