Files
Work/nntp/OPTNSDLG.HPP
2024-08-07 09:16:27 -04:00

68 lines
2.0 KiB
C++

#ifndef _NNTP_OPTIONSDLG_HPP_
#define _NNTP_OPTIONSDLG_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _NNTP_RESOURCE_HPP_
#include <nntp/resource.hpp>
#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<OptionsDialog> mInitDialogHandler;
Callback<OptionsDialog> 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