Subversion Repositories Scribus

Rev

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