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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit_view_gtk.h

Issue 172041: Implements unimplemented methods of AutocompleteEditViewGtk.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 4 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_EDIT_VIEW_GTK_H_ 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_EDIT_VIEW_GTK_H_
6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_EDIT_VIEW_GTK_H_ 6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_EDIT_VIEW_GTK_H_
7 7
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 void HandleInsertText(GtkTextBuffer* buffer, 264 void HandleInsertText(GtkTextBuffer* buffer,
265 GtkTextIter* location, 265 GtkTextIter* location,
266 const gchar* text, 266 const gchar* text,
267 gint len); 267 gint len);
268 268
269 static void HandleBackSpaceThunk(GtkTextView* text_view, gpointer self) { 269 static void HandleBackSpaceThunk(GtkTextView* text_view, gpointer self) {
270 reinterpret_cast<AutocompleteEditViewGtk*>(self)->HandleBackSpace(); 270 reinterpret_cast<AutocompleteEditViewGtk*>(self)->HandleBackSpace();
271 } 271 }
272 void HandleBackSpace(); 272 void HandleBackSpace();
273 273
274 static void HandleViewMoveFocusThunk(GtkWidget* widget, GtkDirectionType dir,
275 gpointer self) {
276 reinterpret_cast<AutocompleteEditViewGtk*>(self)->
277 HandleViewMoveFocus(widget);
278 }
279 void HandleViewMoveFocus(GtkWidget* widget);
280
274 static void HandleCopyClipboardThunk(GtkTextView* text_view, gpointer self) { 281 static void HandleCopyClipboardThunk(GtkTextView* text_view, gpointer self) {
275 reinterpret_cast<AutocompleteEditViewGtk*>(self)->HandleCopyClipboard(); 282 reinterpret_cast<AutocompleteEditViewGtk*>(self)->HandleCopyClipboard();
276 } 283 }
277 void HandleCopyClipboard(); 284 void HandleCopyClipboard();
278 285
279 // Actual implementation of SelectAll(), but also provides control over 286 // Actual implementation of SelectAll(), but also provides control over
280 // whether the PRIMARY selection is set to the selected text (in SelectAll(), 287 // whether the PRIMARY selection is set to the selected text (in SelectAll(),
281 // it isn't, but we want set the selection when the user clicks in the entry). 288 // it isn't, but we want set the selection when the user clicks in the entry).
282 void SelectAllInternal(bool reversed, bool update_primary_selection); 289 void SelectAllInternal(bool reversed, bool update_primary_selection);
283 290
(...skipping 21 matching lines...) Expand all
305 312
306 // Try to parse the current text as a URL and colorize the components. 313 // Try to parse the current text as a URL and colorize the components.
307 void EmphasizeURLComponents(); 314 void EmphasizeURLComponents();
308 315
309 // Internally invoked whenever the text changes in some way. 316 // Internally invoked whenever the text changes in some way.
310 void TextChanged(); 317 void TextChanged();
311 318
312 // Save |selected_text| as the PRIMARY X selection. 319 // Save |selected_text| as the PRIMARY X selection.
313 void SavePrimarySelection(const std::string& selected_text); 320 void SavePrimarySelection(const std::string& selected_text);
314 321
322 // Update the field with |text| and set the selection.
323 void SetTextAndSelectedRange(const std::wstring& text,
324 const CharRange& range);
325
315 // The widget we expose, used for vertically centering the real text edit, 326 // The widget we expose, used for vertically centering the real text edit,
316 // since the height will change based on the font / font size, etc. 327 // since the height will change based on the font / font size, etc.
317 OwnedWidgetGtk alignment_; 328 OwnedWidgetGtk alignment_;
318 329
319 // The actual text entry which will be owned by the alignment_. 330 // The actual text entry which will be owned by the alignment_.
320 GtkWidget* text_view_; 331 GtkWidget* text_view_;
321 332
322 GtkTextTagTable* tag_table_; 333 GtkTextTagTable* tag_table_;
323 GtkTextBuffer* text_buffer_; 334 GtkTextBuffer* text_buffer_;
324 GtkTextTag* faded_text_tag_; 335 GtkTextTag* faded_text_tag_;
325 GtkTextTag* secure_scheme_tag_; 336 GtkTextTag* secure_scheme_tag_;
326 GtkTextTag* insecure_scheme_tag_; 337 GtkTextTag* insecure_scheme_tag_;
327 GtkTextTag* normal_text_tag_; 338 GtkTextTag* normal_text_tag_;
328 339
329 scoped_ptr<AutocompleteEditModel> model_; 340 scoped_ptr<AutocompleteEditModel> model_;
330 scoped_ptr<AutocompletePopupView> popup_view_; 341 scoped_ptr<AutocompletePopupView> popup_view_;
331 AutocompleteEditController* controller_; 342 AutocompleteEditController* controller_;
332 ToolbarModel* toolbar_model_; 343 ToolbarModel* toolbar_model_;
333 344
334 // The object that handles additional command functionality exposed on the 345 // The object that handles additional command functionality exposed on the
335 // edit, such as invoking the keyword editor. 346 // edit, such as invoking the keyword editor.
336 CommandUpdater* command_updater_; 347 CommandUpdater* command_updater_;
337 348
338 // When true, the location bar view is read only and also is has a slightly 349 // When true, the location bar view is read only and also is has a slightly
339 // different presentation (smaller font size). This is used for popups. 350 // different presentation (smaller font size). This is used for popups.
340 bool popup_window_mode_; 351 bool popup_window_mode_;
341 352
342 ToolbarModel::SecurityLevel scheme_security_level_; 353 ToolbarModel::SecurityLevel scheme_security_level_;
343 354
355 // Text and selection at the point where the user started using the
356 // arrows to move around in the popup.
357 std::wstring saved_temporary_text_;
358 CharRange saved_temporary_selection_;
359
344 // Tracking state before and after a possible change. 360 // Tracking state before and after a possible change.
345 std::wstring text_before_change_; 361 std::wstring text_before_change_;
346 CharRange sel_before_change_; 362 CharRange sel_before_change_;
347 363
348 // The most-recently-selected text from the entry. This is updated on-the-fly 364 // The most-recently-selected text from the entry. This is updated on-the-fly
349 // as the user selects text. It is used in cases where we need to make the 365 // as the user selects text. It is used in cases where we need to make the
350 // PRIMARY selection persist even after the user has unhighlighted the text in 366 // PRIMARY selection persist even after the user has unhighlighted the text in
351 // the view (e.g. when they highlight some text and then click to unhighlight 367 // the view (e.g. when they highlight some text and then click to unhighlight
352 // it, we pass this string to SavePrimarySelection()). 368 // it, we pass this string to SavePrimarySelection()).
353 std::string selected_text_; 369 std::string selected_text_;
(...skipping 18 matching lines...) Expand all
372 // is released (we only do so if the view was initially unfocused). 388 // is released (we only do so if the view was initially unfocused).
373 bool text_view_focused_before_button_press_; 389 bool text_view_focused_before_button_press_;
374 390
375 #if !defined(TOOLKIT_VIEWS) 391 #if !defined(TOOLKIT_VIEWS)
376 // Supplies colors, et cetera. 392 // Supplies colors, et cetera.
377 GtkThemeProvider* theme_provider_; 393 GtkThemeProvider* theme_provider_;
378 394
379 NotificationRegistrar registrar_; 395 NotificationRegistrar registrar_;
380 #endif 396 #endif
381 397
398 // Indicates if Tab key was pressed.
399 //
400 // It's only used in the key press handler to detect a Tab key press event
401 // during sync dispatch of "move-focus" signal.
402 bool tab_was_pressed_;
403
382 // If a character is inserted, store it in this variable so that it can 404 // If a character is inserted, store it in this variable so that it can
383 // be used later in "key-press-event" signal handler to determine if a Tab or 405 // be used later in "key-press-event" signal handler to determine if a Tab or
384 // Enter key event is handled by IME or not. 406 // Enter key event is handled by IME or not.
385 char char_inserted_; 407 char char_inserted_;
386 408
387 DISALLOW_COPY_AND_ASSIGN(AutocompleteEditViewGtk); 409 DISALLOW_COPY_AND_ASSIGN(AutocompleteEditViewGtk);
388 }; 410 };
389 411
390 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_EDIT_VIEW_GTK_H_ 412 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_EDIT_VIEW_GTK_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698