S.Abe
xdd****@users*****
2005年 11月 6日 (日) 00:52:06 JST
Index: AquaSKK/BIM.cpp diff -u AquaSKK/BIM.cpp:1.6 AquaSKK/BIM.cpp:1.7 --- AquaSKK/BIM.cpp:1.6 Thu Nov 3 14:46:51 2005 +++ AquaSKK/BIM.cpp Sun Nov 6 00:52:06 2005 @@ -1,4 +1,4 @@ -/* $Id: BIM.cpp,v 1.6 2005/11/03 05:46:51 xdd Exp $ +/* $Id: BIM.cpp,v 1.7 2005/11/05 15:52:06 xdd Exp $ MacOS X implementation of the SKK input method. Copyright (C) 2002-2004 phonohawk @@ -315,51 +315,23 @@ handled = false; } else if (SkkConfig::config().isNumericKeypad(keyCode) //¼peL[üÍ - && ClientConfiguration::theInstance().isNumericKeypad_HalfWidth()) { - - IMSessionInputMode* inputMode - = (*(BIMSessionHandle)inSessionHandle)->imsession_input_mode; -// ChildInputMode& mode = inputMode->getCurrentInputMode(); - int mode = inputMode->currentInputMode(); - - inputMode->setHanAscInputMode(); - handled = BIMHandleInput(inSessionHandle,charCode); - inputMode->setInputMode(mode); - inputMode->updatePencilMenuIcon(); - + && ClientConfiguration::theInstance().isNumericKeypad_HalfWidth()) { + handled = (*inSessionHandle)->imsession_input_mode->handleNumKey(charCode); } else if (keyCode == 0x66) { // p if (SkkConfig::config().useEisuuToSetHenkanPoint()) { - handled = BIMHandleInput(inSessionHandle, SkkConfig::config().setHenkanPointKey()); + handled = BIMHandleInput(inSessionHandle, SkkConfig::config().setHenkanPointKey()); } else { - handled = true; + handled = true; } } else if (keyCode == 0x68) { // ©È if (SkkConfig::config().useKanaToSetHenkanPoint()) { - handled = BIMHandleInput(inSessionHandle, SkkConfig::config().setHenkanPointKey()); + handled = BIMHandleInput(inSessionHandle, SkkConfig::config().setHenkanPointKey()); } else { - IMSessionInputMode* inputMode - = (*(BIMSessionHandle)inSessionHandle)->imsession_input_mode; - int imMode = inputMode->currentInputMode(); - - switch(imMode) { - case HiraganaIM: - case HanAscIM: - case ZenAscIM: - handled = BIMHandleInput(inSessionHandle, SkkConfig::config().kanaModeKey()); - break; - case ZenKataIM: - case HanKataIM: - handled = BIMHandleInput(inSessionHandle, SkkConfig::config().toggleKanaKey()); - break; - } - - if (modifiers & (1 << shiftKeyBit)) //VtgL[ºÅJi - handled = BIMHandleInput(inSessionHandle, SkkConfig::config().toggleKanaKey()); - //handled = BIMHandleInput(inSessionHandle, SkkConfig::config().kanaModeKey()); + handled = BIMHandleInput(inSessionHandle, SkkConfig::config().kanaModeKey()); } } else { Index: AquaSKK/ChangeLog diff -u AquaSKK/ChangeLog:1.12 AquaSKK/ChangeLog:1.13 --- AquaSKK/ChangeLog:1.12 Thu Nov 3 14:46:51 2005 +++ AquaSKK/ChangeLog Sun Nov 6 00:52:06 2005 @@ -1,3 +1,10 @@ +2005-11-6 Shin_ichi Abe <xdd****@mac*****> + + * BIM.cpp: ®ìÉâèª é×A©ÈL[Å"Ðç©È"AShift+©ÈL[(JiL[)Å + "J^Ji"[hÖÌØèÖ¦ÎðíB + + ParentInputMode.*: ¼peL[üÍÎR[hðBIM.cpp©çhandleNumKey()ÖÚÝB + 2005-11-2 Shin_ichi Abe <xdd****@mac*****> * AboutBox.nib: o[W\LpTextFieldðÇÁÆWindowTCYOffB Index: AquaSKK/ParentInputMode.cpp diff -u AquaSKK/ParentInputMode.cpp:1.4 AquaSKK/ParentInputMode.cpp:1.5 --- AquaSKK/ParentInputMode.cpp:1.4 Thu Nov 3 14:46:51 2005 +++ AquaSKK/ParentInputMode.cpp Sun Nov 6 00:52:06 2005 @@ -1,5 +1,5 @@ /* - $Id: ParentInputMode.cpp,v 1.4 2005/11/03 05:46:51 xdd Exp $ + $Id: ParentInputMode.cpp,v 1.5 2005/11/05 15:52:06 xdd Exp $ --------- MacOS X implementation of the SKK input method. @@ -167,6 +167,22 @@ return handled; } +bool ParentInputMode::handleNumKey(unsigned char inCharCode) +{ + bool handled; + ChildInputMode* input_mode; + + input_mode = current_input_mode; + + current_input_mode = &han_asc_input_mode; + + handled = handleInput(inCharCode); + + current_input_mode = input_mode; + + return handled; +} + void ParentInputMode::redisplay() { CppCFString str_to_display = getReallyCurrentInputMode().getStringToDisplay(); @@ -305,71 +321,6 @@ return 0; } -void ParentInputMode::setHiraganaInputMode() -{ - current_input_mode = &hiragana_input_mode; -} - -void ParentInputMode::setZenKataInputMode() -{ - current_input_mode = &zen_kata_input_mode; -} - -void ParentInputMode::setHanKataInputMode() -{ - current_input_mode = &han_kata_input_mode; -} - -void ParentInputMode::setHanAscInputMode() -{ - current_input_mode = &han_asc_input_mode; -} - -void ParentInputMode::setZenAscInputMode() -{ - current_input_mode = &zen_asc_input_mode; -} - -void ParentInputMode::setInputMode(int aMode) -{ - switch(aMode){ - case HiraganaIM: - setHiraganaInputMode(); - break; - case ZenKataIM: - setZenKataInputMode(); - break; - case HanKataIM: - setHanKataInputMode(); - break; - case HanAscIM: - setHanAscInputMode(); - break; - case ZenAscIM: - setZenAscInputMode(); - break; - } -} -/* -void ParentInputMode::setInputMode(ChildInputMode& aMode) -{ - if (&aMode == dynamic_cast<ChildInputMode*>(&hiragana_input_mode)) { - setHiraganaInputMode(); - } - else if (&aMode == dynamic_cast<ChildInputMode*>(&zen_kata_input_mode)) { - setZenKataInputMode(); - } - else if (&aMode == dynamic_cast<ChildInputMode*>(&han_kata_input_mode)) { - setHanKataInputMode(); - } - else if (&aMode == dynamic_cast<ChildInputMode*>(&han_asc_input_mode)) { - setHanAscInputMode(); - } - else if (&aMode == dynamic_cast<ChildInputMode*>(&zen_asc_input_mode)) { - setZenAscInputMode(); - } -}*/ - bool ParentInputMode::isHiraganaInputMode() const { return current_input_mode == dynamic_cast<const ChildInputMode*>(&hiragana_input_mode); Index: AquaSKK/ParentInputMode.h diff -u AquaSKK/ParentInputMode.h:1.3 AquaSKK/ParentInputMode.h:1.4 --- AquaSKK/ParentInputMode.h:1.3 Thu Nov 3 14:46:51 2005 +++ AquaSKK/ParentInputMode.h Sun Nov 6 00:52:06 2005 @@ -1,4 +1,4 @@ -/* $Id: ParentInputMode.h,v 1.3 2005/11/03 05:46:51 xdd Exp $ +/* $Id: ParentInputMode.h,v 1.4 2005/11/05 15:52:06 xdd Exp $ MacOS X implementation of the SKK input method. Copyright (C) 2002-2004 phonohawk @@ -60,6 +60,7 @@ virtual bool handleCg(); virtual bool handleCy(); virtual bool handleTab(); + virtual bool handleNumKey(unsigned char inCharCode); virtual void terminate(); virtual ChildInputMode& getCurrentInputMode(); @@ -84,15 +85,7 @@ // SpAXL[[hÖ virtual void goZenAscInputMode(); - virtual int ParentInputMode::currentInputMode(); - - virtual void setHiraganaInputMode(); - virtual void setZenKataInputMode(); - virtual void setHanKataInputMode(); - virtual void setHanAscInputMode(); - virtual void setZenAscInputMode(); - virtual void setInputMode(int aMode); -// virtual void setInputMode(ChildInputMode& aMode); + virtual int currentInputMode(); virtual bool isHiraganaInputMode() const; virtual bool isZenKataInputMode() const;