#include #include #include #include MCUDlg::MCUDlg(void) { mInitHandler.setCallback(this,&MCUDlg::initHandler); mCreateHandler.setCallback(this,&MCUDlg::createHandler); mCloseHandler.setCallback(this,&MCUDlg::closeHandler); mDestroyHandler.setCallback(this,&MCUDlg::destroyHandler); mCommandHandler.setCallback(this,&MCUDlg::commandHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitHandler); insertHandler(VectorHandler::CreateHandler,&mCreateHandler); insertHandler(VectorHandler::CloseHandler,&mCloseHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler); } MCUDlg::MCUDlg(const MCUDlg &someMCUDlg) { // private implementation *this=someMCUDlg; } MCUDlg::~MCUDlg() { removeHandler(VectorHandler::InitDialogHandler,&mInitHandler); removeHandler(VectorHandler::CreateHandler,&mCreateHandler); removeHandler(VectorHandler::CloseHandler,&mCloseHandler); removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler); } MCUDlg &MCUDlg::operator=(const MCUDlg &someMCUDlg) { // private implementation return *this; } BOOL MCUDlg::perform(GUIWindow &parentWindow) { ::CreateDialogParam(processInstance(),(LPSTR)"MCUDLG",(HWND)parentWindow,DWindow::DlgProc,(LPARAM)(DWindow*)this); return isValid(); } CallbackData::ReturnType MCUDlg::initHandler(CallbackData &someCallbackData) { mOwnerDrawList=::new OwnerDrawListBinaryLed(*this,getItem(MCUDLG_REGISTERS),MCUDLG_REGISTERS); mOwnerDrawList.disposition(PointerDisposition::Delete); for(int index=STRING_REGISTERPORTA;index<=STRING_REGISTERCONFIG;index++)mOwnerDrawList->insertString(String(index)); return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MCUDlg::createHandler(CallbackData &someCallbackData) { return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MCUDlg::closeHandler(CallbackData &someCallbackData) { return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MCUDlg::destroyHandler(CallbackData &someCallbackData) { return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MCUDlg::commandHandler(CallbackData &someCallbackData) { switch(someCallbackData.wmCommandID()) { case IDCANCEL : handleCancel(); break; case IDOK : handleOk(); break; } return (CallbackData::ReturnType)FALSE; } void MCUDlg::setRegister(int mcuRegister,BYTE value) { String stringData; String strItem; String strData; if(LB_ERR==mOwnerDrawList->getText(stringData,mcuRegister))return; strItem=stringData.betweenString(0,'\t'); if(strItem.isNull())::sprintf(strData,"%s\t%d",(LPSTR)stringData,value); else ::sprintf(strData,"%s\t%d",(LPSTR)strItem,value); mOwnerDrawList->deleteString(mcuRegister); mOwnerDrawList->insertString(strData,mcuRegister); } void MCUDlg::setRegisters(GlobalData ®Data) { mOwnerDrawList->setRedraw(FALSE); for(int index=0;indexsetRedraw(TRUE); } void MCUDlg::setVarByteData(GlobalData &byteData) { String strData; String strLine; String strHexLine; for(int index=0;index