Files
Work/m68hc11/backup/MCUDLG.HPP
2024-08-07 09:16:27 -04:00

82 lines
2.1 KiB
C++

#ifndef _M68HC11_MCUDLG_HPP_
#define _M68HC11_MCUDLG_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
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<BYTE> &regData);
void setVarByteData(GlobalData<BYTE> &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<MCUDlg> mInitHandler;
Callback<MCUDlg> mCreateHandler;
Callback<MCUDlg> mCloseHandler;
Callback<MCUDlg> mDestroyHandler;
Callback<MCUDlg> mCommandHandler;
SmartPointer<OwnerDrawListBinaryLed> 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