From 6ead074c8939c9530c5f841e7b2a0987267766e5 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Tue, 19 Jun 2018 16:25:46 +0800 Subject: fixes compile --- src/PYEditor.h | 14 ++++++++++++++ src/PYPEnhancedCandidates.h | 7 +++---- src/PYPLibPinyinCandidates.h | 4 +++- src/PYPLuaConverterCandidates.cc | 2 +- src/PYPLuaConverterCandidates.h | 7 ++++--- src/PYPLuaTriggerCandidates.cc | 2 +- src/PYPLuaTriggerCandidates.h | 6 ++++-- src/PYPPhoneticEditor.h | 8 +------- src/PYPSuggestionCandidates.cc | 2 +- src/PYPSuggestionCandidates.h | 6 ++++-- src/PYPTradCandidates.h | 6 ++++-- 11 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/PYEditor.h b/src/PYEditor.h index a0ffb18..6e32275 100644 --- a/src/PYEditor.h +++ b/src/PYEditor.h @@ -25,6 +25,7 @@ #include "PYSignal.h" #include "PYString.h" #include "PYUtil.h" +#include "PYPEnhancedCandidates.h" namespace PY { @@ -36,7 +37,18 @@ class Config; class Editor; typedef std::shared_ptr EditorPtr; +class TraditionalCandidates; +class LuaTriggerCandidates; +class LuaConverterCandidates; + class Editor { + friend class TraditionalCandidates; + +#ifdef IBUS_BUILD_LUA_EXTENSION + friend class LuaTriggerCandidates; + friend class LuaConverterCandidates; +#endif + public: Editor (PinyinProperties & prop, Config & config); virtual ~Editor (void); @@ -139,6 +151,8 @@ protected: } protected: + virtual SelectCandidateAction selectCandidateInternal (EnhancedCandidate & candidate) { return SELECT_CANDIDATE_ALREADY_HANDLED; } + /* signals */ signal m_signal_commit_text; signal m_signal_update_preedit_text; diff --git a/src/PYPEnhancedCandidates.h b/src/PYPEnhancedCandidates.h index b6db2b9..9a7781e 100644 --- a/src/PYPEnhancedCandidates.h +++ b/src/PYPEnhancedCandidates.h @@ -28,8 +28,6 @@ namespace PY { -class PhoneticEditor; - enum CandidateType { CANDIDATE_NBEST_MATCH = 1, /* not included with user candidate */ @@ -61,6 +59,7 @@ struct EnhancedCandidate { std::string m_display_string; }; +template class EnhancedCandidates { public: @@ -70,8 +69,8 @@ public: protected: - /* will call selectCandidateInternal method of class PhoneticEditor. */ - PhoneticEditor *m_editor; + /* will call selectCandidateInternal method of class IEditor. */ + IEditor *m_editor; }; }; diff --git a/src/PYPLibPinyinCandidates.h b/src/PYPLibPinyinCandidates.h index 8082784..3b20a7e 100644 --- a/src/PYPLibPinyinCandidates.h +++ b/src/PYPLibPinyinCandidates.h @@ -26,7 +26,9 @@ namespace PY { -class LibPinyinCandidates : public EnhancedCandidates { +class PhoneticEditor; + +class LibPinyinCandidates : public EnhancedCandidates { public: LibPinyinCandidates (PhoneticEditor *editor) { m_editor = editor; diff --git a/src/PYPLuaConverterCandidates.cc b/src/PYPLuaConverterCandidates.cc index fd27f0c..2031306 100644 --- a/src/PYPLuaConverterCandidates.cc +++ b/src/PYPLuaConverterCandidates.cc @@ -27,7 +27,7 @@ using namespace PY; -LuaConverterCandidates::LuaConverterCandidates (PhoneticEditor *editor) +LuaConverterCandidates::LuaConverterCandidates (Editor *editor) { m_editor = editor; diff --git a/src/PYPLuaConverterCandidates.h b/src/PYPLuaConverterCandidates.h index 6659d77..4270670 100644 --- a/src/PYPLuaConverterCandidates.h +++ b/src/PYPLuaConverterCandidates.h @@ -32,9 +32,11 @@ extern "C" { namespace PY { -class LuaConverterCandidates : public EnhancedCandidates { +class Editor; + +class LuaConverterCandidates : public EnhancedCandidates { public: - LuaConverterCandidates (PhoneticEditor *editor); + LuaConverterCandidates (Editor *editor); public: gboolean setConverter (const char * lua_function_name); @@ -49,7 +51,6 @@ protected: int loadLuaScript (std::string filename); Pointer m_lua_plugin; - }; }; diff --git a/src/PYPLuaTriggerCandidates.cc b/src/PYPLuaTriggerCandidates.cc index e67b979..420d5a4 100644 --- a/src/PYPLuaTriggerCandidates.cc +++ b/src/PYPLuaTriggerCandidates.cc @@ -27,7 +27,7 @@ using namespace PY; -LuaTriggerCandidates::LuaTriggerCandidates (PhoneticEditor *editor) +LuaTriggerCandidates::LuaTriggerCandidates (Editor *editor) { m_editor = editor; diff --git a/src/PYPLuaTriggerCandidates.h b/src/PYPLuaTriggerCandidates.h index 3dd67c2..0e6b275 100644 --- a/src/PYPLuaTriggerCandidates.h +++ b/src/PYPLuaTriggerCandidates.h @@ -31,9 +31,11 @@ extern "C" { namespace PY { -class LuaTriggerCandidates : public EnhancedCandidates { +class Editor; + +class LuaTriggerCandidates : public EnhancedCandidates { public: - LuaTriggerCandidates (PhoneticEditor *editor); + LuaTriggerCandidates (Editor *editor); public: gboolean processCandidates (std::vector & candidates); diff --git a/src/PYPPhoneticEditor.h b/src/PYPPhoneticEditor.h index ff7fe1f..a084ab6 100644 --- a/src/PYPPhoneticEditor.h +++ b/src/PYPPhoneticEditor.h @@ -38,12 +38,6 @@ namespace PY { class PhoneticEditor : public Editor { friend class LibPinyinCandidates; - friend class TraditionalCandidates; - -#ifdef IBUS_BUILD_LUA_EXTENSION - friend class LuaTriggerCandidates; - friend class LuaConverterCandidates; -#endif public: PhoneticEditor (PinyinProperties & props, Config & config); @@ -68,7 +62,7 @@ public: virtual void commit (const gchar *str) = 0; protected: - SelectCandidateAction selectCandidateInternal (EnhancedCandidate & candidate); + virtual SelectCandidateAction selectCandidateInternal (EnhancedCandidate & candidate); gboolean selectCandidate (guint i); gboolean selectCandidateInPage (guint i); diff --git a/src/PYPSuggestionCandidates.cc b/src/PYPSuggestionCandidates.cc index 47edcd3..0dfd3ec 100644 --- a/src/PYPSuggestionCandidates.cc +++ b/src/PYPSuggestionCandidates.cc @@ -22,7 +22,7 @@ #include "PYPSuggestionCandidates.h" #include #include -#include "PYPPhoneticEditor.h" +#include "PYPSuggestionEditor.h" using namespace PY; diff --git a/src/PYPSuggestionCandidates.h b/src/PYPSuggestionCandidates.h index 26601ea..f4a12d5 100644 --- a/src/PYPSuggestionCandidates.h +++ b/src/PYPSuggestionCandidates.h @@ -26,9 +26,11 @@ namespace PY { -class SuggestionCandidates : public EnhancedCandidates { +class SuggestionEditor; + +class SuggestionCandidates : public EnhancedCandidates { public: - SuggestionCandidates (PhoneticEditor *editor) { + SuggestionCandidates (SuggestionEditor *editor) { m_editor = editor; } diff --git a/src/PYPTradCandidates.h b/src/PYPTradCandidates.h index d2a0380..7114bdc 100644 --- a/src/PYPTradCandidates.h +++ b/src/PYPTradCandidates.h @@ -27,9 +27,11 @@ namespace PY { -class TraditionalCandidates : public EnhancedCandidates { +class Editor; + +class TraditionalCandidates : public EnhancedCandidates { public: - TraditionalCandidates (PhoneticEditor *editor) { + TraditionalCandidates (Editor *editor) { m_editor = editor; } -- cgit