Scribus
Open source desktop publishing at your fingertips
propertiespalette_line.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_LINE_H
8 #define PROPERTIESPALETTE_LINE_H
9 
10 #include "ui_propertiespalette_linebase.h"
11 
12 #include "scribusapi.h"
13 #include "linecombo.h"
14 #include "scguardedptr.h"
15 
16 class ArrowChooser;
17 class DashEditor;
18 class PageItem;
19 class ScComboBox;
20 class ScribusDoc;
21 class ScribusMainWindow;
22 
23 class SCRIBUS_API PropertiesPalette_Line : public QWidget, Ui::PropertiesPalette_LineBase
24 {
25  Q_OBJECT
26 
27 public:
28  PropertiesPalette_Line(QWidget* parent);
30 
31  virtual void changeEvent(QEvent *e);
32 
33  void updateLineStyles();
34  void updateArrowStyles();
35 
36 protected:
37 
38  bool m_haveDoc;
39  bool m_haveItem;
40  bool m_lineMode;
41  double m_unitRatio;
42  int m_unitIndex;
43 
44  PageItem *m_item;
45  ScribusMainWindow* m_ScMW;
47 
48 private:
49 
50  PageItem* currentItemFromSelection();
51  void updateArrowStyles(ScribusDoc *dd);
52  void updateLineStyles(ScribusDoc *dd);
53 
54 public slots:
55  void setMainWindow(ScribusMainWindow *mw);
56 
57  void setDoc(ScribusDoc *d);
58  void setCurrentItem(PageItem *i);
59  void unsetDoc();
60  void unsetItem();
61 
62  void handleSelectionChanged();
63  void handleUpdateRequest(int);
64 
65  void showLineWidth(double s);
66  void showLineValues(Qt::PenStyle p, Qt::PenCapStyle pc, Qt::PenJoinStyle pj);
67 
68  void languageChange();
69  void unitChange();
70 
71 private slots:
72 
73  void handleLineWidth();
74  void handleLineStyle();
75  void handleLineJoin();
76  void handleLineEnd();
77  void handleLineMode();
78  void handleDashChange();
79  void handleStartArrow(int id);
80  void handleEndArrow(int id);
81  void handleStartArrowScale(double sc);
82  void handleEndArrowScale(double sc);
83  void handleLineStyle(QListWidgetItem *c);
84 
85 signals:
86  void lineModeChanged(int);
87 };
88 
89 #endif
Definition: propertiespalette_line.h:23
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
The ScComboBox widget always uses a listbox instead of a popup, independent of any QStyle...
Definition: sccombobox.h:26
the Document Class
Definition: scribusdoc.h:90
Definition: arrowchooser.h:16
Definition: pageitem.h:92
Definition: dasheditor.h:73