]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph.h
more cursor dispatch
[lyx.git] / src / paragraph.h
index 169fdc6a793591da96aac15d24e624d4fcc7d70a..614da77c990726854a807581ae0ec1f09db88fca 100644 (file)
@@ -29,6 +29,7 @@ class Buffer;
 class BufferParams;
 class BufferView;
 class Counters;
+class InsetBase;
 class InsetBibitem;
 class InsetOld_code;
 class Language;
@@ -44,7 +45,7 @@ class UpdatableInset;
 class Paragraph  {
 public:
        ///
-       enum META_KIND {
+       enum {
                /// Note that this is 1 right now to avoid
                /// crashes where getChar() is called wrongly
                /// (returning 0) - if this was 0, then we'd
@@ -61,12 +62,11 @@ public:
 
        ///
        Paragraph();
-
        ///
        Paragraph(Paragraph const &);
        ///
        void operator=(Paragraph const &);
-       /// the destructor removes the new paragraph from the list
+       ///
        ~Paragraph();
 
        ///
@@ -129,9 +129,9 @@ public:
        void simpleDocBookOnePar(Buffer const & buf,
                                 std::ostream &,
                                 LyXFont const & outerfont,
-                                int & desc_on,
                                 OutputParams const & runparams,
-                                lyx::depth_type depth) const;
+                                lyx::depth_type depth,
+                                bool labelid) const;
 
        ///
        bool hasSameLayout(Paragraph const & par) const;
@@ -143,8 +143,6 @@ public:
        UpdatableInset * inInset() const;
        ///
        void setInsetOwner(UpdatableInset * inset);
-       ///
-       void deleteInsetsLyXText(BufferView *);
 
        ///
        lyx::pos_type size() const { return text_.size(); }
@@ -204,7 +202,9 @@ public:
        /// the paragraph alongside the text of the rest of the paragraph
        /// (the body). This function returns the starting position of the
        /// body of the text in the paragraph.
-       int beginningOfBody() const;
+       int beginOfBody() const;
+       /// recompute this value
+       void setBeginOfBody();
 
        ///
        std::string const & getLabelstring() const;
@@ -276,19 +276,21 @@ public:
        ///
        void insertChar(lyx::pos_type pos, value_type c);
        ///
-       void insertChar(lyx::pos_type pos, value_type c, LyXFont const &, Change change = Change(Change::INSERTED));
+       void insertChar(lyx::pos_type pos, value_type c,
+               LyXFont const &, Change change = Change(Change::INSERTED));
        ///
        bool checkInsertChar(LyXFont &);
        ///
-       void insertInset(lyx::pos_type pos, InsetOld * inset);
+       void insertInset(lyx::pos_type pos, InsetBase * inset);
        ///
-       void insertInset(lyx::pos_type pos, InsetOld * inset, LyXFont const &, Change change = Change(Change::INSERTED));
+       void insertInset(lyx::pos_type pos, InsetBase * inset,
+               LyXFont const &, Change change = Change(Change::INSERTED));
        ///
        bool insetAllowed(InsetOld_code code);
        ///
-       InsetOld * getInset(lyx::pos_type pos);
+       InsetBase * getInset(lyx::pos_type pos);
        ///
-       InsetOld const * getInset(lyx::pos_type pos) const;
+       InsetBase const * getInset(lyx::pos_type pos) const;
 
        ///
        bool isHfill(lyx::pos_type pos) const;
@@ -308,7 +310,7 @@ public:
        bool isWord(lyx::pos_type pos) const;
 
        /// returns -1 if inset not found
-       int getPositionOfInset(InsetOld const * inset) const;
+       int getPositionOfInset(InsetBase const * inset) const;
 
        ///
        int stripLeadingSpaces();
@@ -327,6 +329,8 @@ public:
 
        ///
        RowList::iterator getRow(lyx::pos_type pos);
+       ///
+       size_t row(lyx::pos_type pos) const;
 
        ///
        InsetList insetlist;
@@ -346,6 +350,8 @@ private:
        /// keeping this here instead of in the pimpl makes LyX >10% faster
        // for average tasks as buffer loading/switching etc.
        TextContainer text_;
+       /// end of label
+       int begin_of_body_;
 
        struct Pimpl;
        ///