зеркало из https://github.com/mozilla/gecko-dev.git
485 строки
16 KiB
C++
Executable File
485 строки
16 KiB
C++
Executable File
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public License
|
|
* Version 1.0 (the "NPL"); you may not use this file except in
|
|
* compliance with the NPL. You may obtain a copy of the NPL at
|
|
* http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
* for the specific language governing rights and limitations under the
|
|
* NPL.
|
|
*
|
|
* The Initial Developer of this code under the NPL is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
* Reserved.
|
|
*/
|
|
|
|
#ifndef _MAILFRM_H
|
|
#define _MAILFRM_H
|
|
#include "mailmisc.h"
|
|
#include "mailpriv.h"
|
|
|
|
#ifndef _APIMSG_H
|
|
#include "apimsg.h"
|
|
#endif
|
|
|
|
#ifndef DYNAMIC_DOWNCAST
|
|
#define DYNAMIC_DOWNCAST( classname, ptr ) ((classname *)(ptr))
|
|
#endif
|
|
|
|
#ifndef DOWNCAST
|
|
#define DOWNCAST( classname, ptr ) ((classname *)(ptr))
|
|
#endif
|
|
|
|
// mailfrm.h : header file
|
|
//
|
|
|
|
#define SORT_BYDATE 0
|
|
#define SORT_BYSUBJECT 1
|
|
#define SORT_BYSENDER 2
|
|
#define SORT_BYNUMBER 3
|
|
#define SORT_BYPRIORITY 4
|
|
#define SORT_BYTHREAD 5
|
|
#define SORT_BYSTATUS 6
|
|
#define SORT_BYSIZE 7
|
|
#define SORT_BYFLAG 8
|
|
#define SORT_BYUNREAD 9
|
|
|
|
#define THREADS_NEW 0
|
|
#define THREADS_ALL 1
|
|
#define THREADS_WATCHED 2
|
|
#define THREADS_KILLED 3
|
|
#define THREADS_NEWONLY 4
|
|
|
|
#define IDW_FOLDER_PANE AFX_IDW_PANE_FIRST
|
|
#define IDW_THREAD_PANE (AFX_IDW_PANE_FIRST+1)
|
|
#define IDW_MESSAGE_PANE (AFX_IDW_PANE_FIRST+2)
|
|
#define IDW_CATEGORY_PANE (AFX_IDW_PANE_FIRST+3)
|
|
#define IDW_ATTACHMENTS_PANE (AFX_IDW_PANE_FIRST+4)
|
|
#define IDW_MESSAGE_VIEW (AFX_IDW_PANE_FIRST+5)
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMailNewsCX
|
|
|
|
class CMailNewsCX: public CStubsCX {
|
|
protected:
|
|
LPCHROME m_pIChrome;
|
|
|
|
CFrameWnd *m_pFrame;
|
|
|
|
int32 m_lPercent;
|
|
CString m_csProgress;
|
|
BOOL m_bAnimated;
|
|
|
|
public:
|
|
CMailNewsCX(ContextType ctMyType, CFrameWnd *pFrame);
|
|
~CMailNewsCX();
|
|
|
|
LPUNKNOWN GetChrome() const { return m_pIChrome; }
|
|
void SetChrome( LPUNKNOWN pChrome );
|
|
|
|
public:
|
|
int32 QueryProgressPercent();
|
|
void SetProgressBarPercent(MWContext *pContext, int32 lPercent);
|
|
|
|
void SetDocTitle( MWContext *pContext, char *pTitle );
|
|
|
|
void StartAnimation();
|
|
void StopAnimation();
|
|
|
|
void Progress(MWContext *pContext, const char *pMessage);
|
|
void AllConnectionsComplete(MWContext *pContext);
|
|
|
|
void UpdateStopState( MWContext *pContext );
|
|
|
|
CWnd *GetDialogOwner() const;
|
|
};
|
|
|
|
class C3PaneMailFrame;
|
|
class CFolderFrame;
|
|
class CMessageFrame;
|
|
class CMailInfoBar;
|
|
class CMessageView;
|
|
class CFolderPropertyPage;
|
|
class CDiskSpaceProptertyPage;
|
|
|
|
extern int g_iModalDelay;
|
|
#define MODAL_DELAY (g_iModalDelay)
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMailNewsFrame frame
|
|
|
|
class CMailNewsFrame : public CGenericFrame, public IMailFrame
|
|
{
|
|
DECLARE_DYNCREATE(CMailNewsFrame)
|
|
|
|
protected:
|
|
unsigned long m_ulRefCount;
|
|
|
|
HACCEL m_hAccel;
|
|
|
|
public:
|
|
// IUnknown Interface
|
|
STDMETHODIMP QueryInterface(REFIID,LPVOID *);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// Support for IMailFrame
|
|
virtual CMailNewsFrame *GetMailNewsFrame();
|
|
virtual MSG_Pane *GetPane();
|
|
virtual void PaneChanged( MSG_Pane *pane, XP_Bool asynchronous,
|
|
MSG_PANE_CHANGED_NOTIFY_CODE, int32 value);
|
|
virtual void AttachmentCount(MSG_Pane *messagepane, void* closure,
|
|
int32 numattachments, XP_Bool finishedloading);
|
|
virtual void UserWantsToSeeAttachments(MSG_Pane *messagepane, void *closure);
|
|
|
|
protected:
|
|
CMailNewsFrame(); // protected constructor used by dynamic creation
|
|
|
|
// Attributes
|
|
|
|
MSG_Pane *m_pPane;
|
|
MSG_Pane *m_pMessagePane;
|
|
MSG_Master *m_pMaster;
|
|
BOOL m_bNews; // Are we showing mail or news?
|
|
BOOL m_bCategory;
|
|
CMailNewsOutliner *m_pOutliner;
|
|
CMailInfoBar *m_pInfoBar;
|
|
|
|
|
|
MSG_AttachmentData *m_pAttachmentData;
|
|
int32 m_nAttachmentCount;
|
|
CMessageView *m_pMessageView;
|
|
|
|
protected:
|
|
virtual ~CMailNewsFrame();
|
|
|
|
BOOL LoadAccelerators( UINT nID );
|
|
BOOL LoadAccelerators( LPCSTR lpszResource );
|
|
|
|
public:
|
|
// Attributes
|
|
CAbstractCX *GetContext() const { return GetMainContext(); }
|
|
|
|
virtual LPCTSTR GetWindowMenuTitle() { return _T(""); };
|
|
|
|
BOOL IsNews() const { return m_bNews; }
|
|
virtual MessageKey GetCurMessage() const { return MSG_MESSAGEKEYNONE; }
|
|
virtual MSG_FolderInfo *GetCurFolder() const { return NULL; }
|
|
|
|
static BOOL CheckWizard( CWnd *pParent = NULL ); // See if prefs have been initialized
|
|
|
|
static C3PaneMailFrame *GetLastThreadFrame(CFrameWnd *pExclude = NULL);
|
|
static CMessageFrame *GetLastMessageFrame(CFrameWnd *pExclude = NULL);
|
|
|
|
static void UpdateMenu( MSG_FolderInfo *mailRoot,
|
|
HMENU hMenu, UINT &nID, int nStart = 0);
|
|
|
|
void ActivateFrame( int nCmdShow = -1 );
|
|
virtual void RefreshNewEncoding(int16 doc_csid, BOOL bSave = TRUE);
|
|
|
|
protected:
|
|
virtual void SetSort( int idSort ) {}
|
|
virtual void SetCSID( int csid );
|
|
|
|
virtual MSG_FolderInfo *FolderInfoFromMenuID( MSG_FolderInfo *mailRoot,
|
|
UINT &nBase, UINT nID );
|
|
virtual MSG_FolderInfo *FolderInfoFromMenuID( UINT nID );
|
|
|
|
int m_iMessageMenuPos;
|
|
int m_iMoveMenuPos;
|
|
int m_iCopyMenuPos;
|
|
|
|
int m_iFileMenuPos;
|
|
int m_iAttachMenuPos;
|
|
|
|
virtual void UpdateFileMenus();
|
|
virtual void UpdateAttachmentMenus();
|
|
|
|
void ModalStatusBegin( int iModalDelay );
|
|
void ModalStatusEnd();
|
|
|
|
void DoUpdateCommand( CCmdUI* pCmdUI, MSG_CommandType cmd, BOOL bUseCheck = TRUE );
|
|
void DoCommand(MSG_CommandType msgCommand, int iModalDelay = -1, BOOL bAsync = TRUE );
|
|
void DoMessageCommand( MSG_CommandType );
|
|
void DoUpdateMessageCommand( CCmdUI *, MSG_CommandType, BOOL = TRUE );
|
|
virtual void DoUpdateNavigate( CCmdUI* pCmdUI, MSG_MotionType cmd ) {}
|
|
virtual void DoNavigate( MSG_MotionType msgCommand ) {}
|
|
|
|
void DoSubscribe(MSG_Host* pThisHost);
|
|
|
|
// MFC Overrides
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
virtual BOOL PreTranslateMessage( MSG* pMsg );
|
|
virtual void GetMessageString( UINT nID, CString& rMessage ) const;
|
|
|
|
// Message Map
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnPaint( );
|
|
afx_msg HCURSOR OnQueryDragIcon();
|
|
afx_msg void OnClose( );
|
|
afx_msg void OnDestroy( );
|
|
afx_msg void OnInitMenuPopup( CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu );
|
|
afx_msg LRESULT CMailNewsFrame::OnButtonMenuOpen(WPARAM wParam, LPARAM lParam);
|
|
|
|
#ifndef ON_COMMAND_RANGE
|
|
afx_msg BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
|
|
#endif
|
|
|
|
// File Menu Items
|
|
afx_msg BOOL OnCommand( WPARAM wParam, LPARAM lParam );
|
|
afx_msg void OnNew ();
|
|
afx_msg void OnUpdateNew ( CCmdUI* pCmdUI );
|
|
afx_msg void OnNewNewsgroup();
|
|
afx_msg void OnUpdateNewNewsgroup( CCmdUI *pCmdUI );
|
|
afx_msg void OnNewNewshost();
|
|
afx_msg void OnUpdateNewNewshost( CCmdUI *pCmdUI );
|
|
afx_msg void OnNewCategory();
|
|
afx_msg void OnUpdateNewCategory( CCmdUI *pCmdUI );
|
|
afx_msg void OnSave ();
|
|
afx_msg void OnUpdateSave ( CCmdUI* pCmdUI );
|
|
afx_msg void OnEditMessage ();
|
|
afx_msg void OnUpdateEditMessage( CCmdUI* pCmdUI );
|
|
afx_msg void OnAddNewsGroup();
|
|
afx_msg void OnUpdateAddNewsGroup ( CCmdUI * pCmdUI );
|
|
afx_msg void OnSubscribe ();
|
|
afx_msg void OnUpdateSubscribe ( CCmdUI * pCmdUI );
|
|
afx_msg void OnUnsubscribe ();
|
|
afx_msg void OnUpdateUnsubscribe ( CCmdUI * pCmdUI );
|
|
afx_msg void OnOpenAttach( UINT nID );
|
|
afx_msg void OnUpdateOpenAttach( CCmdUI *pCmdUI );
|
|
afx_msg void OnSaveAttach( UINT nID );
|
|
afx_msg void OnUpdateSaveAttach( CCmdUI *pCmdUI );
|
|
afx_msg void OnAttachProperties( UINT nID );
|
|
afx_msg void OnUpdateAttachProperties( CCmdUI *pCmdUI );
|
|
|
|
// Edit Menu Items
|
|
afx_msg void OnEditUndo();
|
|
afx_msg void OnUpdateEditUndo( CCmdUI* pCmdUI );
|
|
afx_msg void OnEditRedo();
|
|
afx_msg void OnUpdateEditRedo( CCmdUI* pCmdUI );
|
|
afx_msg void OnDeleteMessage();
|
|
afx_msg void OnReallyDeleteMessage();
|
|
afx_msg void OnUpdateDeleteMessage( CCmdUI *pCmdUI );
|
|
afx_msg void OnDeleteFolder();
|
|
afx_msg void OnUpdateDeleteFolder( CCmdUI *pCmdUI );
|
|
afx_msg void OnSelectAll();
|
|
afx_msg void OnUpdateSelectAll ( CCmdUI * pCmdUI );
|
|
afx_msg void OnSetupWizard ();
|
|
afx_msg void OnUpdateSetupWizard( CCmdUI *pCmdUI );
|
|
afx_msg void OnServerStuff();
|
|
afx_msg void OnUpdateServerStuff( CCmdUI *pCmdUI );
|
|
|
|
// View/Sort Menu Items
|
|
afx_msg void OnSortAgain ();
|
|
afx_msg void OnUpdateSortAgain ( CCmdUI* pCmdUI );
|
|
afx_msg void OnThread ();
|
|
afx_msg void OnUpdateThread ( CCmdUI* pCmdUI );
|
|
afx_msg void OnAscending ();
|
|
afx_msg void OnUpdateAscending ( CCmdUI* pCmdUI );
|
|
afx_msg void OnDescending ();
|
|
afx_msg void OnUpdateDescending ( CCmdUI* pCmdUI );
|
|
afx_msg void OnSortNumber ();
|
|
afx_msg void OnUpdateSortNumber ( CCmdUI* pCmdUI );
|
|
afx_msg void OnSortDate ();
|
|
afx_msg void OnUpdateSortDate ( CCmdUI* pCmdUI );
|
|
afx_msg void OnSortSubject ();
|
|
afx_msg void OnUpdateSortSubject ( CCmdUI* pCmdUI );
|
|
afx_msg void OnSortSender ();
|
|
afx_msg void OnUpdateSortSender ( CCmdUI* pCmdUI );
|
|
afx_msg void OnSortPriority();
|
|
afx_msg void OnUpdateSortPriority( CCmdUI *pCmdUI );
|
|
afx_msg void OnSortStatus();
|
|
afx_msg void OnUpdateSortStatus( CCmdUI *pCmdUI );
|
|
afx_msg void OnSortSize();
|
|
afx_msg void OnUpdateSortSize( CCmdUI *pCmdUI );
|
|
afx_msg void OnSortFlag();
|
|
afx_msg void OnUpdateSortFlag( CCmdUI *pCmdUI );
|
|
afx_msg void OnSortUnread();
|
|
afx_msg void OnUpdateSortUnread( CCmdUI *pCmdUI );
|
|
afx_msg void OnViewAll();
|
|
afx_msg void OnUpdateViewAll( CCmdUI * pCmdUI );
|
|
afx_msg void OnViewKilled();
|
|
afx_msg void OnUpdateViewKilled( CCmdUI * pCmdUI );
|
|
afx_msg void OnViewWatched();
|
|
afx_msg void OnUpdateViewWatched( CCmdUI * pCmdUI );
|
|
afx_msg void OnViewNew();
|
|
afx_msg void OnUpdateViewNew( CCmdUI * pCmdUI );
|
|
afx_msg void OnViewNewOnly();
|
|
afx_msg void OnUpdateViewNewOnly( CCmdUI * pCmdUI );
|
|
afx_msg void OnHeadersMicro();
|
|
afx_msg void OnUpdateHeadersMicro( CCmdUI *pCmdUI );
|
|
afx_msg void OnHeadersShort();
|
|
afx_msg void OnUpdateHeadersShort( CCmdUI *pCmdUI );
|
|
afx_msg void OnHeadersAll();
|
|
afx_msg void OnUpdateHeadersAll( CCmdUI *pCmdUI );
|
|
afx_msg void OnMessageReuse();
|
|
afx_msg void OnUpdateMessageReuse(CCmdUI* pCmdUI);
|
|
afx_msg void OnViewInline();
|
|
afx_msg void OnUpdateViewInline(CCmdUI*);
|
|
afx_msg void OnViewAsLinks();
|
|
afx_msg void OnUpdateViewAsLinks(CCmdUI*);
|
|
|
|
// Navigate Menu Items
|
|
afx_msg void OnPreviousUnread ();
|
|
afx_msg void OnUpdatePreviousUnread ( CCmdUI* pCmdUI );
|
|
afx_msg void OnPrevious ();
|
|
afx_msg void OnUpdatePrevious ( CCmdUI* pCmdUI );
|
|
afx_msg void OnNextUnread ();
|
|
afx_msg void OnUpdateNextUnread ( CCmdUI* pCmdUI );
|
|
afx_msg void OnNext();
|
|
afx_msg void OnUpdateNext ( CCmdUI* pCmdUI );
|
|
afx_msg void OnNextFolder();
|
|
afx_msg void OnUpdateNextFolder( CCmdUI* pCmdUI );
|
|
afx_msg void OnNextUnreadThread();
|
|
afx_msg void OnUpdateNextUnreadThread(CCmdUI* pCmdUI);
|
|
afx_msg void OnNextUnreadFolder();
|
|
afx_msg void OnUpdateNextUnreadFolder(CCmdUI* pCmdUI);
|
|
afx_msg void OnNextFlagged();
|
|
afx_msg void OnUpdateNextFlagged(CCmdUI* pCmdUI);
|
|
afx_msg void OnPreviousFlagged();
|
|
afx_msg void OnUpdatePreviousFlagged(CCmdUI* pCmdUI);
|
|
afx_msg void OnFirstFlagged();
|
|
afx_msg void OnUpdateFirstFlagged(CCmdUI* pCmdUI);
|
|
|
|
/* hack for message backtracking */
|
|
afx_msg void OnGoBack();
|
|
afx_msg void OnUpdateGoBack( CCmdUI* pCmdUI );
|
|
afx_msg void OnGoForward();
|
|
afx_msg void OnUpdateGoForward( CCmdUI* pCmdUI );
|
|
|
|
// Message Menu Items
|
|
afx_msg void OnGetMail ();
|
|
afx_msg void OnUpdateGetMail ( CCmdUI* pCmdUI );
|
|
afx_msg void OnGetNext();
|
|
afx_msg void OnUpdateGetNext( CCmdUI* pCmdUI );
|
|
afx_msg void OnDeliverNow();
|
|
afx_msg void OnUpdateDeliverNow(CCmdUI*);
|
|
afx_msg void OnReply ();
|
|
afx_msg void OnUpdateReply ( CCmdUI* pCmdUI );
|
|
afx_msg void OnReplyAll ();
|
|
afx_msg void OnUpdateReplyAll ( CCmdUI* pCmdUI );
|
|
afx_msg void OnPostNew ();
|
|
afx_msg void OnUpdatePostNew ( CCmdUI* pCmdUI );
|
|
afx_msg void OnPostAndMailReply ();
|
|
afx_msg void OnUpdatePostAndMailReply ( CCmdUI * pCmdUI );
|
|
afx_msg void OnPostAndMail ();
|
|
afx_msg void OnUpdatePostAndMail ( CCmdUI * pCmdUI );
|
|
afx_msg void OnPostReply ();
|
|
afx_msg void OnUpdatePostReply ( CCmdUI* pCmdUI );
|
|
afx_msg void OnForward ();
|
|
afx_msg void OnUpdateForward ( CCmdUI* pCmdUI );
|
|
afx_msg void OnForwardQuoted ();
|
|
afx_msg void OnUpdateForwardQuoted ( CCmdUI * pCmdUI );
|
|
afx_msg void OnKill();
|
|
afx_msg void OnUpdateKill( CCmdUI *pCmdUI );
|
|
afx_msg void OnWatch();
|
|
afx_msg void OnUpdateWatch( CCmdUI *pCmdUI );
|
|
afx_msg void OnCancelMessage();
|
|
afx_msg void OnUpdateCancelMessage( CCmdUI * pCmdUI );
|
|
afx_msg void OnRetrieveSelected();
|
|
afx_msg void OnUpdateRetrieveSelected( CCmdUI *pCmdUI );
|
|
afx_msg void OnMarkMessagesRead();
|
|
afx_msg void OnUpdateMarkMessagesRead( CCmdUI *pCmdUI );
|
|
afx_msg void OnMarkMessagesUnread();
|
|
afx_msg void OnUpdateMarkMessagesUnread( CCmdUI *pCmdUI );
|
|
afx_msg void OnMarkMessagesLater();
|
|
afx_msg void OnUpdateMarkMessagesLater( CCmdUI *pCmdUI );
|
|
afx_msg void OnMarkThreadRead();
|
|
afx_msg void OnUpdateMarkThreadRead( CCmdUI *pCmdUI );
|
|
afx_msg void OnMarkAllRead();
|
|
afx_msg void OnUpdateMarkAllRead( CCmdUI *pCmdUI );
|
|
afx_msg void OnCatchup();
|
|
afx_msg void OnUpdateCatchup( CCmdUI *pCmdUI );
|
|
afx_msg void OnRetrieveOffline();
|
|
afx_msg void OnUpdateRetrieveOffline( CCmdUI *pCmdUI );
|
|
afx_msg void OnMarkMessages();
|
|
afx_msg void OnUpdateMarkMessages( CCmdUI *pCmdUI );
|
|
afx_msg void OnUnmarkMessages();
|
|
afx_msg void OnUpdateUnmarkMessages( CCmdUI *pCmdUI );
|
|
afx_msg void OnWrapLongLines ( );
|
|
afx_msg void OnUpdateWrapLongLines ( CCmdUI * pCmdUI );
|
|
afx_msg void OnViewRot13 ( );
|
|
afx_msg void OnUpdateViewRot13 ( CCmdUI * pCmdUI );
|
|
|
|
// Organize Menu Items
|
|
afx_msg void OnNewFolder ();
|
|
afx_msg void OnUpdateNewFolder ( CCmdUI* pCmdUI );
|
|
afx_msg void OnRenameFolder();
|
|
afx_msg void OnUpdateRenameFolder( CCmdUI *pCmdUI );
|
|
afx_msg void OnCompressFolder ();
|
|
afx_msg void OnUpdateCompressFolder ( CCmdUI* pCmdUI );
|
|
afx_msg void OnCompressAll ();
|
|
afx_msg void OnUpdateCompressAll ( CCmdUI* pCmdUI );
|
|
afx_msg void OnEmptyTrash ();
|
|
afx_msg void OnUpdateEmptyTrash ( CCmdUI * pCmdUI );
|
|
afx_msg void OnAddToAddressBook ();
|
|
afx_msg void OnUpdateAddToAddressBook ( CCmdUI * pCmdUI );
|
|
afx_msg void OnAddAllToAddressBook ();
|
|
afx_msg void OnUpdateAddAllToAddressBook ( CCmdUI * pCmdUI );
|
|
|
|
// Stop
|
|
afx_msg void OnInterrupt();
|
|
afx_msg void OnUpdateInterrupt( CCmdUI* pCmdUI );
|
|
|
|
// Non menu Items
|
|
afx_msg void OnTips();
|
|
afx_msg void OnSearch();
|
|
afx_msg void OnFilter();
|
|
afx_msg void OnQuickFile();
|
|
afx_msg void OnUpdateQuickFile( CCmdUI *pCmdUI );
|
|
afx_msg void OnUpdateSecurity(CCmdUI *pCmdUI);
|
|
afx_msg void OnUpdateSecureStatus(CCmdUI *pCmdUI);
|
|
|
|
afx_msg void OnPriorityLowest();
|
|
afx_msg void OnPriorityLow();
|
|
afx_msg void OnPriorityNormal();
|
|
afx_msg void OnPriorityHigh();
|
|
afx_msg void OnPriorityHighest();
|
|
afx_msg void OnUpdatePriority( CCmdUI *pCmdUI );
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMsgListFrame frame
|
|
|
|
class CMsgListFrame : public CMailNewsFrame, public IMsgList {
|
|
DECLARE_DYNCREATE(CMsgListFrame)
|
|
public:
|
|
// IUnknown Interface
|
|
STDMETHODIMP QueryInterface(REFIID,LPVOID *);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// Support for IMsgList Interface (Called by CMailMsgList)
|
|
virtual void ListChangeStarting( MSG_Pane* pane, XP_Bool asynchronous,
|
|
MSG_NOTIFY_CODE notify, MSG_ViewIndex where,
|
|
int32 num);
|
|
virtual void ListChangeFinished( MSG_Pane* pane, XP_Bool asynchronous,
|
|
MSG_NOTIFY_CODE notify, MSG_ViewIndex where,
|
|
int32 num);
|
|
virtual void GetSelection( MSG_Pane* pane, MSG_ViewIndex **indices, int *count,
|
|
int *focus);
|
|
virtual void SelectItem( MSG_Pane* pane, int item );
|
|
|
|
virtual void CopyMessagesInto( MSG_Pane *pane, MSG_ViewIndex *indices, int count,
|
|
MSG_FolderInfo *folderInfo);
|
|
virtual void MoveMessagesInto( MSG_Pane *pane, MSG_ViewIndex *indices, int count,
|
|
MSG_FolderInfo *folderInfo);
|
|
protected:
|
|
CMsgListFrame(); // protected constructor used by dynamic creation
|
|
|
|
// Message Map
|
|
afx_msg int OnCreate( LPCREATESTRUCT lpCreateStruct );
|
|
afx_msg void OnDestroy();
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
extern MSG_MessagePaneCallbacks MsgPaneCB;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#endif
|