#ifndef _RECENT_ITEMS_LIST_H
#define _RECENT_ITEMS_LIST_H
#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