From fa6b24d0d6a0420d3ff31da6c991f34c770cc3e3 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Sun, 8 Aug 2021 12:52:57 +0900 Subject: [PATCH] Encapsulate scldbus method Change-Id: I879d4297727b9e990e8143fbfa668bd8d98873a1 Signed-off-by: Jihoon Kim --- ISEDefaultNUI/ISEDefaultNUI.cs | 16 +++-- ISEDefaultNUI/SclDbus.cs | 157 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+), 7 deletions(-) create mode 100644 ISEDefaultNUI/SclDbus.cs diff --git a/ISEDefaultNUI/ISEDefaultNUI.cs b/ISEDefaultNUI/ISEDefaultNUI.cs index abf8d70..f045c64 100644 --- a/ISEDefaultNUI/ISEDefaultNUI.cs +++ b/ISEDefaultNUI/ISEDefaultNUI.cs @@ -16,6 +16,7 @@ namespace ISEDefaultNUI { private static Navigator navigator = null; private static SCLNUI SclNui = null; + private static SCLDBUS SclDbus = null; public Program(string styleSheet, WindowMode windowMode, Size2D windowSize, Position2D windowPosition, WindowType type) : base(styleSheet, windowMode, windowSize, windowPosition, type) { @@ -93,7 +94,7 @@ namespace ISEDefaultNUI { await Task.Run(() => { - int ret = SclDbusInit(); + int ret = SclDbus.Init(); if (ret != 0) Log.Info("NUIIME", "Failed to initialize dbus"); }); @@ -102,6 +103,7 @@ namespace ISEDefaultNUI private static void Create() { SclNui = new SCLNUI(navigator); + SclDbus = new SCLDBUS(); Task.Run(() => DbusInitialize()); Window.Instance.AddAvailableOrientation(Window.WindowOrientation.Portrait); @@ -143,7 +145,7 @@ namespace ISEDefaultNUI /* FIXME : This comment should be removed when using IMEngine string uuid = LanguageManager.Instance.GetUuid(currentLanguage.KeyboardISEUuid); ApplicationInfo applicationInfo = new ApplicationInfo(uuid); - SclDbusSetImengine(uuid, applicationInfo.PackageId); + SclDbus.SetImengine(uuid, applicationInfo.PackageId); */ } } @@ -152,7 +154,7 @@ namespace ISEDefaultNUI { UnregisterCallback(); SclNui.Fini(); - SclDbusShutdown(); + SclDbus.Shutdown(); InputMethodEditor.Destroy(); } @@ -163,8 +165,8 @@ namespace ISEDefaultNUI bool predictionAllow = b.PredictionMode; bool passwordMode = b.PasswordMode; AutoCapitalization autoCapitalization = b.AutoCapitalization; - SclDbusSetInputHint((uint)b.InputHint); - SclDbusUpdateBidiDirection((uint)b.BiDirection); + SclDbus.SetInputHint((uint)b.InputHint); + SclDbus.UpdateBidiDirection((uint)b.BiDirection); SclNui.SetUpdatePending(true); ResetContext(); @@ -609,7 +611,7 @@ namespace ISEDefaultNUI Log.Info("NUIIME", "context id : " + e.ContextId.ToString()); KeyboardState.Instance.FocusedContext = 0; KeyboardState.Instance.ResetMultitapState(true); - SclDbusFocusOut(); + SclDbus.FocusOut(); } private static void FocusInEvent(object sender, FocusedInEventArgs e) @@ -619,7 +621,7 @@ namespace ISEDefaultNUI if (keyboardState.CheckContextTemporary(keyboardState.Context) && !keyboardState.CheckContextTemporary(e.ContextId)) keyboardState.Context = e.ContextId; keyboardState.FocusedContext = e.ContextId; - SclDbusFocusIn(); + SclDbus.FocusIn(); } private static void SetIMESize() diff --git a/ISEDefaultNUI/SclDbus.cs b/ISEDefaultNUI/SclDbus.cs new file mode 100644 index 0000000..d22b630 --- /dev/null +++ b/ISEDefaultNUI/SclDbus.cs @@ -0,0 +1,157 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static Interop.SclNuiCSharp; + +namespace ISEDefaultNUI +{ + class SCLDBUS + { + public int Init() + { + return SclDbusInit(); + } + + public int Shutdown() + { + return SclDbusShutdown(); + } + + public void SetImengine(string engineId, string moduleName) + { + SclDbusSetImengine(engineId, moduleName); + } + + public void UnsetImengine() + { + SclDbusUnsetImengine(); + } + + public void FlushImengine() + { + SclDbusFlushImengine(); + } + + public void ResetImengine() + { + SclDbusResetImengine(); + } + + public void SendImengineEvent(int command, UInt32 value) + { + SclDbusSendImengineEvent(command, value); + } + + public void ProcessKeyEvent(UInt32 code, UInt32 mask, UInt32 layout, UInt32 devClass, UInt32 devSubclass, string devName, UInt32 serial, bool needSurroundingText) + { + SclDbusProcessKeyEvent(code, mask, layout, devClass, devSubclass, devName, serial, needSurroundingText); + } + + public void FocusIn() + { + SclDbusFocusIn(); + } + + public void FocusOut() + { + SclDbusFocusOut(); + } + + public void UpdateCursorPosition(int position) + { + SclDbusUpdateCursorPosition(position); + } + + public void SetAutocapitalType(UInt32 type) + { + SclDbusSetAutocapitalType(type); + } + + public void SetPredictionAllow(UInt32 predictionAllow) + { + SclDbusSetPredictionAllow(predictionAllow); + } + + public void ResetInputContext() + { + SclDbusResetInputContext(); + } + + public void SetLayout(UInt32 layout) + { + SclDbusSetLayout(layout); + } + + public void SetImdata(string imdata, UInt32 len) + { + SclDbusSetImdata(imdata, len); + } + + public void SetInputHint(UInt32 hint) + { + SclDbusSetInputHint(hint); + } + + public void UpdateBidiDirection(UInt32 direction) + { + SclDbusUpdateBidiDirection(direction); + } + + public void TriggerProperty(string property) + { + SclDbusTriggerProperty(property); + } + + public void ShowCandidateMoreWindow() + { + SclDbusShowCandidateMoreWindow(); + } + + public void HideCandidateMoreWindow() + { + SclDbusHideCandidateMoreWindow(); + } + + public void SelectAux(UInt32 item) + { + SclDbusSelectAux(item); + } + + public void SelectCandidate(UInt32 item) + { + SclDbusSelectCandidate(item); + } + + public void CandidateTablePageUp() + { + SclDbusCandidateTablePageUp(); + } + + public void CandidateTablePageDown() + { + SclDbusCandidateTablePageDown(); + } + + public void ChangeCandidatePageSize(UInt32 size) + { + SclDbusChangeCandidatePageSize(size); + } + + public void SetCandidateItemLayout(List item) + { + SclDbusSetCandidateItemLayout(item); + } + + public void ChangeCandidateNumber(UInt32 pageNum) + { + SclDbusChangeCandidateNumber(pageNum); + } + + public void LongPressCandidateItem(UInt32 index) + { + SclDbusLongPressCandidateItem(index); + } + } +} -- 2.7.4