This file is indexed.

/usr/include/BALL/VIEW/WIDGETS/helpViewer.h is in libballview1.4-dev 1.4.3~beta1-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: helpViewer.h,v 1.2.18.1 2007/03/25 21:26:21 oliver Exp $
//

#ifndef BALL_VIEW_WIDGETS_HELPVIEWER_H
#define BALL_VIEW_WIDGETS_HELPVIEWER_H

#ifndef BALL_VIEW_WIDGETS_DOCKWIDGET_H
#	include <BALL/VIEW/WIDGETS/dockWidget.h>
#endif

#include <QtGui/QTextBrowser>

namespace BALL
{
	namespace VIEW
	{

		class BALL_VIEW_EXPORT MyTextBrowser
			: public QTextBrowser
		{
			Q_OBJECT

			public:

			MyTextBrowser(QWidget* parent, const char* name = 0);

			public slots:

//   			void setBackwardAvailable(bool b);

//   			void setForwardAvailable(bool b);

			protected:

//   			virtual QMenu* createPopupMenu(const QPoint& pos);

			bool forward_, backward_;
		};

		/** DockWidget to show online help texts e.g. the BALLView documentation
				The documentation for BALLView was written in the HTML format, such that it either be
				used online from the project's website or inside the program itself.
				To obtain help for individual elements in the graphical user interface a special mode
				was added. In the "Help" menu the entry "Whats this?" will switch into this mode and 
				transform the mouse cursor into a question mark. While the "Whats this?" mode is
				active a left mouse click on any widget will open the corresponding help entry in the
				documentation. (If no help entry for that widget exists nothing will happen.)
				To leave the "Whats this?" mode just press the right mouse button or press the "Escape" key.
				As an alternative for this approach the "F1" key will popup the documentation for
				the current widget under the mouse cursor.
				<br><br>
		 		To show a specific help page, just call ModularWidget::showHelp(String) or send
				a ShowHelpMessage.
				Per default the HelpViewer looks for index.html in $BALL_DATA_PATH/../doc/BALLView .
				You can change this behavior by using setDefaultDir() and setDefaultPage().
				Links to pages on the WWW wont work!
				QWidgets and menu entries can be registered with a link into the HTML documentation.
				See registerWidgetForHelpSystem.
				The implemention for opening the documentation per "Whats this?" menu entry and
				the hotkey "F1" is also done here.
				\ingroup ViewWidgets
		*/
		class BALL_VIEW_EXPORT HelpViewer
			: public DockWidget
		{
			Q_OBJECT

			public:

			BALL_EMBEDDABLE(HelpViewer, DockWidget)

			///
			HelpViewer(QWidget* parent, const char* name = 0);

			///
			virtual ~HelpViewer();

			/**	Setup the menu entry
			*/
			virtual void initializeWidget(MainControl& main_control);

			/** Handles messages sent by other registered ConnectionObject objects.
					Filters for SceneMessage and sets the Camera appropriate or updates the visualization. 
					\param message the pointer to the message that should be processed
					\see   ConnectionObject
					\see   Message
		  */
			virtual void onNotify(Message *message);

			///
			virtual void showHelp(const String& URL);

			///
			virtual void showHelp(const String& URL, String entry);

			///
			void setDefaultPage(const String& url);
		
			///
			const String& getDefaultPage() const;

			///
			void setProject(const String& project) { project_ = project;}

			///
			String getProject() const { return project_;}
			
			///
			void setBaseDirectory(const String& dir);
	
			///
			const String& getBaseDirectory() const;

			/// Register a widget for showing its documentation
			virtual void registerForHelpSystem(const QObject* object, const String& docu_entry);

			/// Unregister a widget for showing its documentation
			void unregisterForHelpSystem(const QObject* object);

			/// Show the documentation entry for a given widget
			bool showHelpFor(const QObject* object);

			/// Show documentation for object under cursor
			bool showDocumentationForObject();

			/// Check wheter we have a documentation entry for a given object
			bool hasHelpFor(const QObject* object) const;

			/// Get help entry for widget
			String getHelpEntryFor(const QObject* object) const;

			///
			void setWhatsThisEnabled(bool state) { whats_this_ = state;}

			///
			bool isWhatsThisEnabled() const {return whats_this_;}

			///
			void showDocumentationFor(const String& classname, const String& member);
					
			public slots:

			/// Show default page
			virtual void showHelp();

			///
			void enterWhatsThisMode();

			///
			void exitWhatsThisMode();

			/// Event filter for the whats this mode
			bool eventFilter(QObject* obj, QEvent* e);
		
			protected:

			void collectClasses_();

			String 					project_;
			String 					default_page_;
			String 					base_dir_;
			MyTextBrowser* 	browser_;
			bool 						whats_this_mode_;
			bool 						ignore_event_;
			bool 						whats_this_;
			QAction* 				whats_action_;

			HashMap<const QObject*, String> docu_entries_;
			StringHashMap<String> classes_to_files_;
		};
  	
} } // namespaces

#endif // BALL_VIEW_WIDGETS_HELPVIEWER_H