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] |
1.6.3