helpsys.h

Go to the documentation of this file.
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