#include <ctime>
#include <unistd.h>
#include <sys/wait.h>
+#include <locale.h>
#ifdef __GNUG__
#pragma implementation
current_scrollbar_value(0), cursor_timeout(400),
workarea_(xpos, ypos, width, height), using_xterm_cursor(false)
{
- //buffer_ = 0;
- //workarea_ = new WorkArea(xpos, ypos, width, height);
-
// Setup the signals
workarea_.scrollCB.connect(slot(this, &BufferView::Pimpl::scrollCB));
workarea_.workAreaExpose
LyXParagraph * selendpar = 0;
UpdatableInset * the_locking_inset = 0;
- int pos = 0;
- int selstartpos = 0;
- int selendpos = 0;
- int selection = 0;
- int mark_set = 0;
+ LyXParagraph::size_type pos = 0;
+ LyXParagraph::size_type selstartpos = 0;
+ LyXParagraph::size_type selendpos = 0;
+ bool selection = false;
+ bool mark_set = false;
ProhibitInput(bv_);
return;
}
+#ifndef NEW_INSETS
// check whether we want to open a float
if (bv_->text) {
bool hit = false;
c = bv_->text->cursor.par()->
GetChar(bv_->text->cursor.pos());
}
-#ifndef NEW_INSETS
if(!bv_->text->selection)
if (c == LyXParagraph::META_FOOTNOTE
|| c == LyXParagraph::META_MARGIN
|| c == LyXParagraph::META_ALGORITHM){
hit = true;
} else
-#endif
if (bv_->text->cursor.pos() - 1 >= 0) {
c = bv_->text->cursor.par()->
GetChar(bv_->text->cursor.pos() - 1);
-#ifndef NEW_INSETS
if (c == LyXParagraph::META_FOOTNOTE
|| c == LyXParagraph::META_MARGIN
|| c == LyXParagraph::META_FIG
bv_->text->CursorLeft(bv_);
hit = true;
}
-#endif
}
if (hit == true) {
-#ifndef NEW_INSETS
bv_->toggleFloat();
-#endif
selection_possible = false;
return;
}
}
-
-#ifndef NEW_INSETS
// Do we want to close a float? (click on the float-label)
if (bv_->text->cursor.row()->par()->footnoteflag ==
LyXParagraph::OPEN_FOOTNOTE
return;
}
}
+#else
+ // check whether we want to open a float
+ if (bv_->text) {
+ bool hit = false;
+ char c = ' ';
+ if (bv_->text->cursor.pos() <
+ bv_->text->cursor.par()->size()) {
+ c = bv_->text->cursor.par()->
+ GetChar(bv_->text->cursor.pos());
+ }
+ if (bv_->text->cursor.pos() - 1 >= 0) {
+ c = bv_->text->cursor.par()->
+ GetChar(bv_->text->cursor.pos() - 1);
+ }
+ if (hit == true) {
+ selection_possible = false;
+ return;
+ }
+ }
#endif
-
// Maybe we want to edit a bibitem ale970302
if (bv_->text->cursor.par()->bibkey && x < 20 +
bibitemMaxWidth(bv_, textclasslist.
LyXCursor cursor;
text->SetCursorFromCoordinates(bv_, cursor, x, y_tmp);
+#ifndef NEW_INSETS
if (cursor.pos() < cursor.par()->Last()
+#else
+ if (cursor.pos() < cursor.par()->size()
+#endif
&& cursor.par()->GetChar(cursor.pos()) == LyXParagraph::META_INSET
&& cursor.par()->GetInset(cursor.pos())
&& cursor.par()->GetInset(cursor.pos())->Editable()) {
if (!par)
return;
+#ifndef NEW_INSETS
bv_->text->SetCursor(bv_, par,
min(par->Last(), saved_positions[i].par_pos));
+#else
+ bv_->text->SetCursor(bv_, par,
+ min(par->size(), saved_positions[i].par_pos));
+#endif
update(bv_->text, BufferView::SELECT|BufferView::FITCUR);
if (i > 0)
owner_->getMiniBuffer()->Set(_("Moved to bookmark ") + tostr(i));
update(TEXT(bv_), BufferView::SELECT|BufferView::FITCUR);
if (is_rtl)
TEXT(bv_)->CursorLeft(bv_, false);
+#ifndef NEW_INSETS
if (TEXT(bv_)->cursor.pos() < TEXT(bv_)->cursor.par()->Last()
+#else
+ if (TEXT(bv_)->cursor.pos() < TEXT(bv_)->cursor.par()->size()
+#endif
&& TEXT(bv_)->cursor.par()->GetChar(TEXT(bv_)->cursor.pos())
== LyXParagraph::META_INSET
&& TEXT(bv_)->cursor.par()->GetInset(TEXT(bv_)->cursor.pos())
if (!is_rtl)
TEXT(bv_)->CursorLeft(bv_, false);
if ((is_rtl || cur != TEXT(bv_)->cursor) && // only if really moved!
+#ifndef NEW_INSETS
TEXT(bv_)->cursor.pos() < TEXT(bv_)->cursor.par()->Last() &&
+#else
+ TEXT(bv_)->cursor.pos() < TEXT(bv_)->cursor.par()->size() &&
+#endif
(TEXT(bv_)->cursor.par()->GetChar(TEXT(bv_)->cursor.pos()) ==
LyXParagraph::META_INSET) &&
TEXT(bv_)->cursor.par()->GetInset(TEXT(bv_)->cursor.pos()) &&
LyXCursor cursor = TEXT(bv_)->cursor;
if (!TEXT(bv_)->selection) {
+#ifndef NEW_INSETS
if (cursor.pos() == cursor.par()->Last()) {
+#else
+ if (cursor.pos() == cursor.par()->size()) {
+#endif
TEXT(bv_)->CursorRight(bv_);
cursor = TEXT(bv_)->cursor;
if (cursor.pos() == 0