Subversion Repositories Scribus

Rev

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