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 __COMPBAR_H
- #define __COMPBAR_H
-
- #include <afxwin.h>
- #include <afxext.h>
- #include "compstd.h"
- #include "msgcom.h"
- #include "addrbook.h"
- #include "apiaddr.h"
- #include "apiimg.h"
- #include "collapse.h"
- #include "tooltip.h"
-
- class CComposeEdit;
- class CNSAddressList;
- class CNSAttachmentList;
-
- #define MAX_TIPS 4
-
- class CComposeSubjectEdit;
-
- class CComposeBar : public CDialogBar,
- public IAddressParent
- {
- protected:
- class CNSComposeToolInfo
- {
- public:
- CRect m_rect;
- UINT m_idText;
- WPARAM m_idCommand;
- CString m_csToolTip;
- void Initialize(UINT idText, CRect & rect, WPARAM idCommand)
- {
- m_csToolTip = szLoadString(idText);
- m_idText = idText;
- m_rect = rect;
- m_idCommand = idCommand;
- }
- };
- LPUNKNOWN m_pUnkImage;
- LPUNKNOWN m_pUnkAddressControl;
- LPIMAGEMAP m_pIImage;
- public:
- CNSToolTip2 * m_pToolTip;
- CNSCollapser collapser;
- LPADDRESSCONTROL m_pIAddressList;
- LPUNKNOWN m_pUnkAddress;
- int m_iMinSize;
- int m_iMaxSize;
- int m_iHeight;
- int m_iBoxHeight;
- int m_cxChar;
- int m_iFirstX;
- int m_iSelectedTab;
- int m_iPriorityIdx;
- char * m_pszMessageFormat;
- char * m_pszCharSet;
- BOOL m_bReceipt;
- BOOL m_bEncrypted;
- BOOL m_bSigned;
- BOOL m_bAttachVCard;
- BOOL m_bUse8Bit;
- BOOL m_bUseUUENCODE;
- int m_iTotalAttachments;
- int m_iPrevHeight;
- CNSComposeToolInfo m_ToolTipInfo[MAX_TIPS];
- HFONT m_cfTextFont;
- HFONT m_cfStaticFont;
- HFONT m_cfSubjectFont;
- CComposeEdit * m_pComposeEdit;
- #ifdef BUTTONS
- CWnd * m_pButton[3];
- #endif
- CButton * m_pReturnReceipt;
- CButton * m_pEncrypted;
- CButton * m_pSigned;
- CButton * m_pUse8Bit;
- CButton * m_pUseUUENCODE;
-
- CNSAttachmentList * m_pAttachmentList;
- CWnd * m_pWidget;
-
- CComposeSubjectEdit * m_pSubjectEdit;
- CStatic * m_pPriorityText;
- CStatic * m_pSubjectEditText;
- CStatic * m_pMessageFormatText;
- CComboBox * m_pPriority;
- CComboBox * m_pMessageFormat;
- CNSAttachDropTarget * m_pDropTarget;
-
- virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz );
- void Enable3d(BOOL bEnable);
-
- public:
-
- CEdit * m_pSubject;
- BOOL m_bClosed;
- BOOL m_bHidden;
- BOOL m_bSizing;
- BOOL m_bCanSize;
- int m_iY;
-
- CComposeBar ( );
- ~CComposeBar ( );
-
- LPADDRESSCONTROL GetAddressWidgetInterface();
-
- void ShowTab(int idx);
- int GetTab();
- void AttachFile(void);
- void AttachUrl(void);
- inline BOOL IsCollapsed(void) { return m_bClosed; }
-
- void SetComposeEdit ( CComposeEdit * pEdit )
- {
- m_pComposeEdit = pEdit;
- }
- CComposeEdit * GetComposeEdit ( void )
- {
- return m_pComposeEdit;
- }
- void SetCSID(int m_iCSID);
- void SetSigned(BOOL bSigned) { m_bSigned = bSigned; }
- void SetEncrypted(BOOL bEncrypted) { m_bEncrypted = bEncrypted; }
- void SetReturnReceipt(BOOL bReceipt) { m_bReceipt = bReceipt; }
- void SetUse8Bit(BOOL bUse8Bit) { m_bUse8Bit = bUse8Bit; }
- void SetUseUUENCODE(BOOL bUseUUENCODE) {m_bUseUUENCODE = bUseUUENCODE; }
- BOOL GetEncrypted(void) { return m_bEncrypted; }
- BOOL GetSigned(void) { return m_bSigned; }
- BOOL GetReturnReceipt(void) { return m_bReceipt; }
- BOOL GetUse8Bit(void) { return m_bUse8Bit; }
- BOOL GetUseUUENCODE(void) { return m_bUseUUENCODE; }
- void Draw3DStaticEdgeSimulation(CDC & dc, CRect &rect, BOOL bReverse = FALSE);
- void DrawVerticalTab(CDC &, int, CRect &);
- BOOL IsAttachmentsMailOnly(void);
- BOOL TabControl(BOOL bShift = FALSE, BOOL bControl = FALSE, CWnd * pWnd = (CWnd*)TABCTRL_HOME);
- void CalcFieldLayout(void);
- void DisplayHeaders ( MSG_HEADER_SET );
- int GetHeightNeeded ( void );
- void CreateAddressingBlock(void);
- void CreateStandardFields(void);
- void CreateAddressPage(void);
- void CreateAttachmentsPage(void);
- void CreateOptionsPage(void);
- void DestroyOptionsPage(void);
- void DestroyAddressPage(void);
- void DestroyStandardFields(void);
- void DestroyAttachmentsPage(void);
- void UpdateFixedSize ( );
- void UpdateHeaderInfo ( void );
- void UpdateRecipientInfo ( char *pTo, char *pCc, char *pBcc );
- int GetTotalAttachments(void);
- void UpdateAttachmentInfo(int nTotal = -1);
- void TabChanging(int tab);
- void TabChanged(int tab);
- void GetWidgetRect(CRect &WinRect, CRect &rect);
- BOOL GetAttachMyCard() { return m_bAttachVCard; }
- void SetAttachMyCard(BOOL bAttach) { m_bAttachVCard = bAttach; }
- void Cleanup(void);
- void UpdateSecurityOptions(void);
-
- virtual void AddedItem (HWND hwnd, LONG id,int index);
- virtual int ChangedItem (char * pString, int index, HWND hwnd, char ** ppszFullName, unsigned long* entryID = NULL, UINT* bitmapID = NULL);
- virtual void DeletedItem (HWND hwnd, LONG id,int index);
- virtual char * NameCompletion (char *);
- virtual int OnToolHitTest( CPoint point, TOOLINFO* pTI ) const;
- BOOL ProcessVCardData(COleDataObject * pDataObject,CPoint &point);
-
- void OnAttachTab(void);
- void OnAddressTab(void);
- void OnOptionsTab(void);
- void OnCollapse(void);
- void OnToggleShow(void);
- inline BOOL IsVisible() {return !m_bHidden;}
-
- protected:
- #ifdef XP_WIN16
- BOOL PreTranslateMessage( MSG* pMsg );
- #endif
- void UpdateOptionsInfo();
-
- afx_msg LRESULT OnSizeParent(WPARAM wParam, LPARAM lParam);
- afx_msg void OnDropFiles( HDROP hDropInfo );
- afx_msg void OnMouseMove( UINT nFlags, CPoint point );
- afx_msg int OnCreate ( LPCREATESTRUCT );
- afx_msg void OnPaint();
- afx_msg BOOL OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message );
- afx_msg void OnButtonAttach(void);
- afx_msg void OnSize( UINT nType, int cx, int cy );
- afx_msg LONG OnLeavingLastField(UINT, LONG);
- afx_msg void OnLButtonDown( UINT nFlags, CPoint point );
- afx_msg void OnLButtonUp( UINT nFlags, CPoint point );
- afx_msg BOOL OnEraseBkgnd(CDC* pDC);
- afx_msg void OnTimer( UINT nIDEvent );
- afx_msg void OnUpdateToolBar(void);
- afx_msg void OnUpdateOptions(void);
-
- DECLARE_MESSAGE_MAP()
-
- friend class CComposeFrame;
-
- };
-
- #endif
-
-