This file is indexed.

/usr/include/Wt/WDoubleSpinBox is in libwt-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
// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2010, 2011 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef WDOUBLE_SPIN_BOX_H_
#define WDOUBLE_SPIN_BOX_H_

#include <Wt/WAbstractSpinBox>

namespace Wt {

/*! \class WDoubleSpinBox Wt/WDoubleSpinBox Wt/WDoubleSpinBox
 *  \brief An input control for fixed point numbers.
 *
 * The spin box provides a control for entering a fixed point
 * number. It consists of a line edit, and buttons which allow to
 * increase or decrease the value. If you rather need input of an
 * integer number number, use WSpinBox instead.
 *
 * %WDoubleSpinBox is an \link WWidget::setInline(bool) inline
 * \endlink widget.
 *
 * \sa WSpinBox
 *
 * \note A spinbox configures a validator for validating the input. Therefore
 *       you cannot set a validator yourself.
 */
class WT_API WDoubleSpinBox : public WAbstractSpinBox
{
public:
  /*! \brief Creates a spin-box.
   *
   * The range is (0.0 - 99.99), the step size 1.0, and the spin box
   * has a precision of 2 decimals.
   *
   * The initial value is 0.0.
   */
  WDoubleSpinBox(WContainerWidget *parent = 0);

  /*! \brief Sets the minimum value.
   *
   * The default value is 0.0.
   */
  void setMinimum(double minimum);

  /*! \brief Returns the minimum value.
   *
   * \sa setMinimum()
   */
  double minimum() const { return min_; }

  /*! \brief Sets the maximum value.
   *
   * The default value is 99.99.
   */
  void setMaximum(double maximum);

  /*! \brief Returns the maximum value.
   *
   * \sa setMaximum()
   */
  double maximum() const { return max_; }

  /*! \brief Sets the range.
   *
   * \sa setMinimum(), setMaximum()
   */
  void setRange(double minimum, double maximum);

  /*! \brief Sets the step value.
   *
   * The default value is 1.0.
   */
  void setSingleStep(double step);

  /*! \brief Returns the step value.
   *
   * \sa setSingleStep()
   */
  double singleStep() const { return step_; }

  /*! \brief Sets the precision.
   *
   * This sets the number of digits after the decimal point shown
   *
   * The default precision is 2.
   */
  void setDecimals(int precision);

  /*! \brief Returns the precision.
   *
   * \sa setDecimals()
   */
  int decimals() const;

  /*! \brief Sets the value.
   *
   * \p value must be a value between minimum() and maximum().
   *
   * The default value is 0
   */
  void setValue(double value);

  /*! \brief Returns the value.
   */
  double value() const { return value_; }

  /*! \brief A %signal that indicates when the value has changed.
   *
   * This signal is emitted when setValue() is called.
   *
   * \sa setValue()
   */
  Signal<double>& valueChanged() { return valueChanged_; }

protected:
  virtual void updateDom(DomElement& element, bool all);
  virtual void signalConnectionsChanged();

  virtual std::string jsMinMaxStep() const;
  virtual bool parseNumberValue(const std::string& text);
  virtual WString textFromValue() const;
  virtual WValidator *createValidator();
  virtual WValidator::Result validateRange() const;

private:
  double value_, min_, max_, step_;
  int precision_;

  Signal<double> valueChanged_;

  void onChange();
};

}

#endif // WDOUBLE_SPIN_BOX_H_