Files
Work/guitar/backup/20030502/FretViewWnd.hpp
2024-08-07 09:16:27 -04:00

57 lines
1.9 KiB
C++

#ifndef _GUITAR_FRETVIEWWINDOW_HPP_
#define _GUITAR_FRETVIEWWINDOW_HPP_
#ifndef _COMMON_MDIWIN_HPP_
#include <common/mdiwin.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _GUITAR_GUIFRETBOARD_HPP_
#include <guitar/GUIFretboard.hpp>
#endif
class TabEntry;
class Scale;
class FretViewWindow : public MDIWindow
{
public:
enum{THPlay,THStop};
FretViewWindow(void);
virtual ~FretViewWindow();
String getTitle(void)const;
void cut(void);
void copy(void);
void paste(void);
void setNote(const TabEntry &entry,bool clear=true,bool play=false);
void setNote(const Note &note,bool clear=true,bool play=false);
void setNote(const Scale &scale,bool play=false);
void setNote(const FrettedNotes &frettedNotes,bool play=false);
void clearNotes(void);
void showAllPositions(void);
protected:
virtual void preRegister(WNDCLASS &wndClass);
virtual void preCreate(MDICREATESTRUCT &createStruct);
private:
enum{WindowWidth=355,WindowHeight=135,MaxWindowWidth=520};
CallbackData::ReturnType createHandler(CallbackData &someCallbackData);
CallbackData::ReturnType closeHandler(CallbackData &someCallbackData);
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
CallbackData::ReturnType paintHandler(CallbackData &someCallbackData);
CallbackData::ReturnType verticalScrollHandler(CallbackData &someCallbackData);
CallbackData::ReturnType horizontalScrollHandler(CallbackData &someCallbackData);
CallbackData::ReturnType leftButtonDownHandler(CallbackData &someCallbackData);
void setTitle(const String &strTitle);
Callback<FretViewWindow> mCreateHandler;
Callback<FretViewWindow> mSizeHandler;
Callback<FretViewWindow> mPaintHandler;
Callback<FretViewWindow> mVerticalScrollHandler;
Callback<FretViewWindow> mHorizontalScrollHandler;
Callback<FretViewWindow> mLeftButtonDownHandler;
Callback<FretViewWindow> mCloseHandler;
SmartPointer<GUIFretboard> mGUIFretboard;
};
#endif