]> git.lyx.org Git - lyx.git/blobdiff - src/textcursor.C
Remove the inset and view member functions from PreviewedInset.
[lyx.git] / src / textcursor.C
index ecb6584a8ec7876037debeecca8b33eae737d6ae..2b7238ccc67b9139809441f32c05c4be0950e485 100644 (file)
@@ -1,23 +1,34 @@
+/**
+ * \file textcursor.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
 #include <config.h>
 
 #include "textcursor.h"
+#include "paragraph.h"
+#include "ParagraphList_fwd.h"
 
-bool TextCursor::setSelection()
-{
-       bool const lsel = selection.set();
+#include <string>
+
+using std::string;
 
+
+void TextCursor::setSelection()
+{
        if (!selection.set()) {
-               last_sel_cursor = selection.cursor;
                selection.start = selection.cursor;
                selection.end = selection.cursor;
        }
 
        selection.set(true);
 
-       last_sel_cursor = cursor;
-
        // and now the whole selection
-
        if (selection.cursor.par() == cursor.par())
                if (selection.cursor.pos() < cursor.pos()) {
                        selection.end = cursor;
@@ -40,9 +51,9 @@ bool TextCursor::setSelection()
        // a selection with no contents is not a selection
        if (selection.start.par() == selection.end.par() &&
            selection.start.pos() == selection.end.pos())
+       {
                selection.set(false);
-
-       return lsel;
+       }
 }
 
 
@@ -50,36 +61,8 @@ void TextCursor::clearSelection()
 {
        selection.set(false);
        selection.mark(false);
-       last_sel_cursor = selection.end = selection.start = selection.cursor = cursor;
+       selection.end    = cursor;
+       selection.start  = cursor;
+       selection.cursor = cursor;
 }
 
-
-string const TextCursor::selectionAsString(Buffer const * buffer,
-                                       bool label) const
-{
-       if (!selection.set())
-               return string();
-
-       // should be const ...
-       ParagraphList::iterator startpit = selection.start.par();
-       ParagraphList::iterator endpit = selection.end.par();
-       size_t const startpos = selection.start.pos();
-       size_t const endpos = selection.end.pos();
-
-       if (startpit == endpit)
-               return startpit->asString(buffer, startpos, endpos, label);
-
-       // First paragraph in selection
-       string result =
-               startpit->asString(buffer, startpos, startpit->size(), label) + "\n\n";
-
-       // The paragraphs in between (if any)
-       ParagraphList::iterator pit = startpit;
-       for (++pit; pit != endpit; ++pit)
-               result += pit->asString(buffer, 0, pit->size(), label) + "\n\n";
-
-       // Last paragraph in selection
-       result += endpit->asString(buffer, 0, endpos, label);
-
-       return result;
-}