52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
/*
|
|
* Copyright 2004-2007 Haiku, Inc. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Authors:
|
|
* Jérôme Duval
|
|
*/
|
|
#ifndef _DIRECTORY_FILE_PANEL_H
|
|
#define _DIRECTORY_FILE_PANEL_H
|
|
|
|
|
|
#include <FilePanel.h>
|
|
#include <Button.h>
|
|
|
|
|
|
static const uint32 MSG_DIRECTORY = 'mDIR';
|
|
|
|
|
|
class DirectoryRefFilter : public BRefFilter {
|
|
public:
|
|
DirectoryRefFilter();
|
|
bool Filter(const entry_ref* ref, BNode* node,
|
|
struct stat_beos* stat,
|
|
const char* mimeType);
|
|
};
|
|
|
|
|
|
class DirectoryFilePanel : public BFilePanel {
|
|
public:
|
|
DirectoryFilePanel(
|
|
file_panel_mode mode = B_OPEN_PANEL,
|
|
BMessenger* target = NULL,
|
|
const entry_ref* startDirectory = NULL,
|
|
uint32 nodeFlavors = 0,
|
|
bool allowMultipleSelection = true,
|
|
BMessage* message = NULL,
|
|
BRefFilter* filter = NULL,
|
|
bool modal = false,
|
|
bool hideWhenDone = true);
|
|
virtual ~DirectoryFilePanel() {};
|
|
|
|
virtual void SelectionChanged();
|
|
virtual void Show();
|
|
// overrides non-virtual BFilePanel::Show()
|
|
|
|
protected:
|
|
BButton* fCurrentButton;
|
|
};
|
|
|
|
|
|
#endif // _DIRECTORY_FILE_PANEL_H
|