krita
kis_paintop_box.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KIS_PAINTOP_BOX_H_
00022 #define KIS_PAINTOP_BOX_H_
00023
00024 #include <map>
00025
00026 #include <qwidget.h>
00027 #include <qcombobox.h>
00028 #include <qvaluelist.h>
00029
00030 #include "kis_input_device.h"
00031
00032 class QString;
00033
00034 class KWidgetAction;
00035 class KisView;
00036 class KisCanvasController;
00037 class KisID;
00038 class KisColorSpace;
00039
00050 class KisPaintopBox : public QWidget {
00051
00052 Q_OBJECT
00053
00054 typedef QWidget super;
00055
00056 public:
00057 KisPaintopBox (KisView * view, QWidget * parent, const char * name = 0);
00058
00059 ~KisPaintopBox();
00060
00061
00062 signals:
00063
00064 void selected(const KisID & id, const KisPaintOpSettings *settings);
00065
00066 private slots:
00067
00068 void addItem(const KisID & paintop, const QString & category = "");
00069
00070 private slots:
00071
00072 void slotItemSelected(int index);
00073 void colorSpaceChanged(KisColorSpace *cs);
00074 void slotInputDeviceChanged(const KisInputDevice & inputDevice);
00075
00076 private:
00077 QPixmap paintopPixmap(const KisID & paintop);
00078 void updateOptionWidget();
00079 const KisID & currentPaintop();
00080 void setCurrentPaintop(const KisID & paintop);
00081 KisID defaultPaintop(const KisInputDevice& inputDevice);
00082 const KisPaintOpSettings *paintopSettings(const KisID & paintop, const KisInputDevice & inputDevice);
00083
00084 private:
00085 KisCanvasController *m_canvasController;
00086 QComboBox * m_cmbPaintops;
00087 QHBoxLayout * m_layout;
00088 QWidget * m_optionWidget;
00089
00090 QValueList<KisID> * m_paintops;
00091 QValueList<KisID> * m_displayedOps;
00092
00093 typedef std::map<KisInputDevice, KisID> InputDevicePaintopMap;
00094 InputDevicePaintopMap m_currentID;
00095
00096 typedef std::map<KisInputDevice, QValueVector<KisPaintOpSettings *> > InputDevicePaintopSettingsMap;
00097 InputDevicePaintopSettingsMap m_inputDevicePaintopSettings;
00098 };
00099
00100
00101
00102 #endif //KIS_PAINTOP_BOX_H_
00103
|