Subversion Repositories Scribus

Rev

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

Rev Author Line No. Line
838 cbradney 1
#ifndef SCRIBUSSTRUCTS_H
2
#define SCRIBUSSTRUCTS_H
3
 
4
#ifdef HAVE_CONFIG_H
5
#include <config.h>
6
#endif
7
 
8
#include <qvaluestack.h>
9
#include <qvaluelist.h>
1429 subik 10
#include <qvaluevector.h>
838 cbradney 11
#include <qstring.h>
1208 cbradney 12
#include <qaction.h>
839 cbradney 13
#include <vector>
838 cbradney 14
 
15
#include "scfonts.h"
16
#include "cmykcolor.h"
17
#include "fpointarray.h"
18
#include "vgradient.h"
19
#include "pageitem.h"
1208 cbradney 20
#include "scraction.h"
838 cbradney 21
 
22
/* Struktur fuer Pageitem Text */
1065 cbradney 23
struct ScText
1429 subik 24
{
1065 cbradney 25
        bool cselect;
844 fschmid 26
        int csize;
1781 fschmid 27
        short cshade;
28
        short cshade2;
29
        short cstyle;
30
        short cab;
31
        short cscale;
32
        float cextra;
33
        float xp;
34
        float yp;
35
        float PtransX;
36
        float PtransY;
37
        float PRot;
1789 fschmid 38
        Foi* cfont;
1065 cbradney 39
        QString ccolor;
40
        QString cstroke;
41
        QString ch;
844 fschmid 42
};
838 cbradney 43
 
1065 cbradney 44
struct CopyPasteBuffer
1429 subik 45
{
1460 cbradney 46
        PageItem::ItemType PType;
844 fschmid 47
        double Xpos;
48
        double Ypos;
49
        double Width;
50
        double Height;
51
        double RadRect;
52
        int FrameType;
53
        bool ClipEdited;
54
        double Pwidth;
55
        QString Pcolor;
56
        QString Pcolor2;
57
        int Shade;
58
        int Shade2;
59
        QString GrColor;
60
        QString GrColor2;
61
        int GrShade;
62
        int GrShade2;
63
        VGradient fill_gradient;
64
        int GrType;
65
        double GrStartX;
66
        double GrStartY;
67
        double GrEndX;
68
        double GrEndY;
69
        QString TxtStroke;
70
        QString TxtFill;
71
        int ShTxtStroke;
72
        int ShTxtFill;
73
        int TxtScale;
74
        int TxTStyle;
75
        double Rot;
76
        int PLineArt;
77
        int PLineJoin;
78
        int PLineEnd;
79
        double LineSp;
80
        double ExtraV;
81
        double LocalScX;
82
        double LocalScY;
83
        double LocalX;
84
        double LocalY;
85
        bool PicArt;
1392 cbradney 86
        bool flippedH;
87
        bool flippedV;
844 fschmid 88
        double BBoxX;
89
        double BBoxH;
90
        bool isPrintable;
91
        bool isBookmark;
92
        int BMnr;
93
        bool isAnnotation;
94
        int AnType;
95
        QString AnAction;
96
        QString An_E_act;
97
        QString An_X_act;
98
        QString An_D_act;
99
        QString An_Fo_act;
100
        QString An_Bl_act;
101
        QString An_K_act;
102
        QString An_F_act;
103
        QString An_V_act;
104
        QString An_C_act;
105
        QString An_Extern;
106
        int AnZiel;
107
        int AnActType;
108
        QString AnName;
109
        QString AnToolTip;
110
        QString AnRollOver;
111
        QString AnDown;
112
        QString AnBColor;
113
        int AnBwid;
114
        int AnBsty;
115
        int AnFeed;
116
        int AnFlag;
117
        int AnMaxChar;
118
        int AnVis;
119
        int AnFont;
120
        int AnChkStil;
121
        int AnFormat;
122
        bool AnIsChk;
123
        bool AnAAact;
124
        bool AnHTML;
125
        bool AnUseIcons;
126
        int AnIPlace;
127
        int AnScaleW;
128
        double Extra;
129
        double TExtra;
130
        double BExtra;
131
        double RExtra;
132
        QString Pfile;
133
        QString Pfile2;
134
        QString Pfile3;
135
        QString IProfile;
136
        QString EmProfile;
137
        int IRender;
138
        bool UseEmbedded;
1065 cbradney 139
        QString itemText;
844 fschmid 140
        QPointArray Clip;
141
        FPointArray PoLine;
142
        FPointArray ContourLine;
143
        bool PoShow;
144
        double BaseOffs;
145
        bool Textflow;
146
        bool Textflow2;
147
        bool UseContour;
1065 cbradney 148
        int textAlignment;
844 fschmid 149
        QString IFont;
150
        int ISize;
151
        QValueStack<int> Groups;
152
        int LayerNr;
153
        bool ScaleType;
154
        bool AspectRatio;
155
        bool Locked;
156
        bool LockRes;
157
        double Transparency;
158
        double TranspStroke;
159
        bool Reverse;
160
        bool InvPict;
161
        QString NamedLStyle;
162
        QString Language;
163
        QString guiLanguage;
164
        int Cols;
165
        double ColGap;
166
        QValueList<double> TabValues;
167
        QValueList<double> DashValues;
168
        double DashOffset;
169
        bool isTableItem;
170
        bool TopLine;
171
        bool LeftLine;
172
        bool RightLine;
173
        bool BottomLine;
174
        int LeftLinkID;
175
        int RightLinkID;
176
        int TopLinkID;
177
        int BottomLinkID;
178
        int startArrowIndex;
179
        int endArrowIndex;
1655 cbradney 180
        ObjAttrVector pageItemAttributes;
844 fschmid 181
};
838 cbradney 182
 
1065 cbradney 183
  /** Pagemargins */
184
struct MarginStruct
1429 subik 185
{
844 fschmid 186
        double Top;
187
        double Left;
188
        double Right;
189
        double Bottom;
190
};
838 cbradney 191
 
1065 cbradney 192
struct ParagraphStyle
1429 subik 193
{
844 fschmid 194
        QString Vname;
195
        double LineSpa;
1065 cbradney 196
        int textAlignment;
844 fschmid 197
        double Indent;
198
        double First;
1065 cbradney 199
        double gapBefore;
200
        double gapAfter;
844 fschmid 201
        QString Font;
202
        int FontSize;
203
        QValueList<double> TabValues;
204
        bool Drop;
205
        int DropLin;
206
        int FontEffect;
207
        QString FColor;
208
        int FShade;
209
        QString SColor;
210
        int SShade;
211
        bool BaseAdj;
212
};
838 cbradney 213
 
1065 cbradney 214
struct CMSData
844 fschmid 215
{
216
        QString DefaultMonitorProfile;
217
        QString DefaultPrinterProfile;
218
        QString DefaultInputProfile;
219
        QString DefaultInputProfile2;
220
        int ComponentsInput2;
221
        int ComponentsPrinter;
222
        int DefaultIntentMonitor;
223
        int DefaultIntentMonitor2;
224
        int DefaultIntentPrinter;
225
        bool CMSinUse;
226
        bool SoftProofOn;
227
        bool GamutCheck;
228
        bool BlackPoint;
229
} ;
838 cbradney 230
 
1065 cbradney 231
struct SingleLine
1429 subik 232
{
844 fschmid 233
        double Width;
234
        int Dash;
235
        int LineEnd;
236
        int LineJoin;
237
        QString Color;
238
        int Shade;
239
};
838 cbradney 240
 
1065 cbradney 241
struct ArrowDesc
844 fschmid 242
{
243
        QString name;
244
        bool userArrow;
245
        FPointArray points;
246
};
838 cbradney 247
 
844 fschmid 248
struct Layer
1429 subik 249
{
844 fschmid 250
        int LNr;
251
        int Level;
252
        QString Name;
1065 cbradney 253
        bool isPrintable;
254
        bool isViewable;
844 fschmid 255
};
838 cbradney 256
 
1065 cbradney 257
struct PDFPresentationData
1429 subik 258
{
1065 cbradney 259
        int pageEffectDuration;
260
        int pageViewDuration;
261
        int effectType;
844 fschmid 262
        int Dm;
263
        int M;
264
        int Di;
265
};
838 cbradney 266
 
1065 cbradney 267
struct LPIData
1429 subik 268
{
844 fschmid 269
        int Frequency;
270
        int Angle;
271
        int SpotFunc;
272
};
838 cbradney 273
 
1065 cbradney 274
struct PDFOptions
1429 subik 275
{
844 fschmid 276
        bool Thumbnails;
277
        bool Articles;
1738 fschmid 278
        bool useLayers;
844 fschmid 279
        bool Compress;
280
        int CompressMethod;
281
        int Quality;
282
        bool RecalcPic;
283
        bool Bookmarks;
284
        int PicRes;
285
        int Version;
286
        int Resolution;
287
        int Binding;
288
        QValueList<QString> EmbedList;
289
        QValueList<QString> SubsetList;
290
        bool MirrorH;
291
        bool MirrorV;
292
        int RotateDeg;
293
        bool PresentMode;
1065 cbradney 294
        QValueList<PDFPresentationData> PresentVals;
844 fschmid 295
        QString Datei;
1476 fschmid 296
        bool isGrayscale;
844 fschmid 297
        bool UseRGB;
298
        bool UseProfiles;
299
        bool UseProfiles2;
300
        bool UseLPI;
1065 cbradney 301
        QMap<QString,LPIData> LPISettings;
844 fschmid 302
        QString SolidProf;
303
        int SComp;
304
        QString ImageProf;
305
        bool EmbeddedI;
306
        int Intent2;
307
        QString PrintProf;
308
        QString Info;
309
        int Intent;
310
        double BleedTop;
311
        double BleedLeft;
312
        double BleedRight;
313
        double BleedBottom;
314
        bool Encrypt;
315
        QString PassOwner;
316
        QString PassUser;
317
        int Permissions;
318
};
838 cbradney 319
 
844 fschmid 320
struct Keys
1429 subik 321
{
1230 cbradney 322
        QString actionName;
1392 cbradney 323
        QString cleanMenuText;
324
        QString keySequence;
325
        int tableRow;
844 fschmid 326
};
838 cbradney 327
 
844 fschmid 328
/** Definition der Farbenlisten */
1065 cbradney 329
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 330
 
1235 fschmid 331
struct checkerPrefs
332
{
333
        bool ignoreErrors;
334
        bool autoCheck;
335
        bool checkGlyphs;
336
        bool checkOverflow;
337
        bool checkOrphans;
338
        bool checkPictures;
339
        bool checkResolution;
340
        double minResolution;
341
        bool checkTransparency;
1284 fschmid 342
        bool checkAnnotations;
343
        bool checkRasterPDF;
1235 fschmid 344
};
345
 
1065 cbradney 346
struct typoPrefs
844 fschmid 347
{
348
        int valueSuperScript;
349
        int scalingSuperScript;
350
        int valueSubScript;
351
        int scalingSubScript;
352
        int valueSmallCaps;
353
        int autoLineSpacing;
354
        double valueBaseGrid;
355
        double offsetBaseGrid;
356
};
838 cbradney 357
 
1065 cbradney 358
struct windowPrefs
844 fschmid 359
{
360
        int xPosition;
361
        int yPosition;
362
        int width;
363
        int height;
364
        bool visible;
365
        bool docked;
366
};
367
 
1065 cbradney 368
struct guidesPrefs
879 fschmid 369
{
370
        bool gridShown;
371
        QColor majorColor;
372
        double majorGrid;
373
        double minorGrid;
374
        QColor minorColor;
375
        double guideRad;
376
        int grabRad;
377
        bool framesShown;
378
        bool guidesShown;
379
        bool marginsShown;
380
        bool baseShown;
381
        bool linkShown;
382
        bool showPic;
1187 fschmid 383
        bool before;
879 fschmid 384
        QColor guideColor;
385
        QColor baseColor;
386
        QColor margColor;
387
};
388
 
1194 fschmid 389
struct toolPrefs
390
{
391
        /* Texttool */
392
        QString defFont;
393
        int defSize;
394
        QString dPenText;
395
        QString dStrokeText;
396
        int dCols;
397
        double dGap;
398
        /* ShapeTool */
399
        QString dPen;
400
        QString dBrush;
401
        int dShade;
402
        int dShade2;
403
        int dLineArt;
404
        double dWidth;
405
        /* Line Tool */
406
        QString dPenLine;
407
        int dShadeLine;
408
        double dWidthLine;
409
        int dLstyleLine;
410
        int dStartArrow;
411
        int dEndArrow;
412
        /* Regular Polygon Tool */
413
        int polyC;
414
        int polyFd;
415
        double polyF;
416
        bool polyS;
417
        double polyR;
418
        /* Picture Tool */
419
        QString dBrushPict;
420
        int shadePict;
421
        double scaleX;
422
        double scaleY;
423
        bool scaleType;
424
        bool aspectRatio;
425
        /* Magnifier Tool */
426
        int magMin;
427
        int magMax;
428
        int magStep;
429
};
430
 
1065 cbradney 431
struct ApplicationPrefs
1429 subik 432
{
844 fschmid 433
        SCFonts AvailFonts;
1065 cbradney 434
        QValueList<ArrowDesc> arrowStyles;
435
        ColorList DColors;
844 fschmid 436
        int Wheelval;
437
        int AppFontSize;
438
        QColor DpapColor;
439
        QString GUI;
1065 cbradney 440
        guidesPrefs guidesSettings;
441
        typoPrefs typographicSetttings;
1194 fschmid 442
        toolPrefs toolSettings;
1261 fschmid 443
        QMap<QString, checkerPrefs> checkerProfiles;
444
        QString curCheckProfile;
1065 cbradney 445
        int docUnitIndex;
446
        windowPrefs mainToolBarSettings;
447
        windowPrefs pdfToolBarSettings;
448
        windowPrefs mainWinSettings;
1525 cbradney 449
 
1545 cbradney 450
        PDFOptions PDF_Options;
1649 cbradney 451
        ObjAttrVector defaultItemAttributes;
1701 cbradney 452
        ToCSetupVector defaultToCSetups;
844 fschmid 453
        bool SepalT;
454
        bool SepalN;
455
        int PSize;
456
        bool SaveAtQ;
1065 cbradney 457
        bool marginColored;
844 fschmid 458
        QStringList RecentDocs;
459
        uint RecentDCount;
1065 cbradney 460
        CMSData DCMSset;
1392 cbradney 461
        QMap<QString,Keys> KeyActions;
844 fschmid 462
        QString PrinterName;
463
        QString PrinterFile;
464
        QString PrinterCommand;
1542 cbradney 465
        QString pageSize;
1545 cbradney 466
        int pageOrientation;
467
        double PageWidth;
468
        double PageHeight;
844 fschmid 469
        double RandOben;
470
        double RandUnten;
471
        double RandLinks;
472
        double RandRechts;
1545 cbradney 473
        bool FacingPages;
474
        bool LeftPageFirst;
844 fschmid 475
        int MinWordLen;
476
        int HyCount;
477
        QString Language;
478
        QString guiLanguage;
479
        bool Automatic;
480
        bool AutoCheck;
481
        QString DocDir;
482
        QString ProfileDir;
483
        QString ScriptDir;
484
        QString TemplateDir;
485
        QMap<QString,QString> GFontSub;
486
        bool AutoSave;
487
        int AutoSaveTime;
488
        double DisScale;
489
        QString DColorSet;
490
        QStringList CustomColorSets;
491
        bool PrPr_Mode;
492
        bool Gcr_Mode;
493
        bool PrPr_AlphaText;
494
        bool PrPr_AlphaGraphics;
495
        bool PrPr_Transparency;
496
        bool PrPr_C;
497
        bool PrPr_M;
498
        bool PrPr_Y;
499
        bool PrPr_K;
500
        QString gs_exe;
1545 cbradney 501
        bool gs_AntiAliasText;
502
        bool gs_AntiAliasGraphics;
844 fschmid 503
        QString gimp_exe;
504
        bool ClipMargin;
505
        bool GCRMode;
506
        QColor STEcolor;
507
        QString STEfont;
508
        double ScratchLeft;
509
        double ScratchRight;
510
        double ScratchTop;
511
        double ScratchBottom;
1468 fschmid 512
        bool askBeforeSubstituite;
844 fschmid 513
};
514
 
1429 subik 515
struct PrintOptions
844 fschmid 516
{
838 cbradney 517
        QString printer;
518
        QString filename;
519
        bool toFile;
520
        bool useAltPrintCommand;
521
        QString printerCommand;
522
        int PSLevel;
523
        bool outputSeparations;
524
        QString separationName;
525
        bool useColor;
526
        bool mirrorH;
527
        bool mirrorV;
528
        bool useICC;
529
        bool doGCR;
530
        int copies;
531
        std::vector<int> pageNumbers;
532
        QString printerOptions;
533
};
534
 
844 fschmid 535
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 536
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 537
typedef QMap<int, int> errorCodes;
1460 cbradney 538
 
1065 cbradney 539
enum AppMode
540
{
541
        NormalMode,
542
        DrawShapes,
543
        StartStoryEditor,
544
        DrawPicture,
545
        DrawText,
546
        Magnifier,
547
        EditMode,
548
        DrawLine,
549
        Rotation,
550
        LinkFrames,
551
        UnlinkFrames,
552
        DrawRegularPolygon,
553
        DrawBezierLine,
554
        InsertPDFButton,
555
        InsertPDFTextfield,
556
        InsertPDFCheckbox,
557
        InsertPDFCombobox,
558
        InsertPDFListbox,
559
        InsertPDFTextAnnotation,
560
        InsertPDFLinkAnnotation,
561
        DrawFreehandLine,
562
        DrawTable,
563
        PanningMode,
564
        MeasurementTool,
565
        EditGradientVectors
566
};
844 fschmid 567
 
1641 cbradney 568
 
569
 
838 cbradney 570
#endif