Subversion Repositories Scribus

Rev

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