Subversion Repositories Scribus

Rev

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