t-suw****@users*****
t-suw****@users*****
2007年 9月 24日 (月) 10:55:19 JST
Index: AquaSKK/src/controller/SKKController.cpp diff -u AquaSKK/src/controller/SKKController.cpp:1.1.2.3 AquaSKK/src/controller/SKKController.cpp:1.1.2.4 --- AquaSKK/src/controller/SKKController.cpp:1.1.2.3 Sun Sep 23 23:56:54 2007 +++ AquaSKK/src/controller/SKKController.cpp Mon Sep 24 10:55:19 2007 @@ -94,21 +94,26 @@ } // ç»é²éå§ -void SKKController::BeginRegistration(const std::string& prompt) { - stack_.push_back(SKKEditor(prompt)); +void SKKController::BeginRegistration(const std::string& prompt, State returnPoint) { + stack_.push_back(SKKRegistrationInfo(prompt, returnPoint)); } // ç»é²çµäº -void SKKController::EndRegistration(bool commit) { - if(stack_.size() == 1) return; +State SKKController::EndRegistration(bool commit) { + if(stack_.size() == 1) return 0; - std::string result = editor().EditString(); + SKKRegistrationInfo info(editor().RegistrationInfo()); + std::string word(editor().EditString()); stack_.pop_back(); if(commit) { - editor().Commit(result); + editor().Commit(word); + } else { + editor().Commit(""); } + + return info.ReturnPoint(); } // ====================================================================== Index: AquaSKK/src/controller/SKKController.h diff -u AquaSKK/src/controller/SKKController.h:1.1.2.2 AquaSKK/src/controller/SKKController.h:1.1.2.3 --- AquaSKK/src/controller/SKKController.h:1.1.2.2 Sun Sep 23 23:56:54 2007 +++ AquaSKK/src/controller/SKKController.h Mon Sep 24 10:55:19 2007 @@ -1,5 +1,5 @@ /* -*- C++ -*- - $Id: SKKController.h,v 1.1.2.2 2007/09/23 14:56:54 t-suwa Exp $ + $Id: SKKController.h,v 1.1.2.3 2007/09/24 01:55:19 t-suwa Exp $ MacOS X implementation of the SKK input method. @@ -62,8 +62,8 @@ void ChangeState(SKK::EditState); // å帰çè¾æ¸ç»é² - void BeginRegistration(const std::string& prompt); - void EndRegistration(bool commit); + void BeginRegistration(const std::string& prompt, State returnPoint); + State EndRegistration(bool commit); }; #endif