mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
various changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2089 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
9b7b1a17fc
commit
313252eb8b
@ -1,3 +1,7 @@
|
|||||||
|
2001-06-01 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
|
* acconfig.h: add BOOST_NO_LIMITS hack to help boost lib.
|
||||||
|
|
||||||
2001-05-31 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
2001-05-31 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
* acconfig.h: auto update
|
* acconfig.h: auto update
|
||||||
|
12
acconfig.h
12
acconfig.h
@ -8,7 +8,8 @@
|
|||||||
*
|
*
|
||||||
* LyX, the High Level Word Processor
|
* LyX, the High Level Word Processor
|
||||||
*
|
*
|
||||||
* Copyright (C) 1995 Matthias Ettrich
|
* Copyright 1995 Matthias Ettrich
|
||||||
|
* Copyright 1995-2001 The LyX Team.
|
||||||
*
|
*
|
||||||
*======================================================*/
|
*======================================================*/
|
||||||
|
|
||||||
@ -123,5 +124,14 @@ int mkstemp(char*);
|
|||||||
#include "nt_defines.h"
|
#include "nt_defines.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Some support for the boost library. */
|
||||||
|
#ifndef HAVE_LIMITS
|
||||||
|
#define BOOST_NO_LIMITS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_SSTREAM
|
||||||
|
#define BOOST_NO_STRINGSTREAM
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _CONFIG_H */
|
#endif /* _CONFIG_H */
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2001-06-01 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
|
* boost/config.hpp: remove hack moved to config.h
|
||||||
|
|
||||||
2001-06-01 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
2001-06-01 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||||
|
|
||||||
* boost/config.hpp (BOOST_NO_LIMITS): fix the hack mentionned
|
* boost/config.hpp (BOOST_NO_LIMITS): fix the hack mentionned
|
||||||
|
@ -266,11 +266,6 @@
|
|||||||
# define BOOST_NO_HASH
|
# define BOOST_NO_HASH
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
// LYX: begin
|
|
||||||
# ifndef HAVE_LIMITS
|
|
||||||
# define BOOST_NO_LIMITS
|
|
||||||
# endif
|
|
||||||
// LYX: end
|
|
||||||
|
|
||||||
// Intel on Linux ---------------------------------------------------------
|
// Intel on Linux ---------------------------------------------------------
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@ BufferView::BufferView(LyXView * o, int xpos, int ypos,
|
|||||||
: pimpl_(new Pimpl(this, o, xpos, ypos, width, height))
|
: pimpl_(new Pimpl(this, o, xpos, ypos, width, height))
|
||||||
{
|
{
|
||||||
text = 0;
|
text = 0;
|
||||||
inset_slept = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,11 +78,6 @@ public:
|
|||||||
///
|
///
|
||||||
int resizeCurrentBuffer();
|
int resizeCurrentBuffer();
|
||||||
///
|
///
|
||||||
void gotoInset(std::vector<Inset::Code> const & codes,
|
|
||||||
bool same_content);
|
|
||||||
///
|
|
||||||
void gotoInset(Inset::Code codes, bool same_content);
|
|
||||||
///
|
|
||||||
void cursorPrevious(LyXText *);
|
void cursorPrevious(LyXText *);
|
||||||
///
|
///
|
||||||
void cursorNext(LyXText *);
|
void cursorNext(LyXText *);
|
||||||
@ -117,8 +112,6 @@ public:
|
|||||||
///
|
///
|
||||||
void updateInset(Inset * inset, bool mark_dirty);
|
void updateInset(Inset * inset, bool mark_dirty);
|
||||||
///
|
///
|
||||||
bool inset_slept;
|
|
||||||
///
|
|
||||||
int slx;
|
int slx;
|
||||||
///
|
///
|
||||||
int sly;
|
int sly;
|
||||||
@ -164,8 +157,9 @@ public:
|
|||||||
Placie it in a layout of lout,
|
Placie it in a layout of lout,
|
||||||
if no_table make sure that it doesn't end up in a table.
|
if no_table make sure that it doesn't end up in a table.
|
||||||
*/
|
*/
|
||||||
bool insertInset(Inset * inset, string const & lout = string(),
|
//bool insertInset(Inset * inset, string const & lout = string(),
|
||||||
bool no_table = false);
|
// bool no_table = false);
|
||||||
|
bool insertInset(Inset * inset, string const & lout = string());
|
||||||
/** Inserts a lyx file at cursor position.
|
/** Inserts a lyx file at cursor position.
|
||||||
@return #false# if it fails.
|
@return #false# if it fails.
|
||||||
*/
|
*/
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// -*- C++ -*-
|
a// -*- C++ -*-
|
||||||
/* This file is part of
|
/* This file is part of
|
||||||
* ======================================================
|
* ======================================================
|
||||||
*
|
*
|
||||||
@ -19,7 +19,6 @@
|
|||||||
#include "lyxcursor.h"
|
#include "lyxcursor.h"
|
||||||
#include "lyxtext.h"
|
#include "lyxtext.h"
|
||||||
#include "insets/inseterror.h"
|
#include "insets/inseterror.h"
|
||||||
#include "insets/insetinfo.h"
|
|
||||||
#include "LyXView.h"
|
#include "LyXView.h"
|
||||||
#include "bufferlist.h"
|
#include "bufferlist.h"
|
||||||
#include "support/FileInfo.h"
|
#include "support/FileInfo.h"
|
||||||
@ -191,64 +190,9 @@ void BufferView::setCursorFromRow(int row)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool BufferView::insertInset(Inset * inset, string const & lout,
|
bool BufferView::insertInset(Inset * inset, string const & lout)
|
||||||
bool /*no_table*/)
|
|
||||||
{
|
{
|
||||||
// if we are in a locking inset we should try to insert the
|
return pimpl_->insertInset(inset, lout);
|
||||||
// inset there otherwise this is a illegal function now
|
|
||||||
if (theLockingInset()) {
|
|
||||||
if (theLockingInset()->InsertInsetAllowed(inset))
|
|
||||||
return theLockingInset()->InsertInset(this, inset);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// not quite sure if we want this...
|
|
||||||
text->SetCursorParUndo(buffer());
|
|
||||||
text->FreezeUndo();
|
|
||||||
|
|
||||||
beforeChange(text);
|
|
||||||
if (!lout.empty()) {
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR);
|
|
||||||
text->BreakParagraph(this);
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
|
||||||
|
|
||||||
if (text->cursor.par()->size()) {
|
|
||||||
text->CursorLeft(this);
|
|
||||||
|
|
||||||
text->BreakParagraph(this);
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
|
||||||
}
|
|
||||||
|
|
||||||
pair<bool, LyXTextClass::size_type> lres =
|
|
||||||
textclasslist.NumberOfLayout(buffer()->params
|
|
||||||
.textclass, lout);
|
|
||||||
LyXTextClass::size_type lay;
|
|
||||||
if (lres.first != false) {
|
|
||||||
// layout found
|
|
||||||
lay = lres.second;
|
|
||||||
} else {
|
|
||||||
// layout not fount using default "Standard" (0)
|
|
||||||
lay = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
text->SetLayout(this, lay);
|
|
||||||
|
|
||||||
text->SetParagraph(this, 0, 0,
|
|
||||||
0, 0,
|
|
||||||
VSpace(VSpace::NONE), VSpace(VSpace::NONE),
|
|
||||||
LYX_ALIGN_LAYOUT,
|
|
||||||
string(),
|
|
||||||
0);
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
|
||||||
|
|
||||||
text->current_font.setLatex(LyXFont::OFF);
|
|
||||||
}
|
|
||||||
|
|
||||||
text->InsertInset(this, inset);
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
|
||||||
|
|
||||||
text->UnFreezeUndo();
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -384,48 +328,6 @@ void BufferView::paste()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BufferView::gotoInset(std::vector<Inset::Code> const & codes,
|
|
||||||
bool same_content)
|
|
||||||
{
|
|
||||||
if (!available()) return;
|
|
||||||
|
|
||||||
hideCursor();
|
|
||||||
beforeChange(text);
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR);
|
|
||||||
|
|
||||||
string contents;
|
|
||||||
if (same_content &&
|
|
||||||
text->cursor.par()->GetChar(text->cursor.pos()) == LyXParagraph::META_INSET) {
|
|
||||||
Inset const * inset = text->cursor.par()->GetInset(text->cursor.pos());
|
|
||||||
if (find(codes.begin(), codes.end(), inset->LyxCode())
|
|
||||||
!= codes.end())
|
|
||||||
contents =
|
|
||||||
static_cast<InsetCommand const *>(inset)->getContents();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!text->GotoNextInset(this, codes, contents)) {
|
|
||||||
if (text->cursor.pos()
|
|
||||||
|| text->cursor.par() != text->FirstParagraph()) {
|
|
||||||
LyXCursor tmp = text->cursor;
|
|
||||||
text->cursor.par(text->FirstParagraph());
|
|
||||||
text->cursor.pos(0);
|
|
||||||
if (!text->GotoNextInset(this, codes, contents)) {
|
|
||||||
text->cursor = tmp;
|
|
||||||
owner()->message(_("No more insets"));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
owner()->message(_("No more insets"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR);
|
|
||||||
text->selection.cursor = text->cursor;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void BufferView::gotoInset(Inset::Code code, bool same_content)
|
|
||||||
{
|
|
||||||
gotoInset(vector<Inset::Code>(1, code), same_content);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void BufferView::insertCorrectQuote()
|
void BufferView::insertCorrectQuote()
|
||||||
@ -592,44 +494,7 @@ void BufferView::lockedInsetStoreUndo(Undo::undo_kind kind)
|
|||||||
|
|
||||||
void BufferView::updateInset(Inset * inset, bool mark_dirty)
|
void BufferView::updateInset(Inset * inset, bool mark_dirty)
|
||||||
{
|
{
|
||||||
if (!inset)
|
pimpl_->updateInset(inset, mark_dirty);
|
||||||
return;
|
|
||||||
|
|
||||||
// first check for locking insets
|
|
||||||
if (theLockingInset()) {
|
|
||||||
if (theLockingInset() == inset) {
|
|
||||||
if (text->UpdateInset(this, inset)) {
|
|
||||||
update();
|
|
||||||
if (mark_dirty) {
|
|
||||||
buffer()->markDirty();
|
|
||||||
}
|
|
||||||
updateScrollbar();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else if (theLockingInset()->UpdateInsetInInset(this,inset)) {
|
|
||||||
if (text->UpdateInset(this, theLockingInset())) {
|
|
||||||
update();
|
|
||||||
if (mark_dirty){
|
|
||||||
buffer()->markDirty();
|
|
||||||
}
|
|
||||||
updateScrollbar();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// then check the current buffer
|
|
||||||
if (available()) {
|
|
||||||
hideCursor();
|
|
||||||
update(text, BufferView::UPDATE);
|
|
||||||
if (text->UpdateInset(this, inset)) {
|
|
||||||
if (mark_dirty)
|
|
||||||
update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
|
||||||
else
|
|
||||||
update(text, SELECT);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -694,6 +559,7 @@ bool BufferView::ChangeCitationsIfUnique(string const & from, string const & to)
|
|||||||
return ChangeInsets(Inset::CITE_CODE, from, to);
|
return ChangeInsets(Inset::CITE_CODE, from, to);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
UpdatableInset * BufferView::theLockingInset() const
|
UpdatableInset * BufferView::theLockingInset() const
|
||||||
{
|
{
|
||||||
// If NULL is not allowed we should put an Assert here. (Lgb)
|
// If NULL is not allowed we should put an Assert here. (Lgb)
|
||||||
|
@ -81,10 +81,10 @@ extern bool math_insert_greek(BufferView *, char);
|
|||||||
extern void sigchldhandler(pid_t pid, int * status);
|
extern void sigchldhandler(pid_t pid, int * status);
|
||||||
extern int bibitemMaxWidth(BufferView *, LyXFont const &);
|
extern int bibitemMaxWidth(BufferView *, LyXFont const &);
|
||||||
|
|
||||||
const unsigned int saved_positions_num = 20;
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
const unsigned int saved_positions_num = 20;
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void waitForX()
|
void waitForX()
|
||||||
{
|
{
|
||||||
@ -112,7 +112,8 @@ BufferView::Pimpl::Pimpl(BufferView * b, LyXView * o,
|
|||||||
int xpos, int ypos, int width, int height)
|
int xpos, int ypos, int width, int height)
|
||||||
: bv_(b), owner_(o), buffer_(0),
|
: bv_(b), owner_(o), buffer_(0),
|
||||||
current_scrollbar_value(0), cursor_timeout(400),
|
current_scrollbar_value(0), cursor_timeout(400),
|
||||||
workarea_(xpos, ypos, width, height), using_xterm_cursor(false)
|
workarea_(xpos, ypos, width, height), using_xterm_cursor(false),
|
||||||
|
inset_slept(false)
|
||||||
{
|
{
|
||||||
// Setup the signals
|
// Setup the signals
|
||||||
workarea_.scrollCB.connect(slot(this, &BufferView::Pimpl::scrollCB));
|
workarea_.scrollCB.connect(slot(this, &BufferView::Pimpl::scrollCB));
|
||||||
@ -138,10 +139,8 @@ BufferView::Pimpl::Pimpl(BufferView * b, LyXView * o,
|
|||||||
|
|
||||||
cursor_timeout.timeout.connect(slot(this,
|
cursor_timeout.timeout.connect(slot(this,
|
||||||
&BufferView::Pimpl::cursorToggle));
|
&BufferView::Pimpl::cursorToggle));
|
||||||
//current_scrollbar_value = 0;
|
|
||||||
cursor_timeout.start();
|
cursor_timeout.start();
|
||||||
workarea_.setFocus();
|
workarea_.setFocus();
|
||||||
//using_xterm_cursor = false;
|
|
||||||
saved_positions.resize(saved_positions_num);
|
saved_positions.resize(saved_positions_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,7 +156,7 @@ void BufferView::Pimpl::buffer(Buffer * b)
|
|||||||
lyxerr[Debug::INFO] << "Setting buffer in BufferView ("
|
lyxerr[Debug::INFO] << "Setting buffer in BufferView ("
|
||||||
<< b << ")" << endl;
|
<< b << ")" << endl;
|
||||||
if (buffer_) {
|
if (buffer_) {
|
||||||
bv_->insetSleep();
|
insetSleep();
|
||||||
buffer_->delUser(bv_);
|
buffer_->delUser(bv_);
|
||||||
|
|
||||||
// Put the old text into the TextCache, but
|
// Put the old text into the TextCache, but
|
||||||
@ -203,7 +202,7 @@ void BufferView::Pimpl::buffer(Buffer * b)
|
|||||||
// require bv_->text.
|
// require bv_->text.
|
||||||
owner_->getDialogs()->updateBufferDependent(true);
|
owner_->getDialogs()->updateBufferDependent(true);
|
||||||
redraw();
|
redraw();
|
||||||
bv_->insetWakeup();
|
insetWakeup();
|
||||||
} else {
|
} else {
|
||||||
lyxerr[Debug::INFO] << " No Buffer!" << endl;
|
lyxerr[Debug::INFO] << " No Buffer!" << endl;
|
||||||
owner_->updateMenubar();
|
owner_->updateMenubar();
|
||||||
@ -344,7 +343,7 @@ int BufferView::Pimpl::resizeCurrentBuffer()
|
|||||||
updateScrollbar();
|
updateScrollbar();
|
||||||
redraw();
|
redraw();
|
||||||
|
|
||||||
bv_->setState();
|
setState();
|
||||||
AllowInput(bv_);
|
AllowInput(bv_);
|
||||||
|
|
||||||
/// get rid of the splash screen if it's not gone already
|
/// get rid of the splash screen if it's not gone already
|
||||||
@ -367,58 +366,41 @@ void BufferView::Pimpl::updateScrollbar()
|
|||||||
* maximum must be the working area height. No scrolling will
|
* maximum must be the working area height. No scrolling will
|
||||||
* be possible */
|
* be possible */
|
||||||
|
|
||||||
if (!buffer_) {
|
if (!bv_->text) {
|
||||||
workarea_.setScrollbar(0, 1.0);
|
workarea_.setScrollbar(0, 1.0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static unsigned long text_height;
|
||||||
|
static unsigned long work_height;
|
||||||
|
|
||||||
|
unsigned long const tmp_text_height = bv_->text->height;
|
||||||
|
long const tmp_scrollbar_value = bv_->text->first;
|
||||||
|
|
||||||
static unsigned long max2 = 0;
|
|
||||||
static unsigned long height2 = 0;
|
|
||||||
|
|
||||||
unsigned long cbth = 0;
|
|
||||||
long cbsf = 0;
|
|
||||||
|
|
||||||
if (bv_->text) {
|
|
||||||
cbth = bv_->text->height;
|
|
||||||
cbsf = bv_->text->first;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check if anything has changed.
|
// check if anything has changed.
|
||||||
if (max2 == cbth &&
|
if (text_height == tmp_text_height
|
||||||
height2 == workarea_.height() &&
|
&& work_height == workarea_.height()
|
||||||
current_scrollbar_value == cbsf)
|
&& current_scrollbar_value == tmp_scrollbar_value)
|
||||||
return; // no
|
return; // no
|
||||||
max2 = cbth;
|
|
||||||
height2 = workarea_.height();
|
|
||||||
current_scrollbar_value = cbsf;
|
|
||||||
|
|
||||||
if (cbth <= height2) { // text is smaller than screen
|
// update values
|
||||||
workarea_.setScrollbar(0, 1.0); // right?
|
text_height = tmp_text_height;
|
||||||
|
work_height = workarea_.height();
|
||||||
|
current_scrollbar_value = tmp_scrollbar_value;
|
||||||
|
|
||||||
|
long const height_diff = text_height - work_height;
|
||||||
|
|
||||||
|
if (height_diff <= 0) {
|
||||||
|
workarea_.setScrollbar(0, 1.0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
long maximum_height = workarea_.height() * 3 / 4 + cbth;
|
|
||||||
long value = cbsf;
|
workarea_.setScrollbarBounds(0, height_diff);
|
||||||
|
|
||||||
// set the scrollbar
|
|
||||||
double hfloat = workarea_.height();
|
|
||||||
double maxfloat = maximum_height;
|
|
||||||
|
|
||||||
float slider_size = 0.0;
|
|
||||||
int slider_value = value;
|
|
||||||
|
|
||||||
workarea_.setScrollbarBounds(0, bv_->text->height - workarea_.height());
|
|
||||||
double const lineh = bv_->text->DefaultHeight();
|
double const lineh = bv_->text->DefaultHeight();
|
||||||
workarea_.setScrollbarIncrements(lineh);
|
workarea_.setScrollbarIncrements(lineh);
|
||||||
if (maxfloat > 0.0) {
|
double const slider_size = 1.0 / double(height_diff) ;
|
||||||
if ((hfloat / maxfloat) * float(height2) < 3)
|
workarea_.setScrollbar(current_scrollbar_value, slider_size);
|
||||||
slider_size = 3.0/float(height2);
|
|
||||||
else
|
|
||||||
slider_size = hfloat / maxfloat;
|
|
||||||
} else
|
|
||||||
slider_size = hfloat;
|
|
||||||
|
|
||||||
workarea_.setScrollbar(slider_value, slider_size / workarea_.height());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -491,7 +473,7 @@ int BufferView::Pimpl::scrollDown(long time)
|
|||||||
|
|
||||||
double value = workarea_.getScrollbarValue();
|
double value = workarea_.getScrollbarValue();
|
||||||
pair<float, float> p = workarea_.getScrollbarBounds();
|
pair<float, float> p = workarea_.getScrollbarBounds();
|
||||||
double max = p.second;
|
double const max = p.second;
|
||||||
|
|
||||||
if (value == max) return 0;
|
if (value == max) return 0;
|
||||||
|
|
||||||
@ -531,7 +513,7 @@ void BufferView::Pimpl::workAreaMotionNotify(int x, int y, unsigned int state)
|
|||||||
// Check for inset locking
|
// Check for inset locking
|
||||||
if (bv_->theLockingInset()) {
|
if (bv_->theLockingInset()) {
|
||||||
LyXCursor cursor = bv_->text->cursor;
|
LyXCursor cursor = bv_->text->cursor;
|
||||||
LyXFont font = bv_->text->GetFont(bv_->buffer(),
|
LyXFont font = bv_->text->GetFont(buffer_,
|
||||||
cursor.par(), cursor.pos());
|
cursor.par(), cursor.pos());
|
||||||
int width = bv_->theLockingInset()->width(bv_, font);
|
int width = bv_->theLockingInset()->width(bv_, font);
|
||||||
int inset_x = font.isVisibleRightToLeft()
|
int inset_x = font.isVisibleRightToLeft()
|
||||||
@ -545,8 +527,9 @@ void BufferView::Pimpl::workAreaMotionNotify(int x, int y, unsigned int state)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The test for not selection possible is needed, that only motion events are
|
/* The test for not selection possible is needed, that only motion
|
||||||
* used, where the bottom press event was on the drawing area too */
|
events are used, where the bottom press event was on
|
||||||
|
the drawing area too */
|
||||||
if (!selection_possible)
|
if (!selection_possible)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -568,9 +551,6 @@ void BufferView::Pimpl::workAreaMotionNotify(int x, int y, unsigned int state)
|
|||||||
void BufferView::Pimpl::workAreaButtonPress(int xpos, int ypos,
|
void BufferView::Pimpl::workAreaButtonPress(int xpos, int ypos,
|
||||||
unsigned int button)
|
unsigned int button)
|
||||||
{
|
{
|
||||||
last_click_x = -1;
|
|
||||||
last_click_y = -1;
|
|
||||||
|
|
||||||
if (!buffer_ || !screen_.get()) return;
|
if (!buffer_ || !screen_.get()) return;
|
||||||
|
|
||||||
Inset * inset_hit = checkInsetHit(bv_->text, xpos, ypos, button);
|
Inset * inset_hit = checkInsetHit(bv_->text, xpos, ypos, button);
|
||||||
@ -766,7 +746,7 @@ void BufferView::Pimpl::workAreaButtonRelease(int x, int y,
|
|||||||
if (button == 2)
|
if (button == 2)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bv_->setState();
|
setState();
|
||||||
owner_->showState();
|
owner_->showState();
|
||||||
|
|
||||||
// Did we hit an editable inset?
|
// Did we hit an editable inset?
|
||||||
@ -790,7 +770,7 @@ void BufferView::Pimpl::workAreaButtonRelease(int x, int y,
|
|||||||
// ...or maybe the SetCursorParUndo()
|
// ...or maybe the SetCursorParUndo()
|
||||||
// below isn't necessary at all anylonger?
|
// below isn't necessary at all anylonger?
|
||||||
if (inset_hit->LyxCode() == Inset::REF_CODE) {
|
if (inset_hit->LyxCode() == Inset::REF_CODE) {
|
||||||
bv_->text->SetCursorParUndo(bv_->buffer());
|
bv_->text->SetCursorParUndo(buffer_);
|
||||||
}
|
}
|
||||||
|
|
||||||
owner_->message(inset_hit->EditMessage());
|
owner_->message(inset_hit->EditMessage());
|
||||||
@ -862,7 +842,7 @@ Inset * BufferView::Pimpl::checkInsetHit(LyXText * text, int & x, int & y,
|
|||||||
|
|
||||||
// Check whether the inset really was hit
|
// Check whether the inset really was hit
|
||||||
Inset * tmpinset = cursor.par()->GetInset(cursor.pos());
|
Inset * tmpinset = cursor.par()->GetInset(cursor.pos());
|
||||||
LyXFont font = text->GetFont(bv_->buffer(),
|
LyXFont font = text->GetFont(buffer_,
|
||||||
cursor.par(), cursor.pos());
|
cursor.par(), cursor.pos());
|
||||||
int const width = tmpinset->width(bv_, font);
|
int const width = tmpinset->width(bv_, font);
|
||||||
int const inset_x = font.isVisibleRightToLeft()
|
int const inset_x = font.isVisibleRightToLeft()
|
||||||
@ -886,7 +866,7 @@ Inset * BufferView::Pimpl::checkInsetHit(LyXText * text, int & x, int & y,
|
|||||||
(cursor.par()->GetInset(cursor.pos() - 1)) &&
|
(cursor.par()->GetInset(cursor.pos() - 1)) &&
|
||||||
(cursor.par()->GetInset(cursor.pos() - 1)->Editable())) {
|
(cursor.par()->GetInset(cursor.pos() - 1)->Editable())) {
|
||||||
Inset * tmpinset = cursor.par()->GetInset(cursor.pos()-1);
|
Inset * tmpinset = cursor.par()->GetInset(cursor.pos()-1);
|
||||||
LyXFont font = text->GetFont(bv_->buffer(), cursor.par(),
|
LyXFont font = text->GetFont(buffer_, cursor.par(),
|
||||||
cursor.pos()-1);
|
cursor.pos()-1);
|
||||||
int const width = tmpinset->width(bv_, font);
|
int const width = tmpinset->width(bv_, font);
|
||||||
int const inset_x = font.isVisibleRightToLeft()
|
int const inset_x = font.isVisibleRightToLeft()
|
||||||
@ -914,8 +894,8 @@ Inset * BufferView::Pimpl::checkInsetHit(LyXText * text, int & x, int & y,
|
|||||||
|
|
||||||
void BufferView::Pimpl::workAreaExpose()
|
void BufferView::Pimpl::workAreaExpose()
|
||||||
{
|
{
|
||||||
static int work_area_width = 0;
|
static int work_area_width;
|
||||||
static unsigned int work_area_height = 0;
|
static unsigned int work_area_height;
|
||||||
|
|
||||||
bool const widthChange = workarea_.workWidth() != work_area_width;
|
bool const widthChange = workarea_.workWidth() != work_area_width;
|
||||||
bool const heightChange = workarea_.height() != work_area_height;
|
bool const heightChange = workarea_.height() != work_area_height;
|
||||||
@ -1016,7 +996,7 @@ void BufferView::Pimpl::update(LyXText * text, BufferView::UpdateCodes f)
|
|||||||
|
|
||||||
if (text->inset_owner) {
|
if (text->inset_owner) {
|
||||||
text->inset_owner->SetUpdateStatus(bv_, InsetText::NONE);
|
text->inset_owner->SetUpdateStatus(bv_, InsetText::NONE);
|
||||||
bv_->updateInset(text->inset_owner, true);
|
updateInset(text->inset_owner, true);
|
||||||
} else
|
} else
|
||||||
update();
|
update();
|
||||||
|
|
||||||
@ -1041,7 +1021,7 @@ void BufferView::Pimpl::cursorToggle()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int status = 1;
|
int status = 1;
|
||||||
int pid = waitpid(static_cast<pid_t>(0), &status, WNOHANG);
|
int const pid = waitpid(static_cast<pid_t>(0), &status, WNOHANG);
|
||||||
if (pid == -1) // error find out what is wrong
|
if (pid == -1) // error find out what is wrong
|
||||||
; // ignore it for now.
|
; // ignore it for now.
|
||||||
else if (pid > 0)
|
else if (pid > 0)
|
||||||
@ -1202,19 +1182,19 @@ void BufferView::Pimpl::setState()
|
|||||||
|
|
||||||
void BufferView::Pimpl::insetSleep()
|
void BufferView::Pimpl::insetSleep()
|
||||||
{
|
{
|
||||||
if (bv_->theLockingInset() && !bv_->inset_slept) {
|
if (bv_->theLockingInset() && !inset_slept) {
|
||||||
bv_->theLockingInset()->GetCursorPos(bv_, bv_->slx, bv_->sly);
|
bv_->theLockingInset()->GetCursorPos(bv_, bv_->slx, bv_->sly);
|
||||||
bv_->theLockingInset()->InsetUnlock(bv_);
|
bv_->theLockingInset()->InsetUnlock(bv_);
|
||||||
bv_->inset_slept = true;
|
inset_slept = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BufferView::Pimpl::insetWakeup()
|
void BufferView::Pimpl::insetWakeup()
|
||||||
{
|
{
|
||||||
if (bv_->theLockingInset() && bv_->inset_slept) {
|
if (bv_->theLockingInset() && inset_slept) {
|
||||||
bv_->theLockingInset()->Edit(bv_, bv_->slx, bv_->sly, 0);
|
bv_->theLockingInset()->Edit(bv_, bv_->slx, bv_->sly, 0);
|
||||||
bv_->inset_slept = false;
|
inset_slept = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1222,11 +1202,11 @@ void BufferView::Pimpl::insetWakeup()
|
|||||||
void BufferView::Pimpl::insetUnlock()
|
void BufferView::Pimpl::insetUnlock()
|
||||||
{
|
{
|
||||||
if (bv_->theLockingInset()) {
|
if (bv_->theLockingInset()) {
|
||||||
if (!bv_->inset_slept)
|
if (!inset_slept)
|
||||||
bv_->theLockingInset()->InsetUnlock(bv_);
|
bv_->theLockingInset()->InsetUnlock(bv_);
|
||||||
bv_->theLockingInset(0);
|
bv_->theLockingInset(0);
|
||||||
bv_->text->FinishUndo();
|
bv_->text->FinishUndo();
|
||||||
bv_->inset_slept = false;
|
inset_slept = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1336,7 +1316,7 @@ void BufferView::Pimpl::moveCursorUpdate(bool selecting)
|
|||||||
if (selecting || lt->selection.mark()) {
|
if (selecting || lt->selection.mark()) {
|
||||||
lt->SetSelection(bv_);
|
lt->SetSelection(bv_);
|
||||||
if (lt->bv_owner)
|
if (lt->bv_owner)
|
||||||
bv_->toggleToggle();
|
toggleToggle();
|
||||||
}
|
}
|
||||||
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
showCursor();
|
showCursor();
|
||||||
@ -1344,7 +1324,7 @@ void BufferView::Pimpl::moveCursorUpdate(bool selecting)
|
|||||||
/* ---> Everytime the cursor is moved, show the current font state. */
|
/* ---> Everytime the cursor is moved, show the current font state. */
|
||||||
// should this too me moved out of this func?
|
// should this too me moved out of this func?
|
||||||
//owner->showState();
|
//owner->showState();
|
||||||
bv_->setState();
|
setState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1355,8 +1335,7 @@ Inset * BufferView::Pimpl::getInsetByCode(Inset::Code code)
|
|||||||
find_if(Buffer::inset_iterator(
|
find_if(Buffer::inset_iterator(
|
||||||
cursor.par(), cursor.pos()),
|
cursor.par(), cursor.pos()),
|
||||||
buffer_->inset_iterator_end(),
|
buffer_->inset_iterator_end(),
|
||||||
lyx::compare_memfun(&Inset::LyxCode, code)
|
lyx::compare_memfun(&Inset::LyxCode, code));
|
||||||
);
|
|
||||||
return it != buffer_->inset_iterator_end() ? (*it) : 0;
|
return it != buffer_->inset_iterator_end() ? (*it) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1445,7 +1424,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
InsetCommandParams p;
|
InsetCommandParams p;
|
||||||
p.setCmdName("tableofcontents");
|
p.setCmdName("tableofcontents");
|
||||||
Inset * inset = new InsetTOC(p);
|
Inset * inset = new InsetTOC(p);
|
||||||
if (!bv_->insertInset(inset, "Standard", true))
|
if (!insertInset(inset, "Standard"))
|
||||||
delete inset;
|
delete inset;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1460,11 +1439,11 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_GRAPHICS:
|
case LFUN_INSET_GRAPHICS:
|
||||||
{
|
{
|
||||||
Inset * new_inset = new InsetGraphics;
|
Inset * new_inset = new InsetGraphics;
|
||||||
if (!bv_->insertInset(new_inset)) {
|
if (!insertInset(new_inset)) {
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
} else {
|
} else {
|
||||||
// this is need because you don't use a inset->Edit()
|
// this is need because you don't use a inset->Edit()
|
||||||
bv_->updateInset(new_inset, true);
|
updateInset(new_inset, true);
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1501,11 +1480,11 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_GOTOERROR:
|
case LFUN_GOTOERROR:
|
||||||
bv_->gotoInset(Inset::ERROR_CODE, false);
|
gotoInset(Inset::ERROR_CODE, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_GOTONOTE:
|
case LFUN_GOTONOTE:
|
||||||
bv_->gotoInset(Inset::IGNORE_CODE, false);
|
gotoInset(Inset::IGNORE_CODE, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_REFERENCE_GOTO:
|
case LFUN_REFERENCE_GOTO:
|
||||||
@ -1513,7 +1492,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
vector<Inset::Code> tmp;
|
vector<Inset::Code> tmp;
|
||||||
tmp.push_back(Inset::LABEL_CODE);
|
tmp.push_back(Inset::LABEL_CODE);
|
||||||
tmp.push_back(Inset::REF_CODE);
|
tmp.push_back(Inset::REF_CODE);
|
||||||
bv_->gotoInset(tmp, true);
|
gotoInset(tmp, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1684,7 +1663,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
| BufferView::FITCUR);
|
| BufferView::FITCUR);
|
||||||
lt->ChangeWordCase(bv_, LyXText::text_uppercase);
|
lt->ChangeWordCase(bv_, LyXText::text_uppercase);
|
||||||
if (lt->inset_owner)
|
if (lt->inset_owner)
|
||||||
bv_->updateInset(lt->inset_owner, true);
|
updateInset(lt->inset_owner, true);
|
||||||
update(lt,
|
update(lt,
|
||||||
BufferView::SELECT
|
BufferView::SELECT
|
||||||
| BufferView::FITCUR
|
| BufferView::FITCUR
|
||||||
@ -1699,7 +1678,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
lt->ChangeWordCase(bv_, LyXText::text_lowercase);
|
lt->ChangeWordCase(bv_, LyXText::text_lowercase);
|
||||||
if (lt->inset_owner)
|
if (lt->inset_owner)
|
||||||
bv_->updateInset(lt->inset_owner, true);
|
updateInset(lt->inset_owner, true);
|
||||||
update(lt,
|
update(lt,
|
||||||
BufferView::SELECT
|
BufferView::SELECT
|
||||||
| BufferView::FITCUR
|
| BufferView::FITCUR
|
||||||
@ -1715,7 +1694,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
lt->ChangeWordCase(bv_,
|
lt->ChangeWordCase(bv_,
|
||||||
LyXText::text_capitalization);
|
LyXText::text_capitalization);
|
||||||
if (lt->inset_owner)
|
if (lt->inset_owner)
|
||||||
bv_->updateInset(lt->inset_owner, true);
|
updateInset(lt->inset_owner, true);
|
||||||
update(lt,
|
update(lt,
|
||||||
BufferView::SELECT
|
BufferView::SELECT
|
||||||
| BufferView::FITCUR
|
| BufferView::FITCUR
|
||||||
@ -1730,7 +1709,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
lt->TransposeChars(*bv_);
|
lt->TransposeChars(*bv_);
|
||||||
if (lt->inset_owner)
|
if (lt->inset_owner)
|
||||||
bv_->updateInset(lt->inset_owner, true);
|
updateInset(lt->inset_owner, true);
|
||||||
update(lt,
|
update(lt,
|
||||||
BufferView::SELECT
|
BufferView::SELECT
|
||||||
| BufferView::FITCUR
|
| BufferView::FITCUR
|
||||||
@ -1752,10 +1731,10 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
p.setFromString(argument);
|
p.setFromString(argument);
|
||||||
|
|
||||||
InsetRef * inset = new InsetRef(p, *buffer_);
|
InsetRef * inset = new InsetRef(p, *buffer_);
|
||||||
if (!bv_->insertInset(inset))
|
if (!insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else
|
else
|
||||||
bv_->updateInset(inset, true);
|
updateInset(inset, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2656,17 +2635,17 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
p.setFromString( argument );
|
p.setFromString( argument );
|
||||||
|
|
||||||
InsetUrl * inset = new InsetUrl( p );
|
InsetUrl * inset = new InsetUrl( p );
|
||||||
if (!bv_->insertInset(inset))
|
if (!insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else
|
else
|
||||||
bv_->updateInset( inset, true );
|
updateInset( inset, true );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_INSET_TEXT:
|
case LFUN_INSET_TEXT:
|
||||||
{
|
{
|
||||||
InsetText * new_inset = new InsetText;
|
InsetText * new_inset = new InsetText;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2676,7 +2655,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_ERT:
|
case LFUN_INSET_ERT:
|
||||||
{
|
{
|
||||||
InsetERT * new_inset = new InsetERT;
|
InsetERT * new_inset = new InsetERT;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2686,7 +2665,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_EXTERNAL:
|
case LFUN_INSET_EXTERNAL:
|
||||||
{
|
{
|
||||||
InsetExternal * new_inset = new InsetExternal;
|
InsetExternal * new_inset = new InsetExternal;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2696,7 +2675,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_FOOTNOTE:
|
case LFUN_INSET_FOOTNOTE:
|
||||||
{
|
{
|
||||||
InsetFoot * new_inset = new InsetFoot;
|
InsetFoot * new_inset = new InsetFoot;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2706,7 +2685,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_MARGINAL:
|
case LFUN_INSET_MARGINAL:
|
||||||
{
|
{
|
||||||
InsetMarginal * new_inset = new InsetMarginal;
|
InsetMarginal * new_inset = new InsetMarginal;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2716,7 +2695,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_MINIPAGE:
|
case LFUN_INSET_MINIPAGE:
|
||||||
{
|
{
|
||||||
InsetMinipage * new_inset = new InsetMinipage;
|
InsetMinipage * new_inset = new InsetMinipage;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2728,7 +2707,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
// check if the float type exist
|
// check if the float type exist
|
||||||
if (floatList.typeExist(argument)) {
|
if (floatList.typeExist(argument)) {
|
||||||
InsetFloat * new_inset = new InsetFloat(argument);
|
InsetFloat * new_inset = new InsetFloat(argument);
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2746,7 +2725,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
if (floatList.typeExist(argument)) {
|
if (floatList.typeExist(argument)) {
|
||||||
InsetFloat * new_inset = new InsetFloat(argument);
|
InsetFloat * new_inset = new InsetFloat(argument);
|
||||||
new_inset->wide(true);
|
new_inset->wide(true);
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2761,7 +2740,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_LIST:
|
case LFUN_INSET_LIST:
|
||||||
{
|
{
|
||||||
InsetList * new_inset = new InsetList;
|
InsetList * new_inset = new InsetList;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2771,7 +2750,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
case LFUN_INSET_THEOREM:
|
case LFUN_INSET_THEOREM:
|
||||||
{
|
{
|
||||||
InsetTheorem * new_inset = new InsetTheorem;
|
InsetTheorem * new_inset = new InsetTheorem;
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2789,7 +2768,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
new_inset->SetAutoBreakRows(true);
|
new_inset->SetAutoBreakRows(true);
|
||||||
new_inset->SetDrawFrame(0, InsetText::LOCKED);
|
new_inset->SetDrawFrame(0, InsetText::LOCKED);
|
||||||
new_inset->SetFrameColor(0, LColor::footnoteframe);
|
new_inset->SetFrameColor(0, LColor::footnoteframe);
|
||||||
if (bv_->insertInset(new_inset))
|
if (insertInset(new_inset))
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
else
|
else
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2799,12 +2778,13 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
|
|
||||||
case LFUN_INSET_TABULAR:
|
case LFUN_INSET_TABULAR:
|
||||||
{
|
{
|
||||||
int r = 2, c = 2;
|
int r = 2;
|
||||||
|
int c = 2;
|
||||||
if (!argument.empty())
|
if (!argument.empty())
|
||||||
::sscanf(argument.c_str(),"%d%d", &r, &c);
|
::sscanf(argument.c_str(),"%d%d", &r, &c);
|
||||||
InsetTabular * new_inset =
|
InsetTabular * new_inset =
|
||||||
new InsetTabular(*buffer_, r, c);
|
new InsetTabular(*buffer_, r, c);
|
||||||
bool rtl =
|
bool const rtl =
|
||||||
bv_->getLyXText()->real_current_font.isRightToLeft();
|
bv_->getLyXText()->real_current_font.isRightToLeft();
|
||||||
if (!open_new_inset(new_inset, rtl))
|
if (!open_new_inset(new_inset, rtl))
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
@ -2832,6 +2812,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
|
|
||||||
case LFUN_SETXY:
|
case LFUN_SETXY:
|
||||||
{
|
{
|
||||||
|
#warning Should check sscanf for errors (Lgb)
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
::sscanf(argument.c_str(), " %d %d", &x, &y);
|
::sscanf(argument.c_str(), " %d %d", &x, &y);
|
||||||
@ -2960,10 +2941,10 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
p.setFromString( argument );
|
p.setFromString( argument );
|
||||||
|
|
||||||
InsetCitation * inset = new InsetCitation( p );
|
InsetCitation * inset = new InsetCitation( p );
|
||||||
if (!bv_->insertInset(inset))
|
if (!insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else
|
else
|
||||||
bv_->updateInset( inset, true );
|
updateInset( inset, true );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2980,7 +2961,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
InsetCommandParams p( "BibTeX", db, bibstyle );
|
InsetCommandParams p( "BibTeX", db, bibstyle );
|
||||||
InsetBibtex * inset = new InsetBibtex(p);
|
InsetBibtex * inset = new InsetBibtex(p);
|
||||||
|
|
||||||
if (bv_->insertInset(inset)) {
|
if (insertInset(inset)) {
|
||||||
if (argument.empty())
|
if (argument.empty())
|
||||||
inset->Edit(bv_, 0, 0, 0);
|
inset->Edit(bv_, 0, 0, 0);
|
||||||
} else
|
} else
|
||||||
@ -3048,10 +3029,10 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
p.setFromString(argument);
|
p.setFromString(argument);
|
||||||
InsetIndex * inset = new InsetIndex(p);
|
InsetIndex * inset = new InsetIndex(p);
|
||||||
|
|
||||||
if (!bv_->insertInset(inset))
|
if (!insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else
|
else
|
||||||
bv_->updateInset(inset, true);
|
updateInset(inset, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -3069,10 +3050,10 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
InsetCommandParams p("index", curstring);
|
InsetCommandParams p("index", curstring);
|
||||||
InsetIndex * inset = new InsetIndex(p);
|
InsetIndex * inset = new InsetIndex(p);
|
||||||
|
|
||||||
if (!bv_->insertInset(inset))
|
if (!insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else
|
else
|
||||||
bv_->updateInset(inset, true);
|
updateInset(inset, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -3080,7 +3061,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
{
|
{
|
||||||
InsetCommandParams p("printindex");
|
InsetCommandParams p("printindex");
|
||||||
Inset * inset = new InsetPrintIndex(p);
|
Inset * inset = new InsetPrintIndex(p);
|
||||||
if (!bv_->insertInset(inset, "Standard", true))
|
if (!insertInset(inset, "Standard"))
|
||||||
delete inset;
|
delete inset;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3090,7 +3071,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
lyxerr << "arg " << argument << endl;
|
lyxerr << "arg " << argument << endl;
|
||||||
InsetCommandParams p( "lyxparent", argument );
|
InsetCommandParams p( "lyxparent", argument );
|
||||||
Inset * inset = new InsetParent(p, *buffer_);
|
Inset * inset = new InsetParent(p, *buffer_);
|
||||||
if (!bv_->insertInset(inset, "Standard", true))
|
if (!insertInset(inset, "Standard"))
|
||||||
delete inset;
|
delete inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3103,10 +3084,10 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
p.masterFilename_ = buffer_->fileName();
|
p.masterFilename_ = buffer_->fileName();
|
||||||
|
|
||||||
InsetInclude * inset = new InsetInclude(p);
|
InsetInclude * inset = new InsetInclude(p);
|
||||||
if (!bv_->insertInset(inset))
|
if (!insertInset(inset))
|
||||||
delete inset;
|
delete inset;
|
||||||
else {
|
else {
|
||||||
bv_->updateInset(inset, true);
|
updateInset(inset, true);
|
||||||
bv_->owner()->getDialogs()->showInclude(inset);
|
bv_->owner()->getDialogs()->showInclude(inset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3116,7 +3097,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
{
|
{
|
||||||
// We should check the argument for validity. (Lgb)
|
// We should check the argument for validity. (Lgb)
|
||||||
Inset * inset = new InsetFloatList(argument);
|
Inset * inset = new InsetFloatList(argument);
|
||||||
if (!bv_->insertInset(inset, "Standard", true))
|
if (!insertInset(inset, "Standard"))
|
||||||
delete inset;
|
delete inset;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3258,10 +3239,10 @@ void BufferView::Pimpl::protectedBlank(LyXText * lt)
|
|||||||
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
InsetSpecialChar * new_inset =
|
InsetSpecialChar * new_inset =
|
||||||
new InsetSpecialChar(InsetSpecialChar::PROTECTED_SEPARATOR);
|
new InsetSpecialChar(InsetSpecialChar::PROTECTED_SEPARATOR);
|
||||||
if (!bv_->insertInset(new_inset))
|
if (!insertInset(new_inset))
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
else
|
else
|
||||||
bv_->updateInset(new_inset, true);
|
updateInset(new_inset, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3275,7 +3256,7 @@ void BufferView::Pimpl::menuSeparator()
|
|||||||
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
InsetSpecialChar * new_inset =
|
InsetSpecialChar * new_inset =
|
||||||
new InsetSpecialChar(InsetSpecialChar::MENU_SEPARATOR);
|
new InsetSpecialChar(InsetSpecialChar::MENU_SEPARATOR);
|
||||||
bv_->insertInset(new_inset);
|
insertInset(new_inset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3287,7 +3268,7 @@ void BufferView::Pimpl::endOfSentenceDot()
|
|||||||
update(bv_->getLyXText(), BufferView::SELECT|BufferView::FITCUR);
|
update(bv_->getLyXText(), BufferView::SELECT|BufferView::FITCUR);
|
||||||
InsetSpecialChar * new_inset =
|
InsetSpecialChar * new_inset =
|
||||||
new InsetSpecialChar(InsetSpecialChar::END_OF_SENTENCE);
|
new InsetSpecialChar(InsetSpecialChar::END_OF_SENTENCE);
|
||||||
bv_->insertInset(new_inset);
|
insertInset(new_inset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3299,7 +3280,7 @@ void BufferView::Pimpl::ldots()
|
|||||||
update(bv_->getLyXText(), BufferView::SELECT|BufferView::FITCUR);
|
update(bv_->getLyXText(), BufferView::SELECT|BufferView::FITCUR);
|
||||||
InsetSpecialChar * new_inset =
|
InsetSpecialChar * new_inset =
|
||||||
new InsetSpecialChar(InsetSpecialChar::LDOTS);
|
new InsetSpecialChar(InsetSpecialChar::LDOTS);
|
||||||
bv_->insertInset(new_inset);
|
insertInset(new_inset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3311,7 +3292,7 @@ void BufferView::Pimpl::hyphenationPoint()
|
|||||||
update(bv_->getLyXText(), BufferView::SELECT|BufferView::FITCUR);
|
update(bv_->getLyXText(), BufferView::SELECT|BufferView::FITCUR);
|
||||||
InsetSpecialChar * new_inset =
|
InsetSpecialChar * new_inset =
|
||||||
new InsetSpecialChar(InsetSpecialChar::HYPHENATION);
|
new InsetSpecialChar(InsetSpecialChar::HYPHENATION);
|
||||||
bv_->insertInset(new_inset);
|
insertInset(new_inset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3319,7 +3300,7 @@ void BufferView::Pimpl::hyphenationPoint()
|
|||||||
void BufferView::Pimpl::insertNote()
|
void BufferView::Pimpl::insertNote()
|
||||||
{
|
{
|
||||||
InsetInfo * new_inset = new InsetInfo();
|
InsetInfo * new_inset = new InsetInfo();
|
||||||
bv_->insertInset(new_inset);
|
insertInset(new_inset);
|
||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3331,7 +3312,7 @@ bool BufferView::Pimpl::open_new_inset(UpdatableInset * new_inset, bool behind)
|
|||||||
|
|
||||||
beforeChange(lt);
|
beforeChange(lt);
|
||||||
lt->FinishUndo();
|
lt->FinishUndo();
|
||||||
if (!bv_->insertInset(new_inset)) {
|
if (!insertInset(new_inset)) {
|
||||||
delete new_inset;
|
delete new_inset;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -3342,3 +3323,155 @@ bool BufferView::Pimpl::open_new_inset(UpdatableInset * new_inset, bool behind)
|
|||||||
new_inset->Edit(bv_, 0, 0, 0);
|
new_inset->Edit(bv_, 0, 0, 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool BufferView::Pimpl::insertInset(Inset * inset, string const & lout)
|
||||||
|
{
|
||||||
|
// if we are in a locking inset we should try to insert the
|
||||||
|
// inset there otherwise this is a illegal function now
|
||||||
|
if (bv_->theLockingInset()) {
|
||||||
|
if (bv_->theLockingInset()->InsertInsetAllowed(inset))
|
||||||
|
return bv_->theLockingInset()->InsertInset(bv_, inset);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// not quite sure if we want this...
|
||||||
|
bv_->text->SetCursorParUndo(buffer_);
|
||||||
|
bv_->text->FreezeUndo();
|
||||||
|
|
||||||
|
beforeChange(bv_->text);
|
||||||
|
if (!lout.empty()) {
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR);
|
||||||
|
bv_->text->BreakParagraph(bv_);
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
||||||
|
|
||||||
|
if (bv_->text->cursor.par()->size()) {
|
||||||
|
bv_->text->CursorLeft(bv_);
|
||||||
|
|
||||||
|
bv_->text->BreakParagraph(bv_);
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
pair<bool, LyXTextClass::size_type> lres =
|
||||||
|
textclasslist.NumberOfLayout(buffer_->params
|
||||||
|
.textclass, lout);
|
||||||
|
LyXTextClass::size_type lay;
|
||||||
|
if (lres.first != false) {
|
||||||
|
// layout found
|
||||||
|
lay = lres.second;
|
||||||
|
} else {
|
||||||
|
// layout not fount using default "Standard" (0)
|
||||||
|
lay = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bv_->text->SetLayout(bv_, lay);
|
||||||
|
|
||||||
|
bv_->text->SetParagraph(bv_, 0, 0,
|
||||||
|
0, 0,
|
||||||
|
VSpace(VSpace::NONE), VSpace(VSpace::NONE),
|
||||||
|
LYX_ALIGN_LAYOUT,
|
||||||
|
string(),
|
||||||
|
0);
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
||||||
|
|
||||||
|
bv_->text->current_font.setLatex(LyXFont::OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
bv_->text->InsertInset(bv_, inset);
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
|
||||||
|
|
||||||
|
bv_->text->UnFreezeUndo();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BufferView::Pimpl::updateInset(Inset * inset, bool mark_dirty)
|
||||||
|
{
|
||||||
|
if (!inset)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// first check for locking insets
|
||||||
|
if (bv_->theLockingInset()) {
|
||||||
|
if (bv_->theLockingInset() == inset) {
|
||||||
|
if (bv_->text->UpdateInset(bv_, inset)) {
|
||||||
|
update();
|
||||||
|
if (mark_dirty) {
|
||||||
|
buffer_->markDirty();
|
||||||
|
}
|
||||||
|
updateScrollbar();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else if (bv_->theLockingInset()->UpdateInsetInInset(bv_, inset)) {
|
||||||
|
if (bv_->text->UpdateInset(bv_,
|
||||||
|
bv_->theLockingInset())) {
|
||||||
|
update();
|
||||||
|
if (mark_dirty){
|
||||||
|
buffer_->markDirty();
|
||||||
|
}
|
||||||
|
updateScrollbar();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// then check the current buffer
|
||||||
|
if (available()) {
|
||||||
|
hideCursor();
|
||||||
|
update(bv_->text, BufferView::UPDATE);
|
||||||
|
if (bv_->text->UpdateInset(bv_, inset)) {
|
||||||
|
if (mark_dirty) {
|
||||||
|
update(bv_->text,
|
||||||
|
BufferView::SELECT
|
||||||
|
| BufferView::FITCUR
|
||||||
|
| BufferView::CHANGE);
|
||||||
|
} else {
|
||||||
|
update(bv_->text, SELECT);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BufferView::Pimpl::gotoInset(vector<Inset::Code> const & codes,
|
||||||
|
bool same_content)
|
||||||
|
{
|
||||||
|
if (!available()) return;
|
||||||
|
|
||||||
|
hideCursor();
|
||||||
|
beforeChange(bv_->text);
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR);
|
||||||
|
|
||||||
|
string contents;
|
||||||
|
if (same_content &&
|
||||||
|
bv_->text->cursor.par()->GetChar(bv_->text->cursor.pos()) == LyXParagraph::META_INSET) {
|
||||||
|
Inset const * inset = bv_->text->cursor.par()->GetInset(bv_->text->cursor.pos());
|
||||||
|
if (find(codes.begin(), codes.end(), inset->LyxCode())
|
||||||
|
!= codes.end())
|
||||||
|
contents =
|
||||||
|
static_cast<InsetCommand const *>(inset)->getContents();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bv_->text->GotoNextInset(bv_, codes, contents)) {
|
||||||
|
if (bv_->text->cursor.pos()
|
||||||
|
|| bv_->text->cursor.par() != bv_->text->FirstParagraph()) {
|
||||||
|
LyXCursor tmp = bv_->text->cursor;
|
||||||
|
bv_->text->cursor.par(bv_->text->FirstParagraph());
|
||||||
|
bv_->text->cursor.pos(0);
|
||||||
|
if (!bv_->text->GotoNextInset(bv_, codes, contents)) {
|
||||||
|
bv_->text->cursor = tmp;
|
||||||
|
bv_->owner()->message(_("No more insets"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
bv_->owner()->message(_("No more insets"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
update(bv_->text, BufferView::SELECT|BufferView::FITCUR);
|
||||||
|
bv_->text->selection.cursor = bv_->text->cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BufferView::Pimpl::gotoInset(Inset::Code code, bool same_content)
|
||||||
|
{
|
||||||
|
gotoInset(vector<Inset::Code>(1, code), same_content);
|
||||||
|
}
|
||||||
|
@ -118,6 +118,10 @@ struct BufferView::Pimpl : public SigC::Object {
|
|||||||
///
|
///
|
||||||
void center();
|
void center();
|
||||||
///
|
///
|
||||||
|
bool insertInset(Inset * inset, string const & lout = string());
|
||||||
|
///
|
||||||
|
void updateInset(Inset * inset, bool mark_dirty);
|
||||||
|
///
|
||||||
bool Dispatch(kb_action action, string const & argument);
|
bool Dispatch(kb_action action, string const & argument);
|
||||||
private:
|
private:
|
||||||
///
|
///
|
||||||
@ -141,6 +145,11 @@ private:
|
|||||||
///
|
///
|
||||||
void insertNote();
|
void insertNote();
|
||||||
///
|
///
|
||||||
|
void gotoInset(std::vector<Inset::Code> const & codes,
|
||||||
|
bool same_content);
|
||||||
|
///
|
||||||
|
void gotoInset(Inset::Code codes, bool same_content);
|
||||||
|
///
|
||||||
BufferView * bv_;
|
BufferView * bv_;
|
||||||
///
|
///
|
||||||
LyXView * owner_;
|
LyXView * owner_;
|
||||||
@ -152,10 +161,6 @@ private:
|
|||||||
long current_scrollbar_value;
|
long current_scrollbar_value;
|
||||||
///
|
///
|
||||||
Timeout cursor_timeout;
|
Timeout cursor_timeout;
|
||||||
///
|
|
||||||
int last_click_x;
|
|
||||||
///
|
|
||||||
int last_click_y;
|
|
||||||
///
|
///
|
||||||
WorkArea workarea_;
|
WorkArea workarea_;
|
||||||
///
|
///
|
||||||
@ -188,5 +193,7 @@ private:
|
|||||||
Inset * getInsetByCode(Inset::Code code);
|
Inset * getInsetByCode(Inset::Code code);
|
||||||
///
|
///
|
||||||
void MenuInsertLyXFile(string const & filen);
|
void MenuInsertLyXFile(string const & filen);
|
||||||
|
///
|
||||||
|
bool inset_slept;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
2001-06-05 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
|
* BufferView_pimpl.C (updateScrollbar): simplify.
|
||||||
|
|
||||||
|
* BufferView2.C: don't include insets/insetinfo.h, change
|
||||||
|
prototype for insertInset and call the Pimpl version. let
|
||||||
|
updateInset call Pimpl version.
|
||||||
|
|
||||||
|
* BufferView.h: move inset_slept to BufferView::Pimpl, move
|
||||||
|
gotoInset to BufferView::Pimpl
|
||||||
|
|
||||||
2001-06-01 Juergen Vigna <jug@sad.it>
|
2001-06-01 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
* lyxfunc.C (Dispatch): LFUN_PREFIX don't call the update if we're
|
* lyxfunc.C (Dispatch): LFUN_PREFIX don't call the update if we're
|
||||||
|
@ -62,7 +62,7 @@ void LyXAction::init()
|
|||||||
// occupies after the init is completed. It compiles several
|
// occupies after the init is completed. It compiles several
|
||||||
// magnitudes faster.
|
// magnitudes faster.
|
||||||
|
|
||||||
static bool init = false;
|
static bool init;
|
||||||
if (init) return;
|
if (init) return;
|
||||||
|
|
||||||
struct lfun_item {
|
struct lfun_item {
|
||||||
|
@ -355,7 +355,7 @@ PainterBase & Painter::text(int x, int y, XChar2b const * s, int ls,
|
|||||||
} else {
|
} else {
|
||||||
LyXFont smallfont(f);
|
LyXFont smallfont(f);
|
||||||
smallfont.decSize().decSize().setShape(LyXFont::UP_SHAPE);
|
smallfont.decSize().decSize().setShape(LyXFont::UP_SHAPE);
|
||||||
static XChar2b c = {0, 0};
|
static XChar2b c;
|
||||||
int tmpx = x;
|
int tmpx = x;
|
||||||
for (int i = 0; i < ls; ++i) {
|
for (int i = 0; i < ls; ++i) {
|
||||||
if (s[i].byte1 == 0 && islower(s[i].byte2)) {
|
if (s[i].byte1 == 0 && islower(s[i].byte2)) {
|
||||||
|
@ -402,9 +402,9 @@ int WorkArea::work_area_handler(FL_OBJECT * ob, int event,
|
|||||||
// If you have a better way to handle "wild-output" of
|
// If you have a better way to handle "wild-output" of
|
||||||
// characters after the key has been released than the one
|
// characters after the key has been released than the one
|
||||||
// below, please contact me. (Lgb)
|
// below, please contact me. (Lgb)
|
||||||
static Time last_time_pressed = 0;
|
static Time last_time_pressed;
|
||||||
static unsigned int last_key_pressed = 0;
|
static unsigned int last_key_pressed;
|
||||||
static unsigned int last_state_pressed = 0;
|
static unsigned int last_state_pressed;
|
||||||
lyxerr[Debug::KEY] << "Workarea Diff: "
|
lyxerr[Debug::KEY] << "Workarea Diff: "
|
||||||
<< xke->time - last_time_pressed
|
<< xke->time - last_time_pressed
|
||||||
<< endl;
|
<< endl;
|
||||||
|
@ -362,11 +362,11 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, LyXParagraph *& par,
|
|||||||
#ifndef NO_PEXTRA_REALLY
|
#ifndef NO_PEXTRA_REALLY
|
||||||
// This is super temporary but is needed to get the compability
|
// This is super temporary but is needed to get the compability
|
||||||
// mode for minipages work correctly together with new tabulars.
|
// mode for minipages work correctly together with new tabulars.
|
||||||
static int call_depth = 0;
|
static int call_depth;
|
||||||
++call_depth;
|
++call_depth;
|
||||||
bool checkminipage = false;
|
bool checkminipage = false;
|
||||||
static LyXParagraph * minipar = 0;
|
static LyXParagraph * minipar;
|
||||||
static LyXParagraph * parBeforeMinipage = 0;
|
static LyXParagraph * parBeforeMinipage;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (token[0] != '\\') {
|
if (token[0] != '\\') {
|
||||||
|
@ -177,7 +177,7 @@ int lyxfont::width(XChar2b const * s, int n, LyXFont const & f)
|
|||||||
} else {
|
} else {
|
||||||
// emulate smallcaps since X doesn't support this
|
// emulate smallcaps since X doesn't support this
|
||||||
unsigned int result = 0;
|
unsigned int result = 0;
|
||||||
static XChar2b c = {0, 0};
|
static XChar2b c;
|
||||||
LyXFont smallfont(f);
|
LyXFont smallfont(f);
|
||||||
smallfont.decSize().decSize().setShape(LyXFont::UP_SHAPE);
|
smallfont.decSize().decSize().setShape(LyXFont::UP_SHAPE);
|
||||||
for (int i = 0; i < n; ++i) {
|
for (int i = 0; i < n; ++i) {
|
||||||
|
@ -171,7 +171,7 @@ string const ControlExternal::Browse(string const & input) const
|
|||||||
// FIXME: a temporary hack until the FileDialog interface is updated
|
// FIXME: a temporary hack until the FileDialog interface is updated
|
||||||
regexp += "|";
|
regexp += "|";
|
||||||
|
|
||||||
static int once = 0;
|
static int once;
|
||||||
string current_path;
|
string current_path;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
@ -22,11 +22,13 @@
|
|||||||
|
|
||||||
#include "deco.xbm"
|
#include "deco.xbm"
|
||||||
|
|
||||||
|
|
||||||
static char const * decoration_names[] = {
|
static char const * decoration_names[] = {
|
||||||
"widehat", "widetilde", "overbrace", "overleftarrow", "overrightarrow",
|
"widehat", "widetilde", "overbrace", "overleftarrow", "overrightarrow",
|
||||||
"overline", "underbrace", "underline"
|
"overline", "underbrace", "underline"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static int const nr_decoration_names = sizeof(decoration_names) / sizeof(char const *);
|
static int const nr_decoration_names = sizeof(decoration_names) / sizeof(char const *);
|
||||||
|
|
||||||
FormMathsDeco::FormMathsDeco(LyXView * lv, Dialogs * d,
|
FormMathsDeco::FormMathsDeco(LyXView * lv, Dialogs * d,
|
||||||
|
@ -1936,10 +1936,11 @@ void InsetFig::Preview(string const & p)
|
|||||||
lyxerr << "Can't view " << buf2 << endl;
|
lyxerr << "Can't view " << buf2 << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetFig::BrowseFile()
|
void InsetFig::BrowseFile()
|
||||||
{
|
{
|
||||||
static string current_figure_path;
|
static string current_figure_path;
|
||||||
static int once = 0;
|
static int once;
|
||||||
|
|
||||||
if (lyxerr.debugging()) {
|
if (lyxerr.debugging()) {
|
||||||
lyxerr << "Filename: "
|
lyxerr << "Filename: "
|
||||||
|
@ -196,7 +196,8 @@ string const InsetInfo::EditMessage() const
|
|||||||
|
|
||||||
void InsetInfo::Edit(BufferView *bv, int, int, unsigned int)
|
void InsetInfo::Edit(BufferView *bv, int, int, unsigned int)
|
||||||
{
|
{
|
||||||
static int ow = -1, oh;
|
static int ow = -1;
|
||||||
|
static int oh;
|
||||||
|
|
||||||
if (bv->buffer()->isReadonly())
|
if (bv->buffer()->isReadonly())
|
||||||
WarnReadonly(bv->buffer()->fileName());
|
WarnReadonly(bv->buffer()->fileName());
|
||||||
|
@ -1258,7 +1258,7 @@ string const &
|
|||||||
LyXTextClassList::NameOfLayout(LyXTextClassList::size_type textclass,
|
LyXTextClassList::NameOfLayout(LyXTextClassList::size_type textclass,
|
||||||
LyXTextClass::size_type layout) const
|
LyXTextClass::size_type layout) const
|
||||||
{
|
{
|
||||||
static string dummy("dummy");
|
static string const dummy("dummy");
|
||||||
classlist[textclass].load();
|
classlist[textclass].load();
|
||||||
if (layout < classlist[textclass].numLayouts())
|
if (layout < classlist[textclass].numLayouts())
|
||||||
return classlist[textclass][layout].name();
|
return classlist[textclass][layout].name();
|
||||||
@ -1270,7 +1270,7 @@ LyXTextClassList::NameOfLayout(LyXTextClassList::size_type textclass,
|
|||||||
string const &
|
string const &
|
||||||
LyXTextClassList::NameOfClass(LyXTextClassList::size_type number) const
|
LyXTextClassList::NameOfClass(LyXTextClassList::size_type number) const
|
||||||
{
|
{
|
||||||
static string dummy("dummy");
|
static string const dummy("dummy");
|
||||||
if (classlist.size() == 0) {
|
if (classlist.size() == 0) {
|
||||||
return dummy;
|
return dummy;
|
||||||
}
|
}
|
||||||
@ -1283,7 +1283,7 @@ LyXTextClassList::NameOfClass(LyXTextClassList::size_type number) const
|
|||||||
string const &
|
string const &
|
||||||
LyXTextClassList::LatexnameOfClass(LyXTextClassList::size_type number) const
|
LyXTextClassList::LatexnameOfClass(LyXTextClassList::size_type number) const
|
||||||
{
|
{
|
||||||
static string dummy("dummy");
|
static string const dummy("dummy");
|
||||||
classlist[number].load();
|
classlist[number].load();
|
||||||
if (classlist.size() == 0) {
|
if (classlist.size() == 0) {
|
||||||
return dummy;
|
return dummy;
|
||||||
@ -1297,7 +1297,7 @@ LyXTextClassList::LatexnameOfClass(LyXTextClassList::size_type number) const
|
|||||||
string const &
|
string const &
|
||||||
LyXTextClassList::DescOfClass(LyXTextClassList::size_type number) const
|
LyXTextClassList::DescOfClass(LyXTextClassList::size_type number) const
|
||||||
{
|
{
|
||||||
static string dummy("dummy");
|
static string const dummy("dummy");
|
||||||
if (classlist.size() == 0) {
|
if (classlist.size() == 0) {
|
||||||
return dummy;
|
return dummy;
|
||||||
}
|
}
|
||||||
|
@ -1508,7 +1508,7 @@ void LyXFunc::MenuNew(bool fromTemplate)
|
|||||||
initpath = trypath;
|
initpath = trypath;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int newfile_number = 0;
|
static int newfile_number;
|
||||||
string s;
|
string s;
|
||||||
|
|
||||||
if (lyxrc.new_ask_filename) {
|
if (lyxrc.new_ask_filename) {
|
||||||
|
@ -685,7 +685,7 @@ InsetFormula::LocalDispatch(BufferView * bv, kb_action action,
|
|||||||
bool space_on = false;
|
bool space_on = false;
|
||||||
bool was_selection = mathcursor->Selection();
|
bool was_selection = mathcursor->Selection();
|
||||||
RESULT result = DISPATCHED;
|
RESULT result = DISPATCHED;
|
||||||
static MathSpaceInset * sp= 0;
|
static MathSpaceInset * sp;
|
||||||
|
|
||||||
HideInsetCursor(bv);
|
HideInsetCursor(bv);
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ char LexGetArg(char lf, bool accept_spaces = false)
|
|||||||
|
|
||||||
int yylex(void)
|
int yylex(void)
|
||||||
{
|
{
|
||||||
static int init_done = 0;
|
static int init_done;
|
||||||
|
|
||||||
if (!init_done) LexInitCodes();
|
if (!init_done) LexInitCodes();
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
extern BufferList bufferlist;
|
extern BufferList bufferlist;
|
||||||
|
|
||||||
void emergencySave() {
|
void emergencySave() {
|
||||||
static bool didSafe = false;
|
static bool didSafe;
|
||||||
if (didSafe)
|
if (didSafe)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -466,12 +466,12 @@ int DestroyTmpDir(string const & tmpdir, bool Allfiles)
|
|||||||
|
|
||||||
string const CreateBufferTmpDir(string const & pathfor)
|
string const CreateBufferTmpDir(string const & pathfor)
|
||||||
{
|
{
|
||||||
static int count = 0;
|
static int count;
|
||||||
static string const tmpdir(pathfor.empty() ? os::getTmpDir() : pathfor);
|
static string const tmpdir(pathfor.empty() ? os::getTmpDir() : pathfor);
|
||||||
// We are in our own directory. Why bother to mangle name?
|
// We are in our own directory. Why bother to mangle name?
|
||||||
// In fact I wrote this code to circumvent a problematic behaviour (bug?)
|
// In fact I wrote this code to circumvent a problematic behaviour (bug?)
|
||||||
// of EMX mkstemp().
|
// of EMX mkstemp().
|
||||||
string tmpfl = tmpdir + "/lyx_tmpbuf" + tostr(count++);
|
string const tmpfl = tmpdir + "/lyx_tmpbuf" + tostr(count++);
|
||||||
if (lyx::mkdir(tmpfl, 0777)) {
|
if (lyx::mkdir(tmpfl, 0777)) {
|
||||||
WriteFSAlert(_("Error! Couldn't create temporary directory:"),
|
WriteFSAlert(_("Error! Couldn't create temporary directory:"),
|
||||||
tmpdir);
|
tmpdir);
|
||||||
|
@ -1952,7 +1952,7 @@ void LyXText::charInserted()
|
|||||||
{
|
{
|
||||||
// Here we could call FinishUndo for every 20 characters inserted.
|
// Here we could call FinishUndo for every 20 characters inserted.
|
||||||
// This is from my experience how emacs does it.
|
// This is from my experience how emacs does it.
|
||||||
static unsigned int counter = 0;
|
static unsigned int counter;
|
||||||
if (counter < 20) {
|
if (counter < 20) {
|
||||||
++counter;
|
++counter;
|
||||||
} else {
|
} else {
|
||||||
|
@ -344,8 +344,9 @@ bool Trans::isAccentDefined(tex_accent accent, KmodInfo & i) const
|
|||||||
|
|
||||||
string const Trans::process(char c, TransManager & k)
|
string const Trans::process(char c, TransManager & k)
|
||||||
{
|
{
|
||||||
string dummy("?");
|
//string dummy("?");
|
||||||
string dt = dummy;
|
//string dt = dummy;
|
||||||
|
string dt("?");
|
||||||
string const t = Match(static_cast<unsigned char>(c));
|
string const t = Match(static_cast<unsigned char>(c));
|
||||||
|
|
||||||
if (t.empty() && c != 0) {
|
if (t.empty() && c != 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user