Scribus
Open source desktop publishing at your fingertips
propertiespalette_shape.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_SHAPE_H
8 #define PROPERTIESPALETTE_SHAPE_H
9 
10 #include "ui_propertiespalette_shapebase.h"
11 
12 #include "scribusapi.h"
13 #include "scrspinbox.h"
14 #include "pageitem.h"
15 #include "linkbutton.h"
16 #include "sclistboxpixmap.h"
17 #include "scguardedptr.h"
18 #include "sctreewidget.h"
19 
20 class Autoforms;
21 class ScribusDoc;
22 class ScribusMainWindow;
23 class Selection;
24 
25 class SCRIBUS_API PropertiesPalette_Shape : public QWidget, Ui::PropertiesPalette_ShapeBase
26 {
27  Q_OBJECT
28 
29 public:
30  PropertiesPalette_Shape(QWidget* parent);
32 
33  virtual void changeEvent(QEvent *e);
34 
35  void setCustomShapeIcon(int submode);
36  void setLocked(bool isLocked);
37  void setSizeLocked(bool isLocked);
38  void setRoundRectEnabled(bool enabled);
39  void showTextFlowMode(PageItem::TextFlowMode mode);
40 
41 protected:
42 
43  bool m_haveDoc;
44  bool m_haveItem;
45  double m_unitRatio;
46  int m_unitIndex;
47  PageItem *m_item;
49 
50  Selection* m_tmpSelection;
51 
52 private:
53 
54  PageItem* currentItemFromSelection();
55 
56 protected:
57  ScribusMainWindow *m_ScMW;
58 
59  void enableCustomShape();
60  void enableEditShape();
61 
62 public slots:
63  void setMainWindow(ScribusMainWindow *mw);
64 
65  void setDoc(ScribusDoc *d);
66  void setCurrentItem(PageItem *i);
67  void unsetDoc();
68  void unsetItem();
69 
70  void handleSelectionChanged();
71  void handleUpdateRequest(int);
72 
73  void languageChange();
74  void unitChange();
75 
76 private slots:
77 
78  void handleTextFlow();
79  void handleShapeEdit();
80  void handleShapeEditEnded();
81  void handleCornerRadius();
82  void handleFillRule();
83  void handleNewShape(int, int, qreal *);
84 };
85 
86 #endif
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
TextFlowMode
Text flow mode.
Definition: pageitem.h:198
the Document Class
Definition: scribusdoc.h:90
Definition: autoform.h:18
Definition: propertiespalette_shape.h:25
Definition: pageitem.h:92
Definition: selection.h:34