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 { |