diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-27 19:29:47 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-27 19:29:47 +0000 |
commit | f039dcd91912b8bf68ec73d744ad38ff4b4d1398 (patch) | |
tree | ac742b926916f8c463d56ba986452b74665c76c0 /chrome/browser/chromeos | |
parent | f7319dd6e64e34e091de48d210fb6870a6cfd586 (diff) | |
download | chromium_src-f039dcd91912b8bf68ec73d744ad38ff4b4d1398.zip chromium_src-f039dcd91912b8bf68ec73d744ad38ff4b4d1398.tar.gz chromium_src-f039dcd91912b8bf68ec73d744ad38ff4b4d1398.tar.bz2 |
Adds the settings tab to options on chrome os. The contents is just a place
holder at this point.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/174596
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24642 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/settings_page_view.cc | 35 | ||||
-rw-r--r-- | chrome/browser/chromeos/settings_page_view.h | 29 |
2 files changed, 64 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/settings_page_view.cc b/chrome/browser/chromeos/settings_page_view.cc new file mode 100644 index 0000000..bfbb46f --- /dev/null +++ b/chrome/browser/chromeos/settings_page_view.cc @@ -0,0 +1,35 @@ +// Copyright (c) 2009 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 "chrome/browser/chromeos/settings_page_view.h" + +#include "views/controls/label.h" +#include "views/fill_layout.h" +#include "views/widget/widget_gtk.h" + +SettingsPageView::SettingsPageView(Profile* profile) + : OptionsPageView(profile) { + SetLayoutManager(new views::FillLayout()); +} + +GtkWidget* SettingsPageView::WrapInGtkWidget() { + views::WidgetGtk* widget = + new views::WidgetGtk(views::WidgetGtk::TYPE_CHILD); + widget->Init(NULL, gfx::Rect()); + widget->SetContentsView(this); + widget->Show(); + // Removing the widget from the container results in unref'ing the widget. We + // need to ref here otherwise the removal deletes the widget. The caller ends + // up taking ownership. + g_object_ref(widget->GetNativeView()); + GtkWidget* parent = gtk_widget_get_parent(widget->GetNativeView()); + gtk_container_remove(GTK_CONTAINER(parent), widget->GetNativeView()); + return widget->GetNativeView(); +} + +void SettingsPageView::InitControlLayout() { + // Remove this and add the real views we want. We'll likely need to make this + // scrollable as well. + AddChildView(new views::Label(L"Implement me")); +} diff --git a/chrome/browser/chromeos/settings_page_view.h b/chrome/browser/chromeos/settings_page_view.h new file mode 100644 index 0000000..b512fea --- /dev/null +++ b/chrome/browser/chromeos/settings_page_view.h @@ -0,0 +1,29 @@ +// Copyright (c) 2009 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. + +#ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_PAGE_VIEW_H_ +#define CHROME_BROWSER_CHROMEOS_SETTINGS_PAGE_VIEW_H_ + +#include "chrome/browser/views/options/options_page_view.h" + +#include <gtk/gtk.h> + +// Settings page for Chrome OS. +class SettingsPageView : public OptionsPageView { + public: + explicit SettingsPageView(Profile* profile); + + // Wraps the SettingsPageView in a GtkWidget and returns it. It's up to the + // caller to delete (unref) the returned widget, which in turn deletes this + // SettingsPageView. + GtkWidget* WrapInGtkWidget(); + + protected: + virtual void InitControlLayout(); + + private: + DISALLOW_COPY_AND_ASSIGN(SettingsPageView); +}; + +#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_PAGE_VIEW_H_ |