00001 // Copyright 2010 Autodesk, Inc. 00002 // All rights reserved. 00003 // 00004 // These coded instructions, statements, and computer programs contain 00005 // unpublished proprietary information written by Autodesk, Inc., and are 00006 // protected by Federal copyright law. They may not be disclosed to third 00007 // parties or copied or duplicated in any form, in whole or in part, without 00008 // the prior written consent of Autodesk, Inc. 00009 00010 #pragma once 00011 #include "maxheap.h" 00012 #include <WTypes.h> 00013 #include "ifnpub.h" 00014 #include "GetCOREInterface.h" 00015 #include "contextids.h" 00016 00018 #define IID_IHelpSystem Interface_ID(0x3a4c02c3, 0x4980c58) 00019 00020 namespace MaxSDK { 00033 class IHelpSystem : public FPStaticInterface 00034 { 00035 public: 00036 00039 enum ProductHelpLocationType { 00041 OnlineHelp 00043 , LocalHelp 00044 }; 00045 00047 virtual ProductHelpLocationType ProductHelpLocation() const = 0; 00049 virtual void SeProducttHelpLocation( ProductHelpLocationType location = OnlineHelp ) = 0; 00050 00052 virtual const MCHAR * LocalProductHelpPath() const = 0; 00054 virtual void SetLocalProductHelpPath( const MCHAR * path ) = 0; 00056 virtual const MCHAR * DefaultLocalProductHelpPath() const = 0; 00057 00059 virtual void ShowProductHelp() const = 0; 00060 00062 // \param contextId Can be one of the values defined in contextids.h 00063 virtual void ShowProductHelpForTopic( int contextId ) const = 0; 00064 00066 // \remarks Reserved for internal use. 00067 // \param topic The topic string that to uniquely identify the desired topic. 00068 virtual void ShowProductHelpForTopic( const MCHAR * topic ) const = 0; 00069 00071 // \param searchFor String to search for in Maxscript help. When searchFor is NULL the table of contents is shown. 00072 virtual void ShowMaxscriptHelp( const MCHAR * searchFor = NULL ) const = 0; 00073 00075 // \param path Pointer to a path to a chm file. The chm file will be opened. Third party plug-in developpers can use this function to open a chm file. 00076 virtual void OpenChmFile( const MCHAR * path ) const = 0; 00077 00079 static IHelpSystem * GetInstance() { 00080 return static_cast<IHelpSystem*>(GetCOREInterface(IID_IHelpSystem)); 00081 } 00082 }; 00083 00084 } 00085 00086 //========= Deprecated ============== 00087 00097 #define DoHelp(cmd,data) 00098 #pragma deprecated("DoHelp") 00099 00101 #define F1Focus(cmd,data) 00102 #pragma deprecated("F1Focus") 00103 00105 #define F1Help() 00106 #pragma deprecated("F1Help") 00107 00109 #define GetClickHelp() 00110 #pragma deprecated("GetClickHelp") 00111 00113 class MAX_DEPRECATED HelpSys: public MaxHeapOperators { 00114 00115 public: 00116 HelpSys( ); 00117 ~HelpSys( ); 00118 void setClickHelp(int onOff); 00119 int getClickHelp( ); 00120 HWND getHelpHWnd(); 00121 void setHelpFocus(UINT uCommand, DWORD dwData); 00122 int doHelpFocus( ); 00123 void setExportedFunctionPointers(void (*enableAcc)(), void (*disableAcc)(), BOOL (*accEnabled)()); 00124 00125 }; 00126 00128 MAX_DEPRECATED struct IDPair { 00129 DWORD CID; 00130 DWORD HID; 00131 }; 00132 00134 MAX_DEPRECATED DWORD CIDtoHID(int CID, IDPair *array); 00135 00137 MAX_DEPRECATED void SetDialogHelpIDs(HWND hDlg, IDPair *array); 00138 00140 MAX_DEPRECATED HWND GetHTMLHelpHWnd(); 00141 00143 MAX_DEPRECATED void getHelpSys(void); 00144