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