Subversion Repositories Scribus

Rev

Rev 1448 | Rev 1525 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 paul 1
#ifndef MPALETTE_H
2
#define MPALETTE_H
3
 
1448 cbradney 4
#include <qdialog.h>
3 paul 5
#include <qbuttongroup.h>
6
#include <qcheckbox.h>
7
#include <qcombobox.h>
8
#include <qframe.h>
9
#include <qgroupbox.h>
10
#include <qlabel.h>
11
#include <qpushbutton.h>
12
#include <qradiobutton.h>
13
#include <qspinbox.h>
14
#include <qtoolbutton.h>
15
#include <qwidget.h>
16
#include <qwidgetstack.h>
17
#include <qlayout.h>
18
#include <qtooltip.h>
19
#include <qimage.h>
20
#include <qpixmap.h>
27 Franz 21
#include <qlistbox.h>
68 Franz 22
#include <qlineedit.h>
1263 tsoots 23
#include <qtimer.h>
3 paul 24
#include "mspinbox.h"
25
#include "pageitem.h"
26
#include "page.h"
838 cbradney 27
class ScribusDoc;
3 paul 28
#include "linkbutton.h"
29
#include "linecombo.h"
30
#include "spalette.h"
33 Franz 31
#include "fontcombo.h"
710 cbradney 32
class StyleSelect;
173 Franz 33
#include "alignselect.h"
34
#include "shadebutton.h"
686 cbradney 35
#include "cpalette.h"
121 Franz 36
class Autoforms;
740 fschmid 37
class ArrowChooser;
1502 tsoots 38
class UserActionSniffer;
68 Franz 39
extern bool CMSavail;
3 paul 40
 
265 Franz 41
class LabelButton : public QLabel
42
{
43
        Q_OBJECT
44
 
45
public:
46
        LabelButton(QWidget* parent, QString text1, QString text2);
47
        ~LabelButton() {};
48
        void setTexts(QString text1, QString text2);
49
        bool getState();
50
 
51
private:
52
        bool state;
53
        QString TextA;
54
        QString TextB;
55
 
56
signals:
57
        void clicked();
58
 
59
protected:
266 Franz 60
        virtual void enterEvent(QEvent*);
61
        virtual void leaveEvent(QEvent*);
62
        virtual void mousePressEvent(QMouseEvent*);
265 Franz 63
        virtual void mouseReleaseEvent(QMouseEvent *);
64
};
65
 
68 Franz 66
class NameWidget : public QLineEdit
67
{
248 Franz 68
        Q_OBJECT
68 Franz 69
 
70
public:
168 Franz 71
        NameWidget(QWidget* parent);
72
        ~NameWidget() {};
68 Franz 73
 
74
signals:
168 Franz 75
        void Leaved();
68 Franz 76
 
77
protected:
248 Franz 78
        virtual void focusOutEvent(QFocusEvent *);
68 Franz 79
};
80
 
1448 cbradney 81
class Mpalette : public QDialog
168 Franz 82
{
83
        Q_OBJECT
84
 
3 paul 85
public:
1065 cbradney 86
        Mpalette(QWidget* parent, ApplicationPrefs *Prefs);
248 Franz 87
        ~Mpalette() {};
356 Franz 88
        void keyPressEvent(QKeyEvent *k);
1448 cbradney 89
        void closeEvent(QCloseEvent *ce);
168 Franz 90
        void ToggleFlow();
91
        void updateCList();
92
        void updateCmsList();
93
        void ShowCMS();
332 Franz 94
        void fillLangCombo(QMap<QString,QString> langMap);
1278 tsoots 95
        /** @brief Returns true if there is a user action going on at the moment of call. */
1286 tsoots 96
        bool userActionOn(); // not yet implemented!!! This is needed badly.
97
                         // When user releases the mouse button or arrow key, changes must be checked
98
                         // and if in ScribusView a groupTransaction has been started it must be also
99
                         // commmited
332 Franz 100
 
101
        Autoforms* SCustom;
102
        LabelButton* colgapLabel;
103
        FontCombo* Fonts;
104
        StyleSelect* SeStyle;
105
        AlignSelect* GroupAlign;
106
        Spalette *Spal;
107
        LinkButton* Kette;
108
        LinkButton* Kette2;
109
        LineCombo* LStyle;
740 fschmid 110
        ArrowChooser* startArrow;
111
        ArrowChooser* endArrow;
332 Franz 112
        ShadeButton *PM1;
113
        ShadeButton *PM2;
114
        PageItem *CurItem;
115
        bool HaveDoc;
116
        bool HaveItem;
117
        ScribusDoc *doc;
118
        double Umrech;
119
        bool LMode;
120
        double RoVal;
121
 
122
        QButtonGroup* proppalButtonGrp;
123
        QButtonGroup* RotationGroup;
124
        QButtonGroup* ShapeGroup;
125
 
126
        QPushButton* TabsButton;
127
 
248 Franz 128
        QToolButton* SShape;
129
        QToolButton* SText;
130
        QToolButton* SImage;
131
        QToolButton* SLine;
132
        QToolButton* SGeom;
133
        QToolButton* SColor;
332 Franz 134
        QToolButton* Zup;
135
        QToolButton* ZDown;
136
        QToolButton* ZTop;
137
        QToolButton* ZBottom;
138
 
248 Franz 139
        QWidgetStack* TabStack;
140
        QWidgetStack* TabStack2;
141
        QWidgetStack* TabStack3;
332 Franz 142
 
248 Franz 143
        QWidget* page;
144
        QWidget* page_2;
145
        QWidget* page_2a;
146
        QWidget* page_2b;
147
        QWidget* page_3;
148
        QWidget* page_4;
149
        QWidget* page_5;
150
        QWidget* page_5a;
151
        QWidget* page_5b;
332 Franz 152
 
248 Franz 153
        Cpalette *Cpal;
332 Franz 154
        NameWidget* NameEdit;
155
 
248 Franz 156
        QGroupBox* NameGroup;
157
        QGroupBox* GeoGroup;
332 Franz 158
        QGroupBox* LayerGroup;
159
        QGroupBox* Distance;
160
        QGroupBox* Distance2;
161
        QGroupBox* GroupBoxCM;
162
        QGroupBox* TLines;
163
        QGroupBox* GroupBox3;
164
        QGroupBox* GroupBox3a;
165
 
166
        QCheckBox* Textflow;
167
        QCheckBox* Textflow2;
340 Franz 168
        QCheckBox* Textflow3;
332 Franz 169
        QCheckBox* Aspect;
170
        QCheckBox* showcurveCheckBox;
171
        QCheckBox* TopLine;
172
        QCheckBox* LeftLine;
173
        QCheckBox* RightLine;
174
        QCheckBox* BottomLine;
175
 
176
        QComboBox* langCombo;
177
        QComboBox* InputP;
178
        QComboBox* MonitorI;
179
        QComboBox* LineMode;
180
        QComboBox* TxStroke;
181
        QComboBox* LJoinStyle;
182
        QComboBox* LEndStyle;
183
        QComboBox* TxFill;
184
 
185
        QLabel* xposLabel;
186
        QLabel* widthLabel;
187
        QLabel* yposLabel;
188
        QLabel* heightLabel;
189
        QLabel* rotationLabel;
190
        QLabel* basepointLabel;
191
        QLabel* LevelTxt;
192
        QLabel* SRect;
193
        QLabel* rndcornersLabel;
194
        QLabel* startoffsetLabel;
195
        QLabel* distfromcurveLabel;
196
        QLabel* topLabel;
197
        QLabel* columnsLabel;
198
        QLabel* bottomLabel;
199
        QLabel* leftLabel;
200
        QLabel* rightLabel;
201
        QLabel* kerningLabel;
202
        QLabel* linespacingLabel;
203
        QLabel* fontsizeLabel;
204
        QLabel* yscaleLabel;
205
        QLabel* xscaleLabel;
206
        QLabel* xposImgLabel;
207
        QLabel* yposImgLabel;
208
        QLabel* linewidthLabel;
209
        QLabel* endingsLabel;
210
        QLabel* linetypeLabel;
211
        QLabel* StrokeIcon;
212
        QLabel* ShadeTxt2;
213
        QLabel* ShadeTxt1;
214
        QLabel* FillIcon;
215
        QLabel* styleLabel;
216
        QLabel* langLabel;
217
        QLabel* LineModeT;
218
        QLabel* TextCms1;
219
        QLabel* TextCms2;
220
        QLabel* edgesLabel;
221
        QLabel* ScaleTxt;
740 fschmid 222
        QLabel* startArrowText;
223
        QLabel* endArrowText;
332 Franz 224
 
225
        QListBox* StyledLine;
226
 
248 Franz 227
        MSpinBox* Width;
228
        MSpinBox* Xpos;
229
        MSpinBox* Ypos;
230
        MSpinBox* Height;
231
        MSpinBox* Rot;
232
        MSpinBox* RoundRect;
1194 fschmid 233
        MSpinBox* dGap;
248 Franz 234
        MSpinBox* DTop;
235
        MSpinBox* DBottom;
236
        MSpinBox* DLeft;
237
        MSpinBox* DRight;
332 Franz 238
        MSpinBox* Dist;
239
        MSpinBox* LineW;
248 Franz 240
        MSpinBox* Size;
241
        MSpinBox* LineSp;
242
        MSpinBox* Extra;
243
        MSpinBox* LYpos;
244
        MSpinBox* LXpos;
245
        MSpinBox* ScaleY;
246
        MSpinBox* ScaleX;
247
        MSpinBox* LSize;
332 Franz 248
 
248 Franz 249
        QSpinBox* ChScale;
332 Franz 250
        QSpinBox* DCol;
3 paul 251
 
332 Franz 252
        QRadioButton* TopLeft;
253
        QRadioButton* TopRight;
254
        QRadioButton* Center;
255
        QRadioButton* BottomLeft;
256
        QRadioButton* BottomRight;
257
        QRadioButton* FreeScale;
258
        QRadioButton* FrameScale;
259
 
260
        QFrame* Line1;
261
        QFrame* Line2;
262
        QFrame* Line4;
263
        QFrame* Line5;
264
        QFrame* Line5_2;
265
        QFrame* Frame4;
266
 
267
        QToolButton* FlipH;
268
        QToolButton* FlipV;
269
        QToolButton* Locked;
270
        QToolButton* NoPrint;
271
        QToolButton* NoResize;
272
        QToolButton* Revert;
273
        QToolButton* EditShape;
274
 
275
 
3 paul 276
public slots:
168 Franz 277
        void SetDoc(ScribusDoc *d);
278
        void UnsetDoc();
279
        void NewSel(int nr);
280
        void SetCurItem(PageItem *i);
281
        void UnitChange();
272 Franz 282
        void setLevel(uint l);
248 Franz 283
        void setXY(double x, double y);
284
        void setBH(double x, double y);
168 Franz 285
        void setR(double r);
286
        void setRR(double r);
287
        void setCols(int r, double g);
288
        void setLsp(double r);
289
        void setSize(int s);
290
        void setExtra(double e);
275 Franz 291
        void setDvals(double left, double top, double bottom, double right);
168 Franz 292
        void ChangeScaling();
293
        void setLvalue(double scx, double scy, double x, double y);
294
        void setSvalue(double s);
295
        void setLIvalue(PenStyle p, PenCapStyle pc, PenJoinStyle pj);
296
        void setStil(int s);
297
        void setAli(int e);
298
        void setTScale(int e);
299
        void NewTScale();
300
        void SetLineFormats(ScribusDoc *dd);
301
        void SetSTline(QListBoxItem *c);
302
        void NewTFont(int);
303
        void newTxtFill();
304
        void newTxtStroke();
173 Franz 305
        void setActShade();
168 Franz 306
        void setActFarben(QString p, QString b, int shp, int shb);
307
        void ManageTabs();
248 Franz 308
 
3 paul 309
private slots:
168 Franz 310
 
311
        void SelTab(int t);
312
        void NewX();
313
        void NewY();
314
        void NewW();
315
        void NewH();
316
        void NewR();
317
        void NewRR();
318
        void NewLsp();
265 Franz 319
        void HandleGapSwitch();
168 Franz 320
        void NewCols();
321
        void NewGap();
322
        void NewSize();
323
        void NewExtra();
324
        void DoFlipH();
325
        void DoFlipV();
326
        void ToggleKette();
327
        void HChange();
328
        void VChange();
329
        void NewLocalXY();
330
        void NewLocalSC();
331
        void NewLS();
332
        void NewLSty();
333
        void NewLJoin();
334
        void NewLEnd();
173 Franz 335
        void NewAli(int a);
168 Franz 336
        void setTypeStyle(int s);
337
        void NewLMode();
338
        void DoLower();
339
        void DoRaise();
340
        void DoFront();
341
        void DoBack();
342
        void NewRotMode(int m);
343
        void DoFlow();
344
        void DoFlow2();
340 Franz 345
        void DoFlow3();
168 Franz 346
        void MakeIrre(int f, int c, double *vals);
347
        void EditSh();
348
        void NewTDist();
294 Franz 349
        void NewSpGradient(double x1, double y1, double x2, double y2);
735 fschmid 350
        void toggleGradientEdit();
168 Franz 351
        void DoRevert();
352
        void handleLock();
353
        void handlePrint();
205 Franz 354
        void handleResize();
168 Franz 355
        void handlePathLine();
356
        void handlePathDist();
357
        void handlePathOffs();
358
        void ChProf(const QString& prn);
359
        void ChIntent();
360
        void NewName();
361
        void NewLanguage();
232 Franz 362
        void HandleTLines();
740 fschmid 363
        void setStartArrow(int id);
364
        void setEndArrow(int id);
248 Franz 365
 
1448 cbradney 366
protected slots:
367
        virtual void reject();
1502 tsoots 368
        void mspinboxStartUserAction();
369
        void mspinboxFinishUserAction();
1448 cbradney 370
 
3 paul 371
signals:
356 Franz 372
        void ToggleAllPalettes();
1448 cbradney 373
        void Schliessen();
367 Franz 374
        void CloseBpal();
375
        void CloseTpal();
3 paul 376
        void DocChanged();
377
        void NewAbStyle(int);
378
        void BackHome();
379
        void Stellung(int);
380
        void EditCL();
27 Franz 381
        void EditLSt();
32 Franz 382
        void NewTF(QString);
162 Franz 383
        void UpdtGui(int);
3 paul 384
 
385
protected:
248 Franz 386
        QVBoxLayout* MpalLayout;
332 Franz 387
        QGridLayout* proppalButtonGrpLayout;
248 Franz 388
        QVBoxLayout* pageLayout;
389
        QVBoxLayout* pageLayout_2;
390
        QVBoxLayout* pageLayout_2a;
391
        QVBoxLayout* pageLayout_2b;
392
        QVBoxLayout* pageLayout_3;
393
        QVBoxLayout* pageLayout_4;
394
        QVBoxLayout* pageLayout_5;
395
        QVBoxLayout* pageLayout_5a;
396
        QVBoxLayout* pageLayout_5b;
397
        QVBoxLayout* TLineLayout;
398
        QHBoxLayout* layout60;
399
        QGridLayout* Layout44;
400
        QHBoxLayout* Layout13;
401
        QGridLayout* Layout12;
402
        QHBoxLayout* layout47;
403
        QVBoxLayout* layout46;
404
        QGridLayout* layout41;
405
        QHBoxLayout* Layout1;
406
        QGridLayout* layout43;
407
        QVBoxLayout* Layout24;
408
        QHBoxLayout* Layout18;
409
        QHBoxLayout* Layout13_2;
410
        QGridLayout* Layout12_2;
411
        QHBoxLayout* NameGroupLayout;
412
        QGridLayout* GeoGroupLayout;
413
        QGridLayout* LayerGroupLayout;
414
        QHBoxLayout* RotationGroupLayout;
415
        QHBoxLayout* ShapeGroupLayout;
416
        QGridLayout* DistanceLayout;
417
        QGridLayout* DistanceLayout2;
418
        QGridLayout* GroupBox3Layout;
419
        QGridLayout* GroupBox3aLayout;
420
        QVBoxLayout* GroupBoxCMLayout;
421
        QHBoxLayout* layout22;
422
        QHBoxLayout* layout23;
423
        QHBoxLayout* layout24;
1502 tsoots 424
        bool _userActionOn;
425
        UserActionSniffer *userActionSniffer;
426
        void installSniffer(MSpinBox *spinBox);
3 paul 427
};
428
 
1502 tsoots 429
class UserActionSniffer : public QObject
430
{
431
        Q_OBJECT
432
 
433
public:
434
        UserActionSniffer();
435
protected:
436
        bool eventFilter( QObject *o, QEvent *e );
437
signals:
438
        void actionStart();
439
        void actionEnd();
440
};
441
 
3 paul 442
#endif