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

Unified Diff: chrome/browser/ui/views/autocomplete/autocomplete_result_view.h

Issue 10556031: views: Move autocomplete files into omnibox directory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/autocomplete/autocomplete_result_view.h
diff --git a/chrome/browser/ui/views/autocomplete/autocomplete_result_view.h b/chrome/browser/ui/views/autocomplete/autocomplete_result_view.h
deleted file mode 100644
index 29e3d905f6c189192bb09f03093287b80732e2d8..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/views/autocomplete/autocomplete_result_view.h
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright (c) 2012 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_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_RESULT_VIEW_H_
-#define CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_RESULT_VIEW_H_
-#pragma once
-
-#include "chrome/browser/autocomplete/autocomplete_match.h"
-#include "third_party/skia/include/core/SkColor.h"
-#include "ui/base/animation/animation_delegate.h"
-#include "ui/base/animation/slide_animation.h"
-#include "ui/gfx/font.h"
-#include "ui/gfx/rect.h"
-#include "ui/views/controls/image_view.h"
-#include "ui/views/view.h"
-
-class AutocompleteResultViewModel;
-
-namespace gfx {
-class Canvas;
-}
-
-class AutocompleteResultView : public views::View,
- private ui::AnimationDelegate {
- public:
- // Keep these ordered from least dominant (normal) to most dominant
- // (selected).
- enum ResultViewState {
- NORMAL = 0,
- HOVERED,
- SELECTED,
- NUM_STATES
- };
-
- enum ColorKind {
- BACKGROUND = 0,
- TEXT,
- DIMMED_TEXT,
- URL,
- DIVIDER,
- NUM_KINDS
- };
-
- AutocompleteResultView(AutocompleteResultViewModel* model,
- int model_index,
- const gfx::Font& font,
- const gfx::Font& bold_font);
- virtual ~AutocompleteResultView();
-
- static SkColor GetColor(ResultViewState state, ColorKind kind);
-
- // Updates the match used to paint the contents of this result view. We copy
- // the match so that we can continue to paint the last result even after the
- // model has changed.
- void SetMatch(const AutocompleteMatch& match);
-
- void ShowKeyword(bool show_keyword);
-
- void Invalidate();
-
- // views::View:
- virtual gfx::Size GetPreferredSize() OVERRIDE;
-
- ResultViewState GetState() const;
-
- protected:
- virtual void PaintMatch(gfx::Canvas* canvas,
- const AutocompleteMatch& match,
- int x);
-
- // Returns the height of the text portion of the result view. In the base
- // class, this is the height of one line of text.
- virtual int GetTextHeight() const;
-
- // Draws the specified |text| into the canvas, using highlighting provided by
- // |classifications|. If |force_dim| is true, ACMatchClassification::DIM is
- // added to all of the classifications. Returns the x position to the right
- // of the string.
- int DrawString(gfx::Canvas* canvas,
- const string16& text,
- const ACMatchClassifications& classifications,
- bool force_dim,
- int x,
- int y);
-
- const gfx::Rect& text_bounds() const { return text_bounds_; }
-
- void set_edge_item_padding(int value) { edge_item_padding_ = value; }
- void set_item_padding(int value) { item_padding_ = value; }
- void set_minimum_text_vertical_padding(int value) {
- minimum_text_vertical_padding_ = value;
- }
-
- private:
- struct ClassificationData;
- typedef std::vector<ClassificationData> Classifications;
-
- struct RunData;
- typedef std::vector<RunData> Runs;
-
- // Predicate functions for use when sorting the runs.
- static bool SortRunsLogically(const RunData& lhs, const RunData& rhs);
- static bool SortRunsVisually(const RunData& lhs, const RunData& rhs);
-
- const SkBitmap* GetIcon() const;
- const gfx::ImageSkia* GetKeywordIcon() const;
-
- // Elides |runs| to fit in |remaining_width|. The runs in |runs| should be in
- // logical order.
- //
- // When we need to elide a run, the ellipsis will be placed at the end of that
- // run. This means that if we elide a run whose visual direction is opposite
- // that of the drawing context, the ellipsis will not be at the "end" of the
- // drawn string. For example, if in an LTR context we have the LTR run
- // "LTR_STRING" and the RTL run "RTL_STRING", the unelided text would be drawn
- // like:
- // LTR_STRING GNIRTS_LTR
- // If we need to elide the RTL run, then it will be drawn like:
- // LTR_STRING ...RTS_LTR
- // Instead of:
- // LTR_STRING RTS_LTR...
- void Elide(Runs* runs, int remaining_width) const;
-
- // views::View:
- virtual void Layout() OVERRIDE;
- virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE;
- virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
-
- // ui::AnimationDelegate:
- virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
-
- static int default_icon_size_;
-
- // Default values cached here, may be overridden using the setters above.
- int edge_item_padding_;
- int item_padding_;
- int minimum_text_vertical_padding_;
-
- // This row's model and model index.
- AutocompleteResultViewModel* model_;
- size_t model_index_;
-
- const gfx::Font normal_font_;
- const gfx::Font bold_font_;
-
- // Width of the ellipsis in the normal font.
- int ellipsis_width_;
-
- // A context used for mirroring regions.
- class MirroringContext;
- scoped_ptr<MirroringContext> mirroring_context_;
-
- AutocompleteMatch match_;
-
- gfx::Rect text_bounds_;
- gfx::Rect icon_bounds_;
-
- gfx::Rect keyword_text_bounds_;
- scoped_ptr<views::ImageView> keyword_icon_;
-
- scoped_ptr<ui::SlideAnimation> animation_;
-
- DISALLOW_COPY_AND_ASSIGN(AutocompleteResultView);
-};
-
-#endif // CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_RESULT_VIEW_H_

Powered by Google App Engine
This is Rietveld 408576698