#ifndef _VIDCAP_SOURCEDLG_HPP_ #define _VIDCAP_SOURCEDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_CONTROL_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif class SourceDialog : private DWindow { public: SourceDialog(const GUIWindow &parentWindow); virtual ~SourceDialog(); LRESULT perform(void); private: SourceDialog(const SourceDialog &someSourceDialog); SourceDialog &operator=(const SourceDialog &someSourceDialog); CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType dialogCodeHandler(CallbackData &someCallbackData); void getDrivers(void); LRESULT getDriverIndex(void); Callback mInitDialogHandler; Callback mCommandHandler; Callback mDialogCodeHandler; SmartPointer mListBox; HWND mhParent; LRESULT mDriverIndex; }; inline SourceDialog::SourceDialog(const GUIWindow &parentWindow) : mhParent(parentWindow) { mInitDialogHandler.setCallback(this,&SourceDialog::initDialogHandler); mCommandHandler.setCallback(this,&SourceDialog::commandHandler); mDialogCodeHandler.setCallback(this,&SourceDialog::dialogCodeHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); insertHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler); } inline SourceDialog::SourceDialog(const SourceDialog &someSourceDialog) : mhParent(someSourceDialog.mhParent) { // no implementation mInitDialogHandler.setCallback(this,&SourceDialog::initDialogHandler); mCommandHandler.setCallback(this,&SourceDialog::commandHandler); mDialogCodeHandler.setCallback(this,&SourceDialog::dialogCodeHandler); } inline SourceDialog::~SourceDialog() { removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); removeHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler); } inline SourceDialog &SourceDialog::operator=(const SourceDialog &/*someSourceDialog*/) { // no implementation return *this; } #endif