Scribus
Open source desktop publishing at your fingertips
propertiespalette_utils.h
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 PROPERTIESPALETTE_UTILS_H
8 #define PROPERTIESPALETTE_UTILS_H
9 
10 #include <QListWidgetItem>
11 #include <QLineEdit>
12 
13 class QCloseEvent;
14 class QComboBox;
15 class QEvent;
16 class QEvent;
17 class QFocusEvent;
18 class QFrame;
19 class QGridLayout;
20 class QGroupBox;
21 class QHBoxLayout;
22 class QLabel;
23 class QMenu;
24 class QPushButton;
25 class QRadioButton;
26 class QSpinBox;
27 class QStackedWidget;
28 class QToolBox;
29 class QVBoxLayout;
30 class QWidget;
31 
32 
33 #include "scribusapi.h"
34 #include "scrspinbox.h"
35 #include "pageitem.h"
36 #include "linkbutton.h"
37 #include "linecombo.h"
38 #include "sclistboxpixmap.h"
39 #include "scpage.h"
40 #include "sctreewidget.h"
41 
42 class ScribusDoc;
43 class ScribusMainWindow;
44 
45 struct SCRIBUS_API LineFormatValue
46 {
47  multiLine m_Line;
49  QString m_name;
50 
52  LineFormatValue( const multiLine& line, ScribusDoc* doc, const QString name );
53  LineFormatValue(const LineFormatValue& other);
54  LineFormatValue& operator= (const LineFormatValue& other);
55 };
56 
57 
58 Q_DECLARE_METATYPE(LineFormatValue);
59 
60 
61 class SCRIBUS_API LineFormatItem : public QListWidgetItem
62 {
63  enum {
64  LineFormatUserType = UserType + 2
65  } usrtyp;
66 
67 public:
68  LineFormatItem( ScribusDoc* doc, const multiLine& line, const QString& name ) : QListWidgetItem(NULL, LineFormatUserType)
69  {
70  setText(name);
71  setData(Qt::UserRole, QVariant::fromValue(LineFormatValue(line, doc, name)));
72  };
73  LineFormatItem( ) : QListWidgetItem(NULL, LineFormatUserType)
74  {
75  setText("");
76  setData(Qt::UserRole, QVariant::fromValue(LineFormatValue()));
77  };
78  LineFormatItem * clone () const { return new LineFormatItem(*this); }
79 };
80 
81 
82 
83 class SCRIBUS_API LineFormatItemDelegate : public ScListBoxPixmap<37, 37>
84 {
85 public:
87  virtual int rtti() const { return 148523874; }
88  virtual QString text(const QVariant&) const;
89  virtual void redraw(const QVariant&) const;
90 };
91 
92 class SCRIBUS_API NameWidget : public QLineEdit
93 {
94  Q_OBJECT
95 
96 public:
97  NameWidget(QWidget* parent);
98  ~NameWidget() {};
99 
100 signals:
101  void Leaved();
102 
103 protected:
104  virtual void focusOutEvent(QFocusEvent *);
105 };
106 
107 class SCRIBUS_API UserActionSniffer : public QObject
108 {
109  Q_OBJECT
110 
111 public:
112  UserActionSniffer( QObject* parent );
113 protected:
114  bool eventFilter( QObject *o, QEvent *e );
115 signals:
116  void actionStart();
117  void actionEnd();
118 };
119 
120 #endif
Definition: propertiespalette_utils.h:92
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
Definition: propertiespalette_utils.h:45
the Document Class
Definition: scribusdoc.h:90
Definition: sclistboxpixmap.h:24
Definition: propertiespalette_utils.h:83
Definition: propertiespalette_utils.h:61
Definition: scribusstructs.h:250
Definition: propertiespalette_utils.h:107