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

Unified Diff: views/examples/single_split_view_example.h

Issue 5606012: Streamline the layout of the BrowserView's children TabContents views.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years 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
« views/controls/single_split_view.cc ('K') | « views/controls/single_split_view.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/examples/single_split_view_example.h
===================================================================
--- views/examples/single_split_view_example.h (revision 68381)
+++ views/examples/single_split_view_example.h (working copy)
@@ -11,8 +11,25 @@
namespace examples {
-class SingleSplitViewExample : public ExampleBase {
+class SingleSplitViewExample : public ExampleBase,
+ public views::SingleSplitView::Delegate {
public:
+ class SplitViewResizingGridLayout : public views::GridLayout {
+ public:
+ SplitViewResizingGridLayout(views::View* host,
+ views::SingleSplitView* single_split_view)
+ : views::GridLayout(host),
+ single_split_view_(single_split_view) {
+ }
+ // views::GridLayout overrides.
+ virtual void Layout(views::View* host) {
+ views::GridLayout::Layout(host);
+ single_split_view_->ResizeViews();
+ }
+ private:
+ views::SingleSplitView* single_split_view_;
+ };
+
explicit SingleSplitViewExample(ExamplesMain* main)
: ExampleBase(main) {
}
@@ -29,11 +46,13 @@
single_split_view_ = new views::SingleSplitView(
splitted_view_1, splitted_view_2,
- views::SingleSplitView::HORIZONTAL_SPLIT);
+ views::SingleSplitView::HORIZONTAL_SPLIT,
+ this);
splitted_view_1->SetColor(SK_ColorYELLOW, SK_ColorCYAN);
- views::GridLayout* layout = new views::GridLayout(container);
+ views::GridLayout* layout =
+ new SplitViewResizingGridLayout(container, single_split_view_);
container->SetLayoutManager(layout);
// Add scroll view.
@@ -44,6 +63,11 @@
layout->AddView(single_split_view_);
}
+ // views::SingleSplitView::Delegate overrides.
+ virtual void SplitHandleMoved(views::SingleSplitView* source) {
+ GetExampleView()->Layout();
+ }
+
private:
// SingleSplitView's content, which draws gradient color on background.
class SplittedView : public views::View {
« views/controls/single_split_view.cc ('K') | « views/controls/single_split_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698