home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / include / scribus-ng / propertiespalette.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-03-15  |  15.6 KB  |  662 lines

  1. /*
  2. For general Scribus (>=1.3.2) copyright and licensing information please refer
  3. to the COPYING file provided with the program. Following this notice may exist
  4. a copyright and/or license notice that predates the release of Scribus 1.3.2
  5. for which a new license (GPL+exception) is in place.
  6. */
  7. #ifndef MPALETTE_H
  8. #define MPALETTE_H
  9.  
  10. #include <QListWidgetItem>
  11. #include <QLineEdit>
  12.  
  13. class QButtonGroup;
  14. class QCheckBox;
  15. class QCloseEvent;
  16. class QComboBox;
  17. class QEvent;
  18. class QEvent;
  19. class QFocusEvent;
  20. class QFrame;
  21. class QGridLayout;
  22. class QGroupBox;
  23. class QHBoxLayout;
  24. class QLabel;
  25. class QMenu;
  26. class QPushButton;
  27. class QRadioButton;
  28. class QSpinBox;
  29. class QStackedWidget;
  30. class QStackedWidget;
  31. class QToolBox;
  32. class QVBoxLayout;
  33. class QWidget;
  34.  
  35.  
  36. #include "scribusapi.h"
  37. #include "scrpalettebase.h"
  38. #include "scrspinbox.h"
  39. #include "pageitem.h"
  40. #include "page.h"
  41. #include "linkbutton.h"
  42. #include "linecombo.h"
  43. #include "spalette.h"
  44. #include "fontcombo.h"
  45. #include "colorcombo.h"
  46. #include "alignselect.h"
  47. #include "shadebutton.h"
  48. #include "sclistboxpixmap.h"
  49. #include "scguardedptr.h"
  50. #include "sctreewidget.h"
  51.  
  52. class StyleSelect;
  53. class ScribusDoc;
  54. class Cpalette;
  55. class Autoforms;
  56. class ArrowChooser;
  57. class ScComboBox;
  58. class ScribusMainWindow;
  59. class UserActionSniffer;
  60. class DashEditor;
  61. class Selection;
  62. class BasePointWidget;
  63.  
  64.  
  65. struct SCRIBUS_API LineFormatValue
  66. {
  67.     multiLine m_Line;
  68.     ScGuardedPtr<ScribusDoc> m_doc;
  69.     QString m_name;
  70.     
  71.     LineFormatValue();
  72.     LineFormatValue( const multiLine& line, ScribusDoc* doc, const QString name );
  73.     LineFormatValue(const LineFormatValue& other);
  74.     LineFormatValue& operator= (const LineFormatValue& other);
  75. };
  76.  
  77.  
  78. Q_DECLARE_METATYPE(LineFormatValue);
  79.  
  80.  
  81. class SCRIBUS_API LineFormatItem : public QListWidgetItem
  82. {    
  83.     enum {
  84.         LineFormatUserType = UserType + 2
  85.     } usrtyp;
  86.     
  87. public:    
  88.     LineFormatItem( ScribusDoc* doc, const multiLine& line, const QString& name ) : QListWidgetItem(NULL, LineFormatUserType)
  89.     {        
  90.         setText(name);
  91.         setData(Qt::UserRole, QVariant::fromValue(LineFormatValue(line, doc, name))); 
  92.     };
  93.     LineFormatItem( ) : QListWidgetItem(NULL, LineFormatUserType)
  94.     {        
  95.         setText("");
  96.         setData(Qt::UserRole, QVariant::fromValue(LineFormatValue())); 
  97.     };
  98.     LineFormatItem * clone () const { return new LineFormatItem(*this); }
  99. };
  100.  
  101.  
  102.  
  103. class SCRIBUS_API LineFormatItemDelegate : public ScListBoxPixmap<37, 37>
  104. {
  105. public:
  106.     LineFormatItemDelegate() : ScListBoxPixmap<37, 37>() {}
  107.     virtual int rtti() const { return 148523874; }
  108.     virtual QString text(const QVariant&) const;
  109.     virtual void redraw(const QVariant&) const;
  110. };
  111.  
  112.  
  113.  
  114. class SCRIBUS_API NameWidget : public QLineEdit
  115. {
  116.     Q_OBJECT
  117.  
  118. public:
  119.     NameWidget(QWidget* parent);
  120.     ~NameWidget() {};
  121.  
  122. signals:
  123.     void Leaved();
  124.  
  125. protected:
  126.     virtual void focusOutEvent(QFocusEvent *);
  127. };
  128.  
  129. class SCRIBUS_API PropertiesPalette : public ScrPaletteBase
  130. {
  131.     Q_OBJECT
  132.  
  133. public:
  134.     PropertiesPalette(QWidget* parent);
  135.     ~PropertiesPalette() {};
  136.  
  137.     virtual void changeEvent(QEvent *e);
  138.     virtual void closeEvent(QCloseEvent *closeEvent);
  139.     
  140.     void updateColorSpecialGradient();
  141.     const VGradient getFillGradient();
  142.     void updateColorList();
  143.     void setGradientEditMode(bool);
  144.     void updateCmsList();
  145.     void setTextFlowMode(PageItem::TextFlowMode mode);
  146.     void ShowCMS();
  147.     /*! \brief fills the langs combobox in language specific order
  148.     \author 10/07/2004 - Petr Vanek - rewritten to fix #1185.
  149.     Uses sortQStringList from utils.cpp - STL!
  150.     \param langMap a structure with languages/hyphs*/
  151.     void fillLangCombo(QMap<QString,QString> langMap);
  152.     /** @brief Returns true if there is a user action going on at the moment of call. */
  153.     bool userActionOn(); // not yet implemented!!! This is needed badly.
  154.                          // When user releases the mouse button or arrow key, changes must be checked
  155.                          // and if in ScribusView a groupTransaction has been started it must be also
  156.                          // commmited
  157.  
  158.     Cpalette *Cpal;
  159.     Autoforms* SCustom;
  160.     Autoforms* SCustom2;
  161.     ParaStyleComboBox *paraStyleCombo;
  162.     CharStyleComboBox *charStyleCombo;
  163.     FontComboH* Fonts;
  164.     ArrowChooser* startArrow;
  165.     ArrowChooser* endArrow;
  166.     BasePointWidget* RotationGroup;
  167. /*    QRadioButton* TopLeft;
  168.     QRadioButton* TopRight;
  169.     QRadioButton* Center;
  170.     QRadioButton* BottomLeft;
  171.     QRadioButton* BottomRight; */
  172.     QGroupBox* textFlowOptions;
  173.     QGroupBox* textFlowOptions2;
  174.     QButtonGroup* textFlowOptionsB;
  175.     QButtonGroup* textFlowOptionsB2;
  176.     DashEditor* dashEditor;
  177.     
  178. public slots:
  179.     void setMainWindow(ScribusMainWindow *mw);
  180.     void languageChange();
  181.     void setDoc(ScribusDoc *d);
  182.     void unsetDoc();
  183.     void unsetItem();
  184. //    void setCurrentItem(PageItem *);
  185.     void setMultipleSelection(bool);
  186.     void NewSel(int nr);
  187.     void SetCurItem(PageItem *i);
  188.     void unitChange();
  189.     void setLevel(uint l);
  190.     void setXY(double x, double y);
  191.     void setBH(double x, double y);
  192.     void setR(double r);
  193.     void setRR(double r);
  194.     void setCols(int r, double g);
  195. //     void setLspMode(QAction *);
  196.     void setLineSpacingMode(int id);
  197.     void setLsp(double r);
  198.     void setupLineSpacingSpinbox(int mode, double value);
  199.     void setSize(double s);
  200.     void setFontFace(const QString&);
  201.     void setExtra(double e);
  202.     void setTextToFrameDistances(double left, double top, double bottom, double right);
  203.     void ChangeScaling();
  204.     void setScaleAndOffset(double scx, double scy, double x, double y);
  205.     void setLineWidth(double s);
  206.     void setLIvalue(Qt::PenStyle p, Qt::PenCapStyle pc, Qt::PenJoinStyle pj);
  207.     void setFlop(FirstLineOffsetPolicy);
  208.     /// update TB values:
  209.     void updateStyle(const ParagraphStyle& newCurrent);
  210.     void setStil(int s);
  211.     void setAli(int e);
  212.     void setParStyle(const QString& name);
  213.     void setCharStyle(const QString& name);
  214.     void setOpticalMargins();
  215.     void resetOpticalMargins();
  216.     void updateOpticalMargins(const ParagraphStyle& pStyle);
  217.     void setMinWordTracking();
  218.     void setNormWordTracking();
  219.     void setMinGlyphExtension();
  220.     void setMaxGlyphExtension();
  221.     void setShadowOffs(double x, double y);
  222.     void setUnderline(double p, double w);
  223.     void newUnderline();
  224.     void setStrike(double p, double w);
  225.     void newStrike();
  226.     void setOutlineW(double x);
  227.     void newOutlineW();
  228.     void setTScale(double e);
  229.     void NewTScale();
  230.     void NewTScaleV();
  231.     void NewTBase();
  232.     void setTScaleV(double e);
  233.     void setTBase(double e);
  234.     void SetLineFormats(ScribusDoc *dd);
  235.     void SetSTline(QListWidgetItem *c);
  236.     void NewTFont(QString);
  237.     void newTxtFill();
  238.     void newTxtStroke();
  239.     void setActShade();
  240.     void setActFarben(QString p, QString b, double shp, double shb);
  241.     void ManageTabs();
  242.     void setLocked(bool);
  243.     void setSizeLocked(bool);
  244.     void setPrintingEnabled(bool);
  245.     void setFlippedH(bool);
  246.     void setFlippedV(bool);
  247.     void endEdit2();
  248.  
  249. private slots:
  250.     void SelTab(int t);
  251.     void NewX();
  252.     void NewY();
  253.     void NewW();
  254.     void NewH();
  255.     void setRotation();
  256.     void NewCornerRadius();
  257.     void NewLineSpacing();
  258.     void HandleGapSwitch();
  259.     void NewCols();
  260.     void NewGap();
  261.     void NewSize();
  262.     void NewTracking();
  263.     void handleFlipH();
  264.     void handleFlipV();
  265.     void NewPage();
  266.     void ToggleKette();
  267.     void HChange();
  268.     void VChange();
  269.     void ToggleKetteD();
  270.     void HChangeD();
  271.     void VChangeD();
  272.     void NewLocalXY();
  273.     void NewLocalSC();
  274.     void NewLocalDpi();
  275.     void NewLineWidth();
  276.     void NewLineStyle();
  277.     void NewLineJoin();
  278.     void NewLineEnd();
  279.     void NewLineMode();
  280.     void NewAlignement(int a);
  281.     void setTypeStyle(int s);
  282.     void newShadowOffs();
  283.     void DoLower();
  284.     void DoRaise();
  285.     void DoFront();
  286.     void DoBack();
  287.     void NewRotMode(int m);
  288.     void DoFlow();
  289.     void MakeIrre(int f, int c, qreal *vals);
  290.     void NewTDist();
  291.     void NewSpGradient(double x1, double y1, double x2, double y2);
  292.     void toggleGradientEdit();
  293.     void DoRevert();
  294.     void doClearCStyle();
  295.     void doClearPStyle();
  296.     void handleShapeEdit();
  297.     void handleShapeEdit2();
  298.     void handleImageEffects();
  299.     void handleExtImgProperties();
  300.     void handleLock();
  301.     void handleLockSize();
  302.     void handlePrint();
  303.     void handlePathType();
  304.     void handlePathFlip();
  305.     void handlePathLine();
  306.     void handlePathDist();
  307.     void handlePathOffs();
  308.     void handleFillRule();
  309.     void handleOverprint();
  310.     void ChangeProfile(const QString& prn);
  311.     void ChangeIntent();
  312.     void NewName();
  313.     void NewLanguage();
  314.     void HandleTLines();
  315.     void setStartArrow(int id);
  316.     void setEndArrow(int id);
  317.     void setGroupTransparency(int trans);
  318.     void setGroupBlending(int blend);
  319.     void doGrouping();
  320.     void dashChange();
  321.     void flop(int);
  322.  
  323. protected slots:
  324.     //virtual void reject();
  325.     void spinboxStartUserAction();
  326.     void spinboxFinishUserAction();
  327.     void updateSpinBoxConstants();
  328.  
  329. signals:
  330.     void DocChanged();
  331.     void NewParStyle(int);
  332.     void NewAlignment(int);
  333.     void NewEffects(int);
  334.     void ShapeEdit();
  335.     void NewFont(const QString&);
  336.     void UpdtGui(int);
  337.  
  338. protected:
  339.     ScribusMainWindow *m_ScMW;
  340.  
  341.     QVBoxLayout* MpalLayout;
  342.     QVBoxLayout* pageLayout;
  343.     QVBoxLayout* pageLayout_2;
  344. //    QVBoxLayout* pageLayout_2a;
  345. //    QVBoxLayout* pageLayout_2b;
  346.     QVBoxLayout* pageLayout_2c;
  347.     QVBoxLayout* pageLayout_3;
  348.     QVBoxLayout* pageLayout_4;
  349.     QVBoxLayout* pageLayout_5;
  350.     QVBoxLayout* pageLayout_5a;
  351.     QVBoxLayout* pageLayout_5b;
  352.     QVBoxLayout* pageLayout_6;
  353.     QVBoxLayout* OverPLayout;
  354.     QVBoxLayout* TLineLayout;
  355.     QHBoxLayout* layout60;
  356.     QGridLayout* Layout44;
  357.     QHBoxLayout* Layout13;
  358. //    QGridLayout* Layout12;
  359.     QHBoxLayout* layout47;
  360.     QVBoxLayout* layout46;
  361.     QGridLayout* layout41;
  362.     QGridLayout* layout41a;
  363.     QGridLayout* layout41c;
  364.     QHBoxLayout* Layout1;
  365.     QHBoxLayout* Layout1AL;
  366.     QGridLayout* layout43;
  367.     QVBoxLayout* Layout24;
  368.     QHBoxLayout* Layout18;
  369.     QGridLayout* Layout12_2;
  370.     QGridLayout* imagePageNumberSelector; 
  371.     QHBoxLayout* NameGroupLayout;
  372.     QGridLayout* GeoGroupLayout;
  373.     QGridLayout* LayerGroupLayout;
  374.     QHBoxLayout* ShapeGroupLayout;
  375.     QGridLayout* DistanceLayout;
  376.     QGridLayout* DistanceLayout2;
  377.     QVBoxLayout* DistanceLayout3;
  378.     QGridLayout* GroupBox3aLayout;
  379.     QVBoxLayout* GroupBoxCMLayout;
  380.     QVBoxLayout* textFlowOptionsLayout;
  381.     QVBoxLayout* textFlowOptionsLayout2;
  382.     QHBoxLayout* layout23;
  383.     QHBoxLayout* layout24;
  384.     QVBoxLayout* page_group_layout;
  385.     QHBoxLayout* ShapeGroupLayout2;
  386.     QGridLayout* Layout1t;
  387.     QHBoxLayout* wordTrackingHLayout;
  388.     QHBoxLayout* glyphExtensionHLayout;
  389.     QGridLayout* flopLayout;
  390.     QVBoxLayout* OptMarginsLayout;
  391.     
  392.     NameWidget* NameEdit;
  393.     
  394.     QWidget* page;
  395.     QWidget* page_2;
  396.     QWidget* page_2a;
  397. //    QWidget* page_2b;
  398.     QWidget* page_2c;
  399.     QWidget* page_3;
  400.     QWidget* page_4;
  401.     QWidget* page_5;
  402.     QWidget* page_5a;
  403.     QWidget* page_5b;
  404.     QWidget* page_6;
  405.     QWidget* page_group;
  406.     
  407.     QLabel* xposLabel;
  408.     QLabel* widthLabel;
  409.     QLabel* yposLabel;
  410.     QLabel* heightLabel;
  411.     QLabel* rotationLabel;
  412.     QLabel* basepointLabel;
  413.     QLabel* LevelTxt;
  414.     QLabel* SRect;
  415.     QLabel* SRect2;
  416.     QLabel* rndcornersLabel;
  417.     QLabel* startoffsetLabel;
  418.     QLabel* distfromcurveLabel;
  419.     QLabel* pathTextTypeLabel;
  420.     QLabel* topLabel;
  421.     QLabel* columnsLabel;
  422.     QLabel* bottomLabel;
  423.     QLabel* leftLabel;
  424.     QLabel* rightLabel;
  425.     QLabel* trackingLabel;
  426.     QLabel* fontsizeLabel;
  427.     QLabel* lineSpacingLabel;
  428.     QLabel* yscaleLabel;
  429.     QLabel* xscaleLabel;
  430.     QLabel* xposImgLabel;
  431.     QLabel* yposImgLabel;
  432.     QLabel* linewidthLabel;
  433.     QLabel* endingsLabel;
  434.     QLabel* linetypeLabel;
  435.     QLabel* StrokeIcon;
  436.     QLabel* ShadeTxt2;
  437.     QLabel* ShadeTxt1;
  438.     QLabel* FillIcon;
  439.     QLabel* paraStyleLabel;
  440.     QLabel* charStyleLabel;
  441.     QLabel* langLabel;
  442.     QLabel* LineModeT;
  443.     QLabel* TextCms1;
  444.     QLabel* TextCms2;
  445.     QLabel* edgesLabel;
  446.     QLabel* ChBaseTxt;
  447.     QLabel* ScaleTxt;
  448.     QLabel* ScaleTxtV;
  449.     QLabel* imagePageNumberLabel;
  450.     QLabel* imgDPIXLabel;
  451.     QLabel* imgDPIYLabel;
  452.     QLabel* startArrowText;
  453.     QLabel* endArrowText;
  454.     QLabel* TransTxt;
  455.     QLabel* TransTxt2;
  456.     QLabel* wordTrackingLabel;
  457.     QLabel* minWordTrackingLabel;
  458.     QLabel* normWordTrackingLabel;
  459.     QLabel* glyphExtensionLabel;
  460.     QLabel* minGlyphExtensionLabel;
  461.     QLabel* maxGlyphExtensionLabel;
  462.  
  463. //    LabelButton* colgapLabel;
  464.     ScComboBox* colgapLabel;
  465.     StyleSelect* SeStyle;
  466.     AlignSelect* GroupAlign;
  467.  
  468.     LinkButton* keepImageWHRatioButton;
  469.     LinkButton* keepFrameWHRatioButton;
  470.     LinkButton* keepImageDPIRatioButton;
  471.     LineCombo* LStyle;
  472.  
  473.     ShadeButton *PM1;
  474.     ShadeButton *PM2;
  475.     PageItem *CurItem;
  476.     bool HaveDoc;
  477.     bool HaveItem;
  478.     ScribusDoc *doc;
  479.     double m_unitRatio;
  480.     int m_unitIndex;
  481.     bool LMode;
  482.     double RoVal;
  483.  
  484.  
  485.     QGroupBox* ShapeGroup;
  486.     QGroupBox* ShapeGroup2;
  487.     QGroupBox* Distance3;
  488.     QGroupBox* OverP;
  489.  
  490.     QToolButton* TabsButton;
  491.  
  492.     QToolButton* Zup;
  493.     QToolButton* ZDown;
  494.     QToolButton* ZTop;
  495.     QToolButton* ZBottom;
  496.  
  497.     QToolBox* TabStack;
  498.     QStackedWidget* TabStack2;
  499.     QStackedWidget* TabStack3;
  500.  
  501.  
  502.     QGroupBox* NameGroup;
  503.     QGroupBox* GeoGroup;
  504.     QGroupBox* LayerGroup;
  505.     QFrame* GroupBoxCM;
  506.     QGroupBox* TLines;
  507.     QGroupBox* GroupBox3a;
  508.     QGroupBox* TransGroup;
  509.  
  510.     QToolButton* textFlowDisabled;
  511.     QToolButton* textFlowUsesFrameShape;
  512.     QToolButton* textFlowUsesBoundingBox;
  513.     QToolButton* textFlowUsesContourLine;
  514.     QToolButton* textFlowUsesImageClipping;
  515.     QToolButton* textFlowDisabled2;
  516.     QToolButton* textFlowUsesFrameShape2;
  517.     QToolButton* textFlowUsesBoundingBox2;
  518.     QToolButton* textFlowUsesContourLine2;
  519.     QToolButton* textFlowUsesImageClipping2;
  520.     QCheckBox* Aspect;
  521.     QCheckBox* flippedPathText;
  522.     QCheckBox* showcurveCheckBox;
  523.     QCheckBox* TopLine;
  524.     QCheckBox* LeftLine;
  525.     QCheckBox* RightLine;
  526.     QCheckBox* BottomLine;
  527.  
  528.     ScComboBox* pathTextType;
  529.     QComboBox* langCombo;
  530.     QComboBox* InputP;
  531.     QComboBox* MonitorI;
  532.     QComboBox* LineMode;
  533.     QComboBox* lineSpacingModeCombo;
  534.     ColorCombo* TxStroke;
  535.     QComboBox* LJoinStyle;
  536.     QComboBox* LEndStyle;
  537.     ColorCombo* TxFill;
  538.     ScComboBox* blendMode;
  539. //    QComboBox *optMarginCombo;
  540.     QRadioButton *optMarginRadioNone;
  541.     QRadioButton *optMarginRadioBoth;
  542.     QRadioButton *optMarginRadioLeft;
  543.     QRadioButton *optMarginRadioRight;
  544.     QPushButton *optMarginResetButton;
  545.  
  546.     QListWidget* StyledLine;
  547.  
  548.     ScrSpinBox* Width;
  549.     ScrSpinBox* Xpos;
  550.     ScrSpinBox* Ypos;
  551.     ScrSpinBox* Height;
  552.     ScrSpinBox* Rotation;
  553.     ScrSpinBox* RoundRect;
  554.     ScrSpinBox* dGap;
  555.     ScrSpinBox* DTop;
  556.     ScrSpinBox* DBottom;
  557.     ScrSpinBox* DLeft;
  558.     ScrSpinBox* DRight;
  559.     ScrSpinBox* Dist;
  560.     ScrSpinBox* LineW;
  561.     ScrSpinBox* Size;
  562.     ScrSpinBox* LineSp;
  563.     ScrSpinBox* Extra;
  564.     ScrSpinBox* imageYOffsetSpinBox;
  565.     ScrSpinBox* imageXOffsetSpinBox;
  566.     ScrSpinBox* imageYScaleSpinBox;
  567.     ScrSpinBox* imageXScaleSpinBox;
  568.     ScrSpinBox* imgDpiX;
  569.     ScrSpinBox* imgDpiY;
  570.     ScrSpinBox* LSize;
  571.     ScrSpinBox* ChScale;
  572.     ScrSpinBox* ChScaleV;
  573.     ScrSpinBox* ChBase;
  574.     ScrSpinBox* minWordTrackingSpinBox;
  575.     ScrSpinBox* normWordTrackingSpinBox;
  576.     ScrSpinBox* minGlyphExtSpinBox;
  577.     ScrSpinBox* maxGlyphExtSpinBox;
  578.     QSpinBox* imagePageNumber;
  579.     QSpinBox* DCol;
  580.     QSpinBox* TransSpin;
  581.  
  582.     QRadioButton* FreeScale;
  583.     QRadioButton* FrameScale;
  584.     QRadioButton* EvenOdd;
  585.     QRadioButton* NonZero;
  586.     QRadioButton* KnockOut;
  587.     QRadioButton* Overprint;
  588.     QRadioButton* flopRealHeight;
  589.     QRadioButton* flopFontAscent;
  590.     QRadioButton* flopLineSpacing;
  591.     
  592.     QButtonGroup* flopGroup;
  593.  
  594. //    QFrame* Line1;
  595. //    QFrame* Line2;
  596. //    QFrame* Line4;
  597. //    QFrame* Line5;
  598.     QFrame* Frame4;
  599.  
  600.     QMenu* lineSpacingPop;
  601.  
  602. //     QToolButton* linespacingButton;
  603.     QToolButton* DoGroup;
  604.     QToolButton* DoUnGroup;
  605.     QToolButton* FlipH;
  606.     QToolButton* FlipV;
  607.     QToolButton* Locked;
  608.     QToolButton* NoPrint;
  609.     QToolButton* NoResize;
  610.     QToolButton* Revert;
  611.     QToolButton* charStyleClear;
  612.     QToolButton* paraStyleClear;
  613.     QToolButton* EditShape;
  614.     QToolButton* EditShape2;
  615.     QToolButton* EditEffects;
  616.     QToolButton* EditPSDProps;
  617.  
  618.     ScTreeWidget* TextTree;
  619.     QFrame* colorWidgets;
  620.     QTreeWidgetItem* colorWidgetsItem;
  621.     QFrame* advancedWidgets;
  622.     QTreeWidgetItem* advancedWidgetsItem;
  623.     QFrame* styleWidgets;
  624.     QTreeWidgetItem* styleWidgetsItem;
  625.     QFrame* flopBox;
  626.     QTreeWidgetItem* flopItem;
  627.     QFrame* Distance;
  628.     QTreeWidgetItem* DistanceItem;
  629.     QFrame* Distance2;
  630.     QTreeWidgetItem* Distance2Item;
  631.     QFrame* OptMargins;
  632.     QTreeWidgetItem* OptMarginsItem;
  633.  
  634.     bool _userActionOn;
  635.     UserActionSniffer *userActionSniffer;
  636.     void installSniffer(ScrSpinBox *spinBox);
  637.     
  638.     int idXYZItem;
  639.     int idShapeItem;
  640.     int idTextItem;
  641.     int idImageItem;
  642.     int idLineItem;
  643.     int idColorsItem;
  644.     int idGroupItem;
  645.     Selection* tmpSelection;
  646. };
  647.  
  648. class SCRIBUS_API UserActionSniffer : public QObject
  649. {
  650.     Q_OBJECT
  651.  
  652. public:
  653.     UserActionSniffer( QObject* parent );
  654. protected:
  655.     bool eventFilter( QObject *o, QEvent *e );
  656. signals:
  657.     void actionStart();
  658.     void actionEnd();
  659. };
  660.  
  661. #endif
  662.