This file is indexed.

/usr/include/BALL/VIEW/WIDGETS/geometricControl.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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//

#ifndef BALL_VIEW_WIDGETS_GEOMETRICCONTROL_H
#define BALL_VIEW_WIDGETS_GEOMETRICCONTROL_H

#ifndef BALL_COMMON_H
#	include <BALL/common.h>
#endif

#ifndef BALL_VIEW_WIDGETS_GENERICCONTROL_H
#	include <BALL/VIEW/WIDGETS/genericControl.h>
#endif

#ifndef BALL_VIEW_KERNEL_COMMON_H
# include <BALL/VIEW/KERNEL/common.h>
#endif 

#include <QtCore/QPoint>
#include <QtGui/QMenu>

namespace BALL
{
	namespace VIEW
	{
		class Representation;
		class ModifyRepresentationDialog;
		class ClippingPlane;
		class TransformationMessage;

		/**	GeometricControl is a widget to display the list of representations.
				There are methods available to modify the representations.
				The method buildContextMenu is a means to 
				create a customizable context menu entries.
				To use this widget in the application just create it with MainControl as
				parent and all in the RepresentationManager created Representation objects will show
				up in the GeometricControl.
				\ingroup ViewWidgets
		*/
		class BALL_VIEW_EXPORT GeometricControl
			: public GenericControl
		{
			Q_OBJECT

			public:
			
			BALL_EMBEDDABLE(GeometricControl, GenericControl)

			/**	@name	Constructors and Destructors
			*/	
			//@{

			/** Default Constructor.
					There are two columns for this control. The <b> Type</b> column and the
					<b> Properties</b> column. The Type column shows the model type (e.g. LineModel),
					while the Properties column contains the number of Composites and GeometricObjects.
					There is a connection from the signal rightButtonClicked from the
					QT-library to the method onContextMenu. See documentation of QT-library 
					for information concerning signal/slot mechanism.
					Calls registerWidget.
					\param      parent the parent widget of this control 
											(See documentation of QT-library for information concerning widgets)
					\param      name the name of this control 
					\see        QListView
					\see        ModularWidget
					\see        onContextMenu
			*/
			GeometricControl(QWidget* parent = 0, const char* name = 0);
			
			/// Destructor.
			virtual ~GeometricControl();

			/** Explicit default initialization.
					Empty for further purpose.
			*/
			virtual void clear(){};

			///
			virtual void initializeWidget(MainControl& main_control);
			
			//@} /**	@name	Accessors: inspectors and mutators */ 
			//@{

			/** Insert a Representation.
			*/
			virtual void addRepresentation(Representation& rep);

			/** Remove a Representation.
			*/
			virtual void removeRepresentation(Representation& rep);

			/** Update a Representation.
			*/
			virtual void updateRepresentation(Representation& rep, bool force=false);
			
			/** Mutable inspection of the selection.
			*/
			
			/** Non-mutable inspection of the selection.
			*/
			std::list<Representation*> getHighlightedRepresentations() const;
			
			/** Message handling.
					\see    Message
			*/
			virtual void onNotify(Message *message);

			/** Build a context menu for the Representation object 
					the QListViewItem object.
					\param   representation the Representation object for that a context menu should be created
					\see     insertContextMenuEntry
					\see     onContextMenu
			*/
			virtual void buildContextMenu();

			/// Overloaded from ModularWidget
			virtual void checkMenu(MainControl& main_control);

			///
			void moveItems(const TransformationMessage& msg);

			void updateClippingPlanes();

			public slots:
				
			//@}
			/** @name Public slots 
			*/ 
			//@{
			
			///
			virtual void renameRepresentation();

			/// 
			virtual void selectAtoms();

			///
			virtual void selectedRepresentation(Representation& representation, bool state);

			///
			virtual void updateSelection();

			///
			virtual void focus();

			///
			virtual void enterMoveMode();
			
			///
			virtual void flipClippingCapping();

			///
			virtual void flipClippingPlane();
			
			///
			virtual void setClippingPosition();

			///
			virtual void setClippingPlaneX();
			
			///
			virtual void setClippingPlaneY();

			///
			virtual void setClippingPlaneZ();

			///
			void hideShowClippingPlane();

			///
			virtual void selectClipRepresentations();

			///
			void createNewClippingPlane();

			/// 
			void duplicate();

			///
			void saveSurface();

			///
			void loadSurface();

			///
			ModifyRepresentationDialog* getModifySurfaceDialog();

		  protected slots:
			
			//@} 
			///** @name Protected members */ 
			//@{

			///
			virtual void modifyRepresentation_();

			/** Generate the item for a representation.
			*/
			virtual void generateListViewItem_(Representation& rep);
			
			/// Overloaded from GenericControl
			virtual void deleteCurrentItems();

			///
			virtual void setupProximityLight();

			//@}
			
		  protected slots:

			virtual void onItemClicked(QTreeWidgetItem* item, int col);
			void showGuestContextMenu(const QPoint& pos);

		  protected:

			void addItem_(const String& text, const char* member, QWidget* widget = 0);
			
			// only for Python Interface
			GeometricControl(const GeometricControl& control);

			enum ColumnID
			{
				COLUMN_ID__TYPE       = 0,
				COLUMN_ID__Properties
			};

			void setClippingPlane_(const Vector3& n);

			// the context menu
			QMenu 						context_menu_;
			QMenu 						clipping_plane_context_menu_;

			Representation* 	context_representation_;
			ClippingPlane* 		context_plane_;

 			HashMap<Representation*, QTreeWidgetItem*> representation_to_item_;
 			HashMap<ClippingPlane*, QTreeWidgetItem*> plane_to_item_;
 			HashMap<QTreeWidgetItem*, Representation*> item_to_representation_;
 			HashMap<QTreeWidgetItem*, ClippingPlane*> item_to_plane_;

			ModifyRepresentationDialog* 	modify_rep_dialog_;

			bool creating_representations_;
			bool ignore_change_;

			QAction* menu_clipping_plane_, *menu_load_surface_, *modify_surface_;
			vector<QAction*> context_menu_actions_;
		};
		
} } // namespaces

#endif // BALL_VIEW_WIDGETS_GEOMETRICCONTROL_H