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

Unified Diff: chrome/browser/ui/views/chooser_content_view.h

Issue 2029863002: Refactor ChooserBubbleUiViewDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 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/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_
« no previous file with comments | « no previous file | chrome/browser/ui/views/chooser_content_view.cc » ('j') | chrome/browser/ui/views/chooser_content_view.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698