2009-04-25 01:35:41 +02:00
|
|
|
// Scintilla source code edit control
|
|
|
|
/** @file ContractionState.h
|
|
|
|
** Manages visibility of lines for folding and wrapping.
|
|
|
|
**/
|
|
|
|
// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>
|
|
|
|
// The License.txt file describes the conditions under which this software may be distributed.
|
|
|
|
|
|
|
|
#ifndef CONTRACTIONSTATE_H
|
|
|
|
#define CONTRACTIONSTATE_H
|
|
|
|
|
|
|
|
namespace Scintilla {
|
|
|
|
|
|
|
|
/**
|
2019-05-04 20:14:48 +02:00
|
|
|
*/
|
|
|
|
class IContractionState {
|
2009-04-25 01:35:41 +02:00
|
|
|
public:
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual ~IContractionState() {};
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual void Clear()=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual Sci::Line LinesInDoc() const=0;
|
|
|
|
virtual Sci::Line LinesDisplayed() const=0;
|
|
|
|
virtual Sci::Line DisplayFromDoc(Sci::Line lineDoc) const=0;
|
|
|
|
virtual Sci::Line DisplayLastFromDoc(Sci::Line lineDoc) const=0;
|
|
|
|
virtual Sci::Line DocFromDisplay(Sci::Line lineDisplay) const=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual void InsertLines(Sci::Line lineDoc, Sci::Line lineCount)=0;
|
|
|
|
virtual void DeleteLines(Sci::Line lineDoc, Sci::Line lineCount)=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual bool GetVisible(Sci::Line lineDoc) const=0;
|
|
|
|
virtual bool SetVisible(Sci::Line lineDocStart, Sci::Line lineDocEnd, bool isVisible)=0;
|
|
|
|
virtual bool HiddenLines() const=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual const char *GetFoldDisplayText(Sci::Line lineDoc) const=0;
|
|
|
|
virtual bool SetFoldDisplayText(Sci::Line lineDoc, const char *text)=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual bool GetExpanded(Sci::Line lineDoc) const=0;
|
|
|
|
virtual bool SetExpanded(Sci::Line lineDoc, bool isExpanded)=0;
|
|
|
|
virtual Sci::Line ContractedNext(Sci::Line lineDocStart) const=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
virtual int GetHeight(Sci::Line lineDoc) const=0;
|
|
|
|
virtual bool SetHeight(Sci::Line lineDoc, int height)=0;
|
|
|
|
|
|
|
|
virtual void ShowAll()=0;
|
2009-04-25 01:35:41 +02:00
|
|
|
};
|
|
|
|
|
2019-05-04 20:14:48 +02:00
|
|
|
std::unique_ptr<IContractionState> ContractionStateCreate(bool largeDocument);
|
|
|
|
|
2009-04-25 01:35:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|