Krita Source Code Documentation
Loading...
Searching...
No Matches
histogramdocker_dock.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Eugene Ingerman <geneing at gmail dot com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
8
9#include <QVBoxLayout>
10#include <QHBoxLayout>
11#include <QToolButton>
12#include <QSpacerItem>
13#include <klocalizedstring.h>
14
15
16#include "kis_canvas2.h"
17#include <KisViewManager.h>
19
21 : QDockWidget(i18n("Histogram"))
22{
23 QWidget *page = new QWidget(this);
24 m_layout = new QVBoxLayout(page);
25
26 QHBoxLayout *buttonLayout = new QHBoxLayout();
27 m_layout->addLayout(buttonLayout);
28 QToolButton *toggleLogarithm = new QToolButton(this);
29 buttonLayout->addWidget(toggleLogarithm);
30 buttonLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
31 toggleLogarithm->setIcon(KisIconUtils::loadIcon("histogram-logarithmic"));
32 toggleLogarithm->setToolTip(i18nc("@info:tooltip", "Toggle logarithmic histogram."));
33 toggleLogarithm->setCheckable(true);
34
36
37 m_histogramWidget->setBackgroundRole(QPalette::AlternateBase);
38 m_histogramWidget->setAutoFillBackground(true); // paints background role before paint()
39
40 m_histogramWidget->setMinimumHeight(50);
41 //m_histogramWidget->setSmoothHistogram(false);
42 m_layout->addWidget(m_histogramWidget, 1);
43
44 connect(toggleLogarithm, SIGNAL(toggled(bool)), m_histogramWidget, SLOT(enableLogarithmic(bool)));
45
46 setWidget(page);
47 setEnabled(false);
48}
49
50
52{
53 if (m_canvas == canvas)
54 return;
55
56 setEnabled(canvas != 0);
57
58 KisCanvas2 *canvas2 = dynamic_cast<KisCanvas2*>(canvas);
59 m_canvas = canvas2;
61}
62
64{
65 setEnabled(false);
66 m_canvas = 0;
68}
HistogramDockerWidget * m_histogramWidget
QPointer< KisCanvas2 > m_canvas
void setCanvas(KoCanvasBase *canvas) override
virtual void setCanvas(KisCanvas2 *canvas)
QIcon loadIcon(const QString &name)