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

55 lines
1.6 KiB
C++

#ifndef _GUITAR_CHORDDLG_HPP_
#define _GUITAR_CHORDDLG_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _COMMON_GLOBALDATA_HPP_
#include <common/gdata.hpp>
#endif
#ifndef _COMMON_OWNERDRAWLISTALTCOLOR_HPP_
#include <common/odlstalt.hpp>
#endif
#ifndef _GUITAR_SEQUENCER_HPP_
#include <guitar/sequencer.hpp>
#endif
#ifndef _GUITAR_FRETBOARD_HPP_
#include <guitar/fretboard.hpp>
#endif
class TabEntry;
class ChordDialog : public DWindow
{
public:
ChordDialog(void);
virtual ~ChordDialog();
bool perform(GUIWindow &parentWindow,CallbackPointer &callbackPointer);
private:
enum{ResBegin=STRING_22000,ResEnd=STRING_CHORD_END-1};
ChordDialog(const ChordDialog &someChordDialog);
ChordDialog &operator=(const ChordDialog &someChordDialog);
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 setChordList(void);
void handleChordSelection(void);
void makeTabEntry(String strLine,TabEntry &entry);
Callback<ChordDialog> mInitHandler;
Callback<ChordDialog> mCreateHandler;
Callback<ChordDialog> mCloseHandler;
Callback<ChordDialog> mDestroyHandler;
Callback<ChordDialog> mCommandHandler;
SmartPointer<OwnerDrawListAltColor> mChordList;
Block<String> mChords;
Fretboard mFretboard;
Point mDisplayPoint;
CallbackPointer mPlayNoteHandler;
};
#endif