| Index: views/examples/widget_example.cc
|
| diff --git a/views/examples/widget_example.cc b/views/examples/widget_example.cc
|
| deleted file mode 100644
|
| index ed93ced3e04d27611bf44dbdb5f95334924d71cf..0000000000000000000000000000000000000000
|
| --- a/views/examples/widget_example.cc
|
| +++ /dev/null
|
| @@ -1,169 +0,0 @@
|
| -// Copyright (c) 2011 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.
|
| -
|
| -#include "views/examples/widget_example.h"
|
| -
|
| -#include "base/utf_string_conversions.h"
|
| -#include "views/controls/button/text_button.h"
|
| -#include "views/layout/box_layout.h"
|
| -#include "views/layout/layout_manager.h"
|
| -#include "views/view.h"
|
| -#include "views/widget/widget.h"
|
| -
|
| -namespace {
|
| -
|
| -// A layout manager that layouts a single child at
|
| -// the center of the host view.
|
| -class CenterLayout : public views::LayoutManager {
|
| - public:
|
| - CenterLayout() {}
|
| - virtual ~CenterLayout() {}
|
| -
|
| - // Overridden from LayoutManager:
|
| - virtual void Layout(views::View* host) {
|
| - views::View* child = host->child_at(0);
|
| - gfx::Size size = child->GetPreferredSize();
|
| - child->SetBounds((host->width() - size.width()) / 2,
|
| - (host->height() - size.height()) / 2,
|
| - size.width(), size.height());
|
| - }
|
| -
|
| - virtual gfx::Size GetPreferredSize(views::View* host) {
|
| - return gfx::Size();
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(CenterLayout);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -namespace examples {
|
| -
|
| -WidgetExample::WidgetExample(ExamplesMain* main)
|
| - : ExampleBase(main, "Widget") {
|
| -}
|
| -
|
| -WidgetExample::~WidgetExample() {
|
| -}
|
| -
|
| -void WidgetExample::CreateExampleView(views::View* container) {
|
| - container->SetLayoutManager(
|
| - new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 2));
|
| - BuildButton(container, "Create a popup widget", POPUP);
|
| - BuildButton(container, "Create a transparent popup widget",
|
| - TRANSPARENT_POPUP);
|
| -#if defined(OS_LINUX)
|
| - views::View* vert_container = new views::View();
|
| - container->AddChildView(vert_container);
|
| - vert_container->SetLayoutManager(
|
| - new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 20));
|
| - BuildButton(vert_container, "Create a child widget", CHILD);
|
| - BuildButton(vert_container, "Create a transparent child widget",
|
| - TRANSPARENT_CHILD);
|
| -#endif
|
| -}
|
| -
|
| -void WidgetExample::BuildButton(views::View* container,
|
| - const std::string& label,
|
| - int tag) {
|
| - views::TextButton* button = new views::TextButton(this, ASCIIToUTF16(label));
|
| - button->set_tag(tag);
|
| - container->AddChildView(button);
|
| -}
|
| -
|
| -void WidgetExample::InitWidget(views::Widget* widget, bool transparent) {
|
| - // Add view/native buttons to close the popup widget.
|
| - views::TextButton* close_button = new views::TextButton(
|
| - this, ASCIIToUTF16("Close"));
|
| - close_button->set_tag(CLOSE_WIDGET);
|
| - // TODO(oshima): support transparent native view.
|
| - views::NativeTextButton* native_button = new views::NativeTextButton(
|
| - this, ASCIIToUTF16("Native Close"));
|
| - native_button->set_tag(CLOSE_WIDGET);
|
| -
|
| - views::View* button_container = new views::View();
|
| - button_container->SetLayoutManager(
|
| - new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 1));
|
| - button_container->AddChildView(close_button);
|
| - button_container->AddChildView(native_button);
|
| -
|
| - views::View* widget_container = new views::View();
|
| - widget_container->SetLayoutManager(new CenterLayout);
|
| - widget_container->AddChildView(button_container);
|
| -
|
| - widget->SetContentsView(widget_container);
|
| -
|
| - if (!transparent) {
|
| - widget_container->set_background(
|
| - views::Background::CreateStandardPanelBackground());
|
| - }
|
| -
|
| - // Show the widget.
|
| - widget->Show();
|
| -}
|
| -
|
| -#if defined(OS_LINUX)
|
| -void WidgetExample::CreateChild(views::View* parent, bool transparent) {
|
| - views::Widget* widget = new views::Widget;
|
| - // Compute where to place the child widget.
|
| - // We'll place it at the center of the root widget.
|
| - views::Widget* parent_widget = parent->GetWidget();
|
| - gfx::Rect bounds = parent_widget->GetClientAreaScreenBounds();
|
| - // Child widget is 200x200 square.
|
| - bounds.SetRect((bounds.width() - 200) / 2, (bounds.height() - 200) / 2,
|
| - 200, 200);
|
| - // Initialize the child widget with the computed bounds.
|
| - views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL);
|
| - params.transparent = transparent;
|
| - params.parent_widget = parent_widget;
|
| - widget->Init(params);
|
| - InitWidget(widget, transparent);
|
| -}
|
| -#endif
|
| -
|
| -void WidgetExample::CreatePopup(views::View* parent, bool transparent) {
|
| - views::Widget* widget = new views::Widget;
|
| -
|
| - // Compute where to place the popup widget.
|
| - // We'll place it right below the create button.
|
| - gfx::Point point = parent->GetMirroredPosition();
|
| - // The position in point is relative to the parent. Make it absolute.
|
| - views::View::ConvertPointToScreen(parent, &point);
|
| - // Add the height of create_button_.
|
| - point.Offset(0, parent->size().height());
|
| -
|
| - // Initialize the popup widget with the computed bounds.
|
| - views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP);
|
| - params.transparent = transparent;
|
| - params.parent_widget = parent->GetWidget();
|
| - params.bounds = gfx::Rect(point.x(), point.y(), 200, 300);
|
| - widget->Init(params);
|
| - InitWidget(widget, transparent);
|
| -}
|
| -
|
| -void WidgetExample::ButtonPressed(views::Button* sender,
|
| - const views::Event& event) {
|
| - switch (sender->tag()) {
|
| - case POPUP:
|
| - CreatePopup(sender, false);
|
| - break;
|
| - case TRANSPARENT_POPUP:
|
| - CreatePopup(sender, true);
|
| - break;
|
| -#if defined(OS_LINUX)
|
| - case CHILD:
|
| - CreateChild(sender, false);
|
| - break;
|
| - case TRANSPARENT_CHILD:
|
| - CreateChild(sender, true);
|
| - break;
|
| -#endif
|
| - case CLOSE_WIDGET:
|
| - sender->GetWidget()->Close();
|
| - break;
|
| - }
|
| -}
|
| -
|
| -} // namespace examples
|
|
|