#ifndef _GUITAR_RANGEDLG_HPP_ #define _GUITAR_RANGEDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_CALLBACK_HPP_ #include #endif #ifndef _COMMON_OWNERDRAWLISTALTCOLOR_HPP_ #include #endif #ifndef _GUITAR_RANGE_HPP_ #include #endif class TabEntry; class RangeDialog : public DWindow { public: RangeDialog(void); virtual ~RangeDialog(); bool perform(GUIWindow &parentWindow,const TabRanges &ranges,int maxRange,bool isSelect=false); const TabRanges &getTabRanges(void)const; int getSelection(void)const; private: RangeDialog(const RangeDialog &someRangeDialog); RangeDialog &operator=(const RangeDialog &someRangeDialog); 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 setRangeList(void); void handleRangeSelection(void); void handleRangeEditSelection(void); void handleRangeInsert(void); void handleRangeDelete(void); Callback mInitHandler; Callback mCreateHandler; Callback mCloseHandler; Callback mDestroyHandler; Callback mCommandHandler; SmartPointer mRangeList; Point mDisplayPoint; TabRanges mTabRanges; bool mIsSelection; int mMaxRange; int mSelection; }; inline const TabRanges &RangeDialog::getTabRanges(void)const { return mTabRanges; } inline int RangeDialog::getSelection(void)const { return mSelection; } #endif