Subversion Repositories Scribus

Rev

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