#ifndef _M68HC11_MCUDLG_HPP_ #define _M68HC11_MCUDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_GLOBALDATA_HPP_ #include #endif class OwnerDrawListBinaryLed; class MCUDlg : public DWindow { public: MCUDlg(void); virtual ~MCUDlg(); BOOL perform(GUIWindow &parentWindow); void setCancelHandler(PureCallback *pCallback); void setStartHandler(PureCallback *pCallback); void setRegister(int mcuRegister,BYTE value); void setRegisters(GlobalData ®Data); void setVarByteData(GlobalData &byteData); void setQuadByteData(DWORD quadByteData); void setDoubleByteData(WORD doubleByteData); void setSingleByteData(BYTE singleByteData); void setStringData(const String &string); void enableStart(BOOL enable); private: MCUDlg(const MCUDlg &someMCUDlg); MCUDlg &operator=(const MCUDlg &someMCUDlg); 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 handleCancel(void); void handleOk(void); Callback mInitHandler; Callback mCreateHandler; Callback mCloseHandler; Callback mDestroyHandler; Callback mCommandHandler; SmartPointer mOwnerDrawList; CallbackPointer mCancelHandler; CallbackPointer mStartHandler; }; inline void MCUDlg::setCancelHandler(PureCallback *pCallback) { mCancelHandler=CallbackPointer(pCallback); } inline void MCUDlg::setStartHandler(PureCallback *pCallback) { mStartHandler=CallbackPointer(pCallback); } inline void MCUDlg::handleCancel(void) { mCancelHandler.callback(CallbackData()); } inline void MCUDlg::handleOk(void) { mStartHandler.callback(CallbackData()); } inline void MCUDlg::enableStart(BOOL enable) { ::EnableWindow(getItem(IDOK),enable); } #endif