/********************************************************************* * Function: void GOLMsg(GOL_MSG *pMsg) * * PreCondition: none * * Input: pointer to the message * * Output: none * * Side Effects: none * * Overview: processes message for all objects in the liked list * * Note: none * ********************************************************************/ void GOLMsg(GOL_MSG *pMsg) { OBJ_HEADER *pCurrentObj; WORD translatedMsg; if(pMsg->uiEvent == EVENT_INVALID) return; pCurrentObj = _pGolObjects; while(pCurrentObj != NULL) { if(pCurrentObj->MsgObj) { translatedMsg = pCurrentObj->MsgObj(pCurrentObj, pMsg); if(translatedMsg != OBJ_MSG_INVALID) { if(GOLMsgCallback(translatedMsg, pCurrentObj, pMsg)) if(pCurrentObj->MsgDefaultObj) pCurrentObj->MsgDefaultObj(translatedMsg, pCurrentObj, pMsg); } } pCurrentObj = (OBJ_HEADER *)pCurrentObj->pNxtObj; } }
/********************************************************************* * Function: void GOLMsg(GOL_MSG *pMsg) * * PreCondition: none * * Input: pointer to the message * * Output: none * * Side Effects: none * * Overview: processes message for all objects in the liked list * * Note: none * ********************************************************************/ void GOLMsg(GOL_MSG *pMsg){ OBJ_HEADER *pCurrentObj; WORD translatedMsg; if(pMsg->uiEvent == EVENT_INVALID) return; pCurrentObj = _pGolObjects; while(pCurrentObj != NULL){ switch(pCurrentObj->type){ #ifdef USE_BUTTON case OBJ_BUTTON: translatedMsg = BtnTranslateMsg((BUTTON*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) BtnMsgDefault(translatedMsg,(BUTTON*)pCurrentObj, pMsg); break; #endif #ifdef USE_WINDOW case OBJ_WINDOW: translatedMsg = WndTranslateMsg((WINDOW*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; GOLMsgCallback(translatedMsg,pCurrentObj,pMsg); break; #endif #ifdef USE_CHECKBOX case OBJ_CHECKBOX: translatedMsg = CbTranslateMsg((CHECKBOX*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) CbMsgDefault(translatedMsg,(CHECKBOX*)pCurrentObj, pMsg); break; #endif #ifdef USE_RADIOBUTTON case OBJ_RADIOBUTTON: translatedMsg = RbTranslateMsg((RADIOBUTTON*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) RbMsgDefault(translatedMsg,(RADIOBUTTON*)pCurrentObj, pMsg); break; #endif #ifdef USE_EDITBOX case OBJ_EDITBOX: translatedMsg = EbTranslateMsg((EDITBOX*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) EbMsgDefault(translatedMsg,(EDITBOX*)pCurrentObj, pMsg); break; #endif #ifdef USE_LISTBOX case OBJ_LISTBOX: translatedMsg = LbTranslateMsg((LISTBOX*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) LbMsgDefault(translatedMsg,(LISTBOX*)pCurrentObj, pMsg); break; #endif #ifdef USE_SLIDER case OBJ_SLIDER: translatedMsg = SldTranslateMsg((SLIDER*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) SldMsgDefault(translatedMsg,(SLIDER*)pCurrentObj, pMsg); break; #endif #ifdef USE_GROUPBOX case OBJ_GROUPBOX: translatedMsg = GbTranslateMsg((GROUPBOX*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; GOLMsgCallback(translatedMsg,pCurrentObj,pMsg); break; #endif #ifdef USE_PROGRESSBAR case OBJ_PROGRESSBAR: break; #endif #ifdef USE_STATICTEXT case OBJ_STATICTEXT: translatedMsg = StTranslateMsg((STATICTEXT*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; GOLMsgCallback(translatedMsg,pCurrentObj,pMsg); break; #endif #ifdef USE_PICTURE case OBJ_PICTURE: translatedMsg = PictTranslateMsg((PICTURE*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; GOLMsgCallback(translatedMsg,pCurrentObj,pMsg); break; #endif #ifdef USE_ROUNDDIAL case OBJ_ROUNDDIAL: translatedMsg = RdiaTranslateMsg((ROUNDDIAL*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) RdiaMsgDefault(translatedMsg,(ROUNDDIAL*)pCurrentObj, pMsg); break; #endif #ifdef USE_METER case OBJ_METER: translatedMsg = MtrTranslateMsg((METER*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) MtrMsgDefault(translatedMsg,(METER*)pCurrentObj, pMsg); break; #endif #ifdef USE_CUSTOM case OBJ_CUSTOM: translatedMsg = CcTranslateMsg((CUSTOM*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) CcMsgDefault((CUSTOM*)pCurrentObj,pMsg); break; #endif #ifdef USE_GRID case OBJ_GRID: translatedMsg = GridTranslateMsg((GRID*)pCurrentObj, pMsg); if(translatedMsg == OBJ_MSG_INVALID) break; if(GOLMsgCallback(translatedMsg,pCurrentObj,pMsg)) GridMsgDefault( translatedMsg, (GRID*)pCurrentObj, pMsg ); break; #endif default: break; } pCurrentObj = pCurrentObj->pNxtObj; } }