Subversion Repositories Scribus

Rev

Rev 1284 | Rev 1392 | 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>
10
#include <qvaluevector.h> 
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
844 fschmid 24
{
1065 cbradney 25
        bool cselect;
844 fschmid 26
        int csize;
27
        int cshade;
28
        int cshade2;
29
        int cstyle;
30
        int cab;
1065 cbradney 31
        int cscale;
32
        double cextra;
33
        double xp;
34
        double yp;
844 fschmid 35
        int PtransX;
36
        int PtransY;
37
        double PRot;
1065 cbradney 38
        QString cfont;
39
        QString ccolor;
40
        QString cstroke;
41
        QString ch;
844 fschmid 42
};
838 cbradney 43
 
1065 cbradney 44
struct CopyPasteBuffer
844 fschmid 45
{
46
        int PType;
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;
86
        int flippedH;
87
        int flippedV;
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;
180
};
838 cbradney 181
 
1065 cbradney 182
  /** Pagemargins */
183
struct MarginStruct
844 fschmid 184
{
185
        double Top;
186
        double Left;
187
        double Right;
188
        double Bottom;
189
};
838 cbradney 190
 
1065 cbradney 191
struct ParagraphStyle
844 fschmid 192
{
193
        QString Vname;
194
        double LineSpa;
1065 cbradney 195
        int textAlignment;
844 fschmid 196
        double Indent;
197
        double First;
1065 cbradney 198
        double gapBefore;
199
        double gapAfter;
844 fschmid 200
        QString Font;
201
        int FontSize;
202
        QValueList<double> TabValues;
203
        bool Drop;
204
        int DropLin;
205
        int FontEffect;
206
        QString FColor;
207
        int FShade;
208
        QString SColor;
209
        int SShade;
210
        bool BaseAdj;
211
};
838 cbradney 212
 
1065 cbradney 213
struct CMSData
844 fschmid 214
{
215
        QString DefaultMonitorProfile;
216
        QString DefaultPrinterProfile;
217
        QString DefaultInputProfile;
218
        QString DefaultInputProfile2;
219
        int ComponentsInput2;
220
        int ComponentsPrinter;
221
        int DefaultIntentMonitor;
222
        int DefaultIntentMonitor2;
223
        int DefaultIntentPrinter;
224
        bool CMSinUse;
225
        bool SoftProofOn;
226
        bool GamutCheck;
227
        bool BlackPoint;
228
} ;
838 cbradney 229
 
1065 cbradney 230
struct SingleLine
844 fschmid 231
{
232
        double Width;
233
        int Dash;
234
        int LineEnd;
235
        int LineJoin;
236
        QString Color;
237
        int Shade;
238
};
838 cbradney 239
 
1065 cbradney 240
struct ArrowDesc
844 fschmid 241
{
242
        QString name;
243
        bool userArrow;
244
        FPointArray points;
245
};
838 cbradney 246
 
844 fschmid 247
struct Layer
248
{
249
        int LNr;
250
        int Level;
251
        QString Name;
1065 cbradney 252
        bool isPrintable;
253
        bool isViewable;
844 fschmid 254
};
838 cbradney 255
 
1065 cbradney 256
struct PDFPresentationData
844 fschmid 257
{
1065 cbradney 258
        int pageEffectDuration;
259
        int pageViewDuration;
260
        int effectType;
844 fschmid 261
        int Dm;
262
        int M;
263
        int Di;
264
};
838 cbradney 265
 
1065 cbradney 266
struct LPIData
844 fschmid 267
{
268
        int Frequency;
269
        int Angle;
270
        int SpotFunc;
271
};
838 cbradney 272
 
1065 cbradney 273
struct PDFOptions
844 fschmid 274
{
275
        bool Thumbnails;
276
        bool Articles;
277
        bool Compress;
278
        int CompressMethod;
279
        int Quality;
280
        bool RecalcPic;
281
        bool Bookmarks;
282
        int PicRes;
283
        int Version;
284
        int Resolution;
285
        int Binding;
286
        QValueList<QString> EmbedList;
287
        QValueList<QString> SubsetList;
288
        bool MirrorH;
289
        bool MirrorV;
290
        int RotateDeg;
291
        bool PresentMode;
1065 cbradney 292
        QValueList<PDFPresentationData> PresentVals;
844 fschmid 293
        QString Datei;
294
        bool UseRGB;
295
        bool UseProfiles;
296
        bool UseProfiles2;
297
        bool UseLPI;
1065 cbradney 298
        QMap<QString,LPIData> LPISettings;
844 fschmid 299
        QString SolidProf;
300
        int SComp;
301
        QString ImageProf;
302
        bool EmbeddedI;
303
        int Intent2;
304
        QString PrintProf;
305
        QString Info;
306
        int Intent;
307
        double BleedTop;
308
        double BleedLeft;
309
        double BleedRight;
310
        double BleedBottom;
311
        bool Encrypt;
312
        QString PassOwner;
313
        QString PassUser;
314
        int Permissions;
315
};
838 cbradney 316
 
844 fschmid 317
struct Keys
318
{
319
        QString Name;
320
        int MenuID;
321
        int KeyID;
1230 cbradney 322
        QString actionName;
844 fschmid 323
};
838 cbradney 324
 
844 fschmid 325
/** Definition der Farbenlisten */
1065 cbradney 326
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 327
 
1235 fschmid 328
struct checkerPrefs
329
{
330
        bool ignoreErrors;
331
        bool autoCheck;
332
        bool checkGlyphs;
333
        bool checkOverflow;
334
        bool checkOrphans;
335
        bool checkPictures;
336
        bool checkResolution;
337
        double minResolution;
338
        bool checkTransparency;
1284 fschmid 339
        bool checkAnnotations;
340
        bool checkRasterPDF;
1235 fschmid 341
};
342
 
1065 cbradney 343
struct typoPrefs
844 fschmid 344
{
345
        int valueSuperScript;
346
        int scalingSuperScript;
347
        int valueSubScript;
348
        int scalingSubScript;
349
        int valueSmallCaps;
350
        int autoLineSpacing;
351
        double valueBaseGrid;
352
        double offsetBaseGrid;
353
};
838 cbradney 354
 
1065 cbradney 355
struct windowPrefs
844 fschmid 356
{
357
        int xPosition;
358
        int yPosition;
359
        int width;
360
        int height;
361
        bool visible;
362
        bool docked;
363
};
364
 
1065 cbradney 365
struct guidesPrefs
879 fschmid 366
{
367
        bool gridShown;
368
        QColor majorColor;
369
        double majorGrid;
370
        double minorGrid;
371
        QColor minorColor;
372
        double guideRad;
373
        int grabRad;
374
        bool framesShown;
375
        bool guidesShown;
376
        bool marginsShown;
377
        bool baseShown;
378
        bool linkShown;
379
        bool showPic;
1187 fschmid 380
        bool before;
879 fschmid 381
        QColor guideColor;
382
        QColor baseColor;
383
        QColor margColor;
384
};
385
 
1194 fschmid 386
struct toolPrefs
387
{
388
        /* Texttool */
389
        QString defFont;
390
        int defSize;
391
        QString dPenText;
392
        QString dStrokeText;
393
        int dCols;
394
        double dGap;
395
        /* ShapeTool */
396
        QString dPen;
397
        QString dBrush;
398
        int dShade;
399
        int dShade2;
400
        int dLineArt;
401
        double dWidth;
402
        /* Line Tool */
403
        QString dPenLine;
404
        int dShadeLine;
405
        double dWidthLine;
406
        int dLstyleLine;
407
        int dStartArrow;
408
        int dEndArrow;
409
        /* Regular Polygon Tool */
410
        int polyC;
411
        int polyFd;
412
        double polyF;
413
        bool polyS;
414
        double polyR;
415
        /* Picture Tool */
416
        QString dBrushPict;
417
        int shadePict;
418
        double scaleX;
419
        double scaleY;
420
        bool scaleType;
421
        bool aspectRatio;
422
        /* Magnifier Tool */
423
        int magMin;
424
        int magMax;
425
        int magStep;
426
};
427
 
1065 cbradney 428
struct ApplicationPrefs
844 fschmid 429
{
430
        SCFonts AvailFonts;
1065 cbradney 431
        QValueList<ArrowDesc> arrowStyles;
432
        ColorList DColors;
844 fschmid 433
        int Wheelval;
434
        int AppFontSize;
435
        QColor DpapColor;
436
        QString GUI;
1065 cbradney 437
        guidesPrefs guidesSettings;
438
        typoPrefs typographicSetttings;
1194 fschmid 439
        toolPrefs toolSettings;
1261 fschmid 440
        QMap<QString, checkerPrefs> checkerProfiles;
441
        QString curCheckProfile;
1065 cbradney 442
        int docUnitIndex;
443
        windowPrefs mainToolBarSettings;
444
        windowPrefs pdfToolBarSettings;
445
        windowPrefs mPaletteSettings;
446
        windowPrefs measurePalSettings;
447
        windowPrefs treePalSettings;
448
        windowPrefs nodePalSettings;
449
        windowPrefs mainWinSettings;
450
        windowPrefs scrapPalSettings;
451
        windowPrefs layerPalSettings;
452
        windowPrefs pagePalSettings;
453
        windowPrefs bookmPalSettings;
1232 fschmid 454
        windowPrefs checkPalSettings;
1307 fschmid 455
        PDFOptions PDF_Optionen;
844 fschmid 456
        bool SepalT;
457
        bool SepalN;
458
        int PSize;
459
        bool SaveAtQ;
1065 cbradney 460
        bool marginColored;
844 fschmid 461
        QStringList RecentDocs;
462
        uint RecentDCount;
1065 cbradney 463
        CMSData DCMSset;
844 fschmid 464
        QMap<int,Keys> KeyActions;
465
        QString PrinterName;
466
        QString PrinterFile;
467
        QString PrinterCommand;
468
        int PageFormat;
469
        int Ausrichtung;
470
        double PageBreite;
471
        double PageHoehe;
472
        double RandOben;
473
        double RandUnten;
474
        double RandLinks;
475
        double RandRechts;
476
        bool DoppelSeiten;
477
        bool ErsteLinks;
478
        int MinWordLen;
479
        int HyCount;
480
        QString Language;
481
        QString guiLanguage;
482
        bool Automatic;
483
        bool AutoCheck;
484
        QString DocDir;
485
        QString ProfileDir;
486
        QString ScriptDir;
487
        QString TemplateDir;
488
        QMap<QString,QString> GFontSub;
489
        bool AutoSave;
490
        int AutoSaveTime;
491
        double DisScale;
492
        QString DColorSet;
493
        QStringList CustomColorSets;
494
        bool PrPr_Mode;
495
        bool Gcr_Mode;
496
        bool PrPr_AlphaText;
497
        bool PrPr_AlphaGraphics;
498
        bool PrPr_Transparency;
499
        bool PrPr_C;
500
        bool PrPr_M;
501
        bool PrPr_Y;
502
        bool PrPr_K;
503
        QString gs_exe;
504
        bool gs_antiText;
505
        bool gs_antiGraph;
506
        QString gimp_exe;
507
        bool ClipMargin;
508
        bool GCRMode;
509
        QColor STEcolor;
510
        QString STEfont;
511
        double ScratchLeft;
512
        double ScratchRight;
513
        double ScratchTop;
514
        double ScratchBottom;
515
};
516
 
517
struct PrintOptions
518
{
838 cbradney 519
        QString printer;
520
        QString filename;
521
        bool toFile;
522
        bool useAltPrintCommand;
523
        QString printerCommand;
524
        int PSLevel;
525
        bool outputSeparations;
526
        QString separationName;
527
        bool useColor;
528
        bool mirrorH;
529
        bool mirrorV;
530
        bool useICC;
531
        bool doGCR;
532
        int copies;
533
        std::vector<int> pageNumbers;
534
        QString printerOptions;
535
};
536
 
844 fschmid 537
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 538
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 539
typedef QMap<int, int> errorCodes;
1065 cbradney 540
enum AppMode
541
{
542
        NormalMode,
543
        DrawShapes,
544
        StartStoryEditor,
545
        DrawPicture,
546
        DrawText,
547
        Magnifier,
548
        EditMode,
549
        DrawLine,
550
        Rotation,
551
        LinkFrames,
552
        UnlinkFrames,
553
        DrawRegularPolygon,
554
        DrawBezierLine,
555
        InsertPDFButton,
556
        InsertPDFTextfield,
557
        InsertPDFCheckbox,
558
        InsertPDFCombobox,
559
        InsertPDFListbox,
560
        InsertPDFTextAnnotation,
561
        InsertPDFLinkAnnotation,
562
        DrawFreehandLine,
563
        DrawTable,
564
        PanningMode,
565
        MeasurementTool,
566
        EditGradientVectors
567
};
844 fschmid 568
 
838 cbradney 569
#endif
570