Subversion Repositories Scribus

Rev

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