CNewFileSelector Class Reference

New file selector class. More...

#include <cfileselector.h>

List of all members.

Public Types

enum  Style { kSelectFile, kSelectSaveFile, kSelectDirectory }

Static Public Member Functions

static const CFileExtensiongetAllFilesExtension ()
 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

CFrameframe
char * title
char * initialPath
char * defaultSaveName
const CFileExtensiondefaultExtension
bool allowMultiFileSelection
std::list< CFileExtensionextensions
std::vector< char * > result

CFileSelector running



static CNewFileSelectorcreate (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)

Detailed Description

New file selector class.

Usage

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);
}

Member Enumeration Documentation

enum Style
Enumerator:
kSelectFile 

select file(s) selector style

kSelectSaveFile 

select save file selector style

kSelectDirectory 

select directory style


Constructor & Destructor Documentation

CNewFileSelector ( CFrame frame = 0  )  [protected]
~CNewFileSelector (  )  [protected]

Member Function Documentation

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]

Member Data Documentation

const char * kSelectEndMessage = "CNewFileSelector Select End Message" [static]
CFrame* frame [protected]
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]

The documentation for this class was generated from the following files:
Generated on Fri Apr 9 10:19:32 2010 for VSTGUI by  doxygen 1.6.3