#ifndef _NNTP_OPTIONSDLG_HPP_ #define _NNTP_OPTIONSDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _NNTP_RESOURCE_HPP_ #include #endif class String; class SystemTime; class OptionsDialog : private DWindow { public: OptionsDialog(const GUIWindow &parentWindow); virtual ~OptionsDialog(); WORD performDialog(void); private: enum{DaysPrior=GENOPT_DAYSPRIOR,PostDate=GENOPT_POSTDATE,NewsDir=GENOPT_NEWSDIR,Browse=GENOPT_BROWSE}; OptionsDialog(const OptionsDialog &someOptionsDialog); OptionsDialog &operator=(const OptionsDialog &someOptionsDialog); CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); void handleDaysPrior(CallbackData &someCallbackData); void setOptions(void)const; void setOptions(WORD priorDays)const; BOOL handleApply(void)const; Callback mInitDialogHandler; Callback mCommandHandler; HWND mhParent; }; inline OptionsDialog::OptionsDialog(const GUIWindow &parentWindow) : mhParent(parentWindow) { mInitDialogHandler.setCallback(this,&OptionsDialog::initDialogHandler); mCommandHandler.setCallback(this,&OptionsDialog::commandHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); } inline OptionsDialog::OptionsDialog(const OptionsDialog &someOptionsDialog) : mhParent(someOptionsDialog.mhParent) { // no implementation mInitDialogHandler.setCallback(this,&OptionsDialog::initDialogHandler); mCommandHandler.setCallback(this,&OptionsDialog::commandHandler); } inline OptionsDialog::~OptionsDialog() { removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); } inline OptionsDialog &OptionsDialog::operator=(const OptionsDialog &/*someOptionsDialog*/) { // no implementation return *this; } #endif