diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-26 02:53:02 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-26 02:53:02 +0000 |
commit | 67d0d62d638f7b15e031dd2c22756df0109e021d (patch) | |
tree | 12fedef3144511b4a9f861fe993d5d39fdc34278 /chrome/browser/views | |
parent | e73d4f7b1f150436dae5d589fd73c8d17c2dcb56 (diff) | |
download | chromium_src-67d0d62d638f7b15e031dd2c22756df0109e021d.zip chromium_src-67d0d62d638f7b15e031dd2c22756df0109e021d.tar.gz chromium_src-67d0d62d638f7b15e031dd2c22756df0109e021d.tar.bz2 |
Move the compact navigation bar to the chromeos directory.
Generalize the chromeos rules so we don't have to list every file in the exclusions.
Review URL: http://codereview.chromium.org/174446
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/compact_navigation_bar.cc | 209 | ||||
-rw-r--r-- | chrome/browser/views/compact_navigation_bar.h | 78 |
2 files changed, 0 insertions, 287 deletions
diff --git a/chrome/browser/views/compact_navigation_bar.cc b/chrome/browser/views/compact_navigation_bar.cc deleted file mode 100644 index 7feb27b..0000000 --- a/chrome/browser/views/compact_navigation_bar.cc +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/views/compact_navigation_bar.h" - -#include "app/gfx/canvas.h" -#include "app/resource_bundle.h" -#include "app/theme_provider.h" -#include "base/logging.h" -#include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" -#include "chrome/browser/browser.h" -#include "chrome/browser/browser_window.h" -#include "chrome/browser/views/frame/status_area_view.h" -#include "chrome/browser/profile.h" -#include "chrome/browser/tab_contents/tab_contents.h" -#include "grit/theme_resources.h" -#include "views/controls/button/image_button.h" -#include "views/controls/image_view.h" -#include "views/controls/native/native_view_host.h" - -// Padding inside each button around the image. -static const int kInnerPadding = 1; - -// Spacing between buttons. -static const int kHorizPadding = 3; - -static const int kURLWidth = 150; - -static const int kChromeButtonSize = 25; - -CompactNavigationBar::CompactNavigationBar(Browser* browser) - : browser_(browser), - initialized_(false) { -} - -CompactNavigationBar::~CompactNavigationBar() { -} - -void CompactNavigationBar::Init() { - DCHECK(!initialized_); - initialized_ = true; - - ResourceBundle& resource_bundle = ResourceBundle::GetSharedInstance(); - - chrome_button_ = new views::ImageButton(this); - chrome_button_->SetImage(views::CustomButton::BS_NORMAL, - resource_bundle.GetBitmapNamed(IDR_COMPACTNAV_CHROME)); - chrome_button_->SetImageAlignment(views::ImageButton::ALIGN_CENTER, - views::ImageButton::ALIGN_MIDDLE); - AddChildView(chrome_button_); - - back_button_ = new views::ImageButton(this); - back_button_->SetImage(views::CustomButton::BS_NORMAL, - resource_bundle.GetBitmapNamed(IDR_COMPACTNAV_BACK)); - back_button_->SetImageAlignment(views::ImageButton::ALIGN_CENTER, - views::ImageButton::ALIGN_MIDDLE); - AddChildView(back_button_); - - bf_separator_ = new views::ImageView; - bf_separator_->SetImage( - resource_bundle.GetBitmapNamed(IDR_COMPACTNAV_SEPARATOR)); - AddChildView(bf_separator_); - - forward_button_ = new views::ImageButton(this); - forward_button_->SetImage(views::CustomButton::BS_NORMAL, - resource_bundle.GetBitmapNamed(IDR_COMPACTNAV_FORWARD)); - forward_button_->SetImageAlignment(views::ImageButton::ALIGN_CENTER, - views::ImageButton::ALIGN_MIDDLE); - AddChildView(forward_button_); - - // URL bar construction. - location_entry_.reset(new AutocompleteEditViewGtk( - this, browser_->toolbar_model(), browser_->profile(), - browser_->command_updater(), false, this)); - location_entry_->Init(); - gtk_widget_show_all(location_entry_->widget()); - gtk_widget_hide(location_entry_->widget()); - - location_entry_view_ = new views::NativeViewHost; - AddChildView(location_entry_view_); - location_entry_view_->set_focus_view(this); - location_entry_view_->Attach(location_entry_->widget()); -} - -gfx::Size CompactNavigationBar::GetPreferredSize() { - int width = 0; - - width += kChromeButtonSize + kHorizPadding; // Chrome button. - width += kURLWidth + kHorizPadding; // URL bar. - width += back_button_->GetPreferredSize().width() + kHorizPadding + - kInnerPadding * 2; - width += bf_separator_->GetPreferredSize().width() + kHorizPadding; - width += forward_button_->GetPreferredSize().width() + kHorizPadding + - kInnerPadding * 2; - - return gfx::Size(width, kChromeButtonSize); -} - -void CompactNavigationBar::Layout() { - if (!initialized_) - return; - - int curx = 0; - - chrome_button_->SetBounds(curx, 0, kChromeButtonSize, height()); - curx += kChromeButtonSize + kHorizPadding; - - // URL bar. - location_entry_view_->SetBounds(curx, 0, kURLWidth, height()); - curx += kURLWidth + kHorizPadding; - - // "Back | Forward" section. - gfx::Size button_size = back_button_->GetPreferredSize(); - button_size.set_width(button_size.width() + kInnerPadding * 2); - back_button_->SetBounds(curx, 0, button_size.width(), height()); - curx += button_size.width() + kHorizPadding; - - button_size = bf_separator_->GetPreferredSize(); - bf_separator_->SetBounds(curx, 0, button_size.width(), height()); - curx += button_size.width() + kHorizPadding; - - button_size = forward_button_->GetPreferredSize(); - button_size.set_width(button_size.width() + kInnerPadding * 2); - forward_button_->SetBounds(curx, 0, button_size.width(), height()); - curx += button_size.width() + kHorizPadding; -} - -void CompactNavigationBar::Paint(gfx::Canvas* canvas) { - ThemeProvider* theme = browser_->profile()->GetThemeProvider(); - - // Fill the background. - SkBitmap* background; - if (browser_->window()->IsActive()) - background = theme->GetBitmapNamed(IDR_THEME_FRAME); - else - background = theme->GetBitmapNamed(IDR_THEME_FRAME_INACTIVE); - canvas->TileImageInt(*background, 0, 0, width(), height()); -} - -void CompactNavigationBar::ButtonPressed(views::Button* sender) { - TabContents* tab_contents = browser_->GetSelectedTabContents(); - if (!tab_contents) - return; - - if (sender == chrome_button_) { - AddTabWithURL(GURL("http://goto.ext.google.com/tik-tok"), - PageTransition::START_PAGE); - } else if (sender == back_button_) { - if (tab_contents->controller().CanGoBack()) - tab_contents->controller().GoBack(); - } else if (sender == forward_button_) { - if (tab_contents->controller().CanGoForward()) - tab_contents->controller().GoForward(); - } else { - NOTREACHED(); - } -} - -void CompactNavigationBar::OnAutocompleteAccept( - const GURL& url, - WindowOpenDisposition disposition, - PageTransition::Type transition, - const GURL& alternate_nav_url) { - AddTabWithURL(url, transition); -} - -void CompactNavigationBar::OnChanged() { - // Other one does "DoLayout" here. -} - -void CompactNavigationBar::OnInputInProgress(bool in_progress) { -} - -SkBitmap CompactNavigationBar::GetFavIcon() const { - return SkBitmap(); -} - -std::wstring CompactNavigationBar::GetTitle() const { - return std::wstring(); -} - -gfx::Rect CompactNavigationBar::GetPopupBounds() const { - gfx::Point upper_left(0, height()); - ConvertPointToScreen(this, &upper_left); - return gfx::Rect(upper_left.x(), upper_left.y(), 700, 100); -} - -void CompactNavigationBar::AddTabWithURL(const GURL& url, - PageTransition::Type transition) { - switch (StatusAreaView::GetOpenTabsMode()) { - case StatusAreaView::OPEN_TABS_ON_LEFT: { - // Add the new tab at the first non-pinned location. - int index = browser_->tabstrip_model()->IndexOfFirstNonPinnedTab(); - browser_->AddTabWithURL(url, GURL(), transition, - true, index, true, NULL); - break; - } - case StatusAreaView::OPEN_TABS_CLOBBER: { - browser_->GetSelectedTabContents()->controller().LoadURL( - url, GURL(), transition); - break; - } - case StatusAreaView::OPEN_TABS_ON_RIGHT: { - browser_->AddTabWithURL(url, GURL(), transition, true, -1, true, NULL); - break; - } - } -} diff --git a/chrome/browser/views/compact_navigation_bar.h b/chrome/browser/views/compact_navigation_bar.h deleted file mode 100644 index ba7286b..0000000 --- a/chrome/browser/views/compact_navigation_bar.h +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_VIEWS_COMPACT_NAVIGATION_BAR_H_ -#define CHROME_BROWSER_VIEWS_COMPACT_NAVIGATION_BAR_H_ - -#include "base/basictypes.h" -#include "base/scoped_ptr.h" -#include "chrome/browser/autocomplete/autocomplete_edit.h" -#include "chrome/browser/autocomplete/autocomplete_popup_view.h" -#include "views/controls/button/button.h" -#include "views/view.h" - -class AutocompleteEditViewGtk; -class Browser; - -namespace views { -class ImageButton; -class ImageView; -class NativeViewHost; -} - -// This class provides a small navigation bar that includes back, forward, and -// a small text entry box. -class CompactNavigationBar : public views::View, - public views::ButtonListener, - public AutocompleteEditController, - public AutocompletePopupPositioner { - public: - explicit CompactNavigationBar(Browser* browser); - virtual ~CompactNavigationBar(); - - // Must be called before anything else, but after adding this view to the - // widget. - void Init(); - - // views::View overrides. - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - virtual void Paint(gfx::Canvas* canvas); - - private: - // views::ButtonListener implementation. - virtual void ButtonPressed(views::Button* sender); - - // AutocompleteController implementation. - virtual void OnAutocompleteAccept(const GURL& url, - WindowOpenDisposition disposition, - PageTransition::Type transition, - const GURL& alternate_nav_url); - virtual void OnChanged(); - virtual void OnInputInProgress(bool in_progress); - virtual SkBitmap GetFavIcon() const; - virtual std::wstring GetTitle() const; - - // AutocompletePopupPositioner implementation. - virtual gfx::Rect GetPopupBounds() const; - - void AddTabWithURL(const GURL& url, PageTransition::Type transition); - - Browser* browser_; - - bool initialized_; - - views::ImageButton* chrome_button_; - - views::ImageButton* back_button_; - views::ImageView* bf_separator_; - views::ImageButton* forward_button_; - - scoped_ptr<AutocompleteEditViewGtk> location_entry_; - views::NativeViewHost* location_entry_view_; - - DISALLOW_COPY_AND_ASSIGN(CompactNavigationBar); -}; - -#endif // CHROME_BROWSER_VIEWS_COMPACT_NAVIGATION_BAR_H_ |