20#ifndef kwframestylemanager_h
21#define kwframestylemanager_h
23#include "KWFrameStyle.h"
25#include <kdialogbase.h>
37class KWFrameStyleManagerTab;
38class KoParagLayoutWidget;
41class KWBrushStylePreview;
47class KWFrameStylePreview :
public TQWidget
53 KWFrameStylePreview( TQWidget *parent )
54 : TQWidget( parent ), frameStyle( 0 ) {
55 setBackgroundColor( white );
61 void paintEvent( TQPaintEvent *e );
63 void setTopBorder(KoBorder _bTop) { frameStyle->setTopBorder( _bTop ); repaint(
true ); }
64 void setBottomBorder(KoBorder _bBottom) { frameStyle->setBottomBorder( _bBottom ); repaint(
true ); }
65 void setRightBorder(KoBorder _bRight) { frameStyle->setRightBorder( _bRight ); repaint(
true ); }
66 void setLeftBorder(KoBorder _bLeft) { frameStyle->setLeftBorder( _bLeft ); repaint(
true ); }
67 void setBackground(
const TQColor & col ) { frameStyle->setBackgroundColor( col ); repaint(
true ); }
73class KWFrameStyleListItem
76 KWFrameStyleListItem() {}
77 ~KWFrameStyleListItem();
79 m_origFrameStyle = orig;
80 m_changedFrameStyle = changed;
83 KWFrameStyle *origFrameStyle()
const {
return m_origFrameStyle; }
84 KWFrameStyle *changedFrameStyle()
const {
return m_changedFrameStyle; }
85 void setOrigFrameStyle(
KWFrameStyle *_orig ) { m_origFrameStyle = _orig; }
86 void setChangedFrameStyle(
KWFrameStyle *_changed ) { m_changedFrameStyle = _changed; }
87 void deleteOrigFrameStyle() {
delete m_changedFrameStyle; }
88 void deleteChangedFrameStyle() {
delete m_changedFrameStyle; }
102class KWFrameStyleManager :
public KDialogBase
108 KWFrameStyleManager( TQWidget *_parent, KWDocument *_doc,
109 const TQString & activeStyleName );
110 ~KWFrameStyleManager();
113 void addStyles(
const TQPtrList<KWFrameStyle> & style );
115 void addGeneralTab();
118 void updatePreview();
120 int frameStyleIndex(
int pos );
123 TQListBox *m_stylesList;
124 TQLineEdit *m_nameString;
125 TQPushButton *m_deleteButton;
126 TQPushButton *m_newButton;
127 TQPushButton *m_moveUpButton;
128 TQPushButton *m_moveDownButton;
130 TQGroupBox *previewBox;
131 KWFrameStylePreview *preview;
134 TQStringList m_styleOrder;
135 TQPtrList<KWFrameStyleListItem> m_frameStyles;
136 TQPtrList<KWFrameStyleManagerTab> m_tabsList;
143 virtual void slotOk();
144 virtual void slotApply();
150 void moveDownStyle();
151 void renameStyle(
const TQString &);
152 void importFromFile();
154 void addTab( KWFrameStyleManagerTab * tab );
157class KWFrameStyleManagerTab :
public TQWidget {
161 KWFrameStyleManagerTab(TQWidget *parent) : TQWidget(parent) {};
166 virtual void update() = 0;
168 virtual TQString tabName() = 0;
170 virtual void save() = 0;
175class KWFrameStyleBackgroundTab :
public KWFrameStyleManagerTab
180 KWFrameStyleBackgroundTab( TQWidget * parent );
182 virtual void update();
184 virtual TQString tabName();
186 void updateBrushConfiguration(
const TQColor & );
188 TQBrush m_backgroundColor;
191 KColorButton *brushColor;
192 KWBrushStylePreview *brushPreview;
195class KWFrameStyleBordersTab :
public KWFrameStyleManagerTab
200 KWFrameStyleBordersTab( TQWidget * parent );
201 ~KWFrameStyleBordersTab();
202 void setWidget( KoParagLayoutWidget * widget );
204 virtual void update();
206 virtual TQString tabName();
208 virtual void resizeEvent( TQResizeEvent *e );
210 KoParagLayoutWidget * m_widget;
211 KoParagLayout *m_borders;
The user-visible style for frames (borders and background)