#ifndef _IBODYOBJ_H #define _IBODYOBJ_H #include "statbar.h" #include "mimeole.h" #ifndef __IBodyObj_FWD_DEFINED__ #define __IBodyObj_FWD_DEFINED__ typedef interface IBodyObj IBodyObj; #endif /* __IBodyObj_FWD_DEFINED__ */ // HrInit flags enum { IBOF_PRINT =0x01, IBOF_USEMARKREAD =0x02, // if msg is UNREAD, activates mark as read rules IBOF_TABLINKS =0x04, IBOF_NOSCROLL =0x08, IBOF_DISPLAYTO =0x10 }; // HrLoad flags enum { BLF_PRESERVESERVICE =0x01, // uses ULA_PRESERVESERVICE }; // HrUnloadAll flags enum { ULA_PRESERVESERVICE =0x01, // skips SetService(NULL) }; // HrSave flags enum { BSF_HTML =0x00000001, BSF_FIXUPURLS =0x00000002 }; enum { // Used with SMIME MEHC_BTN_OPEN = 0x00000001, // This if from the error screen to the message MEHC_BTN_CERT, // This opens the cert MEHC_BTN_TRUST, // This opens the trusts MEHC_BTN_CONTINUE, // Goes from opening screen to either error or main message // Used with HTML errors MEHC_CMD_CONNECT, // Try to reconnect to the server MEHC_CMD_DOWNLOAD, // Try to download message again // Used with Mark As Read MEHC_CMD_MARK_AS_READ, // Should mark as read now if haven't done it MEHC_UIACTIVATE, // Notifies the view we have the focus MEHC_CMD_PROCESS_RECEIPT, // Tells the view to process for receipts MEHC_CMD_PROCESS_RECEIPT_IF_NOT_SIGNED, //Tells the view to process for reciepts if the msg is not signed MEHC_MAX }; interface IMimeEditEventSink : public IUnknown { // Return S_OK if handled, Return S_FALSE if want MEHost to handle event virtual HRESULT STDMETHODCALLTYPE EventOccurred(DWORD cmdID, IMimeMessage *pMessage) PURE; }; typedef void (CALLBACK * PFNMARKASREAD)(DWORD); typedef HRESULT (CALLBACK * PFNNOSECUI)(DWORD); interface IBodyOptions; interface IBodyObj2 : public IUnknown { public: // Basic functions virtual HRESULT STDMETHODCALLTYPE HrUpdateFormatBar() PURE; virtual HRESULT STDMETHODCALLTYPE HrClearFormatting() PURE; virtual HRESULT STDMETHODCALLTYPE HrInit(HWND hwndParent, DWORD dwFlags, IBodyOptions *pBodyOptions) PURE; virtual HRESULT STDMETHODCALLTYPE HrClose() PURE; virtual HRESULT STDMETHODCALLTYPE HrResetDocument() PURE; virtual HRESULT STDMETHODCALLTYPE HrSetStatusBar(CStatusBar *pStatus) PURE; virtual HRESULT STDMETHODCALLTYPE HrUpdateToolbar(HWND hwndToolbar) PURE; virtual HRESULT STDMETHODCALLTYPE HrShow(BOOL fVisible) PURE; virtual HRESULT STDMETHODCALLTYPE HrOnInitMenuPopup(HMENU hmenuPopup, UINT uID) PURE; virtual HRESULT STDMETHODCALLTYPE HrWMMenuSelect(HWND hwnd, WPARAM wParam, LPARAM lParam) PURE; virtual HRESULT STDMETHODCALLTYPE HrWMDrawMenuItem(HWND hwnd, LPDRAWITEMSTRUCT pdis) PURE; virtual HRESULT STDMETHODCALLTYPE HrWMMeasureMenuItem(HWND hwnd, LPMEASUREITEMSTRUCT pmis) PURE; virtual HRESULT STDMETHODCALLTYPE HrWMCommand(HWND hwnd, int id, WORD wCmd) PURE; virtual HRESULT STDMETHODCALLTYPE HrGetWindow(HWND *pHwnd) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetSize(LPRECT prc) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetNoSecUICallback(DWORD dwCookie, PFNNOSECUI pfnNoSecUI) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetDragSource(BOOL fIsSource) PURE; virtual HRESULT STDMETHODCALLTYPE HrTranslateAccelerator(LPMSG lpMsg) PURE; virtual HRESULT STDMETHODCALLTYPE HrUIActivate(BOOL fActivate) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetUIActivate() PURE; virtual HRESULT STDMETHODCALLTYPE HrFrameActivate(BOOL fActivate) PURE; virtual HRESULT STDMETHODCALLTYPE HrHasFocus() PURE; virtual HRESULT STDMETHODCALLTYPE HrSetBkGrndPicture(LPTSTR pszPicture) PURE; virtual HRESULT STDMETHODCALLTYPE GetTabStopArray(HWND *rgTSArray, int *pcArrayCount) PURE; virtual HRESULT STDMETHODCALLTYPE PublicFilterDataObject(IDataObject *pDO, IDataObject **ppDORet) PURE; virtual HRESULT STDMETHODCALLTYPE HrSaveAttachment() PURE; virtual HRESULT STDMETHODCALLTYPE SetEventSink(IMimeEditEventSink *pEventSink) PURE; virtual HRESULT STDMETHODCALLTYPE LoadHtmlErrorPage(LPCSTR pszURL) PURE; // MimeEdit Command Set functions virtual HRESULT STDMETHODCALLTYPE HrSpellCheck(BOOL fSuppressDoneMsg) PURE; virtual HRESULT STDMETHODCALLTYPE HrIsDirty(BOOL *pfDirty) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetDirtyFlag(BOOL fDirty) PURE; virtual HRESULT STDMETHODCALLTYPE HrIsEmpty(BOOL *pfEmpty) PURE; virtual HRESULT STDMETHODCALLTYPE HrUnloadAll(UINT idsDefaultBody, DWORD dwFlags) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetStyle(DWORD dwStyle) PURE; virtual HRESULT STDMETHODCALLTYPE HrGetStyle(DWORD *pdwStyle) PURE; virtual HRESULT STDMETHODCALLTYPE HrEnableHTMLMode(BOOL fOn) PURE; virtual HRESULT STDMETHODCALLTYPE HrDowngradeToPlainText() PURE; virtual HRESULT STDMETHODCALLTYPE HrSetText(LPSTR lpsz) PURE; virtual HRESULT STDMETHODCALLTYPE HrPerformROT13Encoding() PURE; virtual HRESULT STDMETHODCALLTYPE HrInsertTextFile(LPSTR lpsz) PURE; virtual HRESULT STDMETHODCALLTYPE HrInsertTextFileFromDialog() PURE; virtual HRESULT STDMETHODCALLTYPE HrViewSource(DWORD dwViewType) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetPreviewFormat(LPSTR lpsz) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetEditMode(BOOL fOn) PURE; virtual HRESULT STDMETHODCALLTYPE HrIsEditMode(BOOL *pfOn) PURE; virtual HRESULT STDMETHODCALLTYPE HrSetCharset(HCHARSET hCharset) PURE; virtual HRESULT STDMETHODCALLTYPE HrGetCharset(HCHARSET *phCharset) PURE; virtual HRESULT STDMETHODCALLTYPE HrSaveAsStationery(LPWSTR pwszFile) PURE; virtual HRESULT STDMETHODCALLTYPE HrApplyStationery(LPWSTR pwszFile) PURE; virtual HRESULT STDMETHODCALLTYPE HrHandsOffStorage() PURE; virtual HRESULT STDMETHODCALLTYPE HrRefresh() PURE; virtual HRESULT STDMETHODCALLTYPE HrScrollPage() PURE; virtual HRESULT STDMETHODCALLTYPE UpdateBackAndStyleMenus(HMENU hmenu) PURE; }; #endif //_IBODYOBJ_H