58 lines
1.3 KiB
C++
58 lines
1.3 KiB
C++
#ifndef __EMARK_H
|
|
#define __EMARK_H
|
|
|
|
class EMark {
|
|
public:
|
|
EMark(char *aName, char *aFileName, EPoint aPoint, EBuffer *aBuffer = 0);
|
|
~EMark();
|
|
|
|
int setBuffer(EBuffer *aBuffer);
|
|
int removeBuffer(EBuffer *aBuffer);
|
|
|
|
char *getName() { return Name; }
|
|
char *getFileName() { return FileName; }
|
|
EPoint &getPoint();
|
|
EBuffer *getBuffer() { return Buffer; }
|
|
private:
|
|
/* bookmark */
|
|
char *Name;
|
|
EPoint Point;
|
|
char *FileName;
|
|
|
|
/* bookmark in file */
|
|
EBuffer *Buffer;
|
|
};
|
|
|
|
class EMarkIndex {
|
|
public:
|
|
EMarkIndex();
|
|
~EMarkIndex();
|
|
|
|
EMark *insert(char *aName, char *aFileName, EPoint aPoint, EBuffer *aBuffer = 0);
|
|
EMark *insert(char *aName, EBuffer *aBuffer, EPoint aPoint);
|
|
EMark *locate(char *aName);
|
|
int remove(char *aName);
|
|
int view(EView *aView, char *aName);
|
|
|
|
// int MarkPush(EBuffer *B, EPoint P);
|
|
// int MarkPop(EView *V);
|
|
// int MarkSwap(EView *V, EBuffer *B, EPoint P);
|
|
// int MarkNext(EView *V);
|
|
// int MarkPrev(EView *V);
|
|
EMark *pushMark(EBuffer *aBuffer, EPoint P);
|
|
int popMark(EView *aView);
|
|
|
|
int retrieveForBuffer(EBuffer *aBuffer);
|
|
int storeForBuffer(EBuffer *aBuffer);
|
|
|
|
int saveToDesktop(FILE *fp);
|
|
|
|
private:
|
|
int markCount;
|
|
EMark **marks;
|
|
};
|
|
|
|
extern EMarkIndex markIndex;
|
|
|
|
#endif
|