Subversion Repositories Scribus

Rev

Rev 1649 | Rev 1701 | 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;
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;
1525 cbradney 35
        double PtransX;
36
        double PtransY;
844 fschmid 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
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;
278
        bool Compress;
279
        int CompressMethod;
280
        int Quality;
281
        bool RecalcPic;
282
        bool Bookmarks;
283
        int PicRes;
284
        int Version;
285
        int Resolution;
286
        int Binding;
287
        QValueList<QString> EmbedList;
288
        QValueList<QString> SubsetList;
289
        bool MirrorH;
290
        bool MirrorV;
291
        int RotateDeg;
292
        bool PresentMode;
1065 cbradney 293
        QValueList<PDFPresentationData> PresentVals;
844 fschmid 294
        QString Datei;
1476 fschmid 295
        bool isGrayscale;
844 fschmid 296
        bool UseRGB;
297
        bool UseProfiles;
298
        bool UseProfiles2;
299
        bool UseLPI;
1065 cbradney 300
        QMap<QString,LPIData> LPISettings;
844 fschmid 301
        QString SolidProf;
302
        int SComp;
303
        QString ImageProf;
304
        bool EmbeddedI;
305
        int Intent2;
306
        QString PrintProf;
307
        QString Info;
308
        int Intent;
309
        double BleedTop;
310
        double BleedLeft;
311
        double BleedRight;
312
        double BleedBottom;
313
        bool Encrypt;
314
        QString PassOwner;
315
        QString PassUser;
316
        int Permissions;
317
};
838 cbradney 318
 
844 fschmid 319
struct Keys
1429 subik 320
{
1230 cbradney 321
        QString actionName;
1392 cbradney 322
        QString cleanMenuText;
323
        QString keySequence;
324
        int tableRow;
844 fschmid 325
};
838 cbradney 326
 
844 fschmid 327
/** Definition der Farbenlisten */
1065 cbradney 328
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 329
 
1235 fschmid 330
struct checkerPrefs
331
{
332
        bool ignoreErrors;
333
        bool autoCheck;
334
        bool checkGlyphs;
335
        bool checkOverflow;
336
        bool checkOrphans;
337
        bool checkPictures;
338
        bool checkResolution;
339
        double minResolution;
340
        bool checkTransparency;
1284 fschmid 341
        bool checkAnnotations;
342
        bool checkRasterPDF;
1235 fschmid 343
};
344
 
1065 cbradney 345
struct typoPrefs
844 fschmid 346
{
347
        int valueSuperScript;
348
        int scalingSuperScript;
349
        int valueSubScript;
350
        int scalingSubScript;
351
        int valueSmallCaps;
352
        int autoLineSpacing;
353
        double valueBaseGrid;
354
        double offsetBaseGrid;
355
};
838 cbradney 356
 
1065 cbradney 357
struct windowPrefs
844 fschmid 358
{
359
        int xPosition;
360
        int yPosition;
361
        int width;
362
        int height;
363
        bool visible;
364
        bool docked;
365
};
366
 
1065 cbradney 367
struct guidesPrefs
879 fschmid 368
{
369
        bool gridShown;
370
        QColor majorColor;
371
        double majorGrid;
372
        double minorGrid;
373
        QColor minorColor;
374
        double guideRad;
375
        int grabRad;
376
        bool framesShown;
377
        bool guidesShown;
378
        bool marginsShown;
379
        bool baseShown;
380
        bool linkShown;
381
        bool showPic;
1187 fschmid 382
        bool before;
879 fschmid 383
        QColor guideColor;
384
        QColor baseColor;
385
        QColor margColor;
386
};
387
 
1194 fschmid 388
struct toolPrefs
389
{
390
        /* Texttool */
391
        QString defFont;
392
        int defSize;
393
        QString dPenText;
394
        QString dStrokeText;
395
        int dCols;
396
        double dGap;
397
        /* ShapeTool */
398
        QString dPen;
399
        QString dBrush;
400
        int dShade;
401
        int dShade2;
402
        int dLineArt;
403
        double dWidth;
404
        /* Line Tool */
405
        QString dPenLine;
406
        int dShadeLine;
407
        double dWidthLine;
408
        int dLstyleLine;
409
        int dStartArrow;
410
        int dEndArrow;
411
        /* Regular Polygon Tool */
412
        int polyC;
413
        int polyFd;
414
        double polyF;
415
        bool polyS;
416
        double polyR;
417
        /* Picture Tool */
418
        QString dBrushPict;
419
        int shadePict;
420
        double scaleX;
421
        double scaleY;
422
        bool scaleType;
423
        bool aspectRatio;
424
        /* Magnifier Tool */
425
        int magMin;
426
        int magMax;
427
        int magStep;
428
};
429
 
1065 cbradney 430
struct ApplicationPrefs
1429 subik 431
{
844 fschmid 432
        SCFonts AvailFonts;
1065 cbradney 433
        QValueList<ArrowDesc> arrowStyles;
434
        ColorList DColors;
844 fschmid 435
        int Wheelval;
436
        int AppFontSize;
437
        QColor DpapColor;
438
        QString GUI;
1065 cbradney 439
        guidesPrefs guidesSettings;
440
        typoPrefs typographicSetttings;
1194 fschmid 441
        toolPrefs toolSettings;
1261 fschmid 442
        QMap<QString, checkerPrefs> checkerProfiles;
443
        QString curCheckProfile;
1065 cbradney 444
        int docUnitIndex;
445
        windowPrefs mainToolBarSettings;
446
        windowPrefs pdfToolBarSettings;
447
        windowPrefs mainWinSettings;
1525 cbradney 448
 
1545 cbradney 449
        PDFOptions PDF_Options;
1649 cbradney 450
        ObjAttrVector defaultItemAttributes;
844 fschmid 451
        bool SepalT;
452
        bool SepalN;
453
        int PSize;
454
        bool SaveAtQ;
1065 cbradney 455
        bool marginColored;
844 fschmid 456
        QStringList RecentDocs;
457
        uint RecentDCount;
1065 cbradney 458
        CMSData DCMSset;
1392 cbradney 459
        QMap<QString,Keys> KeyActions;
844 fschmid 460
        QString PrinterName;
461
        QString PrinterFile;
462
        QString PrinterCommand;
1542 cbradney 463
        QString pageSize;
1545 cbradney 464
        int pageOrientation;
465
        double PageWidth;
466
        double PageHeight;
844 fschmid 467
        double RandOben;
468
        double RandUnten;
469
        double RandLinks;
470
        double RandRechts;
1545 cbradney 471
        bool FacingPages;
472
        bool LeftPageFirst;
844 fschmid 473
        int MinWordLen;
474
        int HyCount;
475
        QString Language;
476
        QString guiLanguage;
477
        bool Automatic;
478
        bool AutoCheck;
479
        QString DocDir;
480
        QString ProfileDir;
481
        QString ScriptDir;
482
        QString TemplateDir;
483
        QMap<QString,QString> GFontSub;
484
        bool AutoSave;
485
        int AutoSaveTime;
486
        double DisScale;
487
        QString DColorSet;
488
        QStringList CustomColorSets;
489
        bool PrPr_Mode;
490
        bool Gcr_Mode;
491
        bool PrPr_AlphaText;
492
        bool PrPr_AlphaGraphics;
493
        bool PrPr_Transparency;
494
        bool PrPr_C;
495
        bool PrPr_M;
496
        bool PrPr_Y;
497
        bool PrPr_K;
498
        QString gs_exe;
1545 cbradney 499
        bool gs_AntiAliasText;
500
        bool gs_AntiAliasGraphics;
844 fschmid 501
        QString gimp_exe;
502
        bool ClipMargin;
503
        bool GCRMode;
504
        QColor STEcolor;
505
        QString STEfont;
506
        double ScratchLeft;
507
        double ScratchRight;
508
        double ScratchTop;
509
        double ScratchBottom;
1468 fschmid 510
        bool askBeforeSubstituite;
844 fschmid 511
};
512
 
1429 subik 513
struct PrintOptions
844 fschmid 514
{
838 cbradney 515
        QString printer;
516
        QString filename;
517
        bool toFile;
518
        bool useAltPrintCommand;
519
        QString printerCommand;
520
        int PSLevel;
521
        bool outputSeparations;
522
        QString separationName;
523
        bool useColor;
524
        bool mirrorH;
525
        bool mirrorV;
526
        bool useICC;
527
        bool doGCR;
528
        int copies;
529
        std::vector<int> pageNumbers;
530
        QString printerOptions;
531
};
532
 
844 fschmid 533
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 534
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 535
typedef QMap<int, int> errorCodes;
1460 cbradney 536
 
1065 cbradney 537
enum AppMode
538
{
539
        NormalMode,
540
        DrawShapes,
541
        StartStoryEditor,
542
        DrawPicture,
543
        DrawText,
544
        Magnifier,
545
        EditMode,
546
        DrawLine,
547
        Rotation,
548
        LinkFrames,
549
        UnlinkFrames,
550
        DrawRegularPolygon,
551
        DrawBezierLine,
552
        InsertPDFButton,
553
        InsertPDFTextfield,
554
        InsertPDFCheckbox,
555
        InsertPDFCombobox,
556
        InsertPDFListbox,
557
        InsertPDFTextAnnotation,
558
        InsertPDFLinkAnnotation,
559
        DrawFreehandLine,
560
        DrawTable,
561
        PanningMode,
562
        MeasurementTool,
563
        EditGradientVectors
564
};
844 fschmid 565
 
1641 cbradney 566
 
567
 
838 cbradney 568
#endif