Chromium Code Reviews| Index: chrome/browser/ui/views/chooser_content_view.h |
| diff --git a/chrome/browser/ui/views/chooser_content_view.h b/chrome/browser/ui/views/chooser_content_view.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..be85070e090f7971c0d4a8aa5d2f588c1a836957 |
| --- /dev/null |
| +++ b/chrome/browser/ui/views/chooser_content_view.h |
| @@ -0,0 +1,56 @@ |
| +// Copyright 2016 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_CHOOSER_CONTENT_VIEW_H_ |
| +#define CHROME_BROWSER_UI_VIEWS_CHOOSER_CONTENT_VIEW_H_ |
| + |
| +#include "base/macros.h" |
| +#include "ui/views/bubble/bubble_dialog_delegate.h" |
| +#include "ui/views/controls/styled_label_listener.h" |
| +#include "ui/views/controls/table/table_view_observer.h" |
| + |
| +class ChooserController; |
| +class ChooserTableModel; |
| + |
| +// A chooser content view class that user can select an option. |
|
msw
2016/06/03 20:04:08
nit: "A bubble or dialog view for choosing among s
juncai
2016/06/07 18:11:05
Done.
|
| +class ChooserContentView : public views::BubbleDialogDelegateView, |
| + public views::StyledLabelListener, |
| + public views::TableViewObserver { |
| + public: |
| + ChooserContentView(views::View* anchor_view, |
| + views::BubbleBorder::Arrow anchor_arrow, |
| + ChooserController* chooser_controller); |
| + ~ChooserContentView() override; |
| + |
| + // views::BubbleDialogDelegateView: |
| + bool ShouldShowWindowTitle() const override; |
| + base::string16 GetDialogButtonLabel(ui::DialogButton button) const override; |
| + bool IsDialogButtonEnabled(ui::DialogButton button) const override; |
| + views::View* CreateFootnoteView() override; |
| + |
| + // views::StyledLabelListener: |
| + void StyledLabelLinkClicked(views::StyledLabel* label, |
| + const gfx::Range& range, |
| + int event_flags) override; |
| + |
| + // views::TableViewObserver: |
| + void OnSelectionChanged() override; |
| + |
| + // Called by the destructor of the class that passed |chooser_controller_| |
|
msw
2016/06/03 20:04:09
nit: "Called just before |chooser_controller_| is
juncai
2016/06/07 18:11:05
Done.
|
| + // to this class. Since the |chooser_controller_| passed to this class may |
| + // be destroyed and not be used any more. |
| + void ChooserControllerDestroying(); |
| + |
| + protected: |
| + ChooserController* chooser_controller() const { return chooser_controller_; } |
| + views::TableView* table_view() const { return table_view_; } |
| + |
| + private: |
| + ChooserController* chooser_controller_; // Weak. |
| + views::TableView* table_view_; |
| + ChooserTableModel* chooser_table_model_; |
| + DISALLOW_COPY_AND_ASSIGN(ChooserContentView); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_VIEWS_CHOOSER_CONTENT_VIEW_H_ |