• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
KisGradientSliderWidget.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2004 Cyrille Berger <[email protected]>
3  * 2004 Sven Langkamp <[email protected]>
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  */
7 
8 #ifndef _KIS_GRADIENT_SLIDER_WIDGET_H_
9 #define _KIS_GRADIENT_SLIDER_WIDGET_H_
10 
11 #include <QWidget>
12 #include <QMouseEvent>
13 #include <QPaintEvent>
14 
15 #include <KoSegmentGradient.h>
16 
17 class QAction;
18 class QMenu;
19 
20 class KoGradientSegment;
21 
22 #include "kritawidgets_export.h"
23 
27 class KRITAWIDGETS_EXPORT KisGradientSliderWidget : public QWidget
28 {
29  Q_OBJECT
30 
31 public:
32  KisGradientSliderWidget(QWidget *parent = 0, const char* name = 0, Qt::WindowFlags f = Qt::WindowFlags());
33 
34 public:
35  void paintEvent(QPaintEvent *) override;
36  void setGradientResource(KoSegmentGradientSP agr);
37  KoGradientSegment *selectedSegment() { return m_selectedSegment; }
38 
39 Q_SIGNALS:
40  void sigSelectedSegment(KoGradientSegment*);
41  void sigChangedSegment(KoGradientSegment*);
42 
43 protected:
44  void mousePressEvent(QMouseEvent * e) override;
45  void mouseReleaseEvent(QMouseEvent * e) override;
46  void mouseMoveEvent(QMouseEvent * e) override;
47  void contextMenuEvent(QContextMenuEvent * e) override;
48 
49  void paintSegmentHandle(int position, const QString text, const QPoint& textPos, QPainter& painter);
50 
51 private Q_SLOTS:
52  void slotSplitSegment();
53  void slotDuplicateSegment();
54  void slotMirrorSegment();
55  void slotRemoveSegment();
56 
57 private:
58 
59  enum {
60  NO_DRAG,
61  LEFT_DRAG,
62  RIGHT_DRAG,
63  MIDDLE_DRAG
64  };
65 
66  enum {
67  SPLIT_SEGMENT,
68  DUPLICATE_SEGMENT,
69  MIRROR_SEGMENT,
70  REMOVE_SEGMENT
71  };
72 
73  KoSegmentGradientSP m_autogradientResource;
74  KoGradientSegment* m_currentSegment;
75  KoGradientSegment* m_selectedSegment;
76  QMenu* m_segmentMenu;
77  int m_drag;
78  QAction *m_removeSegmentAction;
79 };
80 
81 #endif
QWidget::contextMenuEvent
virtual void contextMenuEvent(QContextMenuEvent *event)
QWidget::paintEvent
virtual void paintEvent(QPaintEvent *event)
QWidget
QMenu
QPainter
QMouseEvent
QString
QContextMenuEvent
KisGradientSliderWidget
The KisGradientSliderWidget class makes it possible to edit gradients.
Definition: KisGradientSliderWidget.h:27
QWidget::mouseReleaseEvent
virtual void mouseReleaseEvent(QMouseEvent *event)
QPaintEvent
QAction
Qt::WindowFlags
typedef WindowFlags
QWidget::mouseMoveEvent
virtual void mouseMoveEvent(QMouseEvent *event)
QPoint
QWidget::mousePressEvent
virtual void mousePressEvent(QMouseEvent *event)
KisGradientSliderWidget::selectedSegment
KoGradientSegment * selectedSegment()
Definition: KisGradientSliderWidget.h:37
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Jan 23 2021 11:48:22 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal