50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
#pragma once
|
|
#include <QObject>
|
|
#include <QDebug>
|
|
#include <QDir>
|
|
#include <QFile>
|
|
#include "googlepinyin/atomdictbase.h"
|
|
#include "googlepinyin/dictbuilder.h"
|
|
#include "googlepinyin/dictdef.h"
|
|
#include "googlepinyin/dictlist.h"
|
|
#include "googlepinyin/dicttrie.h"
|
|
#include "googlepinyin/lpicache.h"
|
|
#include "googlepinyin/matrixsearch.h"
|
|
#include "googlepinyin/mystdlib.h"
|
|
#include "googlepinyin/ngram.h"
|
|
#include "googlepinyin/pinyinime.h"
|
|
#include "googlepinyin/searchutility.h"
|
|
#include "googlepinyin/spellingtable.h"
|
|
#include "googlepinyin/spellingtrie.h"
|
|
#include "googlepinyin/splparser.h"
|
|
#include "googlepinyin/sync.h"
|
|
#include "googlepinyin/userdict.h"
|
|
#include "googlepinyin/utf16char.h"
|
|
#include "googlepinyin/utf16reader.h"
|
|
using namespace ime_pinyin;
|
|
namespace YSG {
|
|
class InputCore : public QObject {
|
|
Q_OBJECT
|
|
Q_PROPERTY(bool m_able READ getEnable WRITE setEnable NOTIFY signal_input_able)
|
|
public:
|
|
explicit InputCore(QObject *parent = nullptr);
|
|
~InputCore() override;
|
|
bool init(int max_spell_len = 64, int max_out_len = 64);
|
|
void deinit();
|
|
unsigned int search(const QString &spell);
|
|
int cur_search_pos();
|
|
void reset_search();
|
|
bool getEnable();
|
|
void setEnable(bool able);
|
|
QStringList get_candidate(unsigned int cnadnum);
|
|
signals:
|
|
void signal_input_able(bool);
|
|
private:
|
|
bool m_able = false;
|
|
int m_spell_len;
|
|
int m_out_len;
|
|
const QString dict_path = "dict_pinyin.dat";
|
|
const QString dict_user_path = "dict_pinyin_user.dat";
|
|
};
|
|
}
|