1 // -*- C++ -*- 2 /** 3 * \file GuiSymbols.h 4 * This file is part of LyX, the document processor. 5 * Licence details can be found in the file COPYING. 6 * 7 * \author Jürgen Spitzmüller 8 * 9 * Full author contact details are available in file CREDITS. 10 */ 11 12 #ifndef GUISYMBOLSDIALOG_H 13 #define GUISYMBOLSDIALOG_H 14 15 #include "DialogView.h" 16 #include "ui_SymbolsUi.h" 17 18 #include <map> 19 #include <string> 20 #include <vector> 21 22 namespace lyx { 23 namespace frontend { 24 25 class GuiSymbols : public DialogView, public Ui::SymbolsUi 26 { 27 Q_OBJECT 28 29 public: 30 GuiSymbols(GuiView & lv); 31 32 /// Dialog inherited methods 33 //@{ 34 void updateView(); 35 void dispatchParams(); 36 void enableView(bool enable); isBufferDependent()37 bool isBufferDependent() const { return true; } getLfun()38 FuncCode getLfun() const { return LFUN_SELF_INSERT; } 39 //@} 40 41 public Q_SLOTS: 42 void on_applyPB_clicked(); 43 void on_okPB_clicked(); 44 void on_closePB_clicked(); 45 void on_symbolsLW_activated(QModelIndex const & index); 46 void on_symbolsLW_clicked(QModelIndex const & index); 47 void on_categoryCO_activated(QString const & text); 48 void on_categoryFilterCB_toggled(bool); 49 void on_chosenLE_returnPressed(); 50 void on_chosenLE_textChanged(QString const &); 51 52 private: 53 void scrollToItem(QString const & category); 54 /** update the widgets (symbol browser, category combo) 55 * \p combo indicates if the combo box has to be refreshed 56 * as well (which is rather expensive) 57 **/ 58 void updateSymbolList(bool update_combo = true); 59 /// the encoding at cursor position 60 std::string encoding_; 61 /// which blocks do we actually include? 62 typedef std::map<QString, int> UsedBlocks; 63 /// 64 UsedBlocks used_blocks; 65 /// list of all symbols 66 typedef std::vector<char_type> SymbolsList; 67 /// 68 SymbolsList symbols_; 69 /// custom model for symbol list view 70 class Model; 71 friend class Model; 72 Model * model_; 73 }; 74 75 } // namespace frontend 76 } // namespace lyx 77 78 #endif // GUISYMBOLSDIALOG_H 79