#ifndef __RECENT_ITEMS_LIST__
#define __RECENT_ITEMS_LIST__
#include <Entry.h>
#include <Message.h>
#include <String.h>
class BMenuItem;
class BMenu;
class BRecentItemsList {
public:
BRecentItemsList(int32 maxItems, bool navMenuFolders);
virtual ~BRecentItemsList() {}
virtual void Rewind();
virtual BMenuItem *GetNextMenuItem(const BMessage *fileOpenMessage = NULL,
const BMessage *containerOpenMessage = NULL,
BHandler *target = NULL, entry_ref *currentItemRef = NULL);
virtual status_t GetNextRef(entry_ref *);
protected:
BMessage fItems;
int32 fIndex;
int32 fMaxItems;
bool fNavMenuFolders;
private:
virtual void _r1();
virtual void _r2();
virtual void _r3();
virtual void _r4();
virtual void _r5();
virtual void _r6();
virtual void _r7();
virtual void _r8();
virtual void _r9();
virtual void _r10();
uint32 _reserved[20];
};
class BRecentFilesList : public BRecentItemsList {
public:
BRecentFilesList(int32 maxItems = 10, bool navMenuFolders = false,
const char *ofType = NULL, const char *openedByAppSig = NULL);
BRecentFilesList(int32 maxItems, bool navMenuFolders, const char *ofTypeList[],
int32 ofTypeListCount, const char *openedByAppSig = NULL);
virtual ~BRecentFilesList();
static BMenu *NewFileListMenu(const char *title,
BMessage *openFileMessage = NULL, BMessage *openFolderMessage = NULL,
BHandler *target = NULL,
int32 maxItems = 10, bool navMenuFolders = false,
const char *ofType = NULL, const char *openedByAppSig = NULL);
static BMenu *NewFileListMenu(const char *title,
BMessage *openFileMessage, BMessage *openFolderMessage,
BHandler *target,
int32 maxItems, bool navMenuFolders,
const char *ofTypeList[], int32 ofTypeListCount,
const char *openedByAppSig);
virtual status_t GetNextRef(entry_ref *);
protected:
BString fType;
char **fTypes;
int32 fTypeCount;
BString fAppSig;
private:
virtual void _r11();
virtual void _r12();
virtual void _r13();
virtual void _r14();
virtual void _r15();
virtual void _r16();
virtual void _r17();
virtual void _r18();
virtual void _r19();
virtual void _r110();
uint32 _reserved[20];
};
class BRecentFoldersList : public BRecentItemsList {
public:
BRecentFoldersList(int32 maxItems, bool navMenuFolders = false,
const char *openedByAppSig = NULL);
static BMenu *NewFolderListMenu(const char *title,
BMessage *openMessage = NULL, BHandler *target = NULL,
int32 maxItems = 10, bool navMenuFolders = false,
const char *openedByAppSig = NULL);
virtual status_t GetNextRef(entry_ref *);
protected:
BString fAppSig;
private:
virtual void _r21();
virtual void _r22();
virtual void _r23();
virtual void _r24();
virtual void _r25();
virtual void _r26();
virtual void _r27();
virtual void _r28();
virtual void _r29();
virtual void _r210();
uint32 _reserved[20];
};
class BRecentAppsList : public BRecentItemsList {
public:
BRecentAppsList(int32 maxItems);
static BMenu *NewAppListMenu(const char *title,
BMessage *openMessage = NULL, BHandler *target = NULL,
int32 maxItems = 10);
virtual status_t GetNextRef(entry_ref *);
private:
virtual void _r31();
virtual void _r32();
virtual void _r33();
virtual void _r34();
virtual void _r35();
virtual void _r36();
virtual void _r37();
virtual void _r38();
virtual void _r39();
virtual void _r310();
uint32 _reserved[20];
};
#endif