[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lyx-devel
Subject:    Re: feature request
From:       Abdelrazak Younes <younes.a () free ! fr>
Date:       2006-04-09 19:24:51
Message-ID: e1bn26$m3b$1 () sea ! gmane ! org
[Download RAW message or body]

Leuven, E. a écrit :
>  > I had to do that in text.C. Cursor inherits DocIterator so
>  > you can use that. "ParIterator it(cur)" should do the trick.
> 
> that's what i did, see attached.
> 
> it get's quite ugly though because selections can be set both forward 
> and backward.
> 
> it becomes especially nasty in the case when we are moving pars up 
> because ParIterator is a forward iterator and i need the paragraph 
> before the pars we are moving (am now moving the cursors temporarily 
> backwards).

I need that also in the code I am working on so I have enabled it, see 
patch attached. My version of backwardPar does not take all cases and I 
am not sure it works either (done it very quickly). This is core lyx 
feature so this will need the help of core lyx devels.

> suggestions on how to make it nicer are appreciated.

I'll take a look.

Abdel.


["backwardPar_in_dociterator.patch" (text/plain)]

Index: dociterator.C
===================================================================
--- dociterator.C	(revision 13592)
+++ dociterator.C	(working copy)
@@ -445,6 +445,17 @@
 }
 
 
+// This does not go inside inset that are enlosed within a paragraph.
+void DocIterator::backwardPar()
+{
+	// Go to first pos in paragraph
+	pos() = 0;
+	// Backward one pos -> move into previous inset eventually.
+	backwardPos();
+	// Go to first pos in current new paragraph
+	pos() = 0;
+}
+
 void DocIterator::backwardChar()
 {
 	backwardPos();
Index: pariterator.h
===================================================================
--- pariterator.h	(revision 13594)
+++ pariterator.h	(working copy)
@@ -56,7 +56,7 @@
 	///
 	ParIterator operator++(int);
 	/// See comment in pariterator.C
-	//ParIterator & operator--();
+	ParIterator & operator--();
 	///
 	Paragraph & operator*() const;
 	///


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic