Subversion Repositories Scribus

Rev

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