![]() |
Audacity 3.2.0
|
A top-level window associated with a project, and handling scrollbars and zooming. More...
#include <ProjectWindow.h>
Classes | |
class | PlaybackScroller |
struct | PlaybackScrollerMessage |
Public Member Functions | |
ProjectWindow (wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, AudacityProject &project) | |
~ProjectWindow () override | |
int | NextWindowID () |
bool | IsActive () override |
bool | IsIconized () const override |
bool | IsBeingDeleted () const |
void | SetIsBeingDeleted () |
void | Reset () |
wxWindow * | GetTrackListWindow () noexcept |
Track list window is the parent container for TrackPanel. More... | |
wxSplitterWindow * | GetContainerWindow () noexcept |
Container is a parent window for both effects panel and track list windows. More... | |
wxPanel * | GetTopPanel () noexcept |
Top panel contains project-related controls and tools. More... | |
void | UpdateStatusWidths () |
PlaybackScroller & | GetPlaybackScroller () |
void | SetNormalizedWindowState (wxRect pSizeAndLocation) |
wxRect | GetNormalizedWindowState () const |
void | RedrawProject (const bool bForceWaveTracks=false) |
void | Zoom (double level) |
void | ZoomInByFactor (double ZoomFactor) |
void | ZoomOutByFactor (double ZoomFactor) |
void | ZoomBy (double multiplier) |
void | ZoomAfterImport (Track *pTrack) |
double | GetZoomOfToFit () const |
void | DoZoomFit () |
void | ApplyUpdatedTheme () |
wxScrollBar & | GetVerticalScrollBar () |
wxScrollBar & | GetHorizontalScrollBar () |
void | ScrollIntoView (double pos) |
void | ScrollIntoView (int x) |
void | OnScrollLeft () |
void | OnScrollRight () |
void | Rewind (bool shift) |
void | SkipEnd (bool shift) |
void | OnScrollLeftButton (wxScrollEvent &event) |
void | OnScrollRightButton (wxScrollEvent &event) |
void | FinishAutoScroll () |
void | FixScrollbars () |
bool | MayScrollBeyondZero () const |
double | ScrollingLowerBoundTime () const |
double | PixelWidthBeforeTime (double scrollto) const |
void | SetHorizontalThumb (double scrollto) |
wxSize | GetTPTracksUsableArea () |
void | RefreshTPTrack (Track *pTrk, bool refreshbacking=true) |
void | TP_RedrawScrollbars () override |
void | TP_ScrollLeft () override |
void | TP_ScrollRight () override |
void | TP_ScrollWindow (double scrollto) override |
bool | TP_ScrollUpDown (int delta) override |
void | TP_HandleResize () override |
void | OnMenu (wxCommandEvent &event) |
void | OnUpdateUI (wxUpdateUIEvent &event) |
void | MacShowUndockedToolbars (bool show) |
void | OnActivate (wxActivateEvent &event) |
void | OnMouseEvent (wxMouseEvent &event) |
void | OnIconize (wxIconizeEvent &event) |
void | OnSize (wxSizeEvent &event) |
void | HandleResize () |
void | UpdateLayout () |
void | OnShow (wxShowEvent &event) |
void | OnMove (wxMoveEvent &event) |
void | DoScroll () |
void | OnScroll (wxScrollEvent &event) |
void | OnToolBarUpdate (wxCommandEvent &event) |
void | OnUndoPushedModified () |
void | OnUndoRedo () |
void | OnUndoReset () |
void | OnProjectTitleChange (ProjectFileIOMessage) |
![]() | |
ProjectWindowBase (wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, AudacityProject &project) | |
~ProjectWindowBase () override | |
std::shared_ptr< AudacityProject > | FindProject () |
std::shared_ptr< const AudacityProject > | FindProject () const |
![]() | |
TrackPanelListener () | |
virtual | ~TrackPanelListener () |
virtual void | TP_RedrawScrollbars ()=0 |
virtual void | TP_ScrollLeft ()=0 |
virtual void | TP_ScrollRight ()=0 |
virtual void | TP_ScrollWindow (double scrollto)=0 |
virtual bool | TP_ScrollUpDown (int delta)=0 |
virtual void | TP_HandleResize ()=0 |
![]() | |
PrefsListener () | |
virtual | ~PrefsListener () |
virtual void | UpdatePrefs ()=0 |
![]() | |
Publisher (ExceptionPolicy *pPolicy=nullptr, Alloc a={}) | |
Constructor supporting type-erased custom allocation/deletion. More... | |
Publisher (Publisher &&)=default | |
Publisher & | operator= (Publisher &&)=default |
Subscription | Subscribe (Callback callback) |
Connect a callback to the Publisher; later-connected are called earlier. More... | |
Subscription | Subscribe (Object &obj, Return(Object::*callback)(Args...)) |
Overload of Subscribe takes an object and pointer-to-member-function. More... | |
Static Public Member Functions | |
static ProjectWindow & | Get (AudacityProject &project) |
static const ProjectWindow & | Get (const AudacityProject &project) |
static ProjectWindow * | Find (AudacityProject *pProject) |
static const ProjectWindow * | Find (const AudacityProject *pProject) |
static void | OnResetWindow (const CommandContext &context) |
![]() | |
static void | Broadcast (int id=0) |
Call this static function to notify all PrefsListener objects. More... | |
Public Attributes | |
bool | mbInitializingScrollbar { false } |
Private Member Functions | |
void | OnThemeChange (struct ThemeChangeMessage) |
void | UpdatePrefs () override |
Private Attributes | |
wxRect | mNormalizedWindowState |
wxPanel * | mTopPanel {} |
wxSplitterWindow * | mContainerWindow |
wxWindow * | mTrackListWindow {} |
wxScrollBar * | mHsbar {} |
wxScrollBar * | mVsbar {} |
int | mNextWindowID {} |
bool | mAutoScrolling { false } |
bool | mActive { true } |
bool | mIconized { false } |
bool | mShownOnce { false } |
bool | mIsDeleting { false } |
Observer::Subscription | mUndoSubscription |
Observer::Subscription | mThemeChangeSubscription |
Observer::Subscription | mTitleChangeSubcription |
Observer::Subscription | mSnappingChangedSubscription |
std::unique_ptr< PlaybackScroller > | mPlaybackScroller |
Additional Inherited Members | |
![]() | |
using | message_type = ProjectWindowDestroyedMessage |
using | CallbackReturn = std::conditional_t< true, void, bool > |
using | Callback = std::function< CallbackReturn(const ProjectWindowDestroyedMessage &) > |
Type of functions that can be connected to the Publisher. More... | |
![]() | |
static constexpr bool | notifies_all |
![]() | |
virtual void | UpdateSelectedPrefs (int id) |
![]() | |
CallbackReturn | Publish (const ProjectWindowDestroyedMessage &message) |
Send a message to connected callbacks. More... | |
![]() | |
std::weak_ptr< AudacityProject > | mwProject |
A top-level window associated with a project, and handling scrollbars and zooming.
Definition at line 37 of file ProjectWindow.h.
|
explicit |
Definition at line 601 of file ProjectWindow.cpp.
References _, ThemeBase::Colour(), ProjectFileIO::Get(), UndoManager::Get(), ProjectSnap::Get(), HSBarID, mContainerWindow, mHsbar, mNextWindowID, mPlaybackScroller, mSnappingChangedSubscription, mThemeChangeSubscription, mTitleChangeSubcription, mTopPanel, mTrackListWindow, mUndoSubscription, mVsbar, NextID, OnProjectTitleChange(), OnThemeChange(), ProjectTitleChange, RedrawProject(), safenew, Observer::Publisher< Message, NotifyAll >::Subscribe(), theTheme, UndoRedoMessage::type, and VSBarID.
|
override |
Definition at line 713 of file ProjectWindow.cpp.
void ProjectWindow::ApplyUpdatedTheme | ( | ) |
Definition at line 739 of file ProjectWindow.cpp.
References ThemeBase::Colour(), and theTheme.
Referenced by OnThemeChange().
void ProjectWindow::DoScroll | ( | ) |
Definition at line 1561 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), GetProjectPanel(), mAutoScrolling, MayScrollBeyondZero(), mVsbar, ScrollingLowerBoundTime(), and SetHorizontalThumb().
Referenced by FinishAutoScroll(), OnScroll(), OnScrollLeftButton(), OnScrollRightButton(), TP_ScrollUpDown(), and TP_ScrollWindow().
void ProjectWindow::DoZoomFit | ( | ) |
Definition at line 1998 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), TrackList::Get(), and min().
Referenced by ZoomAfterImport().
|
static |
Definition at line 565 of file ProjectWindow.cpp.
References ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Find(), GetAttachedWindows(), and anonymous_namespace{ProjectWindow.cpp}::sProjectWindowKey.
Referenced by Exporter::CheckMix(), ExportMP3::Export(), ExportMultipleDialog::ExportMultipleByLabel(), ExportMultipleDialog::ExportMultipleByTrack(), Find(), Exporter::GetFilename(), ScreenshotCommand::GetFrontWindow(), ProjectManager::OnStatusChange(), ProjectManager::SetStatusText(), and ScreenshotCommand::WindowFileName().
|
static |
Definition at line 572 of file ProjectWindow.cpp.
References Find().
void ProjectWindow::FinishAutoScroll | ( | ) |
Definition at line 797 of file ProjectWindow.cpp.
References DoScroll(), and mAutoScrolling.
Referenced by OnScrollLeft(), and OnScrollRight().
void ProjectWindow::FixScrollbars | ( | ) |
Definition at line 1083 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), TrackList::Get(), MenuManager::Get(), GetProjectPanel(), TrackView::GetTotalHeight(), MayScrollBeyondZero(), mbInitializingScrollbar, mHsbar, mVsbar, PixelWidthBeforeTime(), ScrollingLowerBoundTime(), UpdateLayout(), and MenuManager::UpdateMenus().
Referenced by HandleResize(), InitProjectWindow(), TP_RedrawScrollbars(), Zoom(), and ZoomBy().
|
static |
Definition at line 555 of file ProjectWindow.cpp.
References ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Get(), GetAttachedWindows(), and anonymous_namespace{ProjectWindow.cpp}::sProjectWindowKey.
Referenced by anonymous_namespace{TrackMenus.cpp}::DoAlign(), CommandDispatch::DoAudacityCommand(), anonymous_namespace{SelectMenus.cpp}::DoBoundaryMove(), anonymous_namespace{ClipMenus.cpp}::DoClipLeftOrRight(), anonymous_namespace{ClipMenus.cpp}::DoCursorClipBoundary(), LOFImportFileHandle::doDurationAndScrollOffset(), LabelTrackView::DoEditLabels(), EffectUI::DoEffect(), anonymous_namespace{FileMenus.cpp}::DoImport(), DoImportMIDI(), LabelTrackView::DoKeyDown(), anonymous_namespace{TrackMenus.cpp}::DoMixAndRender(), anonymous_namespace{TransportMenus.cpp}::DoMoveToLabel(), anonymous_namespace{TrackMenus.cpp}::DoPanTracks(), anonymous_namespace{EditMenus.cpp}::DoPasteNothingSelected(), anonymous_namespace{EditMenus.cpp}::DoPasteText(), TrackUtilities::DoRemoveTrack(), anonymous_namespace{ClipMenus.cpp}::DoSelectClip(), Get(), GetNextWindowPlacement(), anonymous_namespace{ViewMenus.cpp}::GetZoomOfPreset(), anonymous_namespace{ViewMenus.cpp}::GetZoomOfSelection(), RealtimeEffectPanel::HidePanel(), LabelTrackView::KeyDown(), cloud::ShareAudioToolbar::MakeShareAudioButton(), MixerBoard::MixerBoard(), anonymous_namespace{SelectMenus.cpp}::MoveWhenAudioInactive(), anonymous_namespace{TrackMenus.cpp}::MuteTracks(), ProjectManager::New(), anonymous_namespace{NavigationMenus.cpp}::NextOrPrevFrame(), anonymous_namespace{BatchProcessDialog.cpp}::OnApplyMacroDirectlyByName(), ApplyMacroDialog::OnApplyToFiles(), MixerTrackCluster::OnButton_Mute(), MixerTrackCluster::OnButton_Solo(), anonymous_namespace{FileMenus.cpp}::OnClose(), ProjectManager::OnCloseWindow(), ViewActions::Handler::OnCollapseAllTracks(), SelectActions::Handler::OnCursorSelEnd(), SelectActions::Handler::OnCursorSelStart(), SelectActions::Handler::OnCursorTrackEnd(), SelectActions::Handler::OnCursorTrackStart(), anonymous_namespace{EditMenus.cpp}::OnCut(), anonymous_namespace{EditMenus.cpp}::OnDelete(), anonymous_namespace{EditMenus.cpp}::OnDisjoin(), anonymous_namespace{EditMenus.cpp}::OnDuplicate(), AudacityApp::OnExceptionInMainLoop(), ViewActions::Handler::OnExpandAllTracks(), ControlToolBar::OnFF(), ViewActions::Handler::OnGoSelEnd(), ViewActions::Handler::OnGoSelStart(), anonymous_namespace{FileMenus.cpp}::OnImportLabels(), anonymous_namespace{EditMenus.cpp}::OnJoin(), anonymous_namespace{WaveTrackMenuItems.cpp}::OnNewStereoTrack(), anonymous_namespace{TimeTrackMenuItems.cpp}::OnNewTimeTrack(), anonymous_namespace{WaveTrackMenuItems.cpp}::OnNewWaveTrack(), anonymous_namespace{EditMenus.cpp}::OnPaste(), CommandHandler::OnReceiveCommand(), ProjectManager::OnReconnectionFailure(), anonymous_namespace{EditMenus.cpp}::OnRedo(), anonymous_namespace{TrackMenus.cpp}::OnResample(), OnResetWindow(), ControlToolBar::OnRewind(), LabelDialog::OnSelectCell(), SelectActions::Handler::OnSelectionRestore(), SelectActions::Handler::OnSelToEnd(), SelectActions::Handler::OnSelToStart(), ScreenshotBigDialog::OnShortTracks(), anonymous_namespace{EditMenus.cpp}::OnSplitCut(), anonymous_namespace{EditMenus.cpp}::OnSplitDelete(), anonymous_namespace{EditMenus.cpp}::OnSplitNew(), ProjectWindow::PlaybackScroller::OnTimer(), PlayIndicatorOverlay::OnTimer(), SelectHandle::TimerHandler::OnTimer(), TrackPanel::OnTimer(), anonymous_namespace{TimerRecordDialog.cpp}::OnTimerRecord(), ToolsToolBar::OnToolChanged(), anonymous_namespace{EditMenus.cpp}::OnTrim(), anonymous_namespace{EditMenus.cpp}::OnUndo(), ViewActions::Handler::OnZoomFit(), ViewActions::Handler::OnZoomFitV(), ViewActions::Handler::OnZoomIn(), ViewActions::Handler::OnZoomNormal(), ViewActions::Handler::OnZoomOut(), ViewActions::Handler::OnZoomSel(), ViewActions::Handler::OnZoomToggle(), ProjectFileManager::OpenFile(), ProjectManager::OpenProject(), ProjectFileManager::OpenProjectFile(), PlayIndicatorOverlay::PlayIndicatorOverlay(), ProjectManager::ProjectManager(), ProjectManager::SaveWindowSize(), ScrubbingOverlay::ScrubbingOverlay(), ScrubForwarder::ScrubForwarder(), anonymous_namespace{SelectMenus.cpp}::SeekWhenAudioInactive(), RealtimeEffectStateUI::Show(), RealtimeEffectPanel::ShowPanel(), ScreenshotBigDialog::SizeTracks(), ControlToolBar::StartScrolling(), ControlToolBar::StartScrollingIfPreferred(), ControlToolBar::StopScrolling(), SelectHandle::TimerHandler::TimerHandler(), ScreenshotBigDialog::TimeZoom(), and TrackPanel::TrackPanel().
|
static |
Definition at line 560 of file ProjectWindow.cpp.
References Get().
|
noexcept |
Container is a parent window for both effects panel and track list windows.
Definition at line 1316 of file ProjectWindow.cpp.
References mContainerWindow.
Referenced by InitProjectWindow().
|
inline |
Definition at line 140 of file ProjectWindow.h.
Referenced by InitProjectWindow().
|
inline |
Definition at line 123 of file ProjectWindow.h.
Referenced by ProjectManager::SaveWindowSize().
|
inline |
Definition at line 120 of file ProjectWindow.h.
Referenced by MixerBoard::MixerBoard(), PlayIndicatorOverlay::PlayIndicatorOverlay(), ScrubbingOverlay::ScrubbingOverlay(), ControlToolBar::StartScrolling(), ControlToolBar::StartScrollingIfPreferred(), ControlToolBar::StopScrolling(), and SelectHandle::TimerHandler::TimerHandler().
|
noexcept |
Top panel contains project-related controls and tools.
Definition at line 1321 of file ProjectWindow.cpp.
References mTopPanel.
Referenced by InitProjectWindow().
wxSize ProjectWindow::GetTPTracksUsableArea | ( | ) |
|
noexcept |
Track list window is the parent container for TrackPanel.
Definition at line 1311 of file ProjectWindow.cpp.
References mTrackListWindow.
Referenced by InitProjectWindow().
|
inline |
Definition at line 139 of file ProjectWindow.h.
Referenced by InitProjectWindow().
double ProjectWindow::GetZoomOfToFit | ( | ) | const |
Definition at line 1975 of file ProjectWindow.cpp.
References PackedArray::end(), ProjectWindowBase::FindProject(), ViewInfo::Get(), TrackList::Get(), and min().
void ProjectWindow::HandleResize | ( | ) |
Definition at line 1286 of file ProjectWindow.cpp.
References BasicUI::CallAfter(), FixScrollbars(), mIsDeleting, and UpdateLayout().
Referenced by OnSize(), OnToolBarUpdate(), OnUndoRedo(), OnUndoReset(), and TP_HandleResize().
|
override |
Definition at line 1673 of file ProjectWindow.cpp.
References mActive.
|
inline |
Definition at line 63 of file ProjectWindow.h.
Referenced by OnActivate().
|
override |
Definition at line 1306 of file ProjectWindow.cpp.
References mIconized.
Referenced by GetNextWindowPlacement(), OnMove(), and OnSize().
void ProjectWindow::MacShowUndockedToolbars | ( | bool | show | ) |
Definition at line 1365 of file ProjectWindow.cpp.
References BasicUI::FindFocus().
Referenced by OnIconize().
bool ProjectWindow::MayScrollBeyondZero | ( | ) | const |
Definition at line 964 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ProjectAudioIO::Get(), ViewInfo::Get(), Scrubber::Get(), ProjectAudioIO::IsAudioActive(), mPlaybackScroller, ProjectWindow::PlaybackScroller::Pinned, and ProjectWindow::PlaybackScroller::Right.
Referenced by DoScroll(), FixScrollbars(), ProjectWindow::PlaybackScroller::OnTimer(), and ScrollingLowerBoundTime().
int ProjectWindow::NextWindowID | ( | ) |
Definition at line 585 of file ProjectWindow.cpp.
References mNextWindowID.
void ProjectWindow::OnActivate | ( | wxActivateEvent & | event | ) |
Definition at line 1638 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ToolManager::Get(), GetProjectPanel(), IsBeingDeleted(), mActive, and SetActiveProject().
void ProjectWindow::OnIconize | ( | wxIconizeEvent & | event | ) |
Definition at line 1397 of file ProjectWindow.cpp.
References AllProjects::begin(), AllProjects::end(), GetProjectFrame(), MacShowUndockedToolbars(), mIconized, and OnShow().
void ProjectWindow::OnMenu | ( | wxCommandEvent & | event | ) |
Definition at line 1597 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), CommandManager::Get(), MenuManager::Get(), and MenuManager::GetUpdateFlags().
void ProjectWindow::OnMouseEvent | ( | wxMouseEvent & | event | ) |
Definition at line 1678 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), and SetActiveProject().
void ProjectWindow::OnMove | ( | wxMoveEvent & | event | ) |
Definition at line 1436 of file ProjectWindow.cpp.
References IsIconized(), and SetNormalizedWindowState().
void ProjectWindow::OnProjectTitleChange | ( | ProjectFileIOMessage | message | ) |
Definition at line 1525 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ProjectFileIO::Get(), ProjectFileIO::GetProjectTitle(), name, and ProjectTitleChange.
Referenced by ProjectWindow().
|
static |
Definition at line 577 of file ProjectWindow.cpp.
References Get(), and CommandContext::project.
Referenced by anonymous_namespace{PluginMenus.cpp}::OnResetConfig().
void ProjectWindow::OnScroll | ( | wxScrollEvent & | event | ) |
Definition at line 1540 of file ProjectWindow.cpp.
References DoScroll(), ProjectWindowBase::FindProject(), ViewInfo::Get(), mHsbar, and PixelWidthBeforeTime().
void ProjectWindow::OnScrollLeft | ( | ) |
This method handles general left-scrolling, either for drag-scrolling or when the scrollbar is clicked to the left of the thumb
Definition at line 861 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), FinishAutoScroll(), ViewInfo::Get(), mHsbar, PixelWidthBeforeTime(), and sbarHjump.
Referenced by TP_ScrollLeft().
void ProjectWindow::OnScrollLeftButton | ( | wxScrollEvent & | event | ) |
This handles the event when the left direction button on the scrollbar is depressed
Definition at line 915 of file ProjectWindow.cpp.
References DoScroll(), ProjectWindowBase::FindProject(), ViewInfo::Get(), mHsbar, PixelWidthBeforeTime(), and sbarHjump.
void ProjectWindow::OnScrollRight | ( | ) |
This method handles general right-scrolling, either for drag-scrolling or when the scrollbar is clicked to the right of the thumb
Definition at line 887 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), FinishAutoScroll(), ViewInfo::Get(), mHsbar, min(), PixelWidthBeforeTime(), and sbarHjump.
Referenced by TP_ScrollRight().
void ProjectWindow::OnScrollRightButton | ( | wxScrollEvent & | event | ) |
This handles the event when the right direction button on the scrollbar is depressed
Definition at line 939 of file ProjectWindow.cpp.
References DoScroll(), ProjectWindowBase::FindProject(), ViewInfo::Get(), mHsbar, min(), PixelWidthBeforeTime(), and sbarHjump.
void ProjectWindow::OnShow | ( | wxShowEvent & | event | ) |
Definition at line 1461 of file ProjectWindow.cpp.
References mShownOnce, and safenew.
Referenced by OnIconize().
void ProjectWindow::OnSize | ( | wxSizeEvent & | event | ) |
Definition at line 1443 of file ProjectWindow.cpp.
References HandleResize(), IsIconized(), mShownOnce, and SetNormalizedWindowState().
|
private |
Definition at line 774 of file ProjectWindow.cpp.
References ThemeChangeMessage::appearance, ApplyUpdatedTheme(), ProjectWindowBase::FindProject(), and ToolManager::Get().
Referenced by ProjectWindow().
void ProjectWindow::OnToolBarUpdate | ( | wxCommandEvent & | event | ) |
A toolbar has been updated, so handle it like a sizing event.
Definition at line 1501 of file ProjectWindow.cpp.
References HandleResize().
void ProjectWindow::OnUndoPushedModified | ( | ) |
Definition at line 1508 of file ProjectWindow.cpp.
References RedrawProject().
void ProjectWindow::OnUndoRedo | ( | ) |
Definition at line 1513 of file ProjectWindow.cpp.
References HandleResize(), and RedrawProject().
void ProjectWindow::OnUndoReset | ( | ) |
Definition at line 1519 of file ProjectWindow.cpp.
References HandleResize().
void ProjectWindow::OnUpdateUI | ( | wxUpdateUIEvent & | event | ) |
Definition at line 1629 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), MenuManager::Get(), and MenuManager::UpdateMenus().
double ProjectWindow::PixelWidthBeforeTime | ( | double | scrollto | ) | const |
Definition at line 1004 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), and ScrollingLowerBoundTime().
Referenced by FixScrollbars(), OnScroll(), OnScrollLeft(), OnScrollLeftButton(), OnScrollRight(), OnScrollRightButton(), and SetHorizontalThumb().
void ProjectWindow::RedrawProject | ( | const bool | bForceWaveTracks = false | ) |
Definition at line 745 of file ProjectWindow.cpp.
References BasicUI::CallAfter(), TrackList::Get(), and GetProjectPanel().
Referenced by MixerTrackCluster::OnButton_Mute(), MixerTrackCluster::OnButton_Solo(), AudacityApp::OnExceptionInMainLoop(), CommandHandler::OnReceiveCommand(), LabelDialog::OnSelectCell(), ScreenshotBigDialog::OnShortTracks(), ToolsToolBar::OnToolChanged(), OnUndoPushedModified(), OnUndoRedo(), ProjectWindow(), and ScreenshotBigDialog::SizeTracks().
void ProjectWindow::RefreshTPTrack | ( | Track * | pTrk, |
bool | refreshbacking = true |
||
) |
void ProjectWindow::Reset | ( | ) |
Definition at line 1326 of file ProjectWindow.cpp.
References GetDefaultWindowRect().
void ProjectWindow::Rewind | ( | bool | shift | ) |
Definition at line 1752 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), and TP_ScrollWindow().
Referenced by ControlToolBar::OnRewind().
double ProjectWindow::ScrollingLowerBoundTime | ( | ) | const |
Definition at line 988 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), TrackList::Get(), MayScrollBeyondZero(), and min().
Referenced by DoScroll(), FixScrollbars(), and PixelWidthBeforeTime().
void ProjectWindow::ScrollIntoView | ( | double | pos | ) |
Definition at line 828 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), GetProjectPanel(), and TP_ScrollWindow().
Referenced by LabelTrackView::DoKeyDown(), LabelTrackView::KeyDown(), ScrollIntoView(), SkipEnd(), and ZoomInByFactor().
void ProjectWindow::ScrollIntoView | ( | int | x | ) |
Definition at line 847 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), and ScrollIntoView().
void ProjectWindow::SetHorizontalThumb | ( | double | scrollto | ) |
Definition at line 1017 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), mHsbar, min(), and PixelWidthBeforeTime().
Referenced by DoScroll(), and TP_ScrollWindow().
|
inline |
Definition at line 64 of file ProjectWindow.h.
|
inline |
Definition at line 122 of file ProjectWindow.h.
Referenced by OnMove(), and OnSize().
void ProjectWindow::SkipEnd | ( | bool | shift | ) |
Definition at line 1775 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), TrackList::Get(), and ScrollIntoView().
Referenced by ControlToolBar::OnFF().
|
overridevirtual |
Implements TrackPanelListener.
Definition at line 1811 of file ProjectWindow.cpp.
References HandleResize().
|
overridevirtual |
Implements TrackPanelListener.
Definition at line 1806 of file ProjectWindow.cpp.
References FixScrollbars().
|
overridevirtual |
Implements TrackPanelListener.
Definition at line 1794 of file ProjectWindow.cpp.
References OnScrollLeft().
|
overridevirtual |
Implements TrackPanelListener.
Definition at line 1800 of file ProjectWindow.cpp.
References OnScrollRight().
|
overridevirtual |
Implements TrackPanelListener.
Definition at line 1057 of file ProjectWindow.cpp.
References DoScroll(), and mVsbar.
|
overridevirtual |
Implements TrackPanelListener.
Definition at line 1043 of file ProjectWindow.cpp.
References DoScroll(), and SetHorizontalThumb().
Referenced by LOFImportFileHandle::doDurationAndScrollOffset(), Rewind(), ScrollIntoView(), Zoom(), ZoomInByFactor(), and ZoomOutByFactor().
void ProjectWindow::UpdateLayout | ( | ) |
Definition at line 1242 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ToolManager::Get(), and GetProjectPanel().
Referenced by FixScrollbars(), and HandleResize().
|
overrideprivatevirtual |
Implements PrefsListener.
Definition at line 791 of file ProjectWindow.cpp.
References UpdateStatusWidths().
void ProjectWindow::UpdateStatusWidths | ( | ) |
Definition at line 1334 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ProjectStatus::GetStatusWidthFunctions(), mainStatusBarField, nStatusBarFields, and rateStatusBarField.
Referenced by InitProjectWindow(), and UpdatePrefs().
void ProjectWindow::Zoom | ( | double | level | ) |
Definition at line 1711 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), FixScrollbars(), ViewInfo::Get(), and TP_ScrollWindow().
void ProjectWindow::ZoomAfterImport | ( | Track * | pTrack | ) |
Definition at line 1688 of file ProjectWindow.cpp.
References Track::Any(), DoZoomFit(), Track::EnsureVisible(), ProjectWindowBase::FindProject(), TrackFocus::Get(), TrackList::Get(), and GetProjectPanel().
Referenced by DoImportMIDI(), ApplyMacroDialog::OnApplyToFiles(), and ProjectFileManager::OpenFile().
void ProjectWindow::ZoomBy | ( | double | multiplier | ) |
Definition at line 1733 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), FixScrollbars(), and ViewInfo::Get().
Referenced by LOFImportFileHandle::doDurationAndScrollOffset(), ZoomInByFactor(), and ZoomOutByFactor().
void ProjectWindow::ZoomInByFactor | ( | double | ZoomFactor | ) |
Definition at line 1872 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), AudioIO::Get(), ProjectAudioIO::Get(), ViewInfo::Get(), ProjectAudioIO::GetAudioIOToken(), ScrollIntoView(), TP_ScrollWindow(), and ZoomBy().
void ProjectWindow::ZoomOutByFactor | ( | double | ZoomFactor | ) |
Definition at line 1955 of file ProjectWindow.cpp.
References ProjectWindowBase::FindProject(), ViewInfo::Get(), TP_ScrollWindow(), and ZoomBy().
|
private |
Definition at line 222 of file ProjectWindow.h.
Referenced by IsActive(), and OnActivate().
|
private |
Definition at line 221 of file ProjectWindow.h.
Referenced by DoScroll(), and FinishAutoScroll().
bool ProjectWindow::mbInitializingScrollbar { false } |
Definition at line 207 of file ProjectWindow.h.
Referenced by FixScrollbars().
|
private |
Definition at line 213 of file ProjectWindow.h.
Referenced by GetContainerWindow(), and ProjectWindow().
|
private |
Definition at line 216 of file ProjectWindow.h.
Referenced by FixScrollbars(), OnScroll(), OnScrollLeft(), OnScrollLeftButton(), OnScrollRight(), OnScrollRightButton(), ProjectWindow(), and SetHorizontalThumb().
|
private |
Definition at line 223 of file ProjectWindow.h.
Referenced by IsIconized(), and OnIconize().
|
private |
Definition at line 228 of file ProjectWindow.h.
Referenced by HandleResize().
|
private |
Definition at line 219 of file ProjectWindow.h.
Referenced by NextWindowID(), and ProjectWindow().
|
private |
Definition at line 210 of file ProjectWindow.h.
|
private |
Definition at line 237 of file ProjectWindow.h.
Referenced by MayScrollBeyondZero(), and ProjectWindow().
|
private |
Definition at line 224 of file ProjectWindow.h.
|
private |
Definition at line 235 of file ProjectWindow.h.
Referenced by ProjectWindow().
|
private |
Definition at line 233 of file ProjectWindow.h.
Referenced by ProjectWindow().
|
private |
Definition at line 234 of file ProjectWindow.h.
Referenced by ProjectWindow().
|
private |
Definition at line 212 of file ProjectWindow.h.
Referenced by GetTopPanel(), and ProjectWindow().
|
private |
Definition at line 214 of file ProjectWindow.h.
Referenced by GetTrackListWindow(), and ProjectWindow().
|
private |
Definition at line 232 of file ProjectWindow.h.
Referenced by ProjectWindow().
|
private |
Definition at line 217 of file ProjectWindow.h.
Referenced by DoScroll(), FixScrollbars(), ProjectWindow(), and TP_ScrollUpDown().