New file selector class. More...
#include <cfileselector.h>
Public Types | |
enum | Style { kSelectFile, kSelectSaveFile, kSelectDirectory } |
Static Public Member Functions | |
static const CFileExtension & | getAllFilesExtension () |
get the all files extension | |
Static Public Attributes | |
static const char * | kSelectEndMessage = "CNewFileSelector Select End Message" |
Protected Member Functions | |
CNewFileSelector (CFrame *frame=0) | |
~CNewFileSelector () | |
virtual bool | runInternal (CBaseObject *delegate)=0 |
virtual void | cancelInternal ()=0 |
virtual bool | runModalInternal ()=0 |
Protected Attributes | |
CFrame * | frame |
char * | title |
char * | initialPath |
char * | defaultSaveName |
const CFileExtension * | defaultExtension |
bool | allowMultiFileSelection |
std::list< CFileExtension > | extensions |
std::vector< char * > | result |
CFileSelector running | |
| |
static CNewFileSelector * | create (CFrame *parent=0, Style style=kSelectFile) |
create a new instance | |
bool | run (CBaseObject *delegate) |
the delegate will get a kSelectEndMessage throu the notify method where the sender is this CNewFileSelector object | |
void | cancel () |
cancel running the file selector | |
bool | runModal () |
run as modal dialog | |
CFileSelector setup | |
| |
void | setTitle (const char *title) |
set title of file selector | |
void | setInitialDirectory (const char *path) |
set initial directory (UTF8 string) | |
void | setDefaultSaveName (const char *name) |
set initial save name (UTF8 string) | |
void | setDefaultExtension (const CFileExtension &extension) |
set default file extension | |
void | setAllowMultiFileSelection (bool state) |
set allow multi file selection (only valid for kSelectFile selector style) | |
void | addFileExtension (const CFileExtension &extension) |
add a file extension | |
CFileSelector result | |
| |
int | getNumSelectedFiles () const |
get number of selected files | |
const char * | getSelectedFile (int index) const |
get selected file. Result is only valid as long as the instance of CNewFileSelector is valid. | |
Reference Counting Methods | |
| |
virtual void | forget () |
decrease refcount and delete object if refcount == 0 | |
virtual void | remember () |
increase refcount | |
long | getNbReference () const |
get refcount | |
Message Methods | |
| |
virtual CMessageResult | notify (CBaseObject *sender, const char *message) |
New file selector class.
Running the file selector
void MyClass::runFileSelector () { CNewFileSelector* selector = CNewFileSelector::create (getFrame (), CNewFileSelector::kSelectFile); if (selector) { selector->addFileExtension (CFileExtension ("AIFF", "aif", "audio/aiff")); selector->setDefaultExtension (CFileExtension ("WAVE", "wav")); selector->setTitle("Choose An Audio File"); selector->run (this); selector->forget (); } }
Getting results
CMessageResult MyClass::notify (CBaseObject* sender, const char* message) { if (message == CNewFileSelector::kSelectEndMessage) { CNewFileSelector* sel = dynamic_cast<CNewFileSelector*>(sender); if (sel) { // do anything with the selected files here return kMessageNotified; } } return parent::notify (sender, message); }
enum Style |
CNewFileSelector | ( | CFrame * | frame = 0 |
) | [protected] |
~CNewFileSelector | ( | ) | [protected] |
static CNewFileSelector* create | ( | CFrame * | parent = 0 , |
|
Style | style = kSelectFile | |||
) | [static] |
create a new instance
bool run | ( | CBaseObject * | delegate | ) |
the delegate will get a kSelectEndMessage throu the notify method where the sender is this CNewFileSelector object
void cancel | ( | ) |
cancel running the file selector
bool runModal | ( | ) |
run as modal dialog
void setTitle | ( | const char * | title | ) |
set title of file selector
void setInitialDirectory | ( | const char * | path | ) |
set initial directory (UTF8 string)
void setDefaultSaveName | ( | const char * | name | ) |
set initial save name (UTF8 string)
void setDefaultExtension | ( | const CFileExtension & | extension | ) |
set default file extension
void setAllowMultiFileSelection | ( | bool | state | ) |
set allow multi file selection (only valid for kSelectFile selector style)
void addFileExtension | ( | const CFileExtension & | extension | ) |
add a file extension
int getNumSelectedFiles | ( | ) | const |
get number of selected files
const char * getSelectedFile | ( | int | index | ) | const |
get selected file. Result is only valid as long as the instance of CNewFileSelector is valid.
const CFileExtension & getAllFilesExtension | ( | ) | [static] |
get the all files extension
virtual bool runInternal | ( | CBaseObject * | delegate | ) | [protected, pure virtual] |
virtual void cancelInternal | ( | ) | [protected, pure virtual] |
virtual bool runModalInternal | ( | ) | [protected, pure virtual] |
virtual void forget | ( | ) | [inline, virtual, inherited] |
decrease refcount and delete object if refcount == 0
Reimplemented in CDrawContext.
virtual void remember | ( | ) | [inline, virtual, inherited] |
increase refcount
long getNbReference | ( | ) | const [inline, inherited] |
get refcount
virtual CMessageResult notify | ( | CBaseObject * | sender, | |
const char * | message | |||
) | [inline, virtual, inherited] |
Reimplemented in CDataBrowser, CScrollbar, CTooltipSupport, CView, and CViewContainer.
const char * kSelectEndMessage = "CNewFileSelector Select End Message" [static] |
char* title [protected] |
char* initialPath [protected] |
char* defaultSaveName [protected] |
const CFileExtension* defaultExtension [protected] |
bool allowMultiFileSelection [protected] |
std::list<CFileExtension> extensions [protected] |
std::vector<char*> result [protected] |