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 TEMPLATE_H
- #define TEMPLATE_H
-
- class CGenericDocTemplate : public CDocTemplate
- {
- DECLARE_DYNAMIC(CGenericDocTemplate)
-
- public:
- CGenericDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
- CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
-
- public:
- HMENU m_hMenuShared;
- HACCEL m_hAccelTable;
-
- ~CGenericDocTemplate();
-
- public:
- BOOL GetDocString(CString& rString, enum DocStringIndex index) const;
- void AddDocument(CDocument *pDoc);
- void RemoveDocument(CDocument *pDoc);
- POSITION GetFirstDocPosition() const;
- CDocument *GetNextDoc(POSITION& rPos) const;
- CDocument* OpenDocumentFile(const char* pszPathName,
- BOOL bMakeVisible = TRUE);
- void SetDefaultTitle(CDocument* pDocument);
-
- protected:
- CPtrList m_docList;
- UINT m_nUntitledCount;
- BOOL m_bHideTitlebar;
- BOOL m_bDependent;
- BOOL m_bPopupWindow;
- HWND m_hPopupParent;
- BOOL m_bBorder;
- };
-
-
- //////////////////////////////////////////////////////////////////////////
- // Browser template support
- class CNetscapeDocTemplate : public CGenericDocTemplate
- {
- DECLARE_DYNAMIC(CNetscapeDocTemplate)
-
- // Constructors
- public:
- CDocument* OpenDocumentFile(const char* pszPathName,
- BOOL bMakeVisible = TRUE,
- BOOL bHideTitlebar = FALSE,
- BOOL bDependent = FALSE,
- BOOL bPopupWindow = FALSE,
- HWND hPopupParent = NULL)
- {
- m_bHideTitlebar = bHideTitlebar;
- m_bDependent = bDependent;
- m_bPopupWindow = bPopupWindow;
- m_hPopupParent = hPopupParent;
-
- return CGenericDocTemplate::OpenDocumentFile(pszPathName, bMakeVisible);
- }
-
- CNetscapeDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
- CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
-
- // Overloaded
- public:
- void InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc,
- BOOL bMakeVisible = TRUE);
- };
-
- //////////////////////////////////////////////////////////////////////////
- // Edit template support
- class CNetscapeEditTemplate : public CGenericDocTemplate
- {
- DECLARE_DYNAMIC(CNetscapeEditTemplate)
-
- // Constructors
- public:
- CNetscapeEditTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
- CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
-
- // Overloaded
- public:
- void InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc,
- BOOL bMakeVisible = TRUE);
- };
-
- //////////////////////////////////////////////////////////////////////////
- // Compose template support
- class CNetscapeComposeTemplate : public CGenericDocTemplate
- {
- DECLARE_DYNAMIC(CNetscapeComposeTemplate)
-
- protected:
- int win_csid;
-
- // Constructors
- public:
- CNetscapeComposeTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
- CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
-
- // Overloaded
- public:
- CDocument* OpenDocumentFile(const char* pszPathName,
- int csid,
- BOOL bMakeVisible = TRUE)
- {
- if( csid == CS_DEFAULT || csid == CS_UNKNOWN)
- win_csid = INTL_DefaultWinCharSetID(0);
- else
- win_csid = csid;
- return CGenericDocTemplate::OpenDocumentFile(pszPathName, bMakeVisible);
- }
- void InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc,
- BOOL bMakeVisible = TRUE);
- };
-
- //////////////////////////////////////////////////////////////////////////
- // Text Compose template support
- class CNetscapeTextComposeTemplate : public CGenericDocTemplate
- {
- DECLARE_DYNAMIC(CNetscapeTextComposeTemplate)
-
- protected:
- int win_csid;
-
- // Constructors
- public:
- CNetscapeTextComposeTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
- CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
-
- // Overloaded
- public:
- CDocument* OpenDocumentFile(const char* pszPathName,
- int csid,
- BOOL bMakeVisible = TRUE)
- {
- win_csid = csid;
- return CGenericDocTemplate::OpenDocumentFile(pszPathName, bMakeVisible);
- }
- void InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc,
- BOOL bMakeVisible = TRUE);
- };
-
- //////////////////////////////////////////////////////////////////////////
- // Addr template support
- class CNetscapeAddrTemplate : public CGenericDocTemplate
- {
- DECLARE_DYNAMIC(CNetscapeAddrTemplate)
-
- protected:
- int win_csid;
-
- // Constructors
- public:
- CNetscapeAddrTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
- CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
-
- // Overloaded
- public:
- void InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc,
- BOOL bMakeVisible = TRUE);
- };
- #endif
-