#ifndef _NNTP_MOREWINDOWS_HPP_ #define _NNTP_MOREWINDOWS_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _NNTP_RESOURCE_HPP_ #include #endif class OwnerDrawListAltColor; class MoreWindowsDialog : private DWindow { public: MoreWindowsDialog(const GUIWindow &parentWindow); virtual ~MoreWindowsDialog(); WORD performDialog(Block &strLines,String &entryText); private: enum{ListBoxID=MW_LISTBOX}; MoreWindowsDialog(const MoreWindowsDialog &someMoreWindowsDialog); MoreWindowsDialog &operator=(const MoreWindowsDialog &someMoreWindowsDialog); CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType dialogCodeHandler(CallbackData &someCallbackData); void setListBoxList(void); Callback mInitDialogHandler; Callback mCommandHandler; Callback mDialogCodeHandler; SmartPointer mListBox; Block mStrLines; String mSelText; HWND mhParent; }; inline MoreWindowsDialog::MoreWindowsDialog(const GUIWindow &parentWindow) : mhParent(parentWindow) { mInitDialogHandler.setCallback(this,&MoreWindowsDialog::initDialogHandler); mCommandHandler.setCallback(this,&MoreWindowsDialog::commandHandler); mDialogCodeHandler.setCallback(this,&MoreWindowsDialog::dialogCodeHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); insertHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler); } inline MoreWindowsDialog::MoreWindowsDialog(const MoreWindowsDialog &someMoreWindowsDialog) : mhParent(someMoreWindowsDialog.mhParent) { // no implementation mInitDialogHandler.setCallback(this,&MoreWindowsDialog::initDialogHandler); mCommandHandler.setCallback(this,&MoreWindowsDialog::commandHandler); mDialogCodeHandler.setCallback(this,&MoreWindowsDialog::dialogCodeHandler); } inline MoreWindowsDialog::~MoreWindowsDialog() { removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler); removeHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler); } inline MoreWindowsDialog &MoreWindowsDialog::operator=(const MoreWindowsDialog &/*someMoreWindowsDialog*/) { // no implementation return *this; } #endif