This file is indexed.

/usr/include/Wt/Ext/ProgressDialog is in libwtext-dev 3.3.0-1build1.

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
// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef EXT_PROGRESSDIALOG_H_
#define EXT_PROGRESSDIALOG_H_

#include <Wt/Ext/MessageBox>
#include <Wt/Ext/ExtDllDefs.h>

namespace Wt {
  namespace Ext {

/*! \class ProgressDialog Wt/Ext/ProgressDialog Wt/Ext/ProgressDialog
 *  \brief A standard dialog to inform the user of progress during
 *         a time consuming task.
 *
 * A progress bar is shown to show progress from minimum() to
 * maximum(), with the current value within (this range) set using
 * setValue(). When the user cancels the dialog, the dialog is hidden
 * and the canceled() signal is emitted.
 *
 * The progress dialog may be used in two ways.
 *
 * The easiest way is using a code snippet like this:
 * \code
 * Wt::Ext::ProgressDialog progress("Converting contact details...", "Cancel", 0, contacts_.size());
 * progress.setWindowTitle("Import Contacts");
 *
 * for (unsigned i = 0; i < contacts_.size(); ++i) {
 *   progress.setValue(i);
 *
 *   Wt::WApplication::instance()->processEvents();
 *
 *   if (!progress.wasCanceled()) {
 *     convertContactDetails(contacts_[i]);
 *   } else {
 *     Wt::Ext::MessageBox::show("Operation cancelled",
 *	       "You may import your contact details any time later.", Ok);
 *     break;
 *   }
 * }
 * \endcode
 *
 * Using this approach, WApplication::processEvents() is used to
 * synchronize the server and client state. This approach has the
 * drawback that browser interactivity is limited.
 *
 * The more involved approach involves the use of WTimer to update the progress
 * in conjunction with a worker thread to do the actual work.
 *
 * \image html ExtProgressDialog-1.png "Example of a ProgressDialog"
 *
 * \ingroup ext
 */
class WT_EXT_API ProgressDialog : public MessageBox
{
public:
  /*! \brief Create a new progress dialog.
   *
   * Creates a new dialog, with window title 'Progress...', no message,
   * and a Cancel button. The progress range is defined from 0 to 100.
   */
  ProgressDialog(bool i18n = false);

  /*! \brief Create a new progress dialog.
   *
   * Creates a new dialog, with window title 'Progress...', the given
   * message, and a Cancel button. The progress range is defined from
   * <i>minimum</i> to <i>maximum</i>
   */
  ProgressDialog(const WString& text, const WString& cancelButtonText,
		 int minimum, int maximum, bool i18n = false);


  /*! \brief Set the minimum value.
   */
  void setMinimum(int minimum);

  /*! \brief Return the minimum value.
   */
  int minimum() const { return minimum_; }

  /*! \brief Set the maximum value.
   */
  void setMaximum(int maximum);

  /*! \brief Return the maximum value.
   */
  int maximum() const { return maximum_; }

  /*! \brief Define the range.
   */
  void setRange(int minimum, int maximum);

  /*! \brief Cancel the dialog.
   *
   * Sets the state to cancelled, and hides the dialog. Calling this
   * method does not emit the
   * \link ProgressDialog::canceled canceled\endlink signal.
   */
  void cancel();

  /*! \brief Reset the dialog.
   *
   * The value is reset to the minimum(), and the cancelled state is cleared.
   */
  void reset();

  /*! \brief Set the text used for the cancel button.
   */
  void setCancelButtonText(const WString& text);

  /*! \brief Set the current value (in the range from minimum() to maximum()).
   */
  void setValue(int progress);

  /*! \brief Return the current value.
   */
  int value() const { return value_; }

  /*! \brief Return if the progress dialog was cancelled.
   *
   * \sa canceled, cancel()
   */
  bool wasCanceled() const { return wasCanceled_; }

  // TODO: add minimumDuration stuff

  /*! \brief %Signal emitted when the user cancels the dialog.
   *
   * When the user cancels the dialog, the dialog is hidden, and the state is
   * set to being cancelled.
   *
   * \sa wasCanceled()
   */
  Signal<>& canceled() { return canceled_; }

protected:
  virtual std::string buttonText(int buttonIndex) const;

private:
  Signal<> canceled_;
  WString cancelButtonText_;
  int minimum_;
  int maximum_;
  int value_;
  bool wasCanceled_;

  void onButtonClick(StandardButton b);
};

  }
}

#endif // EXT_PROGRESS_DIALOG_H_