mirror of
https://github.com/cookiengineer/audacity
synced 2025-12-24 01:21:13 +01:00
Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches
This commit is contained in:
133
src/toolbars/ToolManager.h
Normal file
133
src/toolbars/ToolManager.h
Normal file
@@ -0,0 +1,133 @@
|
||||
/**********************************************************************
|
||||
|
||||
Audacity: A Digital Audio Editor
|
||||
|
||||
ToolManager.h
|
||||
|
||||
Dominic Mazzoni
|
||||
Shane T. Mueller
|
||||
Leland Lucius
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __AUDACITY_TOOLMANAGER__
|
||||
#define __AUDACITY_TOOLMANAGER__
|
||||
|
||||
#include <wx/defs.h>
|
||||
#include <wx/frame.h>
|
||||
#include <wx/timer.h>
|
||||
|
||||
#include "ToolDock.h"
|
||||
#include "ToolBar.h"
|
||||
|
||||
class wxArrayPtrVoid;
|
||||
class wxBitmap;
|
||||
class wxCommandEvent;
|
||||
class wxFrame;
|
||||
class wxMouseEvent;
|
||||
class wxPaintEvent;
|
||||
class wxPoint;
|
||||
class wxRect;
|
||||
class wxRegion;
|
||||
class wxSize;
|
||||
class wxTimer;
|
||||
class wxTimerEvent;
|
||||
class wxWindow;
|
||||
|
||||
class AudacityProject;
|
||||
class ToolFrame;
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// class ToolManager
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
class ToolManager:public wxEvtHandler
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
ToolManager( AudacityProject *parent );
|
||||
~ToolManager();
|
||||
|
||||
void LayoutToolBars();
|
||||
void UpdatePrefs();
|
||||
|
||||
bool IsDocked( int type );
|
||||
|
||||
bool IsVisible( int type );
|
||||
|
||||
void ShowHide( int type );
|
||||
|
||||
void Expose( int type, bool show );
|
||||
|
||||
ToolBar *GetToolBar( int type ) const;
|
||||
|
||||
ToolDock *GetTopDock();
|
||||
ToolDock *GetBotDock();
|
||||
|
||||
void Reset();
|
||||
|
||||
private:
|
||||
|
||||
ToolBar *Float( ToolBar *t, wxPoint & pos );
|
||||
|
||||
void OnTimer( wxTimerEvent & event );
|
||||
void OnMouse( wxMouseEvent & event );
|
||||
void OnCaptureLost( wxMouseCaptureLostEvent & event );
|
||||
void OnGrabber( GrabberEvent & event );
|
||||
|
||||
void OnIndicatorCreate( wxWindowCreateEvent & event );
|
||||
void OnIndicatorPaint( wxPaintEvent & event );
|
||||
|
||||
void ReadConfig();
|
||||
void WriteConfig();
|
||||
void Updated();
|
||||
|
||||
AudacityProject *mParent;
|
||||
|
||||
ToolFrame *mDragWindow;
|
||||
ToolDock *mDragDock;
|
||||
ToolBar *mDragBar;
|
||||
wxPoint mDragOffset;
|
||||
int mDragBefore;
|
||||
|
||||
wxPoint mLastPos;
|
||||
wxRect mBarPos;
|
||||
|
||||
wxFrame *mIndicator;
|
||||
wxRegion *mLeft;
|
||||
wxRegion *mDown;
|
||||
wxRegion *mCurrent;
|
||||
|
||||
wxTimer mTimer;
|
||||
bool mLastState;
|
||||
|
||||
#if defined(__WXMAC__)
|
||||
bool mTransition;
|
||||
#endif
|
||||
|
||||
wxArrayPtrVoid mDockedBars;
|
||||
ToolDock *mTopDock;
|
||||
ToolDock *mBotDock;
|
||||
|
||||
ToolBar *mBars[ ToolBarCount ];
|
||||
|
||||
public:
|
||||
|
||||
DECLARE_CLASS( ToolManager );
|
||||
DECLARE_EVENT_TABLE();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
// Indentation settings for Vim and Emacs and unique identifier for Arch, a
|
||||
// version control system. Please do not modify past this point.
|
||||
//
|
||||
// Local Variables:
|
||||
// c-basic-offset: 3
|
||||
// indent-tabs-mode: nil
|
||||
// End:
|
||||
//
|
||||
// vim: et sts=3 sw=3
|
||||
// arch-tag: 5a2a21f8-6c9e-45a4-8718-c26cad5cfe65
|
||||
|
||||
Reference in New Issue
Block a user