]> git.lyx.org Git - features.git/commitdiff
Martin/Angus srcdoc patch, a fix for scrollbar and font size change, fix warning...
authorJohn Levon <levon@movementarian.org>
Wed, 7 Aug 2002 14:15:06 +0000 (14:15 +0000)
committerJohn Levon <levon@movementarian.org>
Wed, 7 Aug 2002 14:15:06 +0000 (14:15 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4890 a592a061-630c-0410-9148-cb99ea01b6c8

src/BufferView_pimpl.C
src/ChangeLog
src/counters.h
src/lyx_main.C
src/lyxfunc.C

index 215a0dcaa9b20db8cefdc9fb834eeba4b8a7bf93..9376d48d5f817fe7ee19beea34fc65f1110b0345 100644 (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());
        }
 }
 
index 299306131dca7551e7ff0e6e74470ba306a520e5..4ade76cb4830e486846377ddb111abdbe482bc9c 100644 (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>
 
index d737f995bd30e647fd0b90d4be2dda51c48e1759..680005962c770c5aaef16663220efcfa03589fbf 100644 (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;
 
 };
index 285606c2bf2e49a0e05d4986b8c84c89e8f2ccd3..f6be1183266c79ae0421c5792e4517963e220aca 100644 (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);
                }
index 56464ec535f7a21d1ab8735e9fe00bef168f5abf..d301877e395fbff4ef4dbc8fe5814844b45b73bd 100644 (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;