summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-25 15:35:00 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-25 15:35:00 +0000
commita79264fce8c9e38af05c47f0065d95aa837cc43b (patch)
tree05a76d19cb66f7e18ef44a4293aac86f38fe842c /views
parent4e973e281785cad32a92efcb29c70506ff3e1d5d (diff)
downloadchromium_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')
-rw-r--r--views/examples/examples_main.cc5
-rw-r--r--views/examples/link_example.cc34
-rw-r--r--views/examples/link_example.h41
-rw-r--r--views/views.gyp2
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',