mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-20 01:04:34 +08:00
91 lines
2.0 KiB
C++
91 lines
2.0 KiB
C++
#ifndef _OUTLINE_H
|
|
#define _OUTLINE_H
|
|
|
|
#include "Object.h"
|
|
#include "CharTypes.h"
|
|
|
|
class StringExt;
|
|
class GList;
|
|
class XRef;
|
|
class LinkAction;
|
|
|
|
//-------------------------------------------------------------------------------------------------------------------------------
|
|
// Outline
|
|
//-------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
class Outline
|
|
{
|
|
public:
|
|
|
|
Outline(Object *pOutlineObject, XRef *pXref);
|
|
~Outline();
|
|
|
|
CList *GetItems()
|
|
{
|
|
return m_pItems;
|
|
}
|
|
|
|
private:
|
|
|
|
CList *m_pItems; // NULL, åñëè ó äîêóìåíòà íåò Outline
|
|
// [OutlineItem]
|
|
};
|
|
|
|
//-------------------------------------------------------------------------------------------------------------------------------
|
|
// OutlineItem
|
|
//-------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
class OutlineItem
|
|
{
|
|
public:
|
|
|
|
OutlineItem(Dict *pDict, XRef *pXref);
|
|
~OutlineItem();
|
|
|
|
static CList *ReadItemList(Object *pFirstItemRef, Object *pLastItemRef, XRef *pXref);
|
|
|
|
void Open();
|
|
void Close();
|
|
|
|
Unicode *GetTitle()
|
|
{
|
|
return m_pTitle;
|
|
}
|
|
int GetTitleLength()
|
|
{
|
|
return m_nTitleLen;
|
|
}
|
|
LinkAction *GetAction()
|
|
{
|
|
return m_pAction;
|
|
}
|
|
BOOL IsOpen()
|
|
{
|
|
return m_bOpen;
|
|
}
|
|
BOOL HasKids()
|
|
{
|
|
return m_oFirstRef.IsRef();
|
|
}
|
|
CList *GetKids()
|
|
{
|
|
return m_pKids;
|
|
}
|
|
|
|
private:
|
|
|
|
XRef *m_pXref; // Òàáëèöà Xref äàííîãî PDF-äîêóìåíòà
|
|
Unicode *m_pTitle; // Íàçâàíèå äàííîé çàêëàäêè
|
|
int m_nTitleLen; // Äëèíà íàçâàíèÿ
|
|
LinkAction *m_pAction; // LinkAction
|
|
|
|
Object m_oFirstRef; // Ññûëêà(Ref) íà First
|
|
Object m_oLastRef; // Ññûëêà(Ref) íà Last
|
|
Object m_oNextRef; // Ññûëêà(Ref) íà Next
|
|
|
|
BOOL m_bOpen; // Áóäåò ëè âêëàäêà îòêðûòîé ïðè îòêðûòèè äîêóìåíòà
|
|
CList *m_pKids; // NULL, åñëè äàííûé ïóíêò íå îòêðûò [OutlineItem]
|
|
};
|
|
|
|
#endif /* _OUTLINE_H */
|