Subversion Repositories Scribus

Rev

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