1
0
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:
ra
2010-01-23 19:44:49 +00:00
commit e74978ba77
1011 changed files with 781704 additions and 0 deletions

133
src/toolbars/ToolManager.h Normal file
View 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