Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

smtextstyles.h

Go to the documentation of this file.
00001 /*
00002 For general Scribus (>=1.3.2) copyright and licensing information please refer
00003 to the COPYING file provided with the program. Following this notice may exist
00004 a copyright and/or license notice that predates the release of Scribus 1.3.2
00005 for which a new license (GPL+exception) is in place.
00006 */
00007 
00008 #ifndef SMTEXTSTYLES_H
00009 #define SMTEXTSTYLES_H
00010 
00011 #include "styleitem.h"
00012 #include "styles/styleset.h"
00013 #include "styles/paragraphstyle.h"
00014 
00015 class CharStyle;
00016 class ScribusDoc;
00017 class SMCStyleWidget;
00018 class SMPStyleWidget;
00019 
00020 class SMParagraphStyle : public StyleItem
00021 {
00022     Q_OBJECT
00023 public:
00024     SMParagraphStyle(StyleSet<CharStyle> *cstyles);
00025     ~SMParagraphStyle();
00026 
00027     QTabWidget* widget();
00028     QString typeNamePlural();
00029     QString typeNameSingular();
00030     void currentDoc(ScribusDoc *doc);
00031     QList<StyleName> styles(bool reloadFromDoc = true);
00032     void reload();
00033     void selected(const QStringList &styleNames);
00034     QString fromSelection() const;
00035     void toSelection(const QString &styleName) const;
00036     QString newStyle();
00037     QString newStyle(const QString &fromStyle);
00038     void apply();
00039     void editMode(bool isOn);
00040     QString shortcut(const QString &stylename) const;
00041     void setShortcut(const QString &shortcut);
00042     void deleteStyles(const QList<RemoveItem> &removeList);
00043     void nameChanged(const QString &newName);
00044     QString getUniqueName(const QString &name);
00045     void languageChange();
00046     void unitChange();
00047     StyleSet<ParagraphStyle>* tmpStyles(); // butt ugly
00048 
00049 signals:
00050     void selectionDirty();
00051 
00052 private:
00053     SMPStyleWidget *pwidget_;
00054     ScribusDoc *doc_;
00055     bool selectionIsDirty_;
00056     double unitRatio_;
00057     StyleSet<ParagraphStyle> tmpStyles_;
00058     StyleSet<CharStyle> *cstyles_;
00059     QList<ParagraphStyle*> selection_;
00060     QList<RemoveItem> deleted_;
00061 
00062     void setupConnections();
00063     void removeConnections();
00064     void updateStyleList();
00065     void reloadTmpStyles();
00066     QList<CharStyle> getCharStyles();
00067 
00068 private slots:
00069     // pstyle
00070     void slotLineSpacingMode(int mode);
00071     void slotLineSpacing();
00072     void slotParentDropCap();
00073     void slotDropCap(bool isOn);
00074     void slotDropCapLines(int lines);
00075     void slotDropCapOffset();
00076     void slotSpaceAbove();
00077     void slotSpaceBelow();
00078     void slotAlignment();
00079     void slotTabRuler();
00080     void slotLeftIndent();
00081     void slotRightIndent();
00082     void slotFirstLine();
00083     // cstyle
00084     void slotFontSize();
00085     void slotEffects(int e);
00086     void slotEffectProperties();
00087     void slotFillColor();
00088     void slotFillShade();
00089     void slotStrokeColor();
00090     void slotStrokeShade();
00091     void slotLanguage();
00092     void slotScaleH();
00093     void slotScaleV();
00094     void slotTracking();
00095     void slotBaselineOffset();
00096     void slotFont(QString s);
00097     void slotParentChanged(const QString &parent);
00098     void slotCharParentChanged(const QString &parent);
00099 };
00100 
00101 class SMCharacterStyle : public StyleItem
00102 {
00103     Q_OBJECT
00104 public:
00105     SMCharacterStyle();
00106     ~SMCharacterStyle();
00107 
00108     QTabWidget* widget();
00109     QString typeNamePlural();
00110     QString typeNameSingular();
00111     void currentDoc(ScribusDoc *doc);
00112     QList<StyleName> styles(bool reloadFromDoc = true);
00113     void reload();
00114     void selected(const QStringList &styleNames);
00115     QString fromSelection() const;
00116     void toSelection(const QString &styleName) const;
00117     QString newStyle();
00118     QString newStyle(const QString &fromStyle);
00119     void apply();
00120     void editMode(bool isOn);
00121     QString shortcut(const QString &stylename) const;
00122     void setShortcut(const QString &shortcut);
00123     void deleteStyles(const QList<RemoveItem> &removeList);
00124     void nameChanged(const QString &newName);
00125     QString getUniqueName(const QString &name);
00126     void languageChange();
00127     void unitChange();
00128     StyleSet<CharStyle>* tmpStyles();
00129 
00130 signals:
00131     void selectionDirty();
00132 
00133 private:
00134     QTabWidget   *widget_;
00135     SMCStyleWidget *page_;
00136     ScribusDoc   *doc_;
00137     StyleSet<CharStyle> tmpStyles_;
00138     QList<CharStyle*> selection_;
00139     QList<RemoveItem> deleted_;
00140     bool selectionIsDirty_;
00141 
00142     void reloadTmpStyles();
00143     void setupConnections();
00144     void removeConnections();
00145 
00146 private slots:
00147     void slotFontSize();
00148     void slotEffects(int e);
00149     void slotEffectProperties();
00150     void slotFillColor();
00151     void slotFillShade();
00152     void slotStrokeColor();
00153     void slotStrokeShade();
00154     void slotLanguage();
00155     void slotScaleH();
00156     void slotScaleV();
00157     void slotTracking();
00158     void slotBaselineOffset();
00159     void slotFont(QString s);
00160     void slotParentChanged(const QString &parent);
00161 
00162 };
00163 
00164 #endif
Created with personalized Doxygen. This is documentation for GPL software Scribus - Open Source Desktop Publishing.