Subversion Repositories Scribus

Rev

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