home *** CD-ROM | disk | FTP | other *** search
- /* -*- 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 _abmldlg_h_
- #define _abmldlg_h_
-
- // ABMLDLG.H
- //
- // DESCRIPTION:
- // This file contains the declarations of the for the mailing list
- // dialog
- //
-
- #include "addrfrm.h"
- #include "apimsg.h"
- #include "xp_core.h"
- #include "addrbook.h"
- #include "property.h"
- #include "apiaddr.h"
- #include "mnrccln.h"
-
- class CNSAddressList;
- class CABMLDialog;
- class CABMLDialogEntryList;
-
-
- class CMailListDropTarget : public COleDropTarget
- {
- public:
-
- CABMLDialog* m_pOwner;
- //Construction
- CMailListDropTarget(CABMLDialog* pOwner) { m_pOwner = pOwner; }
- BOOL OnDrop(CWnd *, COleDataObject *, DROPEFFECT, CPoint);
- DROPEFFECT OnDragOver(CWnd *, COleDataObject *, DWORD, CPoint);
- };
-
- /****************************************************************************
- *
- * Class: CABMLDialog
- *
- * DESCRIPTION:
- * This class is the address picker from the compose window
- *
- ****************************************************************************/
- class CABMLDialog : public CDialog,
- public IAddressParent {
- // Attributes
- public:
-
- friend class CABMLDialogEntryList;
-
- // Dialog Data
- //{{AFX_DATA(CABMLDialog)
- enum { IDD = IDD_ADDRESS_LIST };
- CString m_description;
- CString m_name;
- CString m_nickname;
- //}}AFX_DATA
-
- protected:
-
- LPADDRESSCONTROL m_pIAddressList;
- LPUNKNOWN m_pUnkAddress;
- int m_iMysticPlane;
- HFONT m_pFont;
-
- LPMSGLIST m_pIAddrList;
- MLPane *m_addrBookPane;
- DIR_Server *m_dir;
- ABID m_entryID;
- BOOL m_addingEntries;
- BOOL m_saved;
- int m_errorCode;
- BOOL m_changingEntry;
-
- CMailListDropTarget *m_pDropTarget;
-
- // Support loading resources from dll
- CMailNewsResourceSwitcher m_MailNewsResourceSwitcher;
-
- // Support for IMsgList Interface (Called by CABMLDialogEntryList)
- 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);
- void CleanupOnClose();
- void AddEntriesToList(int index, int num);
-
- // IAddressParent stuff
- virtual void AddedItem (HWND hwnd, LONG id,int index);
- virtual int ChangedItem (char * pString, int index, HWND hwnd, char** ppFullName, unsigned long* entryID, UINT* bitmapID);
- virtual void DeletedItem (HWND hwnd, LONG id,int index);
- virtual char * NameCompletion (char *);
-
- // Operations
- public:
- CABMLDialog(DIR_Server* dir, CWnd* pParent = NULL, ABID listID = NULL, MWContext* context = NULL);
- ~CABMLDialog();
-
-
- BOOL Create( CWnd *pParent ) { return CDialog::Create( IDD, pParent ); };
-
- enum { ToolInvalid = -1, ToolText = 0, ToolPictures = 1, ToolBoth = 2 };
-
- static void HandleErrorReturn(int errorID, CWnd* parent = NULL);
- MLPane* GetPane() { return m_addrBookPane; }
- ABID GetEntryID() { return m_entryID; }
-
- CNSAddressList * GetAddressWidget();
-
- void DoUpdateAddressBook( CCmdUI* pCmdUI, AB_CommandType cmd, BOOL bUseCheck = TRUE );
-
- // Drop
- BOOL IsDragInListBox(CPoint *pPoint);
- BOOL ProcessVCardData(COleDataObject * pDataObject,CPoint &point);
-
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CABMLDialog)
- public:
- virtual BOOL OnInitDialog( );
- BOOL PreTranslateMessage( MSG* pMsg );
-
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual void PostNcDestroy( );
- //}}AFX_VIRTUAL
-
- // Implementation
- protected:
- // Generated message map functions
- //{{AFX_MSG(CABMLDialog)
- afx_msg int OnCreate( LPCREATESTRUCT );
- afx_msg void OnDestroy( );
- afx_msg void OnOK();
- afx_msg void OnCancel();
- afx_msg void OnRemoveEntry();
- afx_msg void OnHelp();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
-
-
- #endif
-