(self, cbTS, forced)
| 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 | # 切換中英文模式 |
nothing calls this directly
no test coverage detected