Subversion Repositories Scribus

Rev

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