MainWindow Class Reference

#include <MainWindow.h>

Inherits MainWindowBase.

Inheritance diagram for MainWindow:

Inheritance graph
[legend]
Collaboration diagram for MainWindow:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 62 of file MainWindow.h.

Public Types

enum  AudioFileOpenMode { ReplaceMainModel, CreateAdditionalModel, ReplaceCurrentPane, AskUser }
enum  FileOpenStatus { FileOpenSucceeded, FileOpenFailed, FileOpenCancelled, FileOpenWrongMode }

Public Slots

virtual void preferenceChanged (PropertyContainer::PropertyName)
virtual bool commitData (bool mayAskUser)

Signals

virtual void canChangeSolo (bool)
virtual void canAlign (bool)
void canAddPane (bool)
void canDeleteCurrentPane (bool)
void canAddLayer (bool)
void canImportMoreAudio (bool)
void canImportLayer (bool)
void canExportAudio (bool)
void canExportLayer (bool)
void canExportImage (bool)
void canRenameLayer (bool)
void canEditLayer (bool)
void canMeasureLayer (bool)
void canSelect (bool)
void canClearSelection (bool)
void canEditSelection (bool)
void canDeleteSelection (bool)
void canPaste (bool)
void canInsertInstant (bool)
void canInsertInstantsAtBoundaries (bool)
void canRenumberInstants (bool)
void canDeleteCurrentLayer (bool)
void canZoom (bool)
void canScroll (bool)
void canPlay (bool)
void canFfwd (bool)
void canRewind (bool)
void canPlaySelection (bool)
void canSpeedUpPlayback (bool)
void canSlowDownPlayback (bool)
void canChangePlaybackSpeed (bool)
void canSelectPreviousPane (bool)
void canSelectNextPane (bool)
void canSelectPreviousLayer (bool)
void canSelectNextLayer (bool)
void canSave (bool)

Public Member Functions

 MainWindow (bool withAudioOutput=true, bool withOSCSupport=true)
virtual ~MainWindow ()
virtual FileOpenStatus open (QString fileOrUrl, AudioFileOpenMode=AskUser)
virtual FileOpenStatus open (FileSource source, AudioFileOpenMode=AskUser)
virtual FileOpenStatus openAudio (FileSource source, AudioFileOpenMode=AskUser)
virtual FileOpenStatus openPlaylist (FileSource source, AudioFileOpenMode=AskUser)
virtual FileOpenStatus openLayer (FileSource source)
virtual FileOpenStatus openImage (FileSource source)
virtual FileOpenStatus openSessionFile (QString fileOrUrl)
virtual FileOpenStatus openSession (FileSource source)
virtual bool saveSessionFile (QString path)

Protected Types

typedef std::map< QAction *,
LayerConfiguration
PaneActionMap
typedef std::map< QAction *,
LayerConfiguration
LayerActionMap
typedef std::map< QAction *,
TransformId
TransformActionMap
typedef std::map< TransformId,
QAction * > 
TransformActionReverseMap
typedef std::map< QAction *,
Layer * > 
ExistingLayerActionMap
typedef std::map< ViewManager::ToolMode,
QAction * > 
ToolActionMap
typedef std::map< QAction *,
int > 
NumberingActionMap

Protected Slots

virtual void openSession ()
virtual void importAudio ()
virtual void importMoreAudio ()
virtual void openSomething ()
virtual void openLocation ()
virtual void openRecentFile ()
virtual void exportAudio ()
virtual void importLayer ()
virtual void exportLayer ()
virtual void exportImage ()
virtual void saveSession ()
virtual void saveSessionAs ()
virtual void newSession ()
virtual void closeSession ()
virtual void preferences ()
virtual void sampleRateMismatch (size_t, size_t, bool)
virtual void audioOverloadPluginDisabled ()
virtual void toolNavigateSelected ()
virtual void toolSelectSelected ()
virtual void toolEditSelected ()
virtual void toolDrawSelected ()
virtual void toolEraseSelected ()
virtual void toolMeasureSelected ()
virtual void documentModified ()
virtual void documentRestored ()
virtual void updateMenuStates ()
virtual void updateDescriptionLabel ()
virtual void setInstantsNumbering ()
virtual void setInstantsCounterCycle ()
virtual void resetInstantsCounters ()
virtual void modelGenerationFailed (QString, QString)
virtual void modelGenerationWarning (QString, QString)
virtual void modelRegenerationFailed (QString, QString, QString)
virtual void modelRegenerationWarning (QString, QString, QString)
virtual void alignmentFailed (QString, QString)
virtual void rightButtonMenuRequested (Pane *, QPoint point)
virtual void propertyStacksResized (int)
virtual void addPane ()
virtual void addLayer ()
virtual void renameCurrentLayer ()
virtual void paneAdded (Pane *)
virtual void paneHidden (Pane *)
virtual void paneAboutToBeDeleted (Pane *)
virtual void paneDropAccepted (Pane *, QStringList)
virtual void paneDropAccepted (Pane *, QString)
virtual void setupRecentFilesMenu ()
virtual void setupRecentTransformsMenu ()
virtual void playSpeedChanged (int)
virtual void playSoloToggled ()
virtual void alignToggled ()
virtual void currentPaneChanged (Pane *)
virtual void speedUpPlayback ()
virtual void slowDownPlayback ()
virtual void restoreNormalPlayback ()
virtual void outputLevelsChanged (float, float)
virtual void layerRemoved (Layer *)
virtual void layerInAView (Layer *, bool)
virtual void mainModelChanged (WaveFileModel *)
virtual void modelAdded (Model *)
virtual void showLayerTree ()
virtual void mouseEnteredWidget ()
virtual void mouseLeftWidget ()
virtual void handleOSCMessage (const OSCMessage &)
virtual void website ()
virtual void help ()
virtual void about ()
virtual void keyReference ()
virtual void zoomIn ()
virtual void zoomOut ()
virtual void zoomToFit ()
virtual void zoomDefault ()
virtual void scrollLeft ()
virtual void scrollRight ()
virtual void jumpLeft ()
virtual void jumpRight ()
virtual void showNoOverlays ()
virtual void showMinimalOverlays ()
virtual void showStandardOverlays ()
virtual void showAllOverlays ()
virtual void toggleZoomWheels ()
virtual void togglePropertyBoxes ()
virtual void toggleStatusBar ()
virtual void play ()
virtual void ffwd ()
virtual void ffwdEnd ()
virtual void rewind ()
virtual void rewindStart ()
virtual void stop ()
virtual void deleteCurrentPane ()
virtual void deleteCurrentLayer ()
virtual void previousPane ()
virtual void nextPane ()
virtual void previousLayer ()
virtual void nextLayer ()
virtual void playLoopToggled ()
virtual void playSelectionToggled ()
virtual void playbackFrameChanged (unsigned long)
virtual void globalCentreFrameChanged (unsigned long)
virtual void viewCentreFrameChanged (View *, unsigned long)
virtual void viewZoomLevelChanged (View *, unsigned long, bool)
virtual void currentLayerChanged (Pane *, Layer *)
virtual void selectAll ()
virtual void selectToStart ()
virtual void selectToEnd ()
virtual void selectVisible ()
virtual void clearSelection ()
virtual void cut ()
virtual void copy ()
virtual void paste ()
virtual void deleteSelected ()
virtual void insertInstant ()
virtual void insertInstantAt (size_t)
virtual void insertInstantsAtBoundaries ()
virtual void renumberInstants ()
virtual void layerAdded (Layer *)
virtual void layerAboutToBeDeleted (Layer *)
virtual void modelAboutToBeDeleted (Model *)
virtual void paneDeleteButtonClicked (Pane *)
virtual void pollOSC ()
virtual void contextHelpChanged (const QString &)
virtual void inProgressSelectionChanged ()

Protected Member Functions

virtual void setupMenus ()
virtual void setupFileMenu ()
virtual void setupEditMenu ()
virtual void setupViewMenu ()
virtual void setupPaneAndLayerMenus ()
virtual void setupTransformsMenu ()
virtual void setupHelpMenu ()
virtual void setupExistingLayersMenus ()
virtual void setupToolbars ()
virtual void addPane (const LayerConfiguration &configuration, QString text)
virtual void closeEvent (QCloseEvent *e)
virtual bool checkSaveModified ()
virtual void updateVisibleRangeDisplay (Pane *p) const
WaveFileModelgetMainModel ()
const WaveFileModelgetMainModel () const
void createDocument ()
PaneaddPaneToStack ()
LayergetSnapLayer () const
virtual QString getOpenFileName (FileFinder::FileType type)
virtual QString getSaveFileName (FileFinder::FileType type)
virtual void registerLastOpenedFilePath (FileFinder::FileType type, QString path)
virtual void createPlayTarget ()
virtual void openHelpUrl (QString url)
virtual void toXml (QTextStream &stream)

Protected Attributes

Overviewm_overview
Faderm_fader
AudioDialm_playSpeed
WaveformLayerm_panLayer
bool m_mainMenusCreated
QMenu * m_paneMenu
QMenu * m_layerMenu
QMenu * m_transformsMenu
QMenu * m_playbackMenu
QMenu * m_existingLayersMenu
QMenu * m_sliceMenu
QMenu * m_recentFilesMenu
QMenu * m_recentTransformsMenu
QMenu * m_rightButtonMenu
QMenu * m_rightButtonLayerMenu
QMenu * m_rightButtonTransformsMenu
QMenu * m_rightButtonPlaybackMenu
QAction * m_deleteSelectedAction
QAction * m_soloAction
QAction * m_ffwdAction
QAction * m_rwdAction
bool m_soloModified
bool m_prevSolo
QFrame * m_playControlsSpacer
int m_playControlsWidth
QPointer< PreferencesDialogm_preferencesDialog
QPointer< LayerTreeDialogm_layerTreeDialog
KeyReferencem_keyReference
PaneActionMap m_paneActions
LayerActionMap m_layerActions
TransformActionMap m_transformActions
TransformActionReverseMap m_transformActionsReverse
ExistingLayerActionMap m_existingLayerActions
ExistingLayerActionMap m_sliceActions
ToolActionMap m_toolActions
NumberingActionMap m_numberingActions
QString m_sessionFile
QString m_audioFile
Documentm_document
QLabel * m_descriptionLabel
PaneStackm_paneStack
ViewManagerm_viewManager
Layerm_timeRulerLayer
bool m_audioOutput
AudioCallbackPlaySourcem_playSource
AudioCallbackPlayTargetm_playTarget
OSCQueuem_oscQueue
RecentFiles m_recentFiles
RecentFiles m_recentTransforms
bool m_documentModified
bool m_openingAudioFile
bool m_abandoning
Labellerm_labeller
int m_lastPlayStatusSec
QString m_myStatusMessage
bool m_initialDarkBackground

Classes

struct  LayerConfiguration


Member Typedef Documentation

typedef std::map<QAction *, LayerConfiguration> MainWindow::PaneActionMap [protected]

Definition at line 216 of file MainWindow.h.

typedef std::map<QAction *, LayerConfiguration> MainWindow::LayerActionMap [protected]

Definition at line 219 of file MainWindow.h.

typedef std::map<QAction *, TransformId> MainWindow::TransformActionMap [protected]

Definition at line 222 of file MainWindow.h.

typedef std::map<TransformId, QAction *> MainWindow::TransformActionReverseMap [protected]

Definition at line 225 of file MainWindow.h.

typedef std::map<QAction *, Layer *> MainWindow::ExistingLayerActionMap [protected]

Definition at line 228 of file MainWindow.h.

typedef std::map<ViewManager::ToolMode, QAction *> MainWindow::ToolActionMap [protected]

Definition at line 232 of file MainWindow.h.

typedef std::map<QAction *, int> MainWindow::NumberingActionMap [protected]

Definition at line 235 of file MainWindow.h.


Member Enumeration Documentation

enum MainWindowBase::AudioFileOpenMode [inherited]

Enumerator:
ReplaceMainModel 
CreateAdditionalModel 
ReplaceCurrentPane 
AskUser 

Definition at line 77 of file MainWindowBase.h.

enum MainWindowBase::FileOpenStatus [inherited]

Enumerator:
FileOpenSucceeded 
FileOpenFailed 
FileOpenCancelled 
FileOpenWrongMode 

Definition at line 84 of file MainWindowBase.h.


Constructor & Destructor Documentation

MainWindow::MainWindow ( bool  withAudioOutput = true,
bool  withOSCSupport = true 
)

Definition at line 115 of file MainWindow.cpp.

References ColourDatabase::addColour(), View::addLayer(), MainWindowBase::contextHelpChanged(), ColourDatabase::getColourIndex(), ViewManager::getGlobalDarkBackground(), ColourDatabase::getInstance(), UnitDatabase::getInstance(), MainWindowBase::m_descriptionLabel, m_fader, m_overview, MainWindowBase::m_paneStack, m_panLayer, m_playControlsSpacer, m_playControlsWidth, m_playSpeed, MainWindowBase::m_viewManager, WaveformLayer::MergeChannels, mouseEnteredWidget(), mouseLeftWidget(), newSession(), playSpeedChanged(), propertyStacksResized(), UnitDatabase::registerUnit(), WaveformLayer::setAggressiveCacheing(), SingleColourLayer::setBaseColour(), WaveformLayer::setChannelMode(), AudioDial::setDefaultValue(), PaneStack::setPropertyStackMinWidth(), AudioDial::setRangeMapper(), AudioDial::setShowToolTip(), setupHelpMenu(), setupMenus(), setupToolbars(), ColourDatabase::setUseDarkBackground(), AudioDial::setValue(), and View::setViewManager().

MainWindow::~MainWindow (  )  [virtual]

Definition at line 264 of file MainWindow.cpp.

References Profiles::dump(), Profiles::getInstance(), m_keyReference, m_layerTreeDialog, and m_preferencesDialog.


Member Function Documentation

virtual void MainWindow::canChangeSolo ( bool   )  [virtual, signal]

Referenced by alignToggled(), setupToolbars(), and updateMenuStates().

virtual void MainWindow::canAlign ( bool   )  [virtual, signal]

Referenced by setupToolbars(), and updateMenuStates().

void MainWindow::preferenceChanged ( PropertyContainer::PropertyName   )  [virtual, slot]

Reimplemented from MainWindowBase.

Definition at line 2699 of file MainWindow.cpp.

References ColourDatabase::getColourIndex(), ViewManager::getGlobalDarkBackground(), ColourDatabase::getInstance(), m_panLayer, MainWindowBase::m_viewManager, MainWindowBase::preferenceChanged(), and SingleColourLayer::setBaseColour().

bool MainWindow::commitData ( bool  mayAskUser  )  [virtual, slot]

Definition at line 2576 of file MainWindow.cpp.

References RecentFiles::addFile(), checkSaveModified(), MainWindowBase::m_documentModified, m_preferencesDialog, MainWindowBase::m_recentFiles, and MainWindowBase::saveSessionFile().

Referenced by SVApplication::commitData().

void MainWindow::openSession (  )  [protected, virtual, slot]

Definition at line 2385 of file MainWindow.cpp.

References checkSaveModified(), MainWindowBase::FileOpenFailed, MainWindowBase::getOpenFileName(), MainWindowBase::m_audioFile, MainWindowBase::openSessionFile(), and FileFinder::SessionFile.

Referenced by setupFileMenu().

void MainWindow::importAudio (  )  [protected, virtual, slot]

Definition at line 1971 of file MainWindow.cpp.

References FileFinder::AudioFile, MainWindowBase::FileOpenFailed, MainWindowBase::getOpenFileName(), MainWindowBase::openAudio(), and MainWindowBase::ReplaceMainModel.

Referenced by setupFileMenu().

void MainWindow::importMoreAudio (  )  [protected, virtual, slot]

Definition at line 1984 of file MainWindow.cpp.

References FileFinder::AudioFile, MainWindowBase::CreateAdditionalModel, MainWindowBase::FileOpenFailed, MainWindowBase::getOpenFileName(), and MainWindowBase::openAudio().

Referenced by setupFileMenu().

void MainWindow::openSomething (  )  [protected, virtual, slot]

Definition at line 2404 of file MainWindow.cpp.

References FileFinder::AnyFile, MainWindowBase::AskUser, MainWindowBase::FileOpenFailed, MainWindowBase::FileOpenWrongMode, MainWindowBase::getOpenFileName(), MainWindowBase::m_audioFile, and MainWindowBase::open().

Referenced by setupFileMenu().

void MainWindow::openLocation (  )  [protected, virtual, slot]

Definition at line 2426 of file MainWindow.cpp.

References MainWindowBase::FileOpenFailed, MainWindowBase::FileOpenWrongMode, and MainWindowBase::open().

Referenced by setupFileMenu().

void MainWindow::openRecentFile (  )  [protected, virtual, slot]

Definition at line 2456 of file MainWindow.cpp.

References MainWindowBase::FileOpenFailed, MainWindowBase::FileOpenWrongMode, and MainWindowBase::open().

Referenced by setupRecentFilesMenu().

void MainWindow::exportAudio (  )  [protected, virtual, slot]

Definition at line 1997 of file MainWindow.cpp.

References RecentFiles::addFile(), FileFinder::AudioFile, WavFileWriter::getError(), ListInputDialog::getItem(), MainWindowBase::getMainModel(), MainWindowBase::getSaveFileName(), ViewManager::getSelection(), ViewManager::getSelections(), WavFileWriter::isOK(), MainWindowBase::m_recentFiles, MainWindowBase::m_viewManager, MultiSelection::setSelection(), and WavFileWriter::writeModel().

Referenced by setupFileMenu().

void MainWindow::importLayer (  )  [protected, virtual, slot]

Definition at line 2104 of file MainWindow.cpp.

References MainWindowBase::FileOpenFailed, MainWindowBase::FileOpenWrongMode, PaneStack::getCurrentPane(), MainWindowBase::getMainModel(), MainWindowBase::getOpenFileName(), FileFinder::LayerFile, MainWindowBase::m_paneStack, and MainWindowBase::openLayer().

Referenced by setupFileMenu().

void MainWindow::exportLayer (  )  [protected, virtual, slot]

Definition at line 2138 of file MainWindow.cpp.

References RecentFiles::addFile(), PaneStack::getCurrentPane(), CSVFileWriter::getError(), MIDIFileWriter::getError(), Layer::getModel(), MainWindowBase::getSaveFileName(), View::getSelectedLayer(), CSVFileWriter::isOK(), MIDIFileWriter::isOK(), FileFinder::LayerFile, FileFinder::LayerFileNoMidi, MainWindowBase::m_paneStack, MainWindowBase::m_recentFiles, Layer::toXml(), CSVFileWriter::write(), and MIDIFileWriter::write().

Referenced by setupFileMenu().

void MainWindow::exportImage (  )  [protected, virtual, slot]

Definition at line 2219 of file MainWindow.cpp.

References PaneStack::getCurrentPane(), ListInputDialog::getCurrentString(), Pane::getFirstVisibleFrame(), Pane::getImageSize(), View::getLastVisibleFrame(), MainWindowBase::getSaveFileName(), ViewManager::getSelections(), FileFinder::ImageFile, MainWindowBase::m_paneStack, MainWindowBase::m_viewManager, ListInputDialog::setFootnote(), ListInputDialog::setItemAvailability(), and Pane::toNewImage().

Referenced by setupFileMenu().

void MainWindow::saveSession (  )  [protected, virtual, slot]

Definition at line 2659 of file MainWindow.cpp.

References documentRestored(), CommandHistory::documentSaved(), CommandHistory::getInstance(), MainWindowBase::m_sessionFile, saveSessionAs(), and MainWindowBase::saveSessionFile().

Referenced by checkSaveModified(), and setupFileMenu().

void MainWindow::saveSessionAs (  )  [protected, virtual, slot]

Definition at line 2675 of file MainWindow.cpp.

References RecentFiles::addFile(), documentRestored(), CommandHistory::documentSaved(), CommandHistory::getInstance(), MainWindowBase::getSaveFileName(), MainWindowBase::m_audioFile, MainWindowBase::m_recentFiles, MainWindowBase::m_sessionFile, MainWindowBase::saveSessionFile(), and FileFinder::SessionFile.

Referenced by saveSession(), and setupFileMenu().

void MainWindow::newSession (  )  [protected, virtual, slot]

Definition at line 2309 of file MainWindow.cpp.

References Document::addLayerToView(), PaneStack::addPane(), checkSaveModified(), CommandHistory::clear(), closeSession(), MainWindowBase::contextHelpChanged(), MainWindowBase::createDocument(), Document::createMainModelLayer(), documentRestored(), CommandHistory::documentSaved(), CommandHistory::getInstance(), MainWindowBase::m_document, m_overview, MainWindowBase::m_paneStack, MainWindowBase::m_timeRulerLayer, Overview::registerView(), LayerFactory::TimeRuler, updateMenuStates(), and LayerFactory::Waveform.

Referenced by MainWindow(), and setupFileMenu().

void MainWindow::closeSession (  )  [protected, virtual, slot]

Implements MainWindowBase.

Definition at line 2340 of file MainWindow.cpp.

References checkSaveModified(), CommandHistory::clear(), ViewManager::clearSelections(), PaneStack::deletePane(), documentRestored(), CommandHistory::documentSaved(), PaneStack::getHiddenPane(), PaneStack::getHiddenPaneCount(), CommandHistory::getInstance(), PaneStack::getPane(), PaneStack::getPaneCount(), MainWindowBase::m_document, m_overview, MainWindowBase::m_paneStack, MainWindowBase::m_sessionFile, MainWindowBase::m_timeRulerLayer, MainWindowBase::m_viewManager, Document::removeLayerFromView(), and Overview::unregisterView().

Referenced by closeEvent(), and newSession().

void MainWindow::preferences (  )  [protected, virtual, slot]

Definition at line 3391 of file MainWindow.cpp.

References m_preferencesDialog.

Referenced by setupFileMenu().

void MainWindow::sampleRateMismatch ( size_t  ,
size_t  ,
bool   
) [protected, virtual, slot]

Implements MainWindowBase.

Definition at line 3201 of file MainWindow.cpp.

References updateDescriptionLabel().

void MainWindow::audioOverloadPluginDisabled (  )  [protected, virtual, slot]

Implements MainWindowBase.

Definition at line 3215 of file MainWindow.cpp.

void MainWindow::toolNavigateSelected (  )  [protected, virtual, slot]

Definition at line 1935 of file MainWindow.cpp.

References MainWindowBase::m_viewManager, ViewManager::NavigateMode, and ViewManager::setToolMode().

Referenced by setupToolbars().

void MainWindow::toolSelectSelected (  )  [protected, virtual, slot]

Definition at line 1941 of file MainWindow.cpp.

References MainWindowBase::m_viewManager, ViewManager::SelectMode, and ViewManager::setToolMode().

Referenced by setupToolbars().

void MainWindow::toolEditSelected (  )  [protected, virtual, slot]

Definition at line 1947 of file MainWindow.cpp.

References ViewManager::EditMode, MainWindowBase::m_viewManager, and ViewManager::setToolMode().

Referenced by setupToolbars().

void MainWindow::toolDrawSelected (  )  [protected, virtual, slot]

Definition at line 1953 of file MainWindow.cpp.

References ViewManager::DrawMode, MainWindowBase::m_viewManager, and ViewManager::setToolMode().

Referenced by setupToolbars().

void MainWindow::toolEraseSelected (  )  [protected, virtual, slot]

Definition at line 1959 of file MainWindow.cpp.

References ViewManager::EraseMode, MainWindowBase::m_viewManager, and ViewManager::setToolMode().

Referenced by setupToolbars().

void MainWindow::toolMeasureSelected (  )  [protected, virtual, slot]

Definition at line 1965 of file MainWindow.cpp.

References MainWindowBase::m_viewManager, ViewManager::MeasureMode, and ViewManager::setToolMode().

Referenced by setupToolbars().

void MainWindow::documentModified (  )  [protected, virtual, slot]

Reimplemented from MainWindowBase.

Definition at line 1921 of file MainWindow.cpp.

References MainWindowBase::documentModified().

void MainWindow::documentRestored (  )  [protected, virtual, slot]

Reimplemented from MainWindowBase.

Definition at line 1928 of file MainWindow.cpp.

References MainWindowBase::documentRestored().

Referenced by closeSession(), newSession(), saveSession(), and saveSessionAs().

void MainWindow::updateMenuStates (  )  [protected, virtual, slot]

Reimplemented from MainWindowBase.

Definition at line 1823 of file MainWindow.cpp.

References