4#ifndef MULTISPINBOX_P_H
5#define MULTISPINBOX_P_H
10#include "constpropagatingrawpointer.h"
11#include "helperqttypes.h"
12#include "multispinboxsection.h"
13#include <qaccessiblewidget.h>
21#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
22#include <qtmetamacros.h>
24#include <qobjectdefs.h>
29class ExtendedDoubleValidator;
36class MultiSpinBoxPrivate final :
public QObject
41 explicit MultiSpinBoxPrivate(MultiSpinBox *backLink);
46 virtual ~MultiSpinBoxPrivate() noexcept override = default;
49 friend class TestMultiSpinBox;
53 static constexpr
double defaultSectionValue = 0;
57 int m_actionButtonCount = 0;
61 QListSizeType m_currentIndex = 0;
68 QList<MultiSpinBoxSection> m_sectionConfigurations;
71 QList<
double> m_sectionValues =
QList<
double>{MultiSpinBoxPrivate::defaultSectionValue};
78 QString m_textAfterCurrentValue;
85 QString m_textBeforeCurrentValue;
104 [[nodiscard]]
QString formattedValue(QListSizeType index)
const;
105 [[nodiscard]]
bool isCursorTouchingCurrentSectionValue()
const;
106 void setCurrentIndexAndUpdateTextAndSelectValue(QListSizeType newIndex);
107 void setCurrentIndexToZeroAndUpdateTextAndSelectValue();
108 void setCurrentIndexWithoutUpdatingText(QListSizeType newIndex);
109 void setSectionValuesWithoutFurtherUpdating(
const QList<double> &newSectionValues);
110 void updatePrefixValueSuffixText();
113 void reactOnCursorPositionChange(
const int oldPos,
const int newPos);
114 void updateCurrentValueFromText(
const QString &lineEditText);
117 Q_DISABLE_COPY(MultiSpinBoxPrivate)
121 ConstPropagatingRawPointer<MultiSpinBox> q_pointer;
130 explicit AccessibleMultiSpinBox(MultiSpinBox *w);
131 virtual ~AccessibleMultiSpinBox()
override;
The namespace of this library.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:18:38 by
doxygen 1.12.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.