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

79 lines
2.6 KiB
C++

#ifndef _NNTP_MOREWINDOWS_HPP_
#define _NNTP_MOREWINDOWS_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _NNTP_RESOURCE_HPP_
#include <nntp/resource.hpp>
#endif
class OwnerDrawListAltColor;
class MoreWindowsDialog : private DWindow
{
public:
MoreWindowsDialog(const GUIWindow &parentWindow);
virtual ~MoreWindowsDialog();
WORD performDialog(Block<String> &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<MoreWindowsDialog> mInitDialogHandler;
Callback<MoreWindowsDialog> mCommandHandler;
Callback<MoreWindowsDialog> mDialogCodeHandler;
SmartPointer<OwnerDrawListAltColor> mListBox;
Block<String> 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