Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: chrome/browser/chromeos/input_method/candidate_window.cc

Issue 7108022: Libcros version-up for preedit text monitoring on ChromeOS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update DEPS file for using http://gerrit.chromium.org/gerrit/2288 Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | tools/cros.DEPS/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/input_method/candidate_window.h" 5 #include "chrome/browser/chromeos/input_method/candidate_window.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 // in libcros. |input_method_library| is a void pointer to this object. 578 // in libcros. |input_method_library| is a void pointer to this object.
579 static void OnUpdateAuxiliaryText(void* input_method_library, 579 static void OnUpdateAuxiliaryText(void* input_method_library,
580 const std::string& utf8_text, 580 const std::string& utf8_text,
581 bool visible); 581 bool visible);
582 582
583 // The function is called when |UpdateLookupTable| signal is received 583 // The function is called when |UpdateLookupTable| signal is received
584 // in libcros. |input_method_library| is a void pointer to this object. 584 // in libcros. |input_method_library| is a void pointer to this object.
585 static void OnUpdateLookupTable(void* input_method_library, 585 static void OnUpdateLookupTable(void* input_method_library,
586 const InputMethodLookupTable& lookup_table); 586 const InputMethodLookupTable& lookup_table);
587 587
588 // The function is called when |UpdatePreeditText| signal is received
589 // in libcros. |input_method_library| is a void pointer to this object.
590 static void OnUpdatePreeditText(void* input_method_library,
591 const std::string& utf8_text,
592 unsigned int cursor, bool visible);
593
594 // The function is called when |HidePreeditText| signal is received
595 // in libcros. |input_method_library| is a void pointer to this object.
596 static void OnHidePreeditText(void* input_method_library);
597
588 // This function is called by libcros when ibus connects or disconnects. 598 // This function is called by libcros when ibus connects or disconnects.
589 // |input_method_library| is a void pointer to this object. 599 // |input_method_library| is a void pointer to this object.
590 static void OnConnectionChange(void* input_method_library, bool connected); 600 static void OnConnectionChange(void* input_method_library, bool connected);
591 601
592 // The connection is used for communicating with input method UI logic 602 // The connection is used for communicating with input method UI logic
593 // in libcros. 603 // in libcros.
594 InputMethodUiStatusConnection* ui_status_connection_; 604 InputMethodUiStatusConnection* ui_status_connection_;
595 605
596 // The candidate window view. 606 // The candidate window view.
597 CandidateWindowView* candidate_window_; 607 CandidateWindowView* candidate_window_;
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 functions.update_lookup_table = 1250 functions.update_lookup_table =
1241 &CandidateWindowController::Impl::OnUpdateLookupTable; 1251 &CandidateWindowController::Impl::OnUpdateLookupTable;
1242 ui_status_connection_ = MonitorInputMethodUiStatus(functions, this); 1252 ui_status_connection_ = MonitorInputMethodUiStatus(functions, this);
1243 if (!ui_status_connection_) { 1253 if (!ui_status_connection_) {
1244 LOG(ERROR) << "MonitorInputMethodUiStatus() failed."; 1254 LOG(ERROR) << "MonitorInputMethodUiStatus() failed.";
1245 return false; 1255 return false;
1246 } 1256 }
1247 MonitorInputMethodConnection( 1257 MonitorInputMethodConnection(
1248 ui_status_connection_, 1258 ui_status_connection_,
1249 &CandidateWindowController::Impl::OnConnectionChange); 1259 &CandidateWindowController::Impl::OnConnectionChange);
1260 MonitorInputMethodPreeditText(
1261 ui_status_connection_,
1262 &CandidateWindowController::Impl::OnHidePreeditText,
1263 &CandidateWindowController::Impl::OnUpdatePreeditText);
1250 1264
1251 // Create the candidate window view. 1265 // Create the candidate window view.
1252 CreateView(); 1266 CreateView();
1253 1267
1254 return true; 1268 return true;
1255 } 1269 }
1256 1270
1257 void CandidateWindowController::Impl::CreateView() { 1271 void CandidateWindowController::Impl::CreateView() {
1258 // Create a non-decorated frame. 1272 // Create a non-decorated frame.
1259 frame_.reset(new views::Widget); 1273 frame_.reset(new views::Widget);
(...skipping 29 matching lines...) Expand all
1289 } 1303 }
1290 1304
1291 void CandidateWindowController::Impl::OnHideLookupTable( 1305 void CandidateWindowController::Impl::OnHideLookupTable(
1292 void* input_method_library) { 1306 void* input_method_library) {
1293 CandidateWindowController::Impl* controller = 1307 CandidateWindowController::Impl* controller =
1294 static_cast<CandidateWindowController::Impl*>(input_method_library); 1308 static_cast<CandidateWindowController::Impl*>(input_method_library);
1295 1309
1296 controller->candidate_window_->HideLookupTable(); 1310 controller->candidate_window_->HideLookupTable();
1297 } 1311 }
1298 1312
1313 void CandidateWindowController::Impl::OnHidePreeditText(
1314 void* input_method_library) {
1315 }
1316
1299 void CandidateWindowController::Impl::OnSetCursorLocation( 1317 void CandidateWindowController::Impl::OnSetCursorLocation(
1300 void* input_method_library, 1318 void* input_method_library,
1301 int x, 1319 int x,
1302 int y, 1320 int y,
1303 int width, 1321 int width,
1304 int height) { 1322 int height) {
1305 CandidateWindowController::Impl* controller = 1323 CandidateWindowController::Impl* controller =
1306 static_cast<CandidateWindowController::Impl*>(input_method_library); 1324 static_cast<CandidateWindowController::Impl*>(input_method_library);
1307 1325
1308 // A workaround for http://crosbug.com/6460. We should ignore very short Y 1326 // A workaround for http://crosbug.com/6460. We should ignore very short Y
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 if (!lookup_table.visible) { 1367 if (!lookup_table.visible) {
1350 controller->candidate_window_->HideLookupTable(); 1368 controller->candidate_window_->HideLookupTable();
1351 return; 1369 return;
1352 } 1370 }
1353 1371
1354 controller->candidate_window_->UpdateCandidates(lookup_table); 1372 controller->candidate_window_->UpdateCandidates(lookup_table);
1355 controller->candidate_window_->ResizeAndMoveParentFrame(); 1373 controller->candidate_window_->ResizeAndMoveParentFrame();
1356 controller->frame_->Show(); 1374 controller->frame_->Show();
1357 } 1375 }
1358 1376
1377 void CandidateWindowController::Impl::OnUpdatePreeditText(
1378 void* input_method_library,
1379 const std::string& utf8_text, unsigned int cursor, bool visible) {
1380 }
1381
1359 void CandidateWindowController::Impl::OnCandidateCommitted(int index, 1382 void CandidateWindowController::Impl::OnCandidateCommitted(int index,
1360 int button, 1383 int button,
1361 int flags) { 1384 int flags) {
1362 NotifyCandidateClicked(ui_status_connection_, index, button, flags); 1385 NotifyCandidateClicked(ui_status_connection_, index, button, flags);
1363 } 1386 }
1364 1387
1365 void CandidateWindowController::Impl::OnConnectionChange( 1388 void CandidateWindowController::Impl::OnConnectionChange(
1366 void* input_method_library, 1389 void* input_method_library,
1367 bool connected) { 1390 bool connected) {
1368 if (!connected) { 1391 if (!connected) {
1369 CandidateWindowController::Impl* controller = 1392 CandidateWindowController::Impl* controller =
1370 static_cast<CandidateWindowController::Impl*>(input_method_library); 1393 static_cast<CandidateWindowController::Impl*>(input_method_library);
1371 controller->candidate_window_->HideLookupTable(); 1394 controller->candidate_window_->HideLookupTable();
1372 } 1395 }
1373 } 1396 }
1374 1397
1375 CandidateWindowController::CandidateWindowController() 1398 CandidateWindowController::CandidateWindowController()
1376 : impl_(new CandidateWindowController::Impl) { 1399 : impl_(new CandidateWindowController::Impl) {
1377 } 1400 }
1378 1401
1379 CandidateWindowController::~CandidateWindowController() { 1402 CandidateWindowController::~CandidateWindowController() {
1380 delete impl_; 1403 delete impl_;
1381 } 1404 }
1382 1405
1383 bool CandidateWindowController::Init() { 1406 bool CandidateWindowController::Init() {
1384 return impl_->Init(); 1407 return impl_->Init();
1385 } 1408 }
1386 1409
1387 } // namespace chromeos 1410 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | tools/cros.DEPS/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698