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 
8 #ifndef PREFS_DOCUMENTITEMATTRIBUTES_H
9 #define PREFS_DOCUMENTITEMATTRIBUTES_H
10 
11 #include "ui_prefs_documentitemattributesbase.h"
12 #include "prefs_pane.h"
13 #include "scribusapi.h"
14 #include "scribusstructs.h"
15 
16 class SCRIBUS_API Prefs_DocumentItemAttributes : public Prefs_Pane, Ui::Prefs_DocumentItemAttributes
17 {
18 	Q_OBJECT
19 
20 	public:
21 		Prefs_DocumentItemAttributes(QWidget* parent, ScribusDoc* doc=nullptr);
22 		~Prefs_DocumentItemAttributes();
23 
24 		void restoreDefaults(struct ApplicationPrefs *prefsData) override;
25 		void saveGuiToPrefs(struct ApplicationPrefs *prefsData) const override;
26 
27 	public slots:
28 		void languageChange();
29 		virtual QStringList getDocAttributesNames();
30 
31 	protected:
32 		virtual void updateTable();
33 	protected slots:
34 		virtual void tableItemChanged( int row, int col );
35 		virtual void addEntry();
36 		virtual void deleteEntry();
37 		virtual void clearEntries();
38 		virtual void copyEntry();
39 	private:
40 		ObjAttrVector localAttributes;
41 		QStringList relationships;
42 		QStringList relationshipsData;
43 		QStringList autoAddTo;
44 		QStringList autoAddToData;
45 		QStringList types;
46 		QStringList typesData;
47 };
48 
49 #endif // PREFS_DOCUMENTITEMATTRIBUTES_H
50