summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-14 15:59:25 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-14 15:59:25 +0000
commit691c7ea419dd4abe41a5171255a512a57745d9b4 (patch)
tree6633ab0f3cb91d59c51a0f34e0befb9fcc4781af /chrome/browser/autocomplete
parent77efa55b335a12c49b817223f5abad58b051a693 (diff)
downloadchromium_src-691c7ea419dd4abe41a5171255a512a57745d9b4.zip
chromium_src-691c7ea419dd4abe41a5171255a512a57745d9b4.tar.gz
chromium_src-691c7ea419dd4abe41a5171255a512a57745d9b4.tar.bz2
Implements LocationBarView::AvailableWidth for Gtk.
BUG=none TEST=none Review URL: http://codereview.chromium.org/195068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26107 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete')
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc17
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_gtk.h4
2 files changed, 21 insertions, 0 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
index 2633037..26025e2 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
@@ -236,6 +236,23 @@ void AutocompleteEditViewGtk::SetFocus() {
gtk_widget_grab_focus(text_view_);
}
+int AutocompleteEditViewGtk::TextWidth() {
+ int horizontal_border_size =
+ gtk_text_view_get_border_window_size(GTK_TEXT_VIEW(text_view_),
+ GTK_TEXT_WINDOW_LEFT) +
+ gtk_text_view_get_border_window_size(GTK_TEXT_VIEW(text_view_),
+ GTK_TEXT_WINDOW_RIGHT) +
+ gtk_text_view_get_left_margin(GTK_TEXT_VIEW(text_view_)) +
+ gtk_text_view_get_right_margin(GTK_TEXT_VIEW(text_view_));
+ GtkTextIter end;
+ GdkRectangle last_char_bounds;
+ gtk_text_buffer_get_end_iter(
+ gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view_)), &end);
+ gtk_text_view_get_iter_location(GTK_TEXT_VIEW(text_view_),
+ &end, &last_char_bounds);
+ return last_char_bounds.x + last_char_bounds.width + horizontal_border_size;
+}
+
void AutocompleteEditViewGtk::SaveStateToTab(TabContents* tab) {
DCHECK(tab);
GetStateAccessor()->SetProperty(
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h
index 112cdef..2f51e88 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h
@@ -63,6 +63,10 @@ class AutocompleteEditViewGtk : public AutocompleteEditView,
// Grab keyboard input focus, putting focus on the location widget.
void SetFocus();
+ // Returns the width, in pixels, needed to display the current text. The
+ // returned value includes margins and borders.
+ int TextWidth();
+
// Implement the AutocompleteEditView interface.
virtual AutocompleteEditModel* model() { return model_.get(); }
virtual const AutocompleteEditModel* model() const { return model_.get(); }