~haaaad/geany/master

« back to all changes in this revision

Viewing changes to scintilla/src/ContractionState.h

  • Committer: elextr
  • Author(s): Colomban Wendling
  • Date: 2017-07-24 23:24:05 UTC
  • Revision ID: git-v1:18360460abb4f4bec23dff127031ecf4e9120f7f
Update Scintilla to version 3.7.5 (#1503)

* Update Scintilla to version 3.7.5

This now requires a C++11-capable compiler.

Closes #1308.

* Test using newer dist on Travis

Since Scintilla needs C++11

* Add debugging code for when configure fails

* Workaround a pkg-config-corsswrapper bug on Ubuntu 14.04

See https://bugs.launchpad.net/ubuntu/+source/mingw-w64/+bug/1327242

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 */
20
20
class ContractionState {
21
21
        // These contain 1 element for every document line.
22
 
        RunStyles *visible;
23
 
        RunStyles *expanded;
24
 
        RunStyles *heights;
25
 
        SparseVector<const char *> *foldDisplayTexts;
26
 
        Partitioning *displayLines;
27
 
        int linesInDocument;
 
22
        std::unique_ptr<RunStyles> visible;
 
23
        std::unique_ptr<RunStyles> expanded;
 
24
        std::unique_ptr<RunStyles> heights;
 
25
        std::unique_ptr<SparseVector<UniqueString>> foldDisplayTexts;
 
26
        std::unique_ptr<Partitioning> displayLines;
 
27
        Sci::Line linesInDocument;
28
28
 
29
29
        void EnsureData();
30
30
 
31
31
        bool OneToOne() const {
32
32
                // True when each document line is exactly one display line so need for
33
33
                // complex data structures.
34
 
                return visible == 0;
 
34
                return visible == nullptr;
35
35
        }
36
36
 
37
37
public:
38
38
        ContractionState();
 
39
        // Deleted so ContractionState objects can not be copied.
 
40
        ContractionState(const ContractionState &) = delete;
 
41
        void operator=(const ContractionState &) = delete;
39
42
        virtual ~ContractionState();
40
43
 
41
44
        void Clear();
42
45
 
43
 
        int LinesInDoc() const;
44
 
        int LinesDisplayed() const;
45
 
        int DisplayFromDoc(int lineDoc) const;
46
 
        int DisplayLastFromDoc(int lineDoc) const;
47
 
        int DocFromDisplay(int lineDisplay) const;
48
 
 
49
 
        void InsertLine(int lineDoc);
50
 
        void InsertLines(int lineDoc, int lineCount);
51
 
        void DeleteLine(int lineDoc);
52
 
        void DeleteLines(int lineDoc, int lineCount);
53
 
 
54
 
        bool GetVisible(int lineDoc) const;
55
 
        bool SetVisible(int lineDocStart, int lineDocEnd, bool isVisible);
 
46
        Sci::Line LinesInDoc() const;
 
47
        Sci::Line LinesDisplayed() const;
 
48
        Sci::Line DisplayFromDoc(Sci::Line lineDoc) const;
 
49
        Sci::Line DisplayLastFromDoc(Sci::Line lineDoc) const;
 
50
        Sci::Line DocFromDisplay(Sci::Line lineDisplay) const;
 
51
 
 
52
        void InsertLine(Sci::Line lineDoc);
 
53
        void InsertLines(Sci::Line lineDoc, Sci::Line lineCount);
 
54
        void DeleteLine(Sci::Line lineDoc);
 
55
        void DeleteLines(Sci::Line lineDoc, Sci::Line lineCount);
 
56
 
 
57
        bool GetVisible(Sci::Line lineDoc) const;
 
58
        bool SetVisible(Sci::Line lineDocStart, Sci::Line lineDocEnd, bool isVisible);
56
59
        bool HiddenLines() const;
57
60
 
58
 
        const char *GetFoldDisplayText(int lineDoc) const;
59
 
        bool SetFoldDisplayText(int lineDoc, const char *text);
60
 
 
61
 
        bool GetExpanded(int lineDoc) const;
62
 
        bool SetExpanded(int lineDoc, bool isExpanded);
63
 
        bool GetFoldDisplayTextShown(int lineDoc) const;
64
 
        int ContractedNext(int lineDocStart) const;
65
 
 
66
 
        int GetHeight(int lineDoc) const;
67
 
        bool SetHeight(int lineDoc, int height);
 
61
        const char *GetFoldDisplayText(Sci::Line lineDoc) const;
 
62
        bool SetFoldDisplayText(Sci::Line lineDoc, const char *text);
 
63
 
 
64
        bool GetExpanded(Sci::Line lineDoc) const;
 
65
        bool SetExpanded(Sci::Line lineDoc, bool isExpanded);
 
66
        bool GetFoldDisplayTextShown(Sci::Line lineDoc) const;
 
67
        Sci::Line ContractedNext(Sci::Line lineDocStart) const;
 
68
 
 
69
        int GetHeight(Sci::Line lineDoc) const;
 
70
        bool SetHeight(Sci::Line lineDoc, int height);
68
71
 
69
72
        void ShowAll();
70
73
        void Check() const;