Subversion Repositories Scribus

Rev

Rev 12337 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5850 tsoots 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 SMTEXTSTYLES_H
9
#define SMTEXTSTYLES_H
10
 
11
#include "styleitem.h"
12340 pierre 12
// #include "styles/styleset.h"
12337 pierre 13
// #include "styles/paragraphstyle.h"
14
#include "styles/styleslibrary.h"
5850 tsoots 15
 
5859 tsoots 16
class CharStyle;
17
class ScribusDoc;
10355 subik 18
class SMCStyleWidget;
6023 tsoots 19
class SMPStyleWidget;
5850 tsoots 20
 
21
class SMParagraphStyle : public StyleItem
22
{
5867 tsoots 23
        Q_OBJECT
5850 tsoots 24
public:
7063 tsoots 25
        SMParagraphStyle(StyleSet<CharStyle> *cstyles);
5850 tsoots 26
        ~SMParagraphStyle();
27
 
28
        QTabWidget* widget();
6029 tsoots 29
        QString typeNamePlural();
30
        QString typeNameSingular();
12283 cbradney 31
        void setCurrentDoc(ScribusDoc *doc);
9790 avox 32
        QList<StyleName> styles(bool reloadFromDoc = true);
6029 tsoots 33
        void reload();
5850 tsoots 34
        void selected(const QStringList &styleNames);
5859 tsoots 35
        QString fromSelection() const;
6044 tsoots 36
        void toSelection(const QString &styleName) const;
37
        QString newStyle();
6047 tsoots 38
        QString newStyle(const QString &fromStyle);
5850 tsoots 39
        void apply();
6023 tsoots 40
        void editMode(bool isOn);
12283 cbradney 41
        bool isDefaultStyle(const QString &stylename) const;
42
        void setDefaultStyle(bool ids);
6949 tsoots 43
        QString shortcut(const QString &stylename) const;
44
        void setShortcut(const QString &shortcut);
9790 avox 45
        void deleteStyles(const QList<RemoveItem> &removeList);
5850 tsoots 46
        void nameChanged(const QString &newName);
8274 tsoots 47
        QString getUniqueName(const QString &name);
6025 tsoots 48
        void languageChange();
8453 tsoots 49
        void unitChange();
12314 pierre 50
        QString displayName(const QString &uuid)const;
7063 tsoots 51
        StyleSet<ParagraphStyle>* tmpStyles(); // butt ugly
5850 tsoots 52
 
6025 tsoots 53
signals:
54
        void selectionDirty();
55
 
5850 tsoots 56
private:
57
        SMPStyleWidget *pwidget_;
5859 tsoots 58
        ScribusDoc *doc_;
6025 tsoots 59
        bool selectionIsDirty_;
8453 tsoots 60
        double unitRatio_;
6958 tsoots 61
        StyleSet<ParagraphStyle> tmpStyles_;
7063 tsoots 62
        StyleSet<CharStyle> *cstyles_;
9790 avox 63
        QList<ParagraphStyle*> selection_;
64
        QList<RemoveItem> deleted_;
6019 tsoots 65
 
6025 tsoots 66
        void setupConnections();
67
        void removeConnections();
6019 tsoots 68
        void updateStyleList();
6023 tsoots 69
        void reloadTmpStyles();
9790 avox 70
        QList<CharStyle> getCharStyles();
6025 tsoots 71
 
72
private slots:
73
        // pstyle
74
        void slotLineSpacingMode(int mode);
75
        void slotLineSpacing();
6111 tsoots 76
        void slotParentDropCap();
6025 tsoots 77
        void slotDropCap(bool isOn);
78
        void slotDropCapLines(int lines);
79
        void slotDropCapOffset();
80
        void slotSpaceAbove();
81
        void slotSpaceBelow();
82
        void slotAlignment();
83
        void slotTabRuler();
6107 tsoots 84
        void slotLeftIndent();
85
        void slotRightIndent();
86
        void slotFirstLine();
6025 tsoots 87
        // cstyle
88
        void slotFontSize();
89
        void slotEffects(int e);
6100 tsoots 90
        void slotEffectProperties();
6025 tsoots 91
        void slotFillColor();
92
        void slotFillShade();
93
        void slotStrokeColor();
94
        void slotStrokeShade();
95
        void slotLanguage();
96
        void slotScaleH();
97
        void slotScaleV();
98
        void slotTracking();
99
        void slotBaselineOffset();
100
        void slotFont(QString s);
12322 pierre 101
        void slotParentChanged(int);
102
        void slotCharParentChanged(int);
5850 tsoots 103
};
104
 
105
class SMCharacterStyle : public StyleItem
106
{
5867 tsoots 107
        Q_OBJECT
5850 tsoots 108
public:
109
        SMCharacterStyle();
110
        ~SMCharacterStyle();
111
 
112
        QTabWidget* widget();
6029 tsoots 113
        QString typeNamePlural();
114
        QString typeNameSingular();
12283 cbradney 115
        void setCurrentDoc(ScribusDoc *doc);
9790 avox 116
        QList<StyleName> styles(bool reloadFromDoc = true);
6029 tsoots 117
        void reload();
5850 tsoots 118
        void selected(const QStringList &styleNames);
5859 tsoots 119
        QString fromSelection() const;
6044 tsoots 120
        void toSelection(const QString &styleName) const;
121
        QString newStyle();
6047 tsoots 122
        QString newStyle(const QString &fromStyle);
5850 tsoots 123
        void apply();
6023 tsoots 124
        void editMode(bool isOn);
12283 cbradney 125
        bool isDefaultStyle(const QString &stylename) const;
126
        void setDefaultStyle(bool ids);
6949 tsoots 127
        QString shortcut(const QString &stylename) const;
128
        void setShortcut(const QString &shortcut);
9790 avox 129
        void deleteStyles(const QList<RemoveItem> &removeList);
5850 tsoots 130
        void nameChanged(const QString &newName);
8274 tsoots 131
        QString getUniqueName(const QString &name);
6025 tsoots 132
        void languageChange();
8453 tsoots 133
        void unitChange();
12314 pierre 134
        QString displayName(const QString &uuid)const;
7063 tsoots 135
        StyleSet<CharStyle>* tmpStyles();
5850 tsoots 136
 
6025 tsoots 137
signals:
138
        void selectionDirty();
139
 
5850 tsoots 140
private:
6019 tsoots 141
        QTabWidget   *widget_;
10355 subik 142
        SMCStyleWidget *page_;
6019 tsoots 143
        ScribusDoc   *doc_;
6958 tsoots 144
        StyleSet<CharStyle> tmpStyles_;
9790 avox 145
        QList<CharStyle*> selection_;
146
        QList<RemoveItem> deleted_;
6029 tsoots 147
        bool selectionIsDirty_;
6023 tsoots 148
 
149
        void reloadTmpStyles();
6029 tsoots 150
        void setupConnections();
151
        void removeConnections();
152
 
153
private slots:
154
        void slotFontSize();
155
        void slotEffects(int e);
6100 tsoots 156
        void slotEffectProperties();
6029 tsoots 157
        void slotFillColor();
158
        void slotFillShade();
159
        void slotStrokeColor();
160
        void slotStrokeShade();
161
        void slotLanguage();
162
        void slotScaleH();
163
        void slotScaleV();
164
        void slotTracking();
165
        void slotBaselineOffset();
166
        void slotFont(QString s);
12322 pierre 167
        void slotParentChanged( int index );
8274 tsoots 168
 
5850 tsoots 169
};
170
 
171
#endif