Index: ui/oak/oak_window.cc |
diff --git a/ui/oak/oak_window.cc b/ui/oak/oak_window.cc |
deleted file mode 100644 |
index 5ef6b02147b0f4c83b33030881391512199c131e..0000000000000000000000000000000000000000 |
--- a/ui/oak/oak_window.cc |
+++ /dev/null |
@@ -1,159 +0,0 @@ |
-// Copyright (c) 2012 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 "ui/oak/oak_window.h" |
- |
-#include "base/strings/utf_string_conversions.h" |
-#include "grit/ui_resources.h" |
-#include "ui/aura/root_window.h" |
-#include "ui/aura/window.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/gfx/canvas.h" |
-#include "ui/gfx/image/image.h" |
-#include "ui/oak/oak.h" |
-#include "ui/oak/oak_aura_window_display.h" |
-#include "ui/views/controls/table/table_view.h" |
-#include "ui/views/controls/tree/tree_view.h" |
-#include "ui/views/layout/layout_constants.h" |
-#include "ui/views/widget/widget.h" |
- |
-namespace oak { |
-namespace internal { |
-namespace { |
-const SkColor kBorderColor = SkColorSetRGB(0xCC, 0xCC, 0xCC); |
-} // namespace |
- |
-// static |
-views::Widget* OakWindow::instance = NULL; |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// OakWindow, public: |
- |
-OakWindow::OakWindow() : tree_container_(NULL) {} |
- |
-OakWindow::~OakWindow() { |
- // The tree/table need to be destroyed before the model. |
- tree_.reset(); |
- details_.reset(); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// OakWindow, views::WidgetDelegateView implementation: |
- |
-bool OakWindow::CanResize() const { |
- return true; |
-} |
- |
-bool OakWindow::CanMaximize() const { |
- return true; |
-} |
- |
-base::string16 OakWindow::GetWindowTitle() const { |
- return base::ASCIIToUTF16("Oak"); |
-} |
- |
-views::View* OakWindow::GetContentsView() { |
- return this; |
-} |
- |
-gfx::ImageSkia OakWindow::GetWindowIcon() { |
- ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
- return *rb.GetImageNamed(IDR_OAK).ToImageSkia(); |
-} |
- |
-bool OakWindow::ShouldShowWindowIcon() const { |
- return true; |
-} |
- |
-void OakWindow::DeleteDelegate() { |
- instance = NULL; |
- delete this; |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// OakWindow, views::View overrides: |
- |
-void OakWindow::OnPaint(gfx::Canvas* canvas) { |
- canvas->DrawColor(SK_ColorWHITE); |
- canvas->FillRect(separator_rect_, kBorderColor); |
-} |
- |
-void OakWindow::ViewHierarchyChanged( |
- const ViewHierarchyChangedDetails& details) { |
- if (details.is_add && details.child == this) |
- Init(); |
-} |
- |
-void OakWindow::Layout() { |
- gfx::Rect content_bounds = GetLocalBounds(); |
- content_bounds.Inset(views::kPanelHorizMargin, views::kPanelVertMargin); |
- |
- int tree_height = |
- (content_bounds.height() / 2) - views::kUnrelatedControlVerticalSpacing; |
- gfx::Rect tree_bounds = content_bounds; |
- tree_bounds.set_height(tree_height); |
- tree_container_->SetBoundsRect(tree_bounds); |
- |
- separator_rect_ = content_bounds; |
- separator_rect_.set_y( |
- tree_bounds.bottom() + views::kRelatedControlVerticalSpacing); |
- separator_rect_.set_height(1); |
- |
- gfx::Rect details_bounds = content_bounds; |
- details_bounds.set_y( |
- separator_rect_.bottom() + views::kRelatedControlVerticalSpacing); |
- details_bounds.set_height(content_bounds.bottom() - details_bounds.y()); |
- details_container_->SetBoundsRect(details_bounds); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// OakWindow, views::TreeViewController implementation: |
- |
-void OakWindow::OnTreeViewSelectionChanged(views::TreeView* tree) { |
- details_model_->SetValue(tree_model_->AsNode(tree->GetSelectedNode())->value); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// OakWindow, private: |
- |
-void OakWindow::Init() { |
- tree_model_.reset( |
- GenerateModel(GetWidget()->GetNativeView()->GetRootWindow())); |
- tree_.reset(new views::TreeView); |
- tree_->set_owned_by_client(); |
- tree_->SetController(this); |
- tree_->SetModel(tree_model_.get()); |
- tree_container_ = tree_->CreateParentIfNecessary(); |
- AddChildView(tree_container_); |
- |
- details_model_.reset(new OakAuraWindowDisplay); |
- std::vector<ui::TableColumn> columns; |
- columns.push_back(ui::TableColumn()); |
- details_.reset(new views::TableView(details_model_.get(), |
- columns, |
- views::TEXT_ONLY, |
- true)); |
- details_->set_owned_by_client(); |
- details_container_ = details_->CreateParentIfNecessary(); |
- details_->SetModel(details_model_.get()); |
- AddChildView(details_container_); |
- |
- OnTreeViewSelectionChanged(tree_.get()); |
-} |
- |
-} // namespace internal |
- |
-void ShowOakWindowWithContext(gfx::NativeView context) { |
- if (!internal::OakWindow::instance) { |
- // TODO(erg): Do we want to reuse this window in times with a different |
- // context? For now, this is OK, but if we ever use Oak outside of the ash |
- // shell, we run into crbug.com/165759. |
- internal::OakWindow::instance = |
- views::Widget::CreateWindowWithContextAndBounds( |
- new internal::OakWindow, context, gfx::Rect(10, 10, 500, 500)); |
- } |
- internal::OakWindow::instance->Show(); |
-} |
- |
-} // namespace oak |