Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

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
Created with personalized Doxygen. This is documentation for GPL software Scribus - Open Source Desktop Publishing.