diff options
-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 | ||||
-rw-r--r-- | views/views.gyp | 2 |
4 files changed, 82 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_ diff --git a/views/views.gyp b/views/views.gyp index 7bfa73c..5e93293 100644 --- a/views/views.gyp +++ b/views/views.gyp @@ -569,6 +569,8 @@ 'examples/example_base.h', 'examples/examples_main.cc', 'examples/examples_main.h', + 'examples/link_example.cc', + 'examples/link_example.h', 'examples/message_box_example.cc', 'examples/message_box_example.h', 'examples/menu_example.cc', |