diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-25 15:35:00 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-25 15:35:00 +0000 |
commit | a79264fce8c9e38af05c47f0065d95aa837cc43b (patch) | |
tree | 05a76d19cb66f7e18ef44a4293aac86f38fe842c /views/examples | |
parent | 4e973e281785cad32a92efcb29c70506ff3e1d5d (diff) | |
download | chromium_src-a79264fce8c9e38af05c47f0065d95aa837cc43b.zip chromium_src-a79264fce8c9e38af05c47f0065d95aa837cc43b.tar.gz chromium_src-a79264fce8c9e38af05c47f0065d95aa837cc43b.tar.bz2 |
views: Add Link example.
BUG=None
TEST=compile with toolkit_views=1, run out/Debug/views_examples. You should see a link tab,
and a link with "Click me!" and make sure it works.
R=oshima@chromium.org,sky@chromium.org
Review URL: http://codereview.chromium.org/6883122
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82870 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/examples')
-rw-r--r-- | views/examples/examples_main.cc | 5 | ||||
-rw-r--r-- | views/examples/link_example.cc | 34 | ||||
-rw-r--r-- | views/examples/link_example.h | 41 |
3 files changed, 80 insertions, 0 deletions
diff --git a/views/examples/examples_main.cc b/views/examples/examples_main.cc index e3d20a0..7f12733 100644 --- a/views/examples/examples_main.cc +++ b/views/examples/examples_main.cc @@ -16,6 +16,7 @@ #include "views/controls/tabbed_pane/tabbed_pane.h" #include "views/examples/button_example.h" #include "views/examples/combobox_example.h" +#include "views/examples/link_example.h" #include "views/examples/menu_example.h" #include "views/examples/message_box_example.h" #include "views/examples/native_theme_button_example.h" @@ -118,6 +119,10 @@ void ExamplesMain::Run() { tabbed_pane->AddTab(combobox_example.GetExampleTitle(), combobox_example.GetExampleView()); + examples::LinkExample link_example(this); + tabbed_pane->AddTab(link_example.GetExampleTitle(), + link_example.GetExampleView()); + examples::TabbedPaneExample tabbed_pane_example(this); tabbed_pane->AddTab(tabbed_pane_example.GetExampleTitle(), tabbed_pane_example.GetExampleView()); diff --git a/views/examples/link_example.cc b/views/examples/link_example.cc new file mode 100644 index 0000000..fd08999 --- /dev/null +++ b/views/examples/link_example.cc @@ -0,0 +1,34 @@ +// 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/link_example.h" + +#include "views/layout/fill_layout.h" +#include "views/view.h" + +namespace examples { + +LinkExample::LinkExample(ExamplesMain* main) : ExampleBase(main) { +} + +LinkExample::~LinkExample() { +} + +std::wstring LinkExample::GetExampleTitle() { + return L"Link"; +} + +void LinkExample::CreateExampleView(views::View* container) { + link_ = new views::Link(L"Click me!"); + link_->SetController(this); + + container->SetLayoutManager(new views::FillLayout); + container->AddChildView(link_); +} + +void LinkExample::LinkActivated(views::Link* source, int event_flags) { + PrintStatus(L"Link clicked"); +} + +} // namespace examples diff --git a/views/examples/link_example.h b/views/examples/link_example.h new file mode 100644 index 0000000..c9ea9f81 --- /dev/null +++ b/views/examples/link_example.h @@ -0,0 +1,41 @@ +// 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. + +#ifndef VIEWS_EXAMPLES_LINK_EXAMPLE_H_ +#define VIEWS_EXAMPLES_LINK_EXAMPLE_H_ +#pragma once + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "views/controls/link.h" +#include "views/examples/example_base.h" + +namespace views { +class View; +} + +namespace examples { + +class LinkExample : public ExampleBase, + public views::LinkController { + public: + explicit LinkExample(ExamplesMain* main); + virtual ~LinkExample(); + + // Overridden from ExampleBase: + virtual std::wstring GetExampleTitle() OVERRIDE; + virtual void CreateExampleView(views::View* container) OVERRIDE; + + private: + // Overridden from views::LinkController: + virtual void LinkActivated(views::Link* source, int event_flags) OVERRIDE; + + views::Link* link_; + + DISALLOW_COPY_AND_ASSIGN(LinkExample); +}; + +} // namespace examples + +#endif // VIEWS_EXAMPLES_LINK_EXAMPLE_H_ |