00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __UT_HelpManager_h__
00025 #define __UT_HelpManager_h__
00026
00027 #include "UT_API.h"
00028 #include <SYS/SYS_Types.h>
00029 #include "UT_Assert.h"
00030
00031 class UT_String;
00032 class OP_Operator;
00033 class OP_Node;
00034 class OP_GalleryEntry;
00035 class BM_State;
00036 class SHLF_Tool;
00037 class PRM_ScriptParm;
00038
00039 class UT_API UT_HelpManager
00040 {
00041 public:
00042 UT_HelpManager();
00043 virtual ~UT_HelpManager();
00044
00045
00046 virtual void openContents() = 0;
00047
00048
00049
00050 virtual void openStartup() = 0;
00051
00052
00053
00054
00055
00056
00057
00058 virtual void openFile(const char *path) = 0;
00059 virtual void openURL(const char *url) = 0;
00060 virtual void openHelpPath(const char *help_path) = 0;
00061 virtual void displayData(const char *data, bool is_html) = 0;
00062
00063
00064 virtual bool getTooltip( const char * url, UT_String & tooltip ) =0;
00065
00066
00067
00068 virtual bool getParsedTooltip( const char * url_key,
00069 const char * full_help,
00070 UT_String & tooltip) = 0;
00071
00072
00073
00074
00075
00076
00077
00078 virtual void openHelpCard( OP_Node * node ) = 0;
00079 virtual void openHelpCard( OP_Operator * op ) = 0;
00080 virtual void openHelpCard( BM_State * state ) = 0;
00081 virtual void openHelpCard( SHLF_Tool * tool ) = 0;
00082 virtual void openHelpCard( OP_GalleryEntry * entry ) = 0;
00083 virtual void openHelpCard( const PRM_ScriptParm * prop ) = 0;
00084
00085
00086
00087 virtual void getHelpCardURL( OP_Operator * op, UT_String & str ) =0;
00088 virtual void getHelpCardURL( BM_State * state, UT_String & url ) =0;
00089 virtual void getHelpCardURL( SHLF_Tool * tool, UT_String & url ) =0;
00090 virtual void getHelpCardURL( OP_GalleryEntry * entry,
00091 UT_String & url ) = 0;
00092 virtual void getHelpCardURL( const PRM_ScriptParm * prop,
00093 UT_String & url ) = 0;
00094 virtual void getHelpCardURL( const char *helpTopicId,
00095 UT_String & url ) = 0;
00096
00097 virtual void setBaseURI(const char *base_uri) = 0;
00098 virtual const UT_String &getBaseURI() const = 0;
00099
00100
00101
00102 virtual bool getUseExternalHelp() const = 0;
00103
00104
00105 virtual void setUseExternalHelp(bool use_external) = 0;
00106
00107
00108
00109 virtual const UT_String &getExternalHelpURL() const = 0;
00110
00111
00112 virtual void setExternalHelpURL(const char *ext_help_url) = 0;
00113
00114
00115 virtual const UT_String &getHelpBaseURL() = 0;
00116
00117
00118 virtual const UT_String &getStartupURL() = 0;
00119
00120
00121
00122
00123
00124
00125 void setDesiredHelpLocation(fpreal x, fpreal y);
00126 void clearDesiredHelpLocation();
00127
00128
00129
00130
00131
00132 void setFloatingHelpPaneId(int pane_id)
00133 { myFloatingHelpPaneId = pane_id; }
00134 int getFloatingHelpPaneId() const
00135 { return myFloatingHelpPaneId; }
00136 virtual void closeFloatingPane() = 0;
00137
00138
00139
00140
00141 static bool platformSupportsHtmlHelp();
00142
00143
00144
00145 static UT_HelpManager *getHelpManager() { return ourHelpManager; }
00146 static void setHelpManager(UT_HelpManager *help_manager);
00147
00148 protected:
00149
00150
00151 bool getDesiredHelpLocation(float &x, float &y);
00152
00153 private:
00154 static UT_HelpManager *ourHelpManager;
00155
00156 float myDesiredHelpLocationX;
00157 float myDesiredHelpLocationY;
00158 int myFloatingHelpPaneId;
00159 };
00160
00161 static inline UT_HelpManager *UTgetHelpManager()
00162 { return UT_HelpManager::getHelpManager(); }
00163
00164 static inline void UTsetHelpManager(UT_HelpManager *help_manager)
00165 { UT_HelpManager::setHelpManager(help_manager); }
00166
00167 #endif