#ifndef _GUITAR_CHORDBUILDERDLG_HPP_ #define _GUITAR_CHORDBUILDERDLG_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_SEQUENCER_HPP_ #include #endif #ifndef _GUITAR_FRETBOARD_HPP_ #include #endif class TabEntry; class ChordBuilderDialog : public DWindow { public: ChordBuilderDialog(void); virtual ~ChordBuilderDialog(); bool perform(GUIWindow &parentWindow,CallbackPointer &callbackPointer); private: enum{ResBegin=21000,ResEnd=21902}; ChordBuilderDialog(const ChordBuilderDialog &someChordBuilderDialog); ChordBuilderDialog &operator=(const ChordBuilderDialog &someChordBuilderDialog); 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); bool handleChordSelection(void); void makeTabEntry(String strLine,TabEntry &entry); void handleShowExamples(void); Callback mInitHandler; Callback mCreateHandler; Callback mCloseHandler; Callback mDestroyHandler; Callback mCommandHandler; Fretboard mFretboard; Point mDisplayPoint; CallbackPointer mPlayNoteHandler; }; #endif