OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "views/controls/tree/tree_view.h" | 5 #include "views/controls/tree/tree_view.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "app/l10n_util_win.h" | 9 #include "app/l10n_util_win.h" |
10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
11 #include "base/i18n/rtl.h" | 11 #include "base/i18n/rtl.h" |
12 #include "base/keyboard_codes.h" | 12 #include "base/keyboard_codes.h" |
| 13 #include "base/logging.h" |
13 #include "base/stl_util-inl.h" | 14 #include "base/stl_util-inl.h" |
14 #include "base/win_util.h" | 15 #include "base/win_util.h" |
15 #include "gfx/canvas_skia.h" | 16 #include "gfx/canvas_skia.h" |
16 #include "gfx/canvas_skia_paint.h" | 17 #include "gfx/canvas_skia_paint.h" |
17 #include "gfx/favicon_size.h" | 18 #include "gfx/favicon_size.h" |
18 #include "gfx/icon_util.h" | 19 #include "gfx/icon_util.h" |
19 #include "gfx/point.h" | 20 #include "gfx/point.h" |
20 #include "grit/app_resources.h" | 21 #include "grit/app_resources.h" |
21 #include "views/focus/focus_manager.h" | 22 #include "views/focus/focus_manager.h" |
22 #include "views/widget/widget.h" | 23 #include "views/widget/widget.h" |
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 } | 597 } |
597 | 598 |
598 TreeView_DeleteItem(tree_view_, item); | 599 TreeView_DeleteItem(tree_view_, item); |
599 | 600 |
600 // finally, it is safe to delete the data for this node. | 601 // finally, it is safe to delete the data for this node. |
601 id_to_details_map_.erase(node->id); | 602 id_to_details_map_.erase(node->id); |
602 node_to_details_map_.erase(node->node); | 603 node_to_details_map_.erase(node->node); |
603 delete node; | 604 delete node; |
604 } | 605 } |
605 | 606 |
| 607 TreeView::NodeDetails* TreeView::GetNodeDetails(TreeModelNode* node) { |
| 608 DCHECK(node && |
| 609 node_to_details_map_.find(node) != node_to_details_map_.end()); |
| 610 return node_to_details_map_[node]; |
| 611 } |
| 612 |
| 613 // Returns the NodeDetails by identifier (lparam of the HTREEITEM). |
| 614 TreeView::NodeDetails* TreeView::GetNodeDetailsByID(int id) { |
| 615 DCHECK(id_to_details_map_.find(id) != id_to_details_map_.end()); |
| 616 return id_to_details_map_[id]; |
| 617 } |
| 618 |
606 TreeView::NodeDetails* TreeView::GetNodeDetailsByTreeItem(HTREEITEM tree_item) { | 619 TreeView::NodeDetails* TreeView::GetNodeDetailsByTreeItem(HTREEITEM tree_item) { |
607 DCHECK(tree_view_ && tree_item); | 620 DCHECK(tree_view_ && tree_item); |
608 TV_ITEM tv_item = {0}; | 621 TV_ITEM tv_item = {0}; |
609 tv_item.hItem = tree_item; | 622 tv_item.hItem = tree_item; |
610 tv_item.mask = TVIF_PARAM; | 623 tv_item.mask = TVIF_PARAM; |
611 if (TreeView_GetItem(tree_view_, &tv_item)) | 624 if (TreeView_GetItem(tree_view_, &tv_item)) |
612 return GetNodeDetailsByID(static_cast<int>(tv_item.lParam)); | 625 return GetNodeDetailsByID(static_cast<int>(tv_item.lParam)); |
613 return NULL; | 626 return NULL; |
614 } | 627 } |
615 | 628 |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 } | 766 } |
754 // Fall through and let the default handler process as well. | 767 // Fall through and let the default handler process as well. |
755 break; | 768 break; |
756 } | 769 } |
757 WNDPROC handler = tree->original_handler_; | 770 WNDPROC handler = tree->original_handler_; |
758 DCHECK(handler); | 771 DCHECK(handler); |
759 return CallWindowProc(handler, window, message, w_param, l_param); | 772 return CallWindowProc(handler, window, message, w_param, l_param); |
760 } | 773 } |
761 | 774 |
762 } // namespace views | 775 } // namespace views |
OLD | NEW |