OLD | NEW |
| (Empty) |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "mash/browser/debug_view.h" | |
6 | |
7 #include "base/strings/utf_string_conversions.h" | |
8 #include "ui/gfx/canvas.h" | |
9 #include "ui/views/background.h" | |
10 #include "ui/views/controls/button/label_button.h" | |
11 #include "ui/views/controls/label.h" | |
12 #include "ui/views/controls/textfield/textfield.h" | |
13 #include "ui/views/layout/box_layout.h" | |
14 #include "ui/views/layout/fill_layout.h" | |
15 | |
16 namespace mash { | |
17 namespace browser { | |
18 | |
19 DebugView::DebugView() | |
20 : interstitial_container_(new views::View), | |
21 interstitial_label_( | |
22 new views::Label(base::ASCIIToUTF16("Interstitial: "))), | |
23 interstitial_show_( | |
24 new views::LabelButton(this, base::ASCIIToUTF16("Show"))), | |
25 interstitial_hide_( | |
26 new views::LabelButton(this, base::ASCIIToUTF16("Hide"))), | |
27 interstitial_content_(new views::Textfield) { | |
28 AddChildView(interstitial_container_); | |
29 interstitial_container_->AddChildView(interstitial_label_); | |
30 interstitial_container_->AddChildView(interstitial_show_); | |
31 interstitial_container_->AddChildView(interstitial_hide_); | |
32 interstitial_container_->AddChildView(interstitial_content_); | |
33 views::BoxLayout* layout = | |
34 new views::BoxLayout(views::BoxLayout::kHorizontal, 5, 5, 5); | |
35 interstitial_container_->SetLayoutManager(layout); | |
36 layout->set_main_axis_alignment(views::BoxLayout::MAIN_AXIS_ALIGNMENT_START); | |
37 layout->set_cross_axis_alignment( | |
38 views::BoxLayout::CROSS_AXIS_ALIGNMENT_STRETCH); | |
39 layout->SetDefaultFlex(0); | |
40 layout->SetFlexForView(interstitial_content_, 1); | |
41 | |
42 set_background(views::Background::CreateStandardPanelBackground()); | |
43 SetLayoutManager(new views::FillLayout); | |
44 } | |
45 | |
46 DebugView::~DebugView() {} | |
47 | |
48 gfx::Size DebugView::GetPreferredSize() const { | |
49 return interstitial_container_->GetPreferredSize(); | |
50 } | |
51 | |
52 void DebugView::OnPaint(gfx::Canvas* canvas) { | |
53 gfx::Rect stroke_rect = GetLocalBounds(); | |
54 stroke_rect.set_height(1); | |
55 canvas->FillRect(stroke_rect, SK_ColorGRAY); | |
56 } | |
57 | |
58 void DebugView::ButtonPressed(views::Button* sender, const ui::Event& event) { | |
59 DCHECK(view_); | |
60 if (sender == interstitial_show_) { | |
61 view_->ShowInterstitial(base::UTF16ToUTF8(interstitial_content_->text())); | |
62 } else if (sender == interstitial_hide_) { | |
63 view_->HideInterstitial(); | |
64 } | |
65 } | |
66 | |
67 } // namespace browser | |
68 } // namespace mash | |
OLD | NEW |