Files
Work/common/VHANDLER.CPP
2024-08-16 13:56:54 -04:00

791 lines
25 KiB
C++

#include <common/vhandler.hpp>
WORD VectorHandler::insertHandler(HandlerType handlerType,PureCallback *lpCallback,CallOrder callOrder)
{
WORD returnCode(0);
switch(handlerType)
{
case ChangeCBChainHandler :
returnCode=insert(mChangeCBChainVector,lpCallback,callOrder);
break;
case DrawClipboardHandler :
returnCode=insert(mDrawClipboardVector,lpCallback,callOrder);
break;
case UserHandler :
returnCode=insert(mUserVector,lpCallback,callOrder);
break;
case NCCreateHandler :
returnCode=insert(mNCCreateVector,lpCallback,callOrder);
break;
case CreateHandler :
returnCode=insert(mCreateVector,lpCallback,callOrder);
break;
case InitDialogHandler :
returnCode=insert(mInitDialogVector,lpCallback,callOrder);
break;
case SetFontHandler :
returnCode=insert(mSetFontVector,lpCallback,callOrder);
break;
case SizeHandler :
returnCode=insert(mSizeVector,lpCallback,callOrder);
break;
case PaintHandler :
returnCode=insert(mPaintVector,lpCallback,callOrder);
break;
case EraseBackgroundHandler :
returnCode=insert(mEraseBackgroundVector,lpCallback,callOrder);
break;
case PaletteChangedHandler :
returnCode=insert(mPaletteChangedVector,lpCallback,callOrder);
break;
case TimerHandler :
returnCode=insert(mTimerVector,lpCallback,callOrder)-1;
break;
case CharHandler :
returnCode=insert(mCharVector,lpCallback,callOrder);
break;
case CommandHandler :
returnCode=insert(mCommandVector,lpCallback,callOrder);
break;
case CompactingHandler :
returnCode=insert(mCompactingVector,lpCallback,callOrder);
break;
case WinIniChangeHandler :
returnCode=insert(mWinIniChangeVector,lpCallback,callOrder);
break;
case LeftButtonDoubleHandler :
returnCode=insert(mLeftButtonDoubleVector,lpCallback,callOrder);
break;
case LeftButtonDownHandler :
returnCode=insert(mLeftButtonDownVector,lpCallback,callOrder);
break;
case LeftButtonUpHandler :
returnCode=insert(mLeftButtonUpVector,lpCallback,callOrder);
break;
case RightButtonDoubleHandler :
returnCode=insert(mRightButtonDoubleVector,lpCallback,callOrder);
break;
case RightButtonDownHandler :
returnCode=insert(mRightButtonDownVector,lpCallback,callOrder);
break;
case RightButtonUpHandler :
returnCode=insert(mRightButtonUpVector,lpCallback,callOrder);
break;
case NCLeftButtonDownHandler :
returnCode=insert(mNCLeftButtonDownVector,lpCallback,callOrder);
break;
case NCLeftButtonUpHandler :
returnCode=insert(mNCLeftButtonUpVector,lpCallback,callOrder);
break;
case NCRightButtonDownHandler :
returnCode=insert(mNCRightButtonDownVector,lpCallback,callOrder);
break;
case NCRightButtonUpHandler :
returnCode=insert(mNCRightButtonUpVector,lpCallback,callOrder);
break;
case SetFocusHandler :
returnCode=insert(mSetFocusVector,lpCallback,callOrder);
break;
case KillFocusHandler :
returnCode=insert(mKillFocusVector,lpCallback,callOrder);
break;
case KeyUpHandler :
returnCode=insert(mKeyUpVector,lpCallback,callOrder);
break;
case KeyDownHandler :
returnCode=insert(mKeyDownVector,lpCallback,callOrder);
break;
case SysKeyDownHandler :
returnCode=insert(mSysKeyDownVector,lpCallback,callOrder);
break;
case SysKeyUpHandler :
returnCode=insert(mSysKeyUpVector,lpCallback,callOrder);
break;
case MinMaxHandler :
returnCode=insert(mMinMaxVector,lpCallback,callOrder);
break;
case EnterIdleHandler :
returnCode=insert(mEnterIdleVector,lpCallback,callOrder);
break;
case MenuSelectHandler :
returnCode=insert(mMenuSelectVector,lpCallback,callOrder);
break;
case DrawItemHandler :
returnCode=insert(mDrawItemVector,lpCallback,callOrder);
break;
case SysColorChangeHandler :
returnCode=insert(mSysColorChangeVector,lpCallback,callOrder);
break;
case CloseHandler :
returnCode=insert(mCloseVector,lpCallback,callOrder);
break;
case MouseMoveHandler :
returnCode=insert(mMouseMoveVector,lpCallback,callOrder);
break;
case ControlColorHandler :
returnCode=insert(mControlColorVector,lpCallback,callOrder);
break;
case NotifyHandler :
returnCode=insert(mNotifyVector,lpCallback,callOrder);
break;
case DDEInitiateHandler :
returnCode=insert(mDDEInitiateVector,lpCallback,callOrder);
break;
case DDEAckHandler :
returnCode=insert(mDDEAckVector,lpCallback,callOrder);
break;
case DDERequestHandler :
returnCode=insert(mDDERequestVector,lpCallback,callOrder);
break;
case DDETerminateHandler :
returnCode=insert(mDDETerminateVector,lpCallback,callOrder);
break;
case DDEDataHandler :
returnCode=insert(mDDEDataVector,lpCallback,callOrder);
break;
case MeasureItemHandler :
returnCode=insert(mMeasureItemVector,lpCallback,callOrder);
break;
case MMOpenHandler :
returnCode=insert(mMMOpenVector,lpCallback,callOrder);
break;
case MMCloseHandler :
returnCode=insert(mMMCloseVector,lpCallback,callOrder);
break;
case MMDoneHandler :
returnCode=insert(mMMDoneVector,lpCallback,callOrder);
break;
case DialogCodeHandler :
returnCode=insert(mDialogCodeVector,lpCallback,callOrder);
break;
case NCDestroyHandler :
returnCode=insert(mNCDestroyVector,lpCallback,callOrder);
break;
case DestroyHandler :
returnCode=insert(mDestroyVector,lpCallback,callOrder);
break;
case VerticalScrollHandler :
returnCode=insert(mVerticalScrollVector,lpCallback,callOrder);
break;
case HorizontalScrollHandler :
returnCode=insert(mHorizontalScrollVector,lpCallback,callOrder);
break;
case DropFilesHandler :
returnCode=insert(mDropFilesVector,lpCallback,callOrder);
break;
case MDIActivateHandler :
returnCode=insert(mMDIActivateVector,lpCallback,callOrder);
break;
case MDIDestroyHandler :
returnCode=insert(mMDIDestroyVector,lpCallback,callOrder);
break;
case QueryEndSessionHandler :
returnCode=insert(mQueryEndSessionVector,lpCallback,callOrder);
break;
case ActivateAppHandler :
returnCode=insert(mActivateAppVector,lpCallback,callOrder);
break;
case DisplayChangeHandler :
returnCode=insert(mDisplayChangeVector,lpCallback,callOrder);
break;
case ShowWindowHandler :
returnCode=insert(mShowWindowVector,lpCallback,callOrder);
break;
case CaptureChangedHandler :
returnCode=insert(mCaptureChangedVector,lpCallback,callOrder);
break;
case DeviceChangeHandler :
returnCode=insert(mDeviceChangeVector,lpCallback,callOrder);
}
return returnCode;
}
CallbackData::ReturnType VectorHandler::callHandlers(HandlerType handlerType,CallbackData someCallbackData)
{
CallbackData::ReturnType returnCode;
switch(handlerType)
{
case ChangeCBChainHandler :
if(!handlers(mChangeCBChainVector))returnCode=TRUE;
else returnCode=callHandler(mChangeCBChainVector,someCallbackData);
break;
case DrawClipboardHandler :
if(!handlers(mDrawClipboardVector))returnCode=TRUE;
else returnCode=callHandler(mDrawClipboardVector,someCallbackData);
break;
case UserHandler :
if(!handlers(mUserVector))returnCode=TRUE;
else returnCode=callHandler(mUserVector,someCallbackData);
break;
case NCCreateHandler :
if(!handlers(mNCCreateVector))returnCode=TRUE;
else returnCode=callHandler(mNCCreateVector,someCallbackData);
break;
case CreateHandler :
returnCode=callHandler(mCreateVector,someCallbackData);
break;
case InitDialogHandler :
returnCode=callHandler(mInitDialogVector,someCallbackData);
break;
case SetFontHandler :
returnCode=callHandler(mSetFontVector,someCallbackData);
break;
case PaintHandler :
returnCode=callHandler(mPaintVector,someCallbackData);
break;
case EraseBackgroundHandler :
returnCode=callHandler(mEraseBackgroundVector,someCallbackData);
break;
case PaletteChangedHandler :
returnCode=callHandler(mPaletteChangedVector,someCallbackData);
break;
case TimerHandler :
returnCode=mTimerVector[someCallbackData.wParam()].callback(someCallbackData);
break;
case CharHandler :
returnCode=callHandler(mCharVector,someCallbackData);
break;
case SizeHandler :
returnCode=callHandler(mSizeVector,someCallbackData);
break;
case CommandHandler :
returnCode=callHandler(mCommandVector,someCallbackData);
break;
case CompactingHandler :
returnCode=callHandler(mCompactingVector,someCallbackData);
break;
case LeftButtonDoubleHandler :
returnCode=callHandler(mLeftButtonDoubleVector,someCallbackData);
break;
case LeftButtonDownHandler :
returnCode=callHandler(mLeftButtonDownVector,someCallbackData);
break;
case LeftButtonUpHandler :
returnCode=callHandler(mLeftButtonUpVector,someCallbackData);
break;
case RightButtonDoubleHandler :
returnCode=callHandler(mRightButtonDoubleVector,someCallbackData);
break;
case RightButtonUpHandler :
returnCode=callHandler(mRightButtonUpVector,someCallbackData);
break;
case RightButtonDownHandler :
returnCode=callHandler(mRightButtonDownVector,someCallbackData);
break;
case NCLeftButtonDownHandler :
returnCode=callHandler(mNCLeftButtonDownVector,someCallbackData);
break;
case NCLeftButtonUpHandler :
returnCode=callHandler(mNCLeftButtonUpVector,someCallbackData);
break;
case NCRightButtonDownHandler :
returnCode=callHandler(mNCRightButtonDownVector,someCallbackData);
break;
case NCRightButtonUpHandler :
returnCode=callHandler(mNCRightButtonUpVector,someCallbackData);
break;
case WinIniChangeHandler :
returnCode=callHandler(mWinIniChangeVector,someCallbackData);
break;
case SysColorChangeHandler :
returnCode=callHandler(mSysColorChangeVector,someCallbackData);
break;
case SetFocusHandler :
returnCode=callHandler(mSetFocusVector,someCallbackData);
break;
case KillFocusHandler :
returnCode=callHandler(mKillFocusVector,someCallbackData);
break;
case KeyUpHandler :
returnCode=callHandler(mKeyUpVector,someCallbackData);
break;
case KeyDownHandler :
returnCode=callHandler(mKeyDownVector,someCallbackData);
break;
case SysKeyDownHandler :
returnCode=callHandler(mSysKeyDownVector,someCallbackData);
break;
case SysKeyUpHandler :
returnCode=callHandler(mSysKeyUpVector,someCallbackData);
break;
case MinMaxHandler :
returnCode=callHandler(mMinMaxVector,someCallbackData);
break;
case EnterIdleHandler :
returnCode=callHandler(mEnterIdleVector,someCallbackData);
break;
case MenuSelectHandler :
returnCode=callHandler(mMenuSelectVector,someCallbackData);
break;
case DrawItemHandler :
returnCode=callHandler(mDrawItemVector,someCallbackData);
break;
case MouseMoveHandler :
returnCode=callHandler(mMouseMoveVector,someCallbackData);
break;
case ControlColorHandler :
returnCode=callHandler(mControlColorVector,someCallbackData);
break;
case NotifyHandler :
returnCode=callHandler(mNotifyVector,someCallbackData);
break;
case MeasureItemHandler :
returnCode=callHandler(mMeasureItemVector,someCallbackData);
break;
case DDEInitiateHandler :
returnCode=callHandler(mDDEInitiateVector,someCallbackData);
break;
case DDEAckHandler :
returnCode=callHandler(mDDEAckVector,someCallbackData);
break;
case DDERequestHandler :
returnCode=callHandler(mDDERequestVector,someCallbackData);
break;
case DDETerminateHandler :
returnCode=callHandler(mDDETerminateVector,someCallbackData);
break;
case DDEDataHandler :
returnCode=callHandler(mDDEDataVector,someCallbackData);
break;
case MMOpenHandler :
returnCode=callHandler(mMMOpenVector,someCallbackData);
break;
case MMCloseHandler :
returnCode=callHandler(mMMCloseVector,someCallbackData);
break;
case MMDoneHandler :
returnCode=callHandler(mMMDoneVector,someCallbackData);
break;
case CloseHandler :
returnCode=callHandler(mCloseVector,someCallbackData);
break;
case DialogCodeHandler :
returnCode=callHandler(mDialogCodeVector,someCallbackData);
break;
case DestroyHandler :
returnCode=callHandler(mDestroyVector,someCallbackData);
break;
case NCDestroyHandler :
returnCode=callHandler(mNCDestroyVector,someCallbackData);
break;
case HorizontalScrollHandler :
returnCode=callHandler(mHorizontalScrollVector,someCallbackData);
break;
case VerticalScrollHandler :
returnCode=callHandler(mVerticalScrollVector,someCallbackData);
break;
case DropFilesHandler :
returnCode=callHandler(mDropFilesVector,someCallbackData);
break;
case MDIActivateHandler :
returnCode=callHandler(mMDIActivateVector,someCallbackData);
break;
case MDIDestroyHandler :
returnCode=callHandler(mMDIDestroyVector,someCallbackData);
break;
case QueryEndSessionHandler :
returnCode=callHandler(mQueryEndSessionVector,someCallbackData);
break;
case ActivateAppHandler :
returnCode=callHandler(mActivateAppVector,someCallbackData);
break;
case DisplayChangeHandler :
returnCode=callHandler(mDisplayChangeVector,someCallbackData);
break;
case ShowWindowHandler :
returnCode=callHandler(mShowWindowVector,someCallbackData);
break;
case CaptureChangedHandler :
returnCode=callHandler(mCaptureChangedVector,someCallbackData);
break;
case DeviceChangeHandler :
returnCode=callHandler(mDeviceChangeVector,someCallbackData);
}
return returnCode;
}
CallbackData::ReturnType VectorHandler::callHandler(Block<CallbackPointer> &someCallbackVector,CallbackData &someCallbackData)
{
size_t size((size_t)someCallbackVector.size());
CallbackData::ReturnType returnCode(0);
CallbackData::ReturnType callReturn;
for(int vectorIndex=0;vectorIndex<(int)size;vectorIndex++)
{
if(FALSE!=(callReturn=someCallbackVector[vectorIndex].callback(someCallbackData)))returnCode=callReturn;
size=(size_t)someCallbackVector.size();
}
return returnCode;
}
void VectorHandler::removeHandler(HandlerType handlerType,PureCallback *lpCallback)
{
CallbackPointer callbackPointer(lpCallback);
switch(handlerType)
{
case ChangeCBChainHandler :
removeHandler(mChangeCBChainVector,callbackPointer);
break;
case DrawClipboardHandler :
removeHandler(mDrawClipboardVector,callbackPointer);
break;
case UserHandler :
removeHandler(mUserVector,callbackPointer);
break;
case NCCreateHandler :
removeHandler(mNCCreateVector,callbackPointer);
break;
case CreateHandler :
removeHandler(mCreateVector,callbackPointer);
break;
case InitDialogHandler :
removeHandler(mInitDialogVector,callbackPointer);
break;
case SetFontHandler :
removeHandler(mSetFontVector,callbackPointer);
break;
case TimerHandler :
removeHandler(mTimerVector,callbackPointer);
break;
case CharHandler :
removeHandler(mCharVector,callbackPointer);
break;
case SizeHandler :
removeHandler(mSizeVector,callbackPointer);
break;
case CompactingHandler :
removeHandler(mCompactingVector,callbackPointer);
break;
case WinIniChangeHandler :
removeHandler(mWinIniChangeVector,callbackPointer);
break;
case SysColorChangeHandler :
removeHandler(mSysColorChangeVector,callbackPointer);
break;
case LeftButtonDoubleHandler :
removeHandler(mLeftButtonDoubleVector,callbackPointer);
break;
case LeftButtonDownHandler :
removeHandler(mLeftButtonDownVector,callbackPointer);
break;
case LeftButtonUpHandler :
removeHandler(mLeftButtonUpVector,callbackPointer);
break;
case RightButtonDoubleHandler :
removeHandler(mRightButtonDoubleVector,callbackPointer);
break;
case RightButtonDownHandler :
removeHandler(mRightButtonDownVector,callbackPointer);
break;
case RightButtonUpHandler :
removeHandler(mRightButtonUpVector,callbackPointer);
break;
case NCLeftButtonDownHandler :
removeHandler(mNCLeftButtonDownVector,callbackPointer);
break;
case NCLeftButtonUpHandler :
removeHandler(mNCLeftButtonUpVector,callbackPointer);
break;
case NCRightButtonDownHandler :
removeHandler(mNCRightButtonDownVector,callbackPointer);
break;
case NCRightButtonUpHandler :
removeHandler(mNCRightButtonUpVector,callbackPointer);
break;
case PaintHandler :
removeHandler(mPaintVector,callbackPointer);
break;
case EraseBackgroundHandler :
removeHandler(mEraseBackgroundVector,callbackPointer);
break;
case PaletteChangedHandler :
removeHandler(mPaletteChangedVector,callbackPointer);
break;
case CommandHandler :
removeHandler(mCommandVector,callbackPointer);
break;
case SetFocusHandler :
removeHandler(mSetFocusVector,callbackPointer);
break;
case KillFocusHandler :
removeHandler(mKillFocusVector,callbackPointer);
break;
case KeyUpHandler :
removeHandler(mKeyUpVector,callbackPointer);
break;
case KeyDownHandler :
removeHandler(mKeyDownVector,callbackPointer);
break;
case SysKeyUpHandler :
removeHandler(mSysKeyUpVector,callbackPointer);
break;
case SysKeyDownHandler :
removeHandler(mSysKeyDownVector,callbackPointer);
break;
case MinMaxHandler :
removeHandler(mMinMaxVector,callbackPointer);
break;
case EnterIdleHandler :
removeHandler(mEnterIdleVector,callbackPointer);
break;
case DrawItemHandler :
removeHandler(mDrawItemVector,callbackPointer);
break;
case ControlColorHandler :
removeHandler(mControlColorVector,callbackPointer);
break;
case NotifyHandler :
removeHandler(mNotifyVector,callbackPointer);
break;
case MenuSelectHandler :
removeHandler(mMenuSelectVector,callbackPointer);
break;
case MeasureItemHandler :
removeHandler(mMeasureItemVector,callbackPointer);
break;
case DDEInitiateHandler :
removeHandler(mDDEInitiateVector,callbackPointer);
break;
case DDEAckHandler :
removeHandler(mDDEAckVector,callbackPointer);
break;
case DDERequestHandler :
removeHandler(mDDERequestVector,callbackPointer);
break;
case DDETerminateHandler :
removeHandler(mDDETerminateVector,callbackPointer);
break;
case DDEDataHandler :
removeHandler(mDDEDataVector,callbackPointer);
break;
case MMOpenHandler :
removeHandler(mMMOpenVector,callbackPointer);
break;
case MMCloseHandler :
removeHandler(mMMCloseVector,callbackPointer);
break;
case MMDoneHandler :
removeHandler(mMMDoneVector,callbackPointer);
break;
case CloseHandler :
removeHandler(mCloseVector,callbackPointer);
break;
case MouseMoveHandler :
removeHandler(mMouseMoveVector,callbackPointer);
break;
case DialogCodeHandler :
removeHandler(mDialogCodeVector,callbackPointer);
break;
case DestroyHandler :
removeHandler(mDestroyVector,callbackPointer);
break;
case NCDestroyHandler :
removeHandler(mNCDestroyVector,callbackPointer);
break;
case HorizontalScrollHandler :
removeHandler(mHorizontalScrollVector,callbackPointer);
break;
case VerticalScrollHandler :
removeHandler(mVerticalScrollVector,callbackPointer);
break;
case DropFilesHandler :
removeHandler(mDropFilesVector,callbackPointer);
break;
case MDIActivateHandler :
removeHandler(mMDIActivateVector,callbackPointer);
break;
case MDIDestroyHandler :
removeHandler(mMDIDestroyVector,callbackPointer);
break;
case QueryEndSessionHandler :
removeHandler(mQueryEndSessionVector,callbackPointer);
break;
case ActivateAppHandler :
removeHandler(mActivateAppVector,callbackPointer);
break;
case DisplayChangeHandler :
removeHandler(mDisplayChangeVector,callbackPointer);
break;
case ShowWindowHandler :
removeHandler(mShowWindowVector,callbackPointer);
break;
case CaptureChangedHandler :
removeHandler(mCaptureChangedVector,callbackPointer);
break;
case DeviceChangeHandler :
removeHandler(mDeviceChangeVector,callbackPointer);
break;
}
}
void VectorHandler::removeHandler(Block<CallbackPointer> &someCallbackVector,CallbackPointer &locatePointer)
{
size_t size((size_t)someCallbackVector.size());
for(int vectorIndex=0;vectorIndex<(int)size;vectorIndex++)
{
if(someCallbackVector[vectorIndex]==locatePointer)
{
someCallbackVector.remove(vectorIndex);
size=(size_t)someCallbackVector.size();
vectorIndex=-1;
}
}
}
WORD VectorHandler::installedHandlers(HandlerType handlerType)const
{
switch(handlerType)
{
case ChangeCBChainHandler :
return (WORD)mChangeCBChainVector.size();
case DrawClipboardHandler :
return (WORD)mDrawClipboardVector.size();
case UserHandler :
return (WORD)mUserVector.size();
case NCCreateHandler :
return (WORD)mNCCreateVector.size();
case CreateHandler :
return (WORD)mCreateVector.size();
case InitDialogHandler :
return (WORD)mInitDialogVector.size();
case SetFontHandler :
return (WORD)mSetFontVector.size();
case TimerHandler :
return (WORD)mTimerVector.size();
case SizeHandler :
return (WORD)mSizeVector.size();
case CompactingHandler :
return (WORD)mCompactingVector.size();
case WinIniChangeHandler :
return (WORD)mWinIniChangeVector.size();
case SysColorChangeHandler :
return (WORD)mSysColorChangeVector.size();
case LeftButtonDoubleHandler :
return (WORD)mLeftButtonDoubleVector.size();
case LeftButtonDownHandler :
return (WORD)mLeftButtonDownVector.size();
case LeftButtonUpHandler :
return (WORD)mLeftButtonUpVector.size();
case RightButtonDoubleHandler :
return (WORD)mRightButtonDoubleVector.size();
case RightButtonUpHandler :
return (WORD)mRightButtonUpVector.size();
case RightButtonDownHandler :
return mRightButtonDownVector.size();
case NCLeftButtonDownHandler :
return mNCLeftButtonDownVector.size();
case NCLeftButtonUpHandler :
return mNCLeftButtonUpVector.size();
case NCRightButtonDownHandler :
return mNCRightButtonDownVector.size();
case NCRightButtonUpHandler :
return mNCRightButtonUpVector.size();
case PaintHandler :
return (WORD)mPaintVector.size();
case EraseBackgroundHandler :
return mEraseBackgroundVector.size();
case PaletteChangedHandler :
return mPaletteChangedVector.size();
case CommandHandler :
return (WORD)mCommandVector.size();
case SetFocusHandler :
return (WORD)mSetFocusVector.size();
case KillFocusHandler :
return (WORD)mKillFocusVector.size();
case MeasureItemHandler :
return (WORD)mMeasureItemVector.size();
case KeyUpHandler :
return (WORD)mKeyUpVector.size();
case KeyDownHandler :
return (WORD)mKeyDownVector.size();
case SysKeyDownHandler :
return (WORD)mSysKeyDownVector.size();
case SysKeyUpHandler :
return (WORD)mSysKeyUpVector.size();
case CharHandler :
return (WORD)mCharVector.size();
case MinMaxHandler :
return (WORD)mMinMaxVector.size();
case EnterIdleHandler :
return (WORD)mEnterIdleVector.size();
case MenuSelectHandler :
return (WORD)mMenuSelectVector.size();
case DrawItemHandler :
return (WORD)mDrawItemVector.size();
case NotifyHandler :
return (WORD)mNotifyVector.size();
case DDEInitiateHandler :
return (WORD)mDDEInitiateVector.size();
case DDEAckHandler :
return (WORD)mDDEAckVector.size();
case DDERequestHandler :
return (WORD)mDDERequestVector.size();
case DDETerminateHandler :
return (WORD)mDDETerminateVector.size();
case DDEDataHandler :
return (WORD)mDDEDataVector.size();
case MMOpenHandler :
return (WORD)mMMOpenVector.size();
case MMCloseHandler :
return (WORD)mMMCloseVector.size();
case MMDoneHandler :
return (WORD)mMMDoneVector.size();
case ControlColorHandler :
return (WORD)mControlColorVector.size();
case MouseMoveHandler :
return (WORD)mMouseMoveVector.size();
case CloseHandler :
return (WORD)mCloseVector.size();
case DialogCodeHandler :
return (WORD)mDialogCodeVector.size();
case DestroyHandler :
return (WORD)mDestroyVector.size();
case NCDestroyHandler :
return (WORD)mNCDestroyVector.size();
case HorizontalScrollHandler :
return (WORD)mHorizontalScrollVector.size();
case VerticalScrollHandler :
return (WORD)mVerticalScrollVector.size();
case DropFilesHandler :
return (WORD)mDropFilesVector.size();
case MDIActivateHandler :
return (WORD)mMDIActivateVector.size();
case MDIDestroyHandler :
return (WORD)mMDIDestroyVector.size();
case QueryEndSessionHandler :
return (WORD)mQueryEndSessionVector.size();
case ActivateAppHandler :
return (WORD)mActivateAppVector.size();
case DisplayChangeHandler :
return (WORD)mActivateAppVector.size();
case ShowWindowHandler :
return (WORD)mShowWindowVector.size();
case CaptureChangedHandler :
return (WORD)mCaptureChangedVector.size();
case DeviceChangeHandler :
return (WORD)mDeviceChangeVector.size();
default :
return 0;
}
}
WORD VectorHandler::insert(Block<CallbackPointer> &someHandlerBlock,PureCallback *lpCallback,CallOrder callOrder)
{
if(FirstHandler==callOrder&&someHandlerBlock.size())
{
CallbackPointer firstCallback(someHandlerBlock[0]);
CallbackPointer callback(lpCallback);
someHandlerBlock[0]=callback;
// someHandlerBlock[0]=CallbackPointer(lpCallback);
someHandlerBlock.insert(&firstCallback);
}
// else someHandlerBlock.insert(&CallbackPointer(lpCallback));
else someHandlerBlock.insert(new CallbackPointer(lpCallback));
return (WORD)someHandlerBlock.size();
}