Scribus
Open source desktop publishing at your fingertips
hyphenator.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 HYPLUG_H
8 #define HYPLUG_H
9 
10 #include <QObject>
11 #include <QTextCodec>
12 #include <QHash>
13 #include <QSet>
14 
15 #include "scribusapi.h"
16 #include "third_party/hyphen/hyphen.h"
17 
18 class ScribusDoc;
19 class ScribusMainWindow;
20 class PageItem;
21 
26 class SCRIBUS_API Hyphenator : public QObject
27 {
28  Q_OBJECT
29 
30 public:
38  Hyphenator(QWidget* parent, ScribusDoc *dok);
45  ~Hyphenator();
46 
47 private:
48 
50  ScribusDoc *m_doc;
52  HyphenDict *m_hdict;
55  bool m_usable;
57  QTextCodec *m_codec;
58 
65  void NewDict(const QString& name);
66 
67 public:
72  int HyCount;
74  QString Language;
76  bool Automatic;
78  bool AutoCheck;
79  QHash<QString, QString> rememberedWords;
80  QHash<QString, QString> specialWords;
81  QSet<QString> ignoredWords;
82 
83 public slots:
93  void slotNewSettings(int Wordlen, bool Autom, bool ACheck, int Num);
102  void slotHyphenateWord(PageItem* it, const QString& text, int firstC);
109  void slotHyphenate(PageItem *it);
117  void slotDeHyphenate(PageItem *it);
118 };
119 
120 #endif
bool AutoCheck
Definition: hyphenator.h:78
Definition: hyphenator.h:26
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
int HyCount
Definition: hyphenator.h:72
bool Automatic
Definition: hyphenator.h:76
Definition: hyphen.h:66
int MinWordLen
Definition: hyphenator.h:70
the Document Class
Definition: scribusdoc.h:90
Definition: pageitem.h:92
QString Language
Definition: hyphenator.h:74