gecko-dev/cmd/winfe/template.h

183 строки
5.0 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 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