From: John Levon Date: Wed, 7 Aug 2002 14:15:06 +0000 (+0000) Subject: Martin/Angus srcdoc patch, a fix for scrollbar and font size change, fix warning... X-Git-Tag: 1.6.10~18652 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=a04092ebdbf84d00ccad165d8df10cd00471b501;p=features.git 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 --- diff --git a/src/BufferView_pimpl.C b/src/BufferView_pimpl.C index 215a0dcaa9..9376d48d5f 100644 --- a/src/BufferView_pimpl.C +++ b/src/BufferView_pimpl.C @@ -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()); } } diff --git a/src/ChangeLog b/src/ChangeLog index 299306131d..4ade76cb48 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2002-08-07 John Levon + + * 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 diff --git a/src/counters.h b/src/counters.h index d737f995bd..680005962c 100644 --- a/src/counters.h +++ b/src/counters.h @@ -22,7 +22,7 @@ #include #include -/// +/// 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 enums, sects; + /// Maps numbers to enumeration of sectioning counter name strings. + std::vector enums; + std::vector sects; private: - /// + /// Maps counter (layout) names to actual counters. typedef std::map CounterList; - /// + /// Instantiate. CounterList counterList; }; diff --git a/src/lyx_main.C b/src/lyx_main.C index 285606c2bf..f6be118326 100644 --- a/src/lyx_main.C +++ b/src/lyx_main.C @@ -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); } diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 56464ec535..d301877e39 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -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;