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

Side by Side Diff: ash/shelf/shelf_view.h

Issue 2860503002: mash: Replace int ShelfIDs with AppLaunchID strings. (Closed)
Patch Set: Fix struct traits typo. Created 3 years, 7 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
« no previous file with comments | « ash/shelf/shelf_unittest.cc ('k') | ash/shelf/shelf_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef ASH_SHELF_SHELF_VIEW_H_ 5 #ifndef ASH_SHELF_SHELF_VIEW_H_
6 #define ASH_SHELF_SHELF_VIEW_H_ 6 #define ASH_SHELF_SHELF_VIEW_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 WmShelf* wm_shelf() const { return wm_shelf_; } 77 WmShelf* wm_shelf() const { return wm_shelf_; }
78 ShelfModel* model() const { return model_; } 78 ShelfModel* model() const { return model_; }
79 79
80 void Init(); 80 void Init();
81 81
82 void OnShelfAlignmentChanged(); 82 void OnShelfAlignmentChanged();
83 83
84 // Returns the ideal bounds of the specified item, or an empty rect if id 84 // Returns the ideal bounds of the specified item, or an empty rect if id
85 // isn't know. If the item is in an overflow shelf, the overflow icon location 85 // isn't know. If the item is in an overflow shelf, the overflow icon location
86 // will be returned. 86 // will be returned.
87 gfx::Rect GetIdealBoundsOfItemIcon(ShelfID id); 87 gfx::Rect GetIdealBoundsOfItemIcon(const ShelfID& id);
88 88
89 // Repositions the icon for the specified item by the midpoint of the window. 89 // Repositions the icon for the specified item by the midpoint of the window.
90 void UpdatePanelIconPosition(ShelfID id, const gfx::Point& midpoint); 90 void UpdatePanelIconPosition(const ShelfID& id, const gfx::Point& midpoint);
91 91
92 // Returns true if we're showing a menu. 92 // Returns true if we're showing a menu.
93 bool IsShowingMenu() const; 93 bool IsShowingMenu() const;
94 94
95 // Returns true if overflow bubble is shown. 95 // Returns true if overflow bubble is shown.
96 bool IsShowingOverflowBubble() const; 96 bool IsShowingOverflowBubble() const;
97 97
98 // Sets owner overflow bubble instance from which this shelf view pops 98 // Sets owner overflow bubble instance from which this shelf view pops
99 // out as overflow. 99 // out as overflow.
100 void set_owner_overflow_bubble(OverflowBubble* owner) { 100 void set_owner_overflow_bubble(OverflowBubble* owner) {
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 // |dragging_| is set only if the mouse is dragged far enough. 388 // |dragging_| is set only if the mouse is dragged far enough.
389 ShelfButton* drag_view_ = nullptr; 389 ShelfButton* drag_view_ = nullptr;
390 390
391 // Position of the mouse down event in |drag_view_|'s coordinates. 391 // Position of the mouse down event in |drag_view_|'s coordinates.
392 gfx::Point drag_origin_; 392 gfx::Point drag_origin_;
393 393
394 // Index |drag_view_| was initially at. 394 // Index |drag_view_| was initially at.
395 int start_drag_index_ = -1; 395 int start_drag_index_ = -1;
396 396
397 // Used for the context menu of a particular item. 397 // Used for the context menu of a particular item.
398 ShelfID context_menu_id_ = 0; 398 ShelfID context_menu_id_;
399 399
400 std::unique_ptr<views::FocusSearch> focus_search_; 400 std::unique_ptr<views::FocusSearch> focus_search_;
401 401
402 // Manages the context menu, and the list menu. 402 // Manages the context menu, and the list menu.
403 std::unique_ptr<ui::MenuModel> menu_model_; 403 std::unique_ptr<ui::MenuModel> menu_model_;
404 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_; 404 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_;
405 std::unique_ptr<views::MenuRunner> launcher_menu_runner_; 405 std::unique_ptr<views::MenuRunner> launcher_menu_runner_;
406 std::unique_ptr<ScopedRootWindowForNewWindows> 406 std::unique_ptr<ScopedRootWindowForNewWindows>
407 scoped_root_window_for_new_windows_; 407 scoped_root_window_for_new_windows_;
408 408
409 // True when an item being inserted or removed in the model cancels a drag. 409 // True when an item being inserted or removed in the model cancels a drag.
410 bool cancelling_drag_model_changed_ = false; 410 bool cancelling_drag_model_changed_ = false;
411 411
412 // Index of the last hidden launcher item. If there are no hidden items this 412 // Index of the last hidden launcher item. If there are no hidden items this
413 // will be equal to last_visible_index_ + 1. 413 // will be equal to last_visible_index_ + 1.
414 mutable int last_hidden_index_ = 0; 414 mutable int last_hidden_index_ = 0;
415 415
416 // The timestamp of the event which closed the last menu - or 0. 416 // The timestamp of the event which closed the last menu - or 0.
417 base::TimeTicks closing_event_time_; 417 base::TimeTicks closing_event_time_;
418 418
419 // The timestamp of the last shelf item touch press event. 419 // The timestamp of the last shelf item touch press event.
420 base::TimeTicks touch_press_time_; 420 base::TimeTicks touch_press_time_;
421 421
422 // True if a drag and drop operation created/pinned the item in the launcher 422 // True if a drag and drop operation created/pinned the item in the launcher
423 // and it needs to be deleted/unpinned again if the operation gets cancelled. 423 // and it needs to be deleted/unpinned again if the operation gets cancelled.
424 bool drag_and_drop_item_pinned_ = false; 424 bool drag_and_drop_item_pinned_ = false;
425 425
426 // The ShelfItem which is currently used for a drag and a drop operation 426 // The ShelfItem currently used for drag and drop; empty if none.
427 // or 0 otherwise. 427 ShelfID drag_and_drop_shelf_id_;
428 ShelfID drag_and_drop_shelf_id_ = 0;
429 428
430 // The application ID of the application which we drag and drop. 429 // The application ID of the application which we drag and drop.
431 std::string drag_and_drop_app_id_; 430 std::string drag_and_drop_app_id_;
432 431
433 // The original launcher item's size before the dragging operation. 432 // The original launcher item's size before the dragging operation.
434 gfx::Size pre_drag_and_drop_size_; 433 gfx::Size pre_drag_and_drop_size_;
435 434
436 // The image proxy for drag operations when a drag and drop host exists and 435 // The image proxy for drag operations when a drag and drop host exists and
437 // the item can be dragged outside the app grid. 436 // the item can be dragged outside the app grid.
438 std::unique_ptr<ash::DragImageView> drag_image_; 437 std::unique_ptr<ash::DragImageView> drag_image_;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 ShelfButtonPressedMetricTracker shelf_button_pressed_metric_tracker_; 470 ShelfButtonPressedMetricTracker shelf_button_pressed_metric_tracker_;
472 471
473 base::WeakPtrFactory<ShelfView> weak_factory_; 472 base::WeakPtrFactory<ShelfView> weak_factory_;
474 473
475 DISALLOW_COPY_AND_ASSIGN(ShelfView); 474 DISALLOW_COPY_AND_ASSIGN(ShelfView);
476 }; 475 };
477 476
478 } // namespace ash 477 } // namespace ash
479 478
480 #endif // ASH_SHELF_SHELF_VIEW_H_ 479 #endif // ASH_SHELF_SHELF_VIEW_H_
OLDNEW
« no previous file with comments | « ash/shelf/shelf_unittest.cc ('k') | ash/shelf/shelf_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698