#ifndef _VIDCAP_ENTRYDLG_HPP_ #define _VIDCAP_ENTRYDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _VIDCAP_VIDREG_HPP_ #include #endif class EntryDialog : private DWindow { public: EntryDialog(const GUIWindow &parentWindow); virtual ~EntryDialog(); WORD perform(void); private: EntryDialog(const EntryDialog &someEntryDialog); EntryDialog &operator=(const EntryDialog &someEntryDialog); CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType dialogCodeHandler(CallbackData &someCallbackData); void handleBrowse(void); void setParams(void); void getParams(void); void setPreviewRates(void); void selectPreviewRate(DWORD previewRate); DWORD getPreviewRate(void); bool verifyCaptureFile(const String &strCaptureFile); Callback mInitDialogHandler; Callback mCommandHandler; Callback mDialogCodeHandler; SmartPointer mPreviewRate; VidReg mVidReg; HWND mhParent; }; inline EntryDialog::EntryDialog(const GUIWindow &parentWindow) : mhParent(parentWindow) { mInitDialogHandler.setCallback(this,&EntryDialog::initDialogHandler); mCommandHandler.setCallback(this,&EntryDialog::commandHandler); mDialogCodeHandler.setCallback(this,&EntryDialog::dialogCodeHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); insertHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler); } inline EntryDialog::EntryDialog(const EntryDialog &someEntryDialog) : mhParent(someEntryDialog.mhParent) { // no implementation mInitDialogHandler.setCallback(this,&EntryDialog::initDialogHandler); mCommandHandler.setCallback(this,&EntryDialog::commandHandler); mDialogCodeHandler.setCallback(this,&EntryDialog::dialogCodeHandler); } inline EntryDialog::~EntryDialog() { removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); removeHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler); } inline EntryDialog &EntryDialog::operator=(const EntryDialog &/*someEntryDialog*/) { // no implementation return *this; } #endif