Martin/Angus srcdoc patch, a fix for scrollbar and font size change, fix warning, fix X selection on double/triple click

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4890 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
John Levon 2002-08-07 14:15:06 +00:00
parent 52ca14b791
commit a04092ebdb
5 changed files with 51 additions and 29 deletions

View File

@ -286,6 +286,7 @@ void BufferView::Pimpl::redoCurrentBuffer()
lyxerr[Debug::INFO] << "BufferView::redoCurrentBuffer" << endl;
if (buffer_ && bv_->text) {
resizeCurrentBuffer();
updateScrollbar();
owner_->updateLayoutChoice();
repaint();
}
@ -372,9 +373,8 @@ int BufferView::Pimpl::resizeCurrentBuffer()
switchKeyMap();
owner_->allowInput();
/// clear the "Formatting Document" message
owner_->message("");
updateScrollbar();
return 0;
}
@ -647,6 +647,7 @@ void BufferView::Pimpl::doubleClick(int /*x*/, int /*y*/, mouse_button::state bu
/* This will fit the cursor on the screen
* if necessary */
update(text, BufferView::SELECT|BufferView::FITCUR);
workarea().haveSelection(bv_->getLyXText()->selection.set());
}
}
@ -676,6 +677,7 @@ void BufferView::Pimpl::tripleClick(int /*x*/, int /*y*/, mouse_button::state bu
/* This will fit the cursor on the screen
* if necessary */
update(text, BufferView::SELECT|BufferView::FITCUR);
workarea().haveSelection(bv_->getLyXText()->selection.set());
}
}

View File

@ -1,3 +1,13 @@
2002-08-07 John Levon <levon@movementarian.org>
* BufferView_pimpl.C (resizeCurrentBuffer): update scrollbar
* BufferView_pimpl.C: announce X selection on double/triple
click
* lyx_main.C: use correct bool in batch dispatch
* counters.h: srcdocs (from Martin Vermeer and Angus Leeming)
2002-08-07 André Pönitz <poenitz@gmx.net>

View File

@ -22,7 +22,7 @@
#include <map>
#include <vector>
///
/// This represents a single counter.
class Counter {
public:
///
@ -37,31 +37,32 @@ public:
void step();
///
void reset();
///
/// Returns the master counter of this counter
string master() const;
///
/// sets the master counter for this counter
void setMaster(string const & m);
///
private:
int value_;
///
/// contains master counter name; master counter is the counter
/// that, if stepped (incremented) zeroes this counter. E.g.
/// "subparagraph"'s master is "paragraph".
string master_;
};
/** This is a class of (La)TeX type counters. The counters is in a text
Style and can be reset by signals emitted from a single counter.
*/
/// This is a class of (La)TeX type counters.
/// Every instantiation is an array of counters of type Counter.
class Counters {
public:
///
Counters();
///
//~Counters();
///
/// Add a new counter to array.
void newCounter(string const & newc);
///
/// Add new counter having oldc as its master.
void newCounter(string const & newc, string const & oldc);
///
void set(string const & ctr, int val);
@ -69,29 +70,39 @@ public:
void addto(string const & ctr, int val);
///
int value(string const & ctr) const;
///
/// Step (increment by one) counter named by arg, and
/// zeroes slave counter(s) for which it is the master.
/// NOTE sub-slaves not zeroed! That happens at slave's
/// first step 0->1. Seems to be sufficient.
void step(string const & ctr);
///
void reset(string const & match = "");
///
void copy(Counters & from, Counters & to, string const & match = "");
///
/// Reset counters matched by match string. Empty string matches
/// all.
void reset(string const & match = string());
/// Copy counters whose name matches match from the &from to
/// the &to array of counters. Empty string matches all.
void copy(Counters & from, Counters & to, string const & match = string());
/// A numeric label's single item, like .1 for subsection number in
/// the 2.1.4 subsubsection number label. "first" indicates if this
/// is the first item to be displayed, usually chapter or section.
string labelItem(string const & ctr,
string const & labeltype,
string const & langtype = "latin",
bool first = false);
///
/// A complete numeric label, like 2.1.4 for a subsubsection.
/// "head" indicates sequence number of first item to be
/// displayed, e.g. 0 for chapter, 1 for section.
string numberLabel(string const & ctr,
string const & labeltype,
string const & langtype = "latin",
int head = 0);
///
std::vector<string> enums, sects;
/// Maps numbers to enumeration of sectioning counter name strings.
std::vector<string> enums;
std::vector<string> sects;
private:
///
/// Maps counter (layout) names to actual counters.
typedef std::map<string, Counter> CounterList;
///
/// Instantiate.
CounterList counterList;
};

View File

@ -141,7 +141,7 @@ LyX::LyX(int & argc, char * argv[])
// try to dispatch to last loaded buffer first
bool const dispatched = last_loaded->dispatch(batch_command, &success);
if (success) {
if (dispatched) {
QuitLyX();
exit(!success);
}

View File

@ -1427,18 +1427,17 @@ void LyXFunc::dispatch(FuncRequest const & ev, bool verbose)
case LFUN_SCREEN_FONT_UPDATE:
{
// handle the screen font changes.
//
lyxrc.set_font_norm_type();
lyx_gui::update_fonts();
// We also need to empty the textcache so that
// the buffer will be formatted correctly after
// a zoom change.
textcache.clear();
// Of course we should only do the resize and the textcache.clear
// if values really changed...but not very important right now. (Lgb)
// All visible buffers will need resize
owner->view()->resize();
owner->view()->repaint();
// We also need to empty the textcache so that
// the buffer will be formatted correctly after
// a zoom change.
textcache.clear();
}
break;