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

Unified Diff: mojo/examples/window_manager/debug_panel.cc

Issue 383123006: Preliminary interactive layout of window manager's demo_launcher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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: mojo/examples/window_manager/debug_panel.cc
diff --git a/mojo/examples/window_manager/debug_panel.cc b/mojo/examples/window_manager/debug_panel.cc
index c0438a2aef1912adf99cccfe8b90cbaf24ad2ed8..b39fc8efb8dd9e4cb75d1d18a3bf676672608012 100644
--- a/mojo/examples/window_manager/debug_panel.cc
+++ b/mojo/examples/window_manager/debug_panel.cc
@@ -46,25 +46,28 @@ DebugPanel::DebugPanel(Delegate* delegate, view_manager::Node* node)
navigation_target_default_->SetChecked(true);
views::WidgetDelegateView* widget_delegate = new views::WidgetDelegateView();
- widget_delegate->GetContentsView()->set_background(
+ contents_view_ = widget_delegate->GetContentsView();
+ contents_view_->set_background(
views::Background::CreateSolidBackground(0xFFDDDDDD));
- widget_delegate->GetContentsView()->AddChildView(navigation_target_label_);
- widget_delegate->GetContentsView()->AddChildView(navigation_target_default_);
- widget_delegate->GetContentsView()->AddChildView(navigation_target_new_);
- widget_delegate->GetContentsView()->AddChildView(navigation_target_source_);
- widget_delegate->GetContentsView()->AddChildView(colored_square_);
- widget_delegate->GetContentsView()->AddChildView(close_last_);
- widget_delegate->GetContentsView()->AddChildView(cross_app_);
- widget_delegate->GetContentsView()->SetLayoutManager(this);
-
- views::Widget* widget = new views::Widget();
+ contents_view_->AddChildView(navigation_target_label_);
+ contents_view_->AddChildView(navigation_target_default_);
+ contents_view_->AddChildView(navigation_target_new_);
+ contents_view_->AddChildView(navigation_target_source_);
+ contents_view_->AddChildView(colored_square_);
+ contents_view_->AddChildView(close_last_);
+ contents_view_->AddChildView(cross_app_);
+ contents_view_->SetLayoutManager(this);
+
+ widget_ = new views::Widget();
views::Widget::InitParams params(
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
- params.native_widget = new NativeWidgetViewManager(widget, node);
+ params.native_widget = new NativeWidgetViewManager(widget_, node);
params.delegate = widget_delegate;
params.bounds = gfx::Rect(node->bounds().size());
- widget->Init(params);
- widget->Show();
+ widget_->Init(params);
+ widget_->Show();
+
+ node->AddObserver(this);
}
DebugPanel::~DebugPanel() {
@@ -134,5 +137,13 @@ void DebugPanel::Navigate(const std::string& url) {
delegate_->RequestNavigate(node_->id(), navigation::NEW_NODE, details.Pass());
}
+void DebugPanel::OnNodeBoundsChanged(view_manager::Node* node,
+ const gfx::Rect& /*old_bounds*/,
+ const gfx::Rect& /*new_bounds*/) {
+ widget_->SetBounds(gfx::Rect(node->bounds().size()));
+ contents_view_->Layout();
+}
+
+
} // namespace examples
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698