LMMS
Loading...
Searching...
No Matches
juce::FileBasedDocument::Pimpl Class Reference

Classes

class  SafeParentPointer

Public Member Functions

 Pimpl (FileBasedDocument &parent_, const String &fileExtension_, const String &fileWildcard_, const String &openFileDialogTitle_, const String &saveFileDialogTitle_)
bool hasChangedSinceSaved () const
void setChangedFlag (bool hasChanged)
void changed ()
Result loadFrom (const File &newFile, bool showMessageOnFailure, bool showWaitCursor=true)
void loadFromAsync (const File &newFile, bool showMessageOnFailure, std::function< void(Result)> callback)
void loadFromUserSpecifiedFileAsync (const bool showMessageOnFailure, std::function< void(Result)> callback)
void saveAsync (bool askUserForFileIfNotSpecified, bool showMessageOnFailure, std::function< void(SaveResult)> callback)
void saveIfNeededAndUserAgreesAsync (std::function< void(SaveResult)> callback)
void saveAsAsync (const File &newFile, bool warnAboutOverwritingExistingFiles, bool askUserForFileIfNotSpecified, bool showMessageOnFailure, std::function< void(SaveResult)> callback)
void saveAsInteractiveAsync (bool warnAboutOverwritingExistingFiles, std::function< void(SaveResult)> callback)
const FilegetFile () const
void setFile (const File &newFile)
const StringgetFileExtension () const

Private Member Functions

template<typename DoLoadDocument>
void loadFromImpl (SafeParentPointer parent, const File &newFile, bool showMessageOnFailure, bool showWaitCursor, DoLoadDocument &&doLoadDocument, std::function< void(Result)> completed)
template<typename DoAskToSaveChanges, typename DoSave>
void saveIfNeededAndUserAgreesImpl (SafeParentPointer parent, std::function< void(SaveResult)> completed, DoAskToSaveChanges &&doAskToSaveChanges, DoSave &&doSave)
int askToSaveChanges (SafeParentPointer parent, std::function< void(SafeParentPointer, int)> callback)
template<typename DoSaveDocument>
void saveInternal (SafeParentPointer parent, const File &newFile, bool showMessageOnFailure, bool showWaitCursor, std::function< void(SaveResult)> afterSave, DoSaveDocument &&doSaveDocument)
template<typename DoSaveAsInteractive, typename DoAskToOverwriteFile, typename DoSaveDocument>
void saveAsImpl (SafeParentPointer parent, const File &newFile, bool warnAboutOverwritingExistingFiles, bool askUserForFileIfNotSpecified, bool showMessageOnFailure, std::function< void(SaveResult)> callback, bool showWaitCursor, DoSaveAsInteractive &&doSaveAsInteractive, DoAskToOverwriteFile &&doAskToOverwriteFile, DoSaveDocument &&doSaveDocument)
void saveAsAsyncImpl (SafeParentPointer parent, const File &newFile, bool warnAboutOverwritingExistingFiles, bool askUserForFileIfNotSpecified, bool showMessageOnFailure, std::function< void(SaveResult)> callback, bool showWaitCursor)
void saveAsInteractiveAsyncImpl (SafeParentPointer parent, bool warnAboutOverwritingExistingFiles, std::function< void(SaveResult)> callback)
bool askToOverwriteFile (SafeParentPointer parent, const File &newFile, std::function< void(SafeParentPointer, bool)> callback)
void getSaveAsFilenameAsync (SafeParentPointer parent, bool warnAboutOverwritingExistingFiles, std::function< void(SafeParentPointer, const File &)> callback)
template<typename DoSelectFilename, typename DoSaveAs, typename DoAskToOverwriteFile>
void saveAsInteractiveImpl (SafeParentPointer parent, bool warnAboutOverwritingExistingFiles, std::function< void(SaveResult)> callback, DoSelectFilename &&doSelectFilename, DoSaveAs &&doSaveAs, DoAskToOverwriteFile &&doAskToOverwriteFile)
std::unique_ptr< FileChoosergetInteractiveFileChooser ()

Private Attributes

FileBasedDocumentdocument
File documentFile
bool changedSinceSave = false
String fileExtension
String fileWildcard
String openFileDialogTitle
String saveFileDialogTitle
std::unique_ptr< FileChooserasyncFc

Constructor & Destructor Documentation

◆ Pimpl()

juce::FileBasedDocument::Pimpl::Pimpl ( FileBasedDocument & parent_,
const String & fileExtension_,
const String & fileWildcard_,
const String & openFileDialogTitle_,
const String & saveFileDialogTitle_ )
inline

Member Function Documentation

◆ askToOverwriteFile()

bool juce::FileBasedDocument::Pimpl::askToOverwriteFile ( SafeParentPointer parent,
const File & newFile,
std::function< void(SafeParentPointer, bool)> callback )
inlineprivate

◆ askToSaveChanges()

int juce::FileBasedDocument::Pimpl::askToSaveChanges ( SafeParentPointer parent,
std::function< void(SafeParentPointer, int)> callback )
inlineprivate

◆ changed()

void juce::FileBasedDocument::Pimpl::changed ( )
inline

◆ getFile()

const File & juce::FileBasedDocument::Pimpl::getFile ( ) const
inline

◆ getFileExtension()

const String & juce::FileBasedDocument::Pimpl::getFileExtension ( ) const
inline

◆ getInteractiveFileChooser()

std::unique_ptr< FileChooser > juce::FileBasedDocument::Pimpl::getInteractiveFileChooser ( )
inlineprivate

◆ getSaveAsFilenameAsync()

void juce::FileBasedDocument::Pimpl::getSaveAsFilenameAsync ( SafeParentPointer parent,
bool warnAboutOverwritingExistingFiles,
std::function< void(SafeParentPointer, const File &)> callback )
inlineprivate

◆ hasChangedSinceSaved()

bool juce::FileBasedDocument::Pimpl::hasChangedSinceSaved ( ) const
inline

◆ loadFrom()

Result juce::FileBasedDocument::Pimpl::loadFrom ( const File & newFile,
bool showMessageOnFailure,
bool showWaitCursor = true )
inline

◆ loadFromAsync()

void juce::FileBasedDocument::Pimpl::loadFromAsync ( const File & newFile,
bool showMessageOnFailure,
std::function< void(Result)> callback )
inline

◆ loadFromImpl()

template<typename DoLoadDocument>
void juce::FileBasedDocument::Pimpl::loadFromImpl ( SafeParentPointer parent,
const File & newFile,
bool showMessageOnFailure,
bool showWaitCursor,
DoLoadDocument && doLoadDocument,
std::function< void(Result)> completed )
inlineprivate

◆ loadFromUserSpecifiedFileAsync()

void juce::FileBasedDocument::Pimpl::loadFromUserSpecifiedFileAsync ( const bool showMessageOnFailure,
std::function< void(Result)> callback )
inline

◆ saveAsAsync()

void juce::FileBasedDocument::Pimpl::saveAsAsync ( const File & newFile,
bool warnAboutOverwritingExistingFiles,
bool askUserForFileIfNotSpecified,
bool showMessageOnFailure,
std::function< void(SaveResult)> callback )
inline

◆ saveAsAsyncImpl()

void juce::FileBasedDocument::Pimpl::saveAsAsyncImpl ( SafeParentPointer parent,
const File & newFile,
bool warnAboutOverwritingExistingFiles,
bool askUserForFileIfNotSpecified,
bool showMessageOnFailure,
std::function< void(SaveResult)> callback,
bool showWaitCursor )
inlineprivate

◆ saveAsImpl()

template<typename DoSaveAsInteractive, typename DoAskToOverwriteFile, typename DoSaveDocument>
void juce::FileBasedDocument::Pimpl::saveAsImpl ( SafeParentPointer parent,
const File & newFile,
bool warnAboutOverwritingExistingFiles,
bool askUserForFileIfNotSpecified,
bool showMessageOnFailure,
std::function< void(SaveResult)> callback,
bool showWaitCursor,
DoSaveAsInteractive && doSaveAsInteractive,
DoAskToOverwriteFile && doAskToOverwriteFile,
DoSaveDocument && doSaveDocument )
inlineprivate

◆ saveAsInteractiveAsync()

void juce::FileBasedDocument::Pimpl::saveAsInteractiveAsync ( bool warnAboutOverwritingExistingFiles,
std::function< void(SaveResult)> callback )
inline

◆ saveAsInteractiveAsyncImpl()

void juce::FileBasedDocument::Pimpl::saveAsInteractiveAsyncImpl ( SafeParentPointer parent,
bool warnAboutOverwritingExistingFiles,
std::function< void(SaveResult)> callback )
inlineprivate

◆ saveAsInteractiveImpl()

template<typename DoSelectFilename, typename DoSaveAs, typename DoAskToOverwriteFile>
void juce::FileBasedDocument::Pimpl::saveAsInteractiveImpl ( SafeParentPointer parent,
bool warnAboutOverwritingExistingFiles,
std::function< void(SaveResult)> callback,
DoSelectFilename && doSelectFilename,
DoSaveAs && doSaveAs,
DoAskToOverwriteFile && doAskToOverwriteFile )
inlineprivate

◆ saveAsync()

void juce::FileBasedDocument::Pimpl::saveAsync ( bool askUserForFileIfNotSpecified,
bool showMessageOnFailure,
std::function< void(SaveResult)> callback )
inline

◆ saveIfNeededAndUserAgreesAsync()

void juce::FileBasedDocument::Pimpl::saveIfNeededAndUserAgreesAsync ( std::function< void(SaveResult)> callback)
inline

◆ saveIfNeededAndUserAgreesImpl()

template<typename DoAskToSaveChanges, typename DoSave>
void juce::FileBasedDocument::Pimpl::saveIfNeededAndUserAgreesImpl ( SafeParentPointer parent,
std::function< void(SaveResult)> completed,
DoAskToSaveChanges && doAskToSaveChanges,
DoSave && doSave )
inlineprivate

◆ saveInternal()

template<typename DoSaveDocument>
void juce::FileBasedDocument::Pimpl::saveInternal ( SafeParentPointer parent,
const File & newFile,
bool showMessageOnFailure,
bool showWaitCursor,
std::function< void(SaveResult)> afterSave,
DoSaveDocument && doSaveDocument )
inlineprivate

◆ setChangedFlag()

void juce::FileBasedDocument::Pimpl::setChangedFlag ( bool hasChanged)
inline

◆ setFile()

void juce::FileBasedDocument::Pimpl::setFile ( const File & newFile)
inline

Member Data Documentation

◆ asyncFc

std::unique_ptr<FileChooser> juce::FileBasedDocument::Pimpl::asyncFc
private

◆ changedSinceSave

bool juce::FileBasedDocument::Pimpl::changedSinceSave = false
private

◆ document

FileBasedDocument& juce::FileBasedDocument::Pimpl::document
private

◆ documentFile

File juce::FileBasedDocument::Pimpl::documentFile
private

◆ fileExtension

String juce::FileBasedDocument::Pimpl::fileExtension
private

◆ fileWildcard

String juce::FileBasedDocument::Pimpl::fileWildcard
private

◆ openFileDialogTitle

String juce::FileBasedDocument::Pimpl::openFileDialogTitle
private

◆ saveFileDialogTitle

String juce::FileBasedDocument::Pimpl::saveFileDialogTitle
private

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