69 lines
2.0 KiB
C++
69 lines
2.0 KiB
C++
#ifndef _POP_POPDLG_HPP_
|
|
#define _POP_POPDLG_HPP_
|
|
#ifndef _COMMON_DWINDOW_HPP_
|
|
#include <common/dwindow.hpp>
|
|
#endif
|
|
#ifndef _COMMON_SMARTPOINTER_HPP_
|
|
#include <common/pointer.hpp>
|
|
#endif
|
|
#ifndef _POP_POP_HPP_
|
|
#include <pop/pop.hpp>
|
|
#endif
|
|
|
|
class StatusBar;
|
|
class FolderTree;
|
|
class ServerReg;
|
|
class Mail;
|
|
|
|
class POPDlg : public DWindow
|
|
{
|
|
public:
|
|
POPDlg(void);
|
|
virtual ~POPDlg();
|
|
BOOL perform(void);
|
|
protected:
|
|
virtual void message(const String &messageString);
|
|
virtual void message(Block<String> &messageStrings);
|
|
private:
|
|
enum DlgControls{Server=PC_SERVER,GetMail=PC_GETMAIL,EditControl=PC_EDIT};
|
|
enum FolderCoords{xFolder=5,yFolder=50,cxFolder=235,cyFolder=150};
|
|
enum MailCoords{xMail=245,yMail=50,cxMail=235,cyMail=150};
|
|
enum {RootID=0};
|
|
enum NodeType{NullNode=0x0000,MailNode=0x0001};
|
|
POPDlg &operator=(const POPDlg &someMailDlg);
|
|
CallbackData::ReturnType initHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType closeHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType dlgCodeHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType mailSelChangedHandler(CallbackData &someCallbackData);
|
|
|
|
void handleServer(CallbackData &someCallbackData);
|
|
void userMessage(const String &message);
|
|
void retrieveMail(void);
|
|
void populateFolders(void);
|
|
void populateMail(void);
|
|
void getMail(void);
|
|
void setDisplay(int itemID);
|
|
BOOL handleLoginParams(ServerReg &serverReg);
|
|
LPARAM makeItemID(NodeType nodeType,WORD itemID);
|
|
|
|
Callback<POPDlg> mInitHandler;
|
|
Callback<POPDlg> mDestroyHandler;
|
|
Callback<POPDlg> mCommandHandler;
|
|
Callback<POPDlg> mCloseHandler;
|
|
Callback<POPDlg> mDlgCodeHandler;
|
|
Callback<POPDlg> mMailSelChangedHandler;
|
|
SmartPointer<StatusBar> mStatusBar;
|
|
SmartPointer<FolderTree> mFolderTree;
|
|
SmartPointer<FolderTree> mMailTree;
|
|
Block<Mail> mMailBlock;
|
|
};
|
|
|
|
|
|
inline
|
|
LPARAM POPDlg::makeItemID(NodeType nodeType,WORD itemID)
|
|
{
|
|
return MAKELPARAM(itemID,nodeType);
|
|
}
|
|
#endif |