CNewFileSelector Class Reference

New file selector class. More...

Inheritance diagram for CNewFileSelector:
Inheritance graph
[legend]
Collaboration diagram for CNewFileSelector:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Style { kSelectFile, kSelectSaveFile, kSelectDirectory }

Public Member Functions

CFileSelector setup



void setTitle (UTF8StringPtr title)
 set title of file selector
void setInitialDirectory (UTF8StringPtr path)
 set initial directory (UTF8 string)
void setDefaultSaveName (UTF8StringPtr 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



int32_t getNumSelectedFiles () const
 get number of selected files
UTF8StringPtr getSelectedFile (uint32_t 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
virtual int32_t getNbReference () const
 get refcount
Message Methods



virtual CMessageResult notify (CBaseObject *sender, IdStringPtr message)

Static Public Member Functions

static const CFileExtensiongetAllFilesExtension ()
 get the all files extension

Static Public Attributes

static IdStringPtr kSelectEndMessage = "CNewFileSelector Select End Message"

Protected Types

typedef std::list< CFileExtensionFileExtensionList

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
UTF8StringBuffer title
UTF8StringBuffer initialPath
UTF8StringBuffer defaultSaveName
const CFileExtensiondefaultExtension
bool allowMultiFileSelection
FileExtensionList extensions
std::vector< UTF8StringBufferresult

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

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, IdStringPtr 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 Typedef Documentation

typedef std::list<CFileExtension> FileExtensionList [protected]

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

void addFileExtension ( const CFileExtension extension  ) 

add a file extension

void cancel (  ) 

cancel running the file selector

virtual void cancelInternal (  )  [protected, pure virtual]
static CNewFileSelector* create ( CFrame parent = 0,
Style  style = kSelectFile 
) [static]

create a new instance

virtual void forget (  )  [inline, virtual, inherited]

decrease refcount and delete object if refcount == 0

const CFileExtension & getAllFilesExtension (  )  [static]

get the all files extension

virtual int32_t getNbReference (  )  const [inline, virtual, inherited]

get refcount

int32_t getNumSelectedFiles (  )  const

get number of selected files

UTF8StringPtr getSelectedFile ( uint32_t  index  )  const

get selected file. Result is only valid as long as the instance of CNewFileSelector is valid.

virtual CMessageResult notify ( CBaseObject sender,
IdStringPtr  message 
) [inline, virtual, inherited]
virtual void remember (  )  [inline, virtual, inherited]

increase refcount

bool run ( CBaseObject delegate  ) 

the delegate will get a kSelectEndMessage throu the notify method where the sender is this CNewFileSelector object

virtual bool runInternal ( CBaseObject delegate  )  [protected, pure virtual]
bool runModal (  ) 

run as modal dialog

virtual bool runModalInternal (  )  [protected, pure virtual]
void setAllowMultiFileSelection ( bool  state  ) 

set allow multi file selection (only valid for kSelectFile selector style)

void setDefaultExtension ( const CFileExtension extension  ) 

set default file extension

void setDefaultSaveName ( UTF8StringPtr  name  ) 

set initial save name (UTF8 string)

void setInitialDirectory ( UTF8StringPtr  path  ) 

set initial directory (UTF8 string)

void setTitle ( UTF8StringPtr  title  ) 

set title of file selector


Member Data Documentation

bool allowMultiFileSelection [protected]
const CFileExtension* defaultExtension [protected]
CFrame* frame [protected]
IdStringPtr kSelectEndMessage = "CNewFileSelector Select End Message" [static]
std::vector<UTF8StringBuffer> result [protected]
UTF8StringBuffer title [protected]

The documentation for this class was generated from the following files:

Generated on Fri Nov 22 11:09:32 2013 for VSTGUI by  doxygen 1.6.1