21#ifndef _VGRADIENTTABWIDGET_H_
22#define _VGRADIENTTABWIDGET_H_
25#include <tqtabwidget.h>
27#include <koffice_export.h>
36class KarbonResourceServer;
39class VGradientListItem :
public TQListBoxItem
42 VGradientListItem(
const VGradient& gradient, TQString filename );
43 VGradientListItem(
const VGradientListItem& );
46 TQPixmap& pixmap() {
return m_pixmap; }
47 const VGradient* gradient()
const {
return m_gradient; }
48 TQString filename() {
return m_filename; }
49 bool canDelete() {
return m_delete; }
51 virtual int height(
const TQListBox* )
const {
return 16; }
52 virtual int width(
const TQListBox* lb )
const;
55 virtual void paint( TQPainter* p );
58 VGradient *m_gradient;
64class VGradientPreview :
public TQWidget
67 VGradientPreview( VGradient& gradient,
double& opacity, TQWidget* parent = 0L,
const char* name = 0L );
70 virtual void paintEvent( TQPaintEvent* );
73 VGradient* m_gradient;
77class KARBONBASE_EXPORT VGradientTabWidget :
public TQTabWidget
83 enum VGradientTarget {
88 VGradientTabWidget( VGradient& gradient, KarbonResourceServer* server, TQWidget* parent = 0L,
const char* name = 0L );
89 ~VGradientTabWidget();
91 const VGradient& gradient();
92 void setGradient( VGradient& gradient );
94 VGradientTarget target();
95 void setTarget( VGradientTarget target );
97 double opacity()
const;
98 void setOpacity(
double opacity );
101 void combosChange(
int );
102 void addGradientToPredefs();
103 void changeToPredef( TQListBoxItem* );
104 void predefSelected( TQListBoxItem* );
106 void opacityChanged(
int );
111 void setupConnections();
114 TQGroupBox *m_editGroup;
115 VGradientWidget *m_gradientWidget;
116 KComboBox *m_gradientTarget;
117 KComboBox *m_gradientRepeat;
118 KComboBox *m_gradientType;
119 VGradientPreview *m_gradientPreview;
120 TDEListBox *m_predefGradientsView;
121 TQPushButton *m_predefDelete;
122 TQPushButton *m_predefImport;
123 TQPushButton *m_addToPredefs;
124 KIntNumInput *m_opacity;
126 VGradient m_gradient;
128 KarbonResourceServer* m_resourceServer;
129 double m_gradOpacity;