1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _SV_HELP_HXX 25 #define _SV_HELP_HXX 26 27 #include <tools/string.hxx> 28 #include <vcl/sv.h> 29 #include <vcl/dllapi.h> 30 31 class Point; 32 class Rectangle; 33 class Window; 34 35 // -------------- 36 // - Help-Types - 37 // -------------- 38 39 #define QUICKHELP_LEFT ((sal_uInt16)0x0001) 40 #define QUICKHELP_CENTER ((sal_uInt16)0x0002) 41 #define QUICKHELP_RIGHT ((sal_uInt16)0x0004) 42 #define QUICKHELP_TOP ((sal_uInt16)0x0008) 43 #define QUICKHELP_VCENTER ((sal_uInt16)0x0010) 44 #define QUICKHELP_BOTTOM ((sal_uInt16)0x0020) 45 #define QUICKHELP_NOAUTOPOS (QUICKHELP_LEFT | QUICKHELP_CENTER | QUICKHELP_RIGHT | QUICKHELP_TOP | QUICKHELP_VCENTER | QUICKHELP_BOTTOM) 46 #define QUICKHELP_CTRLTEXT ((sal_uInt16)0x0040) 47 /// force the existent tip window to be re-positioned, even if the previous incarnation has the same text. Applies to ShowBallon and ShowQuickHelp. 48 #define QUICKHELP_FORCE_REPOSITION ((sal_uInt16)0x0080) 49 /// no delay when opening the quick help. Applies to ShowBallon and ShowQuickHelp 50 #define QUICKHELP_NO_DELAY ((sal_uInt16)0x0100) 51 /// force balloon-style in ShowTip 52 #define QUICKHELP_TIP_STYLE_BALLOON ((sal_uInt16)0x0200) 53 #define QUICKHELP_NOEVADEPOINTER ((sal_uInt16)0x4000) 54 #define QUICKHELP_BIDI_RTL ((sal_uInt16)0x8000) 55 56 // By changes you must also change: rsc/vclrsc.hxx 57 #define OOO_HELP_INDEX ".help:index" 58 #define OOO_HELP_HELPONHELP ".help:helponhelp" 59 60 // -------- 61 // - Help - 62 // -------- 63 64 class VCL_DLLPUBLIC Help 65 { 66 private: 67 String maHelpFile; 68 69 public: 70 Help(); 71 virtual ~Help(); 72 SetHelpFile(const String & rFileName)73 void SetHelpFile( const String& rFileName ) { maHelpFile = rFileName; } GetHelpFile() const74 const String& GetHelpFile() const { return maHelpFile; } 75 76 virtual sal_Bool Start( const XubString& rHelpId, const Window* pWindow ); 77 virtual sal_Bool SearchKeyword( const XubString& rKeyWord ); 78 virtual void OpenHelpAgent( const rtl::OString& rHelpId ); 79 virtual XubString GetHelpText( const String& aHelpURL, const Window* pWindow ); 80 81 static void EnableContextHelp(); 82 static void DisableContextHelp(); 83 static sal_Bool IsContextHelpEnabled(); 84 static sal_Bool StartContextHelp(); 85 86 static void EnableExtHelp(); 87 static void DisableExtHelp(); 88 static sal_Bool IsExtHelpEnabled(); 89 static sal_Bool StartExtHelp(); 90 static sal_Bool EndExtHelp(); 91 static sal_Bool IsExtHelpActive(); 92 93 static void EnableBalloonHelp(); 94 static void DisableBalloonHelp(); 95 static sal_Bool IsBalloonHelpEnabled(); 96 static sal_Bool ShowBalloon( Window* pParent, 97 const Point& rScreenPos, 98 const XubString& rHelpText ); 99 static sal_Bool ShowBalloon( Window* pParent, 100 const Point& rScreenPos, 101 const Rectangle&, 102 const XubString& rHelpText ); 103 104 static void EnableQuickHelp(); 105 static void DisableQuickHelp(); 106 static sal_Bool IsQuickHelpEnabled(); 107 static sal_Bool ShowQuickHelp( Window* pParent, 108 const Rectangle& rScreenRect, 109 const XubString& rHelpText, 110 const XubString& rLongHelpText, 111 sal_uInt16 nStyle = 0 ); ShowQuickHelp(Window * pParent,const Rectangle & rScreenRect,const XubString & rHelpText,sal_uInt16 nStyle=0)112 static sal_Bool ShowQuickHelp( Window* pParent, 113 const Rectangle& rScreenRect, 114 const XubString& rHelpText, 115 sal_uInt16 nStyle = 0 ) 116 { return Help::ShowQuickHelp( pParent, rScreenRect, rHelpText, XubString(), nStyle ); } 117 118 static void HideBalloonAndQuickHelp(); 119 120 static sal_uLong ShowTip( Window* pParent, 121 const Rectangle& rScreenRect, 122 const XubString& rText, sal_uInt16 nStyle = 0 ); 123 static void UpdateTip( sal_uLong nId, 124 Window* pParent, 125 const Rectangle& rScreenRect, 126 const XubString& rText ); 127 static void HideTip( sal_uLong nId ); 128 }; 129 130 #endif // _SV_HELP_HXX 131