#ifndef _GUITAR_SCALEDLG_HPP_ #define _GUITAR_SCALEDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_GLOBALDATA_HPP_ #include #endif #ifndef _COMMON_OWNERDRAWLISTALTCOLOR_HPP_ #include #endif #ifndef _GUITAR_TABENTRY_HPP_ #include #endif #ifndef _GUITAR_FRETBOARD_HPP_ #include #endif #ifndef _GUITAR_SEQUENCER_HPP_ #include #endif class Scale; class ScaleDialog : public DWindow { public: ScaleDialog(void); virtual ~ScaleDialog(); bool perform(GUIWindow &parentWindow,CallbackPointer &callbackPointer); private: ScaleDialog(const ScaleDialog &someScaleDialog); ScaleDialog &operator=(const ScaleDialog &someScaleDialog); CallbackData::ReturnType initHandler(CallbackData &someCallbackData); CallbackData::ReturnType createHandler(CallbackData &someCallbackData); CallbackData::ReturnType closeHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); void handleOk(void); void handleRoot(void); void handleList(void); bool showScale(void); void playScale(const Scale &scale); void playScale(const String &root,const String &scale); Callback mInitHandler; Callback mCreateHandler; Callback mCloseHandler; Callback mDestroyHandler; Callback mCommandHandler; SmartPointer mScaleList; SmartPointer mMIDIDevice; CallbackPointer mPlayNoteHandler; Fretboard mFretboard; bool mInEdit; }; #endif