charselect.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 #ifndef CHARSELECT_H 00008 #define CHARSELECT_H 00009 00010 #include "scribusapi.h" 00011 #include "scrpalettebase.h" 00012 #include "chartablemodel.h" 00013 #include "ui_charselect.h" 00014 00015 class PageItem; 00016 00017 00019 class SCRIBUS_API CharSelect : public ScrPaletteBase, public Ui::CharSelect 00020 { 00021 Q_OBJECT 00022 00023 public: 00024 CharSelect(QWidget* parent); 00025 ~CharSelect(); 00026 00027 void show(); 00028 void hide(); 00029 void setDoc(ScribusDoc* doc); 00030 void setEnabled(bool state, PageItem* item=0); 00031 00032 const QString & fontInUse() const { return m_fontInUse; }; 00033 void setFontInUse(const QString f) { m_fontInUse = f; }; 00034 00035 void setCharacterClass(int c) { m_characterClass = c; }; 00036 00037 const PageItem* item() const {return m_Item;}; 00038 void setItem(PageItem* newItem) {m_Item=newItem;} 00039 const QString & getCharacters(); 00040 void scanFont(); 00041 void setupRangeCombo(); 00042 void generatePreview(int charClass); 00043 00044 CharTableModel * userTableModel() { return m_userTableModel; }; 00045 00046 virtual void changeEvent(QEvent *e); 00047 00048 private: 00049 ScribusDoc* m_doc; 00051 QString m_fontInUse; 00053 int m_characterClass; 00054 00056 CharTableModel * m_charTableModel; 00057 00059 CharTableModel * m_userTableModel; 00060 00061 QList<CharClassDef> allClasses; 00062 CharClassDef characters; 00063 CharClassDef charactersFull; 00064 CharClassDef charactersLatin1; 00065 CharClassDef charactersLatin1Supplement; 00066 CharClassDef charactersLatinExtendedA; 00067 CharClassDef charactersLatinExtendedB; 00068 CharClassDef charactersGeneralPunctuation; 00069 CharClassDef charactersSuperSubscripts; 00070 CharClassDef charactersCurrencySymbols; 00071 CharClassDef charactersLetterlikeSymbols; 00072 CharClassDef charactersNumberForms; 00073 CharClassDef charactersArrows; 00074 CharClassDef charactersMathematicalOperators; 00075 CharClassDef charactersBoxDrawing; 00076 CharClassDef charactersBlockElements; 00077 CharClassDef charactersGeometricShapes; 00078 CharClassDef charactersMiscellaneousSymbols; 00079 CharClassDef charactersDingbats; 00080 CharClassDef charactersSmallFormVariants; 00081 CharClassDef charactersAlphabeticPresentationForms; 00082 CharClassDef charactersSpecial; 00083 CharClassDef charactersGreek; 00084 CharClassDef charactersGreekExtended; 00085 CharClassDef charactersCyrillic; 00086 CharClassDef charactersCyrillicSupplement; 00087 CharClassDef charactersArabic; 00088 CharClassDef charactersArabicPresentationFormsA; 00089 CharClassDef charactersArabicPresentationFormsB; 00090 CharClassDef charactersHebrew; 00091 QMap<int,int> usedCharClasses; 00092 QString chToIns; 00093 00094 public slots: 00095 void newChar(uint i); 00096 void userNewChar(uint i); 00097 void delChar(); 00098 void newFont(int font); 00099 void newCharClass(int c); 00100 void delEdit(); 00101 void insChar(); 00102 00103 signals: 00106 void insertSpecialChar(); 00107 void insertUserSpecialChar(QChar); 00108 00109 protected: 00110 QString paletteFileMask; 00111 00112 PageItem *m_Item; 00113 00114 void saveUserContent(QString f); 00115 void loadUserContent(QString f); 00116 00117 protected slots: 00118 void hideButton_toggled(bool); 00119 void slot_insertSpecialChar(); 00120 void slot_insertUserSpecialChar(QChar); 00121 void uniLoadButton_clicked(); 00122 void uniSaveButton_clicked(); 00123 void uniClearButton_clicked(); 00124 }; 00125 00126 #endif
