#ifndef __FOLDER_WINDOW_H__
#define __FOLDER_WINDOW_H__
#include <gui/window.h>
#include <gui/view.h>
#include <gui/rect.h>
#include <gui/menu.h>
#include <gui/button.h>
#include <gui/textview.h>
#include <gui/stringview.h>
#include <gui/requesters.h>
#include <util/application.h>
#include <util/message.h>
#include <stdio.h>
#include "filesView.h"
#include "mimeTable.h"
namespace os {
class DirectoryView;
}
#define MAX_PATH_SIZE 4096
#define appConfig struct _appConfig
struct _appConfig
{
mimeTable *mainMimeTable;
};
enum {
ID_MENU_FILE_EXIT,
ID_MENU_EDIT_CPFILE,
ID_MENU_EDIT_MVFILE,
ID_MENU_EDIT_DELETE,
ID_MENU_EDIT_CUT,
ID_MENU_EDIT_COPY,
ID_MENU_EDIT_PASTE,
ID_MENU_EDIT_OPTIONS,
ID_MENU_HELP_ABOUT,
ID_BUTTON_UP,
ID_BUTTON_HOME,
ID_BUTTON_REFRESH,
ID_SELECTION_CHANGE,
ID_DIRECTORY_CHANGE,
ID_DIRECTORY_INVOKED,
ID_LOCATION_BAR_INVOKED
};
class folderWindow:public os::Window
{
public:
folderWindow( char *path, appConfig * inputConfig );
virtual void HandleMessage( os::Message * pcMessage );
virtual bool OkToQuit();
private:
void DirectoryUp();
os::Menu * mainMenu, *tempSubMenu;
os::Button *parentButton;
os::StringView *locationLabel;
os::TextView *locationBar;
FilesView *mainView;
os::DirectoryView *mainView2;
os::StringView *infoLabel;
char windowPath[MAX_PATH_SIZE];
_appConfig *mainConfig;
};
#endif /* __FOLDER_WINDOW_H__ */