Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: mash/example/window_type_launcher/window_type_launcher.cc

Issue 1674903003: Extract shell methods from ApplicationImpl into a base class, and pass this to Initialize() instead. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojom
Patch Set: . Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mash/example/window_type_launcher/window_type_launcher.h" 5 #include "mash/example/window_type_launcher/window_type_launcher.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "mash/shell/public/interfaces/shell.mojom.h" 9 #include "mash/shell/public/interfaces/shell.mojom.h"
10 #include "mojo/converters/geometry/geometry_type_converters.h" 10 #include "mojo/converters/geometry/geometry_type_converters.h"
11 #include "mojo/shell/public/cpp/application_connection.h" 11 #include "mojo/shell/public/cpp/application_connection.h"
12 #include "mojo/shell/public/cpp/application_impl.h" 12 #include "mojo/shell/public/cpp/shell.h"
13 #include "ui/aura/window.h" 13 #include "ui/aura/window.h"
14 #include "ui/aura/window_event_dispatcher.h" 14 #include "ui/aura/window_event_dispatcher.h"
15 #include "ui/compositor/layer.h" 15 #include "ui/compositor/layer.h"
16 #include "ui/gfx/canvas.h" 16 #include "ui/gfx/canvas.h"
17 #include "ui/views/context_menu_controller.h" 17 #include "ui/views/context_menu_controller.h"
18 #include "ui/views/controls/button/button.h" 18 #include "ui/views/controls/button/button.h"
19 #include "ui/views/controls/button/label_button.h" 19 #include "ui/views/controls/button/label_button.h"
20 #include "ui/views/controls/menu/menu_delegate.h" 20 #include "ui/views/controls/menu/menu_delegate.h"
21 #include "ui/views/controls/menu/menu_item_view.h" 21 #include "ui/views/controls/menu/menu_item_view.h"
22 #include "ui/views/controls/menu/menu_runner.h" 22 #include "ui/views/controls/menu/menu_runner.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 layout->AddPaddingRow(0, 5); 157 layout->AddPaddingRow(0, 5);
158 } 158 }
159 159
160 // The contents view/delegate of a window that shows some buttons that create 160 // The contents view/delegate of a window that shows some buttons that create
161 // various window types. 161 // various window types.
162 class WindowTypeLauncherView : public views::WidgetDelegateView, 162 class WindowTypeLauncherView : public views::WidgetDelegateView,
163 public views::ButtonListener, 163 public views::ButtonListener,
164 public views::MenuDelegate, 164 public views::MenuDelegate,
165 public views::ContextMenuController { 165 public views::ContextMenuController {
166 public: 166 public:
167 explicit WindowTypeLauncherView(mojo::ApplicationImpl* app) 167 explicit WindowTypeLauncherView(mojo::Shell* shell)
168 : app_(app), 168 : shell_(shell),
169 create_button_(new views::LabelButton( 169 create_button_(new views::LabelButton(
170 this, base::ASCIIToUTF16("Create Window"))), 170 this, base::ASCIIToUTF16("Create Window"))),
171 panel_button_(new views::LabelButton( 171 panel_button_(new views::LabelButton(
172 this, base::ASCIIToUTF16("Create Panel"))), 172 this, base::ASCIIToUTF16("Create Panel"))),
173 create_nonresizable_button_(new views::LabelButton( 173 create_nonresizable_button_(new views::LabelButton(
174 this, base::ASCIIToUTF16("Create Non-Resizable Window"))), 174 this, base::ASCIIToUTF16("Create Non-Resizable Window"))),
175 bubble_button_(new views::LabelButton( 175 bubble_button_(new views::LabelButton(
176 this, base::ASCIIToUTF16("Create Pointy Bubble"))), 176 this, base::ASCIIToUTF16("Create Pointy Bubble"))),
177 lock_button_(new views::LabelButton( 177 lock_button_(new views::LabelButton(
178 this, base::ASCIIToUTF16("Lock Screen"))), 178 this, base::ASCIIToUTF16("Lock Screen"))),
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 NOTIMPLEMENTED(); 267 NOTIMPLEMENTED();
268 } 268 }
269 else if (sender == create_nonresizable_button_) { 269 else if (sender == create_nonresizable_button_) {
270 NOTIMPLEMENTED(); 270 NOTIMPLEMENTED();
271 } 271 }
272 else if (sender == bubble_button_) { 272 else if (sender == bubble_button_) {
273 NOTIMPLEMENTED(); 273 NOTIMPLEMENTED();
274 } 274 }
275 else if (sender == lock_button_) { 275 else if (sender == lock_button_) {
276 mash::shell::mojom::ShellPtr shell; 276 mash::shell::mojom::ShellPtr shell;
277 app_->ConnectToService("mojo:mash_shell", &shell); 277 shell_->ConnectToService("mojo:mash_shell", &shell);
278 shell->LockScreen(); 278 shell->LockScreen();
279 } 279 }
280 else if (sender == widgets_button_) { 280 else if (sender == widgets_button_) {
281 NOTIMPLEMENTED(); 281 NOTIMPLEMENTED();
282 } 282 }
283 else if (sender == system_modal_button_) { 283 else if (sender == system_modal_button_) {
284 ModalWindow::OpenModalWindow(GetWidget()->GetNativeView(), 284 ModalWindow::OpenModalWindow(GetWidget()->GetNativeView(),
285 ui::MODAL_TYPE_SYSTEM); 285 ui::MODAL_TYPE_SYSTEM);
286 } else if (sender == window_modal_button_) { 286 } else if (sender == window_modal_button_) {
287 ModalWindow::OpenModalWindow(GetWidget()->GetNativeView(), 287 ModalWindow::OpenModalWindow(GetWidget()->GetNativeView(),
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 root, MenuRunner::HAS_MNEMONICS | views::MenuRunner::CONTEXT_MENU)); 324 root, MenuRunner::HAS_MNEMONICS | views::MenuRunner::CONTEXT_MENU));
325 if (menu_runner_->RunMenuAt(GetWidget(), 325 if (menu_runner_->RunMenuAt(GetWidget(),
326 NULL, 326 NULL,
327 gfx::Rect(point, gfx::Size()), 327 gfx::Rect(point, gfx::Size()),
328 views::MENU_ANCHOR_TOPLEFT, 328 views::MENU_ANCHOR_TOPLEFT,
329 source_type) == MenuRunner::MENU_DELETED) { 329 source_type) == MenuRunner::MENU_DELETED) {
330 return; 330 return;
331 } 331 }
332 } 332 }
333 333
334 mojo::ApplicationImpl* app_; 334 mojo::Shell* shell_;
335 views::LabelButton* create_button_; 335 views::LabelButton* create_button_;
336 views::LabelButton* panel_button_; 336 views::LabelButton* panel_button_;
337 views::LabelButton* create_nonresizable_button_; 337 views::LabelButton* create_nonresizable_button_;
338 views::LabelButton* bubble_button_; 338 views::LabelButton* bubble_button_;
339 views::LabelButton* lock_button_; 339 views::LabelButton* lock_button_;
340 views::LabelButton* widgets_button_; 340 views::LabelButton* widgets_button_;
341 views::LabelButton* system_modal_button_; 341 views::LabelButton* system_modal_button_;
342 views::LabelButton* window_modal_button_; 342 views::LabelButton* window_modal_button_;
343 views::LabelButton* child_modal_button_; 343 views::LabelButton* child_modal_button_;
344 views::LabelButton* transient_button_; 344 views::LabelButton* transient_button_;
345 views::LabelButton* examples_button_; 345 views::LabelButton* examples_button_;
346 views::LabelButton* show_hide_window_button_; 346 views::LabelButton* show_hide_window_button_;
347 views::LabelButton* show_web_notification_; 347 views::LabelButton* show_web_notification_;
348 scoped_ptr<views::MenuRunner> menu_runner_; 348 scoped_ptr<views::MenuRunner> menu_runner_;
349 349
350 DISALLOW_COPY_AND_ASSIGN(WindowTypeLauncherView); 350 DISALLOW_COPY_AND_ASSIGN(WindowTypeLauncherView);
351 }; 351 };
352 352
353 } // namespace 353 } // namespace
354 354
355 WindowTypeLauncher::WindowTypeLauncher() {} 355 WindowTypeLauncher::WindowTypeLauncher() {}
356 WindowTypeLauncher::~WindowTypeLauncher() {} 356 WindowTypeLauncher::~WindowTypeLauncher() {}
357 357
358 bool WindowTypeLauncher::AcceptConnection( 358 bool WindowTypeLauncher::AcceptConnection(
359 mojo::ApplicationConnection* connection) { 359 mojo::ApplicationConnection* connection) {
360 return false; 360 return false;
361 } 361 }
362 362
363 void WindowTypeLauncher::Initialize(mojo::ApplicationImpl* app) { 363 void WindowTypeLauncher::Initialize(mojo::Shell* shell, const std::string& url,
364 aura_init_.reset(new views::AuraInit(app, "views_mus_resources.pak")); 364 uint32_t id) {
365 aura_init_.reset(new views::AuraInit(shell, "views_mus_resources.pak"));
365 366
366 views::WindowManagerConnection::Create(app); 367 views::WindowManagerConnection::Create(shell);
367 368
368 views::Widget* widget = new views::Widget; 369 views::Widget* widget = new views::Widget;
369 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 370 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
370 params.delegate = new WindowTypeLauncherView(app); 371 params.delegate = new WindowTypeLauncherView(shell);
371 widget->Init(params); 372 widget->Init(params);
372 widget->Show(); 373 widget->Show();
373 } 374 }
OLDNEW
« no previous file with comments | « mash/example/window_type_launcher/window_type_launcher.h ('k') | mash/quick_launch/quick_launch.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698