This file is indexed.

/usr/include/KWWidgets/vtkKWWizardWidget.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
/*=========================================================================

  Module:    $RCSfile: vtkKWWizardWidget.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 vtkKWWizardWidget - a superclass for creating wizards UI.
// .SECTION Description
// This class is the basis for a wizard widget/dialog. It embeds a
// wizard workflow (i.e. a state machine) and tie it to navigation buttons.
// This widget can be inserted directly inside another user interface;
// most of the time, however, people will use a vtkKWWizardDialog, which
// is just an independent toplevel embedding a vtkKWWizardWidget.
// .SECTION Thanks
// This work is part of the National Alliance for Medical Image
// Computing (NAMIC), funded by the National Institutes of Health
// through the NIH Roadmap for Medical Research, Grant U54 EB005149.
// Information on the National Centers for Biomedical Computing
// can be obtained from http://nihroadmap.nih.gov/bioinformatics.
// .SECTION See Also
// vtkKWWizardDialog vtkKWWizardStep vtkKWWizardWorkflow

#ifndef __vtkKWWizardWidget_h
#define __vtkKWWizardWidget_h

#include "vtkKWCompositeWidget.h"

class vtkKWPushButton;
class vtkKWLabel;
class vtkKWLabelWithLabel;
class vtkKWFrame;
class vtkKWSeparator;
class vtkKWWizardWorkflow;

class KWWidgets_EXPORT vtkKWWizardWidget : public vtkKWCompositeWidget
{
public:
  static vtkKWWizardWidget* New();
  vtkTypeRevisionMacro(vtkKWWizardWidget,vtkKWCompositeWidget);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Get the wizard workflow instance.
  vtkGetObjectMacro(WizardWorkflow, vtkKWWizardWorkflow);

  // Description:
  // Get the client area. This is where user content should be placed.
  // A wizard workflow is made of steps (vtkKWWizardStep). Each step
  // should set its vtkKWWizardStep::ShowUserInterfaceCommand callback to point
  // to a method that will display this step's UI (or reimplement
  // vtkKWWizardStep::ShowUserInterface). Within that method,
  // all widgets should be children of this ClientArea.
  vtkGetObjectMacro(ClientArea, vtkKWFrame);

  // Description:
  // Set the minimum client area height. No effect if called before Create(). 
  virtual void SetClientAreaMinimumHeight(int);

  // Description:
  // Refresh the interface.
  // This important method will refresh the state of the buttons, depending
  // on the current workflow navigation stack. If the workflow's FinishStep
  // step is defined, it will invoke its CanGoToSelf method/callback to check
  // if it can be reached directly, and enable the Finish button accordingly.
  // This method should be called each time modifying the UI of the current
  // step may have an impact on navigating the workflow. For example, updating
  // the value of a specific entry may forbid the user to move to the Finish
  // step directly. Check the entry's API for callbacks that can
  // be triggered with a small granularity (vtkKWEntry::Command,
  // vtkKWEntry::SetCommandTriggerToAnyChange, vtkKWScale::Command, etc.).
  virtual void Update();

  // Description:
  // Set the title text (usually a few words), located in the top area.
  // Note that this method is called automatically by Update() to display
  // the name of the WizardWorkflow's CurrentStep() step (see the
  // vtkKWWizardStep::GetName() method).
  virtual void SetTitle(const char *);
  virtual char* GetTitle();

  // Description:
  // Set the subtitle text (usually a short sentence or two), located in the 
  // top area below the title.
  // Note that this method is called automatically by Update() to display
  // the description of the WizardWorkflow's CurrentStep() step (see the
  // vtkKWWizardStep::GetDescription() method).
  virtual void SetSubTitle(const char *);
  virtual char* GetSubTitle();

  // Description:
  // Set/Get the background color of the title area.
  virtual void GetTitleAreaBackgroundColor(double *r, double *g, double *b);
  virtual double* GetTitleAreaBackgroundColor();
  virtual void SetTitleAreaBackgroundColor(double r, double g, double b);
  virtual void SetTitleAreaBackgroundColor(double rgb[3])
    { this->SetTitleAreaBackgroundColor(rgb[0], rgb[1], rgb[2]); };
  
  // Description:
  // Get the wizard icon, located in the top area right of the title.
  // This can be used to provide a better graphical identity to the wizard.
  vtkGetObjectMacro(TitleIconLabel, vtkKWLabel);

  // Description:
  // Set the pre-text, i.e. the contents of a convenience text section placed
  // just above the client area.
  virtual void SetPreText(const char *);
  virtual char* GetPreText();

  // Description:
  // Set the post-text, i.e. the contents of a convenience text section placed
  // just below the client area.
  virtual void SetPostText(const char *);
  virtual char* GetPostText();

  // Description:
  // Set the error text, i.e. the contents of a convenience text section
  // placed just below the client area. It is prefixed with an error icon.
  // This is typically used by a step's vtkKWWizardStep::Validate
  // method/callback to report an error when validating the UI failed.
  virtual void SetErrorText(const char *);
  virtual char* GetErrorText();

  // Description:
  // Unpack all children in the client-area and set all pre-/post-/title label
  // to empty strings.
  // This is typically used by a step's 
  // vtkKWWizardStep::HideUserInterfaceCommand callback (or the 
  // vtkKWWizardStep::HideUserInterface method) to hide the step's UI
  // or release resources that were allocated specifically for a step's UI.
  virtual void ClearPage();
  
  // Description:
  // Set/Get the visibility of the buttons.
  virtual void SetBackButtonVisibility(int);
  vtkGetMacro(BackButtonVisibility,int);
  vtkBooleanMacro(BackButtonVisibility,int);
  virtual void SetNextButtonVisibility(int);
  vtkGetMacro(NextButtonVisibility,int);
  vtkBooleanMacro(NextButtonVisibility,int);
  virtual void SetFinishButtonVisibility(int);
  vtkGetMacro(FinishButtonVisibility,int);
  vtkBooleanMacro(FinishButtonVisibility,int);
  virtual void SetCancelButtonVisibility(int);
  vtkGetMacro(CancelButtonVisibility,int);
  vtkBooleanMacro(CancelButtonVisibility,int);
  virtual void SetHelpButtonVisibility(int);
  vtkGetMacro(HelpButtonVisibility,int);
  vtkBooleanMacro(HelpButtonVisibility,int);
  virtual void SetOKButtonVisibility(int);
  vtkGetMacro(OKButtonVisibility,int);
  vtkBooleanMacro(OKButtonVisibility,int);

  // Description:
  // Get and customize some UI elements.
  vtkGetObjectMacro(CancelButton, vtkKWPushButton);
  vtkGetObjectMacro(OKButton, vtkKWPushButton);
  vtkGetObjectMacro(FinishButton, vtkKWPushButton);
  vtkGetObjectMacro(HelpButton, vtkKWPushButton);
  vtkGetObjectMacro(SeparatorBeforeButtons, vtkKWSeparator);
  vtkGetObjectMacro(SubTitleLabel, vtkKWLabel);
  vtkGetObjectMacro(TitleLabel, vtkKWLabel);

  // Description:
  // If supported, set the label position in regards to the rest of
  // the composite widget. Check the subclass for more information about
  // what the Default position is, and if specific positions are supported.
  //BTX
  enum
  {
    ButtonsPositionTop = 0,
    ButtonsPositionBottom
  };
  //ETX
  virtual void SetButtonsPosition(int);
  vtkGetMacro(ButtonsPosition, int);
  virtual void SetButtonsPositionToTop()
    { this->SetButtonsPosition(vtkKWWizardWidget::ButtonsPositionTop); };
  virtual void SetButtonsPositionToBottom()
    { this->SetButtonsPosition(vtkKWWizardWidget::ButtonsPositionBottom); };
  
  // Description:
  // Add all the default observers needed by that object, or remove
  // all the observers that were added through AddCallbackCommandObserver.
  // Subclasses can override these methods to add/remove their own default
  // observers, but should call the superclass too.
  virtual void AddCallbackCommandObservers();
  virtual void RemoveCallbackCommandObservers();

  // 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();

protected:
  vtkKWWizardWidget();
  ~vtkKWWizardWidget();

  // Description:
  // Create the widget
  virtual void CreateWidget();

  // Description:
  // Pack the buttons.
  virtual void PackButtons();

  int ButtonsPosition;

  int BackButtonVisibility;
  int NextButtonVisibility;
  int FinishButtonVisibility;
  int CancelButtonVisibility;
  int HelpButtonVisibility;
  int OKButtonVisibility;

  vtkKWWizardWorkflow *WizardWorkflow;

  vtkKWFrame          *TitleFrame;
  vtkKWLabel          *TitleLabel;
  vtkKWLabel          *SubTitleLabel;
  vtkKWLabel          *TitleIconLabel;
  
  vtkKWSeparator      *SeparatorAfterTitleArea;

  vtkKWFrame          *LayoutFrame;
  vtkKWLabel          *PreTextLabel;
  vtkKWFrame          *ClientArea;
  vtkKWLabel          *PostTextLabel;
  vtkKWLabelWithLabel *ErrorTextLabel;

  vtkKWSeparator      *SeparatorBeforeButtons;

  vtkKWFrame          *ButtonFrame;
  vtkKWPushButton     *BackButton;
  vtkKWPushButton     *NextButton;
  vtkKWPushButton     *FinishButton;
  vtkKWPushButton     *CancelButton;
  vtkKWPushButton     *HelpButton;
  vtkKWPushButton     *OKButton;

  // Description:
  // Processes the events that are passed through CallbackCommand (or others).
  // Subclasses can oberride this method to process their own events, but
  // should call the superclass too.
  virtual void ProcessCallbackCommandEvents(
    vtkObject *caller, unsigned long event, void *calldata);
  
private:
  vtkKWWizardWidget(const vtkKWWizardWidget&); // Not implemented
  void operator=(const vtkKWWizardWidget&); // Not Implemented
};

#endif