This file is indexed.

/usr/include/KWWidgets/vtkKWSelectionFrame.h is in libkwwidgets1-dev 1.0.0~cvs20100930-8.

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
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
/*=========================================================================

  Module:    $RCSfile: vtkKWSelectionFrame.h,v $

  Copyright (c) Kitware, Inc.
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
// .NAME vtkKWSelectionFrame - Selection Frame 
// .SECTION Description
// The selction frame is what contains a render widget.  
// It is called a "selection frame" because in its title bar, you can 
// select which render widget to display in it.
// .SECTION See Also
// vtkKWSelectionFrameLayoutManager

#ifndef __vtkKWSelectionFrame_h
#define __vtkKWSelectionFrame_h

#include "vtkKWCompositeWidget.h"

class vtkKWFrame;
class vtkKWLabel;
class vtkKWMenuButton;
class vtkKWPushButton;
class vtkKWSelectionFrameInternals;
class vtkKWToolbarSet;
class vtkStringArray;

class KWWidgets_EXPORT vtkKWSelectionFrame : public vtkKWCompositeWidget
{
public:
  static vtkKWSelectionFrame* New();
  vtkTypeRevisionMacro(vtkKWSelectionFrame, vtkKWCompositeWidget);
  void PrintSelf(ostream& os, vtkIndent indent);
  
  // Description:
  // Set/Get title
  virtual void SetTitle(const char *title);
  virtual const char* GetTitle();

  // Description:
  // Select/Deselect the window
  virtual void SetSelected(int);
  vtkGetMacro(Selected, int);
  vtkBooleanMacro(Selected, int);

  // Description:
  // Set the selection list (array of num strings).
  // The selection list is represented as a pull down menu, which
  // visibility can be set. As a convenience, any entry made of two
  // dashes "--" is used as a separator.
  // This selection list can be used, for example, to display the titles
  // of other selection frames that can be switched with the current 
  // selection frame.
  virtual void SetSelectionList(int num, const char **list);
  virtual void SetSelectionList(vtkStringArray *list);
  vtkGetObjectMacro(SelectionListMenuButton, vtkKWMenuButton);

  // Description:
  // Specifies a command to associate with the widget. This command is 
  // invoked when an item is picked by the user in the selection list.
  // The 'object' argument is the object that will have the method called on
  // it. The 'method' argument is the name of the method to be called and any
  // arguments in string form. If the object is NULL, the method is still
  // evaluated as a simple command. 
  // The following parameters are also passed to the command:
  // - item selected in the list: const char *
  // - pointer to this object: vtkKWSelectionFrame*
  virtual void SetSelectionListCommand(vtkObject *object, const char *method);

  // Description:
  // Set/Get the selection list visibility.
  virtual void SetSelectionListVisibility(int);
  vtkGetMacro(SelectionListVisibility, int);
  vtkBooleanMacro(SelectionListVisibility, int);

  // Description:
  // Allow the close functionality (button and menu entry)
  // If set, a close button is added in the top right corner,
  // and a "Close" entry is added to the end of the selection list.
  virtual void SetAllowClose(int);
  vtkGetMacro(AllowClose, int);
  vtkBooleanMacro(AllowClose, int);
  vtkGetObjectMacro(CloseButton, vtkKWPushButton);

  // Description:
  // Specifies a command to associate with the widget. This command is 
  // typically invoked when the widget is closed (using the close button
  // or the Close() method).
  // The 'object' argument is the object that will have the method called on
  // it. The 'method' argument is the name of the method to be called and any
  // arguments in string form. If the object is NULL, the method is still
  // evaluated as a simple command. 
  // The following parameters are also passed to the command:
  // - pointer to this object: vtkKWSelectionFrame*
  virtual void SetCloseCommand(vtkObject *object, const char *method);

  // Description:
  // Close the selection frame. It can be re-implemented by
  // subclasses to add more functionalities, release resources, etc.
  // The current implementation invokes the CloseCommand, if any.
  virtual void Close();

  // Description:
  // Allow title to be changed (menu entry)
  // If set, a "Change title" entry is added to the end of the selection list,
  // enabling the title to be changed using the ChangeTitleCommand. There
  // is actually no code or user interface to change the title, it is left
  // to the ChangeTitleCommand.
  virtual void SetAllowChangeTitle(int);
  vtkGetMacro(AllowChangeTitle, int);
  vtkBooleanMacro(AllowChangeTitle, int);

  // Description:
  // Specifies a command to associate with the widget. This command is 
  // typically invoked when the "Change title" menu entry is selected.
  // This command is usually implemented by a different class and will, 
  // for example, query the user for a new title, check that this title meet
  // some constraints, and call SetTitle() on this object (which in turn will
  // trigger the TitleChangedCommand).
  // The 'object' argument is the object that will have the method called on
  // it. The 'method' argument is the name of the method to be called and any
  // arguments in string form. If the object is NULL, the method is still
  // evaluated as a simple command. 
  // The following parameters are also passed to the command:
  // - pointer to this object: vtkKWSelectionFrame*
  virtual void SetChangeTitleCommand(vtkObject *object, const char *method);

  // Description:
  // Specifies a command to associate with the widget. This command is 
  // typically invoked when the title is changed.
  // This command can be used, for example, to notify a layout manager that
  // it should refresh its list of available selection frame titles 
  // (see vtkKWSelectionFrameLayoutManager).
  // Do not confuse this command with the ChangeTitleCommand, which is invoked
  // when the "Change Title" menu entry is selected by the user, and is used
  // to allow a third-party class to provide some user-dialog and change
  // the title (given some potential constraints). This user-dialog will, in
  // turn, most probably call SetTitle, which will trigger TitleChangedCommand.
  // The 'object' argument is the object that will have the method called on
  // it. The 'method' argument is the name of the method to be called and any
  // arguments in string form. If the object is NULL, the method is still
  // evaluated as a simple command. 
  // The following parameters are also passed to the command:
  // - pointer to this object: vtkKWSelectionFrame*
  virtual void SetTitleChangedCommand(vtkObject *object, const char *method);

  // Description:
  // Specifies a command to associate with the widget. This command is 
  // typically invoked when the frame title is selected by the user
  // (click in title bar).
  // The 'object' argument is the object that will have the method called on
  // it. The 'method' argument is the name of the method to be called and any
  // arguments in string form. If the object is NULL, the method is still
  // evaluated as a simple command. 
  // The following parameters are also passed to the command:
  // - pointer to this object: vtkKWSelectionFrame*
  virtual void SetSelectCommand(vtkObject *object, const char *method);

  // Description:
  // Specifies a command to associate with the widget. This command is 
  // typically invoked when the frame title is double-clicked on.
  // Note that this will also invoke the SelectCommand, since the first
  // click acts as a select event.
  // The 'object' argument is the object that will have the method called on
  // it. The 'method' argument is the name of the method to be called and any
  // arguments in string form. If the object is NULL, the method is still
  // evaluated as a simple command. 
  // The following parameters are also passed to the command:
  // - pointer to this object: vtkKWSelectionFrame*
  virtual void SetDoubleClickCommand(vtkObject *object, const char *method);

  // Description:
  // Set/Get the title foregroud/background color (in both normal and 
  // selected mode). 
  vtkGetVector3Macro(TitleColor, double);
  virtual void SetTitleColor(double r, double g, double b);
  virtual void SetTitleColor(double rgb[3])
    { this->SetTitleColor(rgb[0], rgb[1], rgb[2]); };
  vtkGetVector3Macro(TitleSelectedColor, double);
  virtual void SetTitleSelectedColor(double r, double g, double b);
  virtual void SetTitleSelectedColor(double rgb[3])
    { this->SetTitleSelectedColor(rgb[0], rgb[1], rgb[2]); };
  vtkGetVector3Macro(TitleBackgroundColor, double);
  virtual void SetTitleBackgroundColor(double r, double g, double b);
  virtual void SetTitleBackgroundColor(double rgb[3])
    { this->SetTitleBackgroundColor(rgb[0], rgb[1], rgb[2]); };
  vtkGetVector3Macro(TitleSelectedBackgroundColor, double);
  virtual void SetTitleSelectedBackgroundColor(double r, double g, double b);
  virtual void SetTitleSelectedBackgroundColor(double rgb[3])
    { this->SetTitleSelectedBackgroundColor(rgb[0], rgb[1], rgb[2]); };
  
  // Description:
  // Set/Get the title bar visibility.
  virtual void SetTitleBarVisibility(int);
  vtkGetMacro(TitleBarVisibility, int);
  vtkBooleanMacro(TitleBarVisibility, int);

  // Description:
  // Set/Get the toolbar set visibility, and retrieve the toolbar set.
  // The toolbar set is usually displayed below the title bar
  virtual vtkKWToolbarSet* GetToolbarSet();
  virtual void SetToolbarSetVisibility(int);
  vtkGetMacro(ToolbarSetVisibility, int);
  vtkBooleanMacro(ToolbarSetVisibility, int);

  // Description:
  // Retrieve the title bar user frame. This frame sits in the title
  // bar, on the right side of the title itself, and be used to insert
  // user-defined UI elements. It is not visible if TitleBarVisibility
  // is Off.
  virtual vtkKWFrame* GetTitleBarUserFrame();

  // Description:
  // Retrieve the body frame. This is the main frame, below the title bar,
  // where to pack the real contents of whatever that object is supposed
  // to display (say, a render widget).
  vtkGetObjectMacro(BodyFrame, vtkKWFrame);
  
  // Description:
  // Set/Get the left user-frame visibility, and retrieve the frame.
  // The left user-frame is displayed on the left side of the BodyFrame, as
  // its name implies, can be used to put any extra UI the user wants.
  virtual vtkKWFrame* GetLeftUserFrame();
  virtual void SetLeftUserFrameVisibility(int);
  vtkGetMacro(LeftUserFrameVisibility, int);
  vtkBooleanMacro(LeftUserFrameVisibility, int);

  // Description:
  // Set/Get the right user-frame visibility, and retrieve the frame.
  // The right user-frame is displayed on the right side of the BodyFrame, as
  // its name implies, can be used to put any extra UI the user wants.
  virtual vtkKWFrame* GetRightUserFrame();
  virtual void SetRightUserFrameVisibility(int);
  vtkGetMacro(RightUserFrameVisibility, int);
  vtkBooleanMacro(RightUserFrameVisibility, int);

  // Description:
  // Set/Get the outer selection frame width and color. The outer selection
  // frame is a thin frame around the whole widget which color is changed
  // when the widget is selected. This is useful, for example, when the
  // title bar is not visible (the title bar color also changes when the
  // widget is selected). Set the width of the selection frame to 0 to
  // discard this feature. Colors can be customized.
  virtual void SetOuterSelectionFrameWidth(int);
  vtkGetMacro(OuterSelectionFrameWidth, int);
  vtkGetVector3Macro(OuterSelectionFrameColor, double);
  virtual void SetOuterSelectionFrameColor(double r, double g, double b);
  virtual void SetOuterSelectionFrameColor(double rgb[3])
    { this->SetOuterSelectionFrameColor(rgb[0], rgb[1], rgb[2]); };
  vtkGetVector3Macro(OuterSelectionFrameSelectedColor, double);
  virtual void SetOuterSelectionFrameSelectedColor(
    double r, double g, double b);
  virtual void SetOuterSelectionFrameSelectedColor(double rgb[3])
    { this->SetOuterSelectionFrameSelectedColor(rgb[0], rgb[1], rgb[2]); };

  // Description:
  // Set/Get if the outer selection frame is blinking.
  virtual void SetOuterSelectionFrameBlinking(int);
  vtkGetMacro(OuterSelectionFrameBlinking, int);
  vtkBooleanMacro(OuterSelectionFrameBlinking, int);
  
  // Description:
  // Update the "enable" state of the object and its internal parts.
  // Depending on different Ivars (this->Enabled, the application's 
  // Limited Edition Mode, etc.), the "enable" state of the object is updated
  // and propagated to its internal parts/subwidgets. This will, for example,
  // enable/disable parts of the widget UI, enable/disable the visibility
  // of 3D widgets, etc.
  virtual void UpdateEnableState();

  // Description:
  // Callbacks. Internal, do not use.
  virtual void CloseCallback();
  virtual void SelectionListCallback(const char *menuItem);
  virtual void SelectCallback();
  virtual void DoubleClickCallback();
  virtual void ChangeTitleCallback();
  virtual void OuterSelectionFrameBlinkingCallback();
  
protected:
  vtkKWSelectionFrame();
  ~vtkKWSelectionFrame();
  
  // Description:
  // Create the widget.
  virtual void CreateWidget();
  
  vtkKWFrame      *OuterSelectionFrame;
  vtkKWFrame      *TitleBarFrame;
  vtkKWMenuButton *SelectionListMenuButton;
  vtkKWPushButton *CloseButton;
  vtkKWLabel      *TitleLabel;
  vtkKWFrame      *BodyFrame;

  virtual void Pack();
  virtual void Bind();
  virtual void UnBind();

  virtual int SetColor(double *color, double r, double g, double b);
  virtual void UpdateSelectedAspect();
  virtual void UpdateOuterSelectionFrameColor();
  virtual void UpdateSelectionListMenuButton();

  double TitleColor[3];
  double TitleSelectedColor[3];
  double TitleBackgroundColor[3];
  double TitleSelectedBackgroundColor[3];

  double OuterSelectionFrameColor[3];
  double OuterSelectionFrameSelectedColor[3];

  char *SelectionListCommand;
  char *CloseCommand;
  char *SelectCommand;
  char *DoubleClickCommand;
  char *ChangeTitleCommand;
  char *TitleChangedCommand;
  virtual void InvokeSelectionListCommand(const char*, vtkKWSelectionFrame*);
  virtual void InvokeCloseCommand(vtkKWSelectionFrame *obj);
  virtual void InvokeSelectCommand(vtkKWSelectionFrame *obj);
  virtual void InvokeDoubleClickCommand(vtkKWSelectionFrame *obj);
  virtual void InvokeChangeTitleCommand(vtkKWSelectionFrame *obj);
  virtual void InvokeTitleChangedCommand(vtkKWSelectionFrame *obj);

  int Selected;
  int SelectionListVisibility;
  int AllowClose;
  int AllowChangeTitle;
  int ToolbarSetVisibility;
  int LeftUserFrameVisibility;
  int RightUserFrameVisibility;
  int TitleBarVisibility;
  int OuterSelectionFrameWidth;
  int OuterSelectionFrameBlinking;

  virtual void CreateOuterSelectionFrameBlinkingTimer();
  virtual void CancelOuterSelectionFrameBlinkingTimer();

  // PIMPL Encapsulation for STL containers

  vtkKWSelectionFrameInternals *Internals;

private:

  vtkKWToolbarSet *ToolbarSet;
  vtkKWFrame      *LeftUserFrame;
  vtkKWFrame      *RightUserFrame;
  vtkKWFrame      *TitleBarUserFrame;

  vtkKWSelectionFrame(const vtkKWSelectionFrame&);  // Not implemented
  void operator=(const vtkKWSelectionFrame&);  // Not implemented
};

#endif