MCPcopy Create free account
hub / github.com/EasyIME/PIME / onCompositionTerminated

Method onCompositionTerminated

python/cinbase/__init__.py:2476–2510  ·  view source on GitHub ↗
(self, cbTS, forced)

Source from the content-addressed store, hash-verified

2474 # 切換到其他應用程式或其他原因,導致我們的輸入法被強制關閉,此時
2475 # forced 參數會是 True,在這種狀況下,要清除一些 buffer
2476 def onCompositionTerminated(self, cbTS, forced):
2477 if not cbTS.showmenu and not cbTS.keepComposition:
2478 self.resetComposition(cbTS)
2479
2480 if cbTS.compositionBufferMode:
2481 self.resetCompositionBuffer(cbTS)
2482
2483 if cbTS.keepComposition:
2484 cbTS.keepComposition = False
2485
2486 if cbTS.keepType != "":
2487 if cbTS.keepType == "menusymbols":
2488 if cbTS.compositionChar == "`":
2489 self.resetComposition(cbTS)
2490 cbTS.multifunctionmode = True
2491 cbTS.compositionChar = "`"
2492 cbTS.setCompositionString("`")
2493 if cbTS.keepType == "fullShapeSymbols":
2494 if cbTS.fsymbols.isInCharDef(cbTS.compositionChar):
2495 fullShapeSymbolsList = cbTS.fsymbols.getCharDef(cbTS.compositionChar)
2496 cbTS.fullsymbolsmode = True
2497 cbTS.setCompositionString(fullShapeSymbolsList[0])
2498 if cbTS.keepType == "ctrlsymbols":
2499 if cbTS.msymbols.isInCharDef(cbTS.compositionChar):
2500 ctrlSymbolsList = cbTS.msymbols.getCharDef(cbTS.compositionChar)
2501 cbTS.ctrlsymbolsmode = True
2502 cbTS.setCompositionString(ctrlSymbolsList[0])
2503 cbTS.keepType = ""
2504 else:
2505 for cStr in cbTS.compositionChar:
2506 if cbTS.cin.isInKeyName(cStr):
2507 cbTS.compositionString += cbTS.cin.getKeyName(cStr)
2508 elif cbTS.supportWildcard and cbTS.selWildcardChar == "*" and cStr == "*":
2509 cbTS.compositionString += "*"
2510 cbTS.setCompositionCursor(len(cbTS.compositionString))
2511
2512
2513 # 切換中英文模式

Callers

nothing calls this directly

Calls 8

resetCompositionMethod · 0.95
setCompositionStringMethod · 0.80
setCompositionCursorMethod · 0.80
isInCharDefMethod · 0.45
getCharDefMethod · 0.45
isInKeyNameMethod · 0.45
getKeyNameMethod · 0.45

Tested by

no test coverage detected