mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.7 KiB
109 lines
3.7 KiB
// Copyright (C) 1996-1997 Microsoft Corporation. All rights reserved.
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
|
|
#ifndef __CTOC_H__
|
|
#define __CTOC_H__
|
|
|
|
#ifndef __SITEMAP_H__
|
|
#include "sitemap.h"
|
|
#endif
|
|
#include "stdio.h"
|
|
#include "parserhh.h"
|
|
#include "collect.h"
|
|
#include "hhtypes.h"
|
|
#include "toc.h"
|
|
|
|
#include "navui.h" // Cleanup headers.
|
|
|
|
class CHtmlHelpControl; // forward reference
|
|
class CHHWinType; // forward reference
|
|
|
|
class CToc : public INavUI
|
|
{
|
|
private:
|
|
void UpdateTOCSlot(CTreeNode* pNode);
|
|
|
|
public:
|
|
CToc(CHtmlHelpControl* phhctrl, IUnknown* pUnkOuter, CHHWinType* phh = NULL);
|
|
virtual ~CToc();
|
|
|
|
//--- INavUI Functions.
|
|
BOOL Create(HWND hwndParent);
|
|
LRESULT OnCommand(HWND hwnd, UINT id, UINT uNotifiyCode, LPARAM lParam);
|
|
void HideWindow(void);
|
|
void ShowWindow(void);
|
|
void ResizeWindow();
|
|
void SetPadding(int pad) { m_padding = pad; }
|
|
void SetTabPos(int tabpos) { m_NavTabPos = tabpos; }
|
|
LRESULT OnNotify(HWND hwnd, WPARAM wParam, LPARAM lParam) ;
|
|
void SetDefaultFocus() ;
|
|
void Refresh(void);
|
|
|
|
// Not Implemented
|
|
bool ProcessMenuChar(HWND hwndParent, int ch) { /*Not Implemented*/ return false;}
|
|
void OnDrawItem(UINT id, LPDRAWITEMSTRUCT pdis) {/*Not Implemented*/}
|
|
void Seed(LPCSTR pszSeed) {/*Not Implemented*/}
|
|
void OnVKListNotify(NMHDR* pNMHdr) {/*Not Implemented*/}
|
|
|
|
//--- Other Member Functions
|
|
void ChangeOuter(IUnknown* pUnkOuter) { m_pOuter = pUnkOuter; }
|
|
BOOL InitTreeView(void);
|
|
|
|
LRESULT OnSiteMapContentsCommand(UINT id, UINT uNotifiyCode, LPARAM lParam);
|
|
LRESULT OnBinTOCContentsCommand(UINT id, UINT uNotifiyCode, LPARAM lParam);
|
|
BOOL ReadFile(PCSTR pszFile);
|
|
|
|
void SetStyles(DWORD exStyles, DWORD dwStyles) { m_exStyles = exStyles; m_dwStyles = dwStyles; }
|
|
|
|
LRESULT TreeViewMsg( NM_TREEVIEW* pnmhdr ); // The treeview message handeler
|
|
LRESULT OnSiteMapTVMsg( NM_TREEVIEW *pnmhdr ); // The message handeler for handeling SITEMAP
|
|
LRESULT OnBinaryTOCTVMsg( NM_TREEVIEW *pnmhdr );// The message handeler for handeling Binary TOC
|
|
BOOL Synchronize(LPCSTR pszUrl);
|
|
DWORD OnCustomDraw(LPNMTVCUSTOMDRAW nmcdrw);
|
|
void SaveCurUrl(void);
|
|
|
|
BOOL m_fBinaryTOC; // TRUE if compiled TOC (.chm/.chi) is available, else FALSE
|
|
CTreeNode* m_pBinTOCRoot; // The root of the binary table of contents
|
|
CTreeNode* pCurrentTreeNode;
|
|
CSiteMap m_sitemap; // the sitemap that holds an uncompiled TOC.
|
|
|
|
HTREEITEM m_tiFirstVisible; // Binary TOC, the initial tree view visible when the Tree
|
|
// view is first displayed.
|
|
HTREEITEM* m_phTreeItem;
|
|
int m_cntFirstVisible;
|
|
int m_cntCurHighlight;
|
|
HTREEITEM m_hitemCurHighlight;
|
|
BOOL m_fSuppressJump; // TRUE to prevent jumping on selection change
|
|
BOOL m_fIgnoreNextSelChange;
|
|
BYTE* m_pSelectedTocInfoTypes;
|
|
HWND m_hwndTree;
|
|
HBITMAP m_hbmpBackGround;
|
|
HPALETTE m_hpalBackGround;
|
|
HBRUSH m_hbrBackGround; // background brush
|
|
int m_cxBackBmp;
|
|
int m_cyBackBmp;
|
|
int m_cFonts;
|
|
HFONT* m_ahfonts;
|
|
BOOL m_fGlobal; // means we've already initialized ourselves once
|
|
HIMAGELIST m_hil;
|
|
|
|
CHtmlHelpControl* m_phhctrl;
|
|
IUnknown* m_pOuter;
|
|
BOOL m_fHack;
|
|
DWORD m_exStyles;
|
|
DWORD m_dwStyles;
|
|
int m_padding;
|
|
int m_NavTabPos;
|
|
BOOL m_fSuspendSync;
|
|
CHHWinType* m_phh;
|
|
CStr m_cszCurUrl;
|
|
BOOL m_fSyncOnActivation; // TRUE to sync when TOC tab is activated
|
|
|
|
CInfoType* m_pInfoType; // The information Types
|
|
};
|
|
|
|
#endif // __CTOC_H__
|