qskinny/inputcontext/QskPinyinCompositionModel.h
Uwe Rathmann 59b516a118 3rdparty moved to inputcontext/3rdparty.
The 3rdparty files are now compiled as part of the corresponding input
method, so that the project files can be written without using platform
specific linker flags.
2018-03-30 18:31:13 +02:00

40 lines
1.1 KiB
C++

/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
* This file may be used under the terms of the QSkinny License, Version 1.0
*****************************************************************************/
#ifndef QSK_PINYIN_COMPOSITION_MODEL_H
#define QSK_PINYIN_COMPOSITION_MODEL_H
#include "QskInputCompositionModel.h"
class QskPinyinCompositionModel : public QskInputCompositionModel
{
Q_OBJECT
public:
QskPinyinCompositionModel();
virtual ~QskPinyinCompositionModel() override;
virtual bool supportsSuggestions() const override final;
virtual int candidateCount() const override;
virtual QString candidate( int ) const override;
virtual QVector< Qt::Key > groups() const override;
protected:
// Used for text composition
virtual bool hasIntermediate() const override;
virtual QString polishPreedit( const QString& preedit ) override;
virtual bool isComposable( const QStringRef& preedit ) const override;
private:
void handleGroupIndexChanged();
class PrivateData;
std::unique_ptr< PrivateData > m_data;
};
#endif