File indexing completed on 2025-07-13 03:32:42

0001 /*
0002     File                 : ColumnDock.h
0003     Project              : LabPlot
0004     Description          : widget for column properties
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2011-2021 Alexander Semke <alexander.semke@web.de>
0007     SPDX-FileCopyrightText: 2017 Stefan Gerlach <stefan.gerlach@uni.kn>
0008 
0009     SPDX-License-Identifier: GPL-2.0-or-later
0010 */
0011 
0012 #ifndef COLUMNDOCK_H
0013 #define COLUMNDOCK_H
0014 
0015 #include "backend/core/column/Column.h"
0016 #include "kdefrontend/dockwidgets/BaseDock.h"
0017 #include "ui_columndock.h"
0018 
0019 template<class T>
0020 class QList;
0021 
0022 class ColumnDock : public BaseDock {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit ColumnDock(QWidget*);
0027     void setColumns(QList<Column*>);
0028 
0029 private:
0030     Ui::ColumnDock ui;
0031     QList<Column*> m_columnsList;
0032     Column* m_column{nullptr};
0033 
0034     void updateTypeWidgets(AbstractColumn::ColumnMode);
0035     void showValueLabels();
0036 
0037 private Q_SLOTS:
0038     void retranslateUi();
0039 
0040     void typeChanged(int);
0041     void numericFormatChanged(int);
0042     void precisionChanged(int);
0043     void dateTimeFormatChanged(const QString&);
0044     void plotDesignationChanged(int);
0045 
0046     // value labels
0047     void addLabel();
0048     void removeLabel();
0049     void batchEditLabels();
0050 
0051     // SLOTs for changes triggered in Column
0052     void columnModeChanged(const AbstractAspect*);
0053     void columnFormatChanged();
0054     void columnPrecisionChanged();
0055     void columnPlotDesignationChanged(const AbstractColumn*);
0056 
0057 Q_SIGNALS:
0058     void info(const QString&);
0059 };
0060 
0061 #endif // COLUMNDOCK_H