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

Side by Side Diff: views/controls/table/native_table_win.cc

Issue 7790009: views: Fix a couple of other trivial TODOs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « views/controls/table/native_table_win.h ('k') | views/controls/table/native_table_wrapper.h » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/table/native_table_win.h" 5 #include "views/controls/table/native_table_win.h"
6 6
7 #include <commctrl.h> 7 #include <commctrl.h>
8 #include <windowsx.h> 8 #include <windowsx.h>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "skia/ext/skia_utils_win.h" 11 #include "skia/ext/skia_utils_win.h"
12 #include "ui/base/l10n/l10n_util.h" 12 #include "ui/base/l10n/l10n_util.h"
13 #include "ui/base/l10n/l10n_util_win.h" 13 #include "ui/base/l10n/l10n_util_win.h"
14 #include "ui/base/models/table_model.h" 14 #include "ui/base/models/table_model.h"
15 #include "ui/base/win/hwnd_util.h" 15 #include "ui/base/win/hwnd_util.h"
16 #include "ui/gfx/canvas_skia.h" 16 #include "ui/gfx/canvas_skia.h"
17 #include "ui/gfx/favicon_size.h" 17 #include "ui/gfx/favicon_size.h"
18 #include "ui/gfx/icon_util.h" 18 #include "ui/gfx/icon_util.h"
19 #include "views/controls/table/table_view2.h" 19 #include "views/controls/table/table_view2.h"
20 #include "views/controls/table/table_view_observer.h" 20 #include "views/controls/table/table_view_observer.h"
21 #include "views/widget/widget.h" 21 #include "views/widget/widget.h"
22 22
23 using ui::TableColumn;
24
25 namespace views { 23 namespace views {
26 24
27 // Added to column width to prevent truncation. 25 // Added to column width to prevent truncation.
28 const int kListViewTextPadding = 15; 26 const int kListViewTextPadding = 15;
29 // Additional column width necessary if column has icons. 27 // Additional column width necessary if column has icons.
30 const int kListViewIconWidthAndPadding = 18; 28 const int kListViewIconWidthAndPadding = 18;
31 29
32 // static 30 // static
33 const int NativeTableWin::kImageSize = 18; 31 const int NativeTableWin::kImageSize = 18;
34 32
(...skipping 17 matching lines...) Expand all
52 50
53 //////////////////////////////////////////////////////////////////////////////// 51 ////////////////////////////////////////////////////////////////////////////////
54 // NativeTableWin, NativeTableWrapper implementation: 52 // NativeTableWin, NativeTableWrapper implementation:
55 53
56 int NativeTableWin::GetRowCount() const { 54 int NativeTableWin::GetRowCount() const {
57 if (!native_view()) 55 if (!native_view())
58 return 0; 56 return 0;
59 return ListView_GetItemCount(native_view()); 57 return ListView_GetItemCount(native_view());
60 } 58 }
61 59
62 void NativeTableWin::InsertColumn(const TableColumn& tc, int index) { 60 void NativeTableWin::InsertColumn(const ui::TableColumn& tc, int index) {
63 if (!native_view()) 61 if (!native_view())
64 return; 62 return;
65 63
66 LVCOLUMN column = { 0 }; 64 LVCOLUMN column = { 0 };
67 column.mask = LVCF_TEXT|LVCF_FMT; 65 column.mask = LVCF_TEXT|LVCF_FMT;
68 column.pszText = const_cast<LPWSTR>(tc.title.c_str()); 66 column.pszText = const_cast<LPWSTR>(tc.title.c_str());
69 switch (tc.alignment) { 67 switch (tc.alignment) {
70 case TableColumn::LEFT: 68 case ui::TableColumn::LEFT:
71 column.fmt = LVCFMT_LEFT; 69 column.fmt = LVCFMT_LEFT;
72 break; 70 break;
73 case TableColumn::RIGHT: 71 case ui::TableColumn::RIGHT:
74 column.fmt = LVCFMT_RIGHT; 72 column.fmt = LVCFMT_RIGHT;
75 break; 73 break;
76 case TableColumn::CENTER: 74 case ui::TableColumn::CENTER:
77 column.fmt = LVCFMT_CENTER; 75 column.fmt = LVCFMT_CENTER;
78 break; 76 break;
79 default: 77 default:
80 NOTREACHED(); 78 NOTREACHED();
81 } 79 }
82 if (tc.width != -1) { 80 if (tc.width != -1) {
83 column.mask |= LVCF_WIDTH; 81 column.mask |= LVCF_WIDTH;
84 column.cx = tc.width; 82 column.cx = tc.width;
85 } 83 }
86 column.mask |= LVCF_SUBITEM; 84 column.mask |= LVCF_SUBITEM;
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 // Prevent clicks so columns cannot be resized. 283 // Prevent clicks so columns cannot be resized.
286 if (!table_->resizable_columns()) 284 if (!table_->resizable_columns())
287 return true; 285 return true;
288 break; 286 break;
289 287
290 case NM_DBLCLK: 288 case NM_DBLCLK:
291 OnDoubleClick(); 289 OnDoubleClick();
292 break; 290 break;
293 291
294 case LVN_COLUMNCLICK: { 292 case LVN_COLUMNCLICK: {
295 const TableColumn& column = table_->GetVisibleColumnAt( 293 const ui::TableColumn& column = table_->GetVisibleColumnAt(
296 reinterpret_cast<NMLISTVIEW*>(hdr)->iSubItem); 294 reinterpret_cast<NMLISTVIEW*>(hdr)->iSubItem);
297 break; 295 break;
298 } 296 }
299 297
300 case LVN_MARQUEEBEGIN: // We don't want the marquee selection. 298 case LVN_MARQUEEBEGIN: // We don't want the marquee selection.
301 return true; 299 return true;
302 300
303 case LVN_GETINFOTIP: { 301 case LVN_GETINFOTIP: {
304 // This is called when the user hovers items in column zero. 302 // This is called when the user hovers items in column zero.
305 // * If the text in this column is not fully visible, the dwFlags 303 // * If the text in this column is not fully visible, the dwFlags
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 } 576 }
579 } 577 }
580 578
581 memset(&item, 0, sizeof(LVITEM)); 579 memset(&item, 0, sizeof(LVITEM));
582 item.stateMask = 0; 580 item.stateMask = 0;
583 item.mask = LVIF_TEXT; 581 item.mask = LVIF_TEXT;
584 if (table_->type() == ICON_AND_TEXT) 582 if (table_->type() == ICON_AND_TEXT)
585 item.mask |= LVIF_IMAGE; 583 item.mask |= LVIF_IMAGE;
586 584
587 for (size_t j = start_column; j < table_->GetVisibleColumnCount(); ++j) { 585 for (size_t j = start_column; j < table_->GetVisibleColumnCount(); ++j) {
588 TableColumn col = table_->GetVisibleColumnAt(j); 586 ui::TableColumn col = table_->GetVisibleColumnAt(j);
589 int max_text_width = ListView_GetStringWidth(native_view(), 587 int max_text_width = ListView_GetStringWidth(native_view(),
590 col.title.c_str()); 588 col.title.c_str());
591 for (int i = start; i < max_row; ++i) { 589 for (int i = start; i < max_row; ++i) {
592 item.iItem = i; 590 item.iItem = i;
593 item.iSubItem = j; 591 item.iSubItem = j;
594 std::wstring text = table_->model()->GetText(i, col.id); 592 std::wstring text = table_->model()->GetText(i, col.id);
595 item.pszText = const_cast<LPWSTR>(text.c_str()); 593 item.pszText = const_cast<LPWSTR>(text.c_str());
596 item.iImage = 0; 594 item.iImage = 0;
597 ListView_SetItem(native_view(), &item); 595 ListView_SetItem(native_view(), &item);
598 596
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 900
903 //////////////////////////////////////////////////////////////////////////////// 901 ////////////////////////////////////////////////////////////////////////////////
904 // NativeTableWrapper, public: 902 // NativeTableWrapper, public:
905 903
906 // static 904 // static
907 NativeTableWrapper* NativeTableWrapper::CreateNativeWrapper(TableView2* table) { 905 NativeTableWrapper* NativeTableWrapper::CreateNativeWrapper(TableView2* table) {
908 return new NativeTableWin(table); 906 return new NativeTableWin(table);
909 } 907 }
910 908
911 } // namespace views 909 } // namespace views
OLDNEW
« no previous file with comments | « views/controls/table/native_table_win.h ('k') | views/controls/table/native_table_wrapper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698