Skip to content

Commit 2e1b1a1

Browse files
committed
CommonDisplayItem由结构体改成类,成员变量改为私有
1 parent 1aba06d commit 2e1b1a1

File tree

9 files changed

+108
-82
lines changed

9 files changed

+108
-82
lines changed

TrafficMonitor/DisplayItem.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,21 @@ bool CommonDisplayItem::operator==(const CommonDisplayItem& item) const
3838
return plugin_item == item.plugin_item;
3939
}
4040

41+
bool CommonDisplayItem::IsPlugin() const
42+
{
43+
return is_plugin;
44+
}
45+
46+
DisplayItem CommonDisplayItem::ItemType() const
47+
{
48+
return item_type;
49+
}
50+
51+
IPluginItem* CommonDisplayItem::PluginItem() const
52+
{
53+
return plugin_item;
54+
}
55+
4156
CString CommonDisplayItem::GetItemName() const
4257
{
4358
if (is_plugin)

TrafficMonitor/DisplayItem.h

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,25 @@ const std::set<DisplayItem> AllDisplayItems
3030
};
3131

3232
//显示的项目
33-
struct CommonDisplayItem
33+
class CommonDisplayItem
3434
{
35-
bool is_plugin{}; //是否为插件项目
36-
DisplayItem item_type{}; //内建的显示项目
37-
IPluginItem* plugin_item{}; //插件显示项目
38-
35+
public:
3936
CommonDisplayItem() {}
4037
CommonDisplayItem(DisplayItem item);
4138
CommonDisplayItem(IPluginItem* item);
4239

4340
bool operator<(const CommonDisplayItem&) const;
4441
bool operator==(const CommonDisplayItem&) const;
4542

43+
//是否为插件项目
44+
bool IsPlugin() const;
45+
46+
//获取内置的显示项目
47+
DisplayItem ItemType() const;
48+
49+
//获取插件显示项目
50+
IPluginItem* PluginItem() const;
51+
4652
//获取显示项目的名称
4753
CString GetItemName() const;
4854

@@ -65,6 +71,11 @@ struct CommonDisplayItem
6571
* @return 示例文本
6672
*/
6773
CString GetItemValueSampleText(bool is_main_window) const;
74+
75+
private:
76+
bool is_plugin{}; //是否为插件项目
77+
DisplayItem item_type{}; //内置的显示项目
78+
IPluginItem* plugin_item{}; //插件显示项目
6879
};
6980

7081

TrafficMonitor/SetItemOrderDlg.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -115,31 +115,31 @@ void CSetItemOrderDlg::EnableDlgCtrl(UINT id, bool enable)
115115

116116
bool CSetItemOrderDlg::GetItemChecked(CommonDisplayItem item)
117117
{
118-
if (item.is_plugin)
118+
if (item.IsPlugin())
119119
{
120-
if (item.plugin_item != nullptr)
121-
return m_plugin_item.Contains(item.plugin_item->GetItemId());
120+
if (item.PluginItem() != nullptr)
121+
return m_plugin_item.Contains(item.PluginItem()->GetItemId());
122122
}
123123
else
124124
{
125-
return m_display_item.Contains(item.item_type);
125+
return m_display_item.Contains(item.ItemType());
126126
}
127127
return false;
128128
}
129129

130130
void CSetItemOrderDlg::SaveItemChecked(CommonDisplayItem item, bool checked)
131131
{
132-
if (item.is_plugin)
132+
if (item.IsPlugin())
133133
{
134-
if (item.plugin_item != nullptr)
135-
m_plugin_item.SetStrContained(item.plugin_item->GetItemId(), checked);
134+
if (item.PluginItem() != nullptr)
135+
m_plugin_item.SetStrContained(item.PluginItem()->GetItemId(), checked);
136136
}
137137
else
138138
{
139139
if (checked)
140-
m_display_item.Add(item.item_type);
140+
m_display_item.Add(item.ItemType());
141141
else
142-
m_display_item.Remove(item.item_type);
142+
m_display_item.Remove(item.ItemType());
143143
}
144144
}
145145

TrafficMonitor/SettingsHelper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ void CSettingsHelper::SaveDisplayStr(const wchar_t* AppName, const DispStrings&
132132
{
133133
for (const auto& item : disp_str.GetAllItems())
134134
{
135-
if (!item.first.is_plugin)
135+
if (!item.first.IsPlugin())
136136
{
137137
WriteString(AppName, item.first.GetItemIniKeyName(), item.second);
138138
}

TrafficMonitor/SkinFile.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -429,18 +429,18 @@ void CSkinFile::DrawPreview(CDC* pDC, CRect rect)
429429
std::map<DisplayItem, DrawStr> map_str;
430430
for (auto iter = all_skin_items.begin(); iter != all_skin_items.end(); ++iter)
431431
{
432-
if (iter->is_plugin)
432+
if (iter->IsPlugin())
433433
continue;
434434
DrawStr draw_str;
435-
draw_str.value = CommonDisplayItem(iter->item_type).GetItemValueSampleText(true);
435+
draw_str.value = CommonDisplayItem(iter->ItemType()).GetItemValueSampleText(true);
436436
if (!m_layout_info.no_label)
437437
{
438438
if (m_setting_data.disp_str.IsInvalid())
439439
draw_str.label = iter->DefaultString(true).c_str();
440440
else
441441
draw_str.label = m_setting_data.disp_str.GetConst(*iter).c_str();
442442
}
443-
map_str[iter->item_type] = draw_str;
443+
map_str[iter->ItemType()] = draw_str;
444444
}
445445

446446
//获取文本颜色

TrafficMonitor/TaskBarDlg.cpp

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,10 @@ void CTaskBarDlg::ShowInfo(CDC* pDC)
201201
item_rect.MoveToX(item_rect.right + DPI(theApp.m_taskbar_data.item_space));
202202
item_rect.right = item_rect.left + iter->item_width.TotalWidth();
203203
item_rect.bottom = item_rect.top + m_window_height;
204-
if (iter->is_plugin)
205-
DrawPluginItem(draw, iter->plugin_item, item_rect, iter->item_width.label_width);
204+
if (iter->IsPlugin())
205+
DrawPluginItem(draw, iter->PluginItem(), item_rect, iter->item_width.label_width);
206206
else
207-
DrawDisplayItem(draw, iter->item_type, item_rect, iter->item_width.label_width);
207+
DrawDisplayItem(draw, iter->ItemType(), item_rect, iter->item_width.label_width);
208208
}
209209
else //非水平排列时,每两个一组显示
210210
{
@@ -223,25 +223,25 @@ void CTaskBarDlg::ShowInfo(CDC* pDC)
223223
item_rect.right = item_rect.left + width;
224224
item_rect_up.right = item_rect_up.left + width;
225225
//绘制信息
226-
if (last_iter->is_plugin)
227-
DrawPluginItem(draw, last_iter->plugin_item, item_rect_up, last_item_width.label_width);
226+
if (last_iter->IsPlugin())
227+
DrawPluginItem(draw, last_iter->PluginItem(), item_rect_up, last_item_width.label_width);
228228
else
229-
DrawDisplayItem(draw, last_iter->item_type, item_rect_up, last_item_width.label_width);
230-
if (iter->is_plugin)
231-
DrawPluginItem(draw, iter->plugin_item, item_rect, iter->item_width.label_width);
229+
DrawDisplayItem(draw, last_iter->ItemType(), item_rect_up, last_item_width.label_width);
230+
if (iter->IsPlugin())
231+
DrawPluginItem(draw, iter->PluginItem(), item_rect, iter->item_width.label_width);
232232
else
233-
DrawDisplayItem(draw, iter->item_type, item_rect, iter->item_width.label_width);
233+
DrawDisplayItem(draw, iter->ItemType(), item_rect, iter->item_width.label_width);
234234
}
235235
//要绘制的项目为奇数时绘制最后一个
236236
else if (item_count % 2 == 1 && index == item_count - 1)
237237
{
238238
item_rect.MoveToXY(item_rect.right + DPI(theApp.m_taskbar_data.item_space), 0);
239239
item_rect.bottom = TASKBAR_WND_HEIGHT;
240240
item_rect.right = item_rect.left + iter->item_width.MaxWidth();
241-
if (iter->is_plugin)
242-
DrawPluginItem(draw, iter->plugin_item, item_rect, iter->item_width.label_width, true);
241+
if (iter->IsPlugin())
242+
DrawPluginItem(draw, iter->PluginItem(), item_rect, iter->item_width.label_width, true);
243243
else
244-
DrawDisplayItem(draw, iter->item_type, item_rect, iter->item_width.label_width, true);
244+
DrawDisplayItem(draw, iter->ItemType(), item_rect, iter->item_width.label_width, true);
245245
}
246246
}
247247
}
@@ -252,10 +252,10 @@ void CTaskBarDlg::ShowInfo(CDC* pDC)
252252
item_rect.MoveToXY(0, item_rect.bottom + DPI(theApp.m_taskbar_data.item_space));
253253
item_rect.bottom = item_rect.top + TASKBAR_WND_HEIGHT / 2;
254254
item_rect.right = item_rect.left + min(m_window_width, m_rcTaskbar.Width() - DPI(theApp.m_taskbar_data.item_space));
255-
if (iter->is_plugin)
256-
DrawPluginItem(draw, iter->plugin_item, item_rect, iter->item_width.label_width);
255+
if (iter->IsPlugin())
256+
DrawPluginItem(draw, iter->PluginItem(), item_rect, iter->item_width.label_width);
257257
else
258-
DrawDisplayItem(draw, iter->item_type, item_rect, iter->item_width.label_width);
258+
DrawDisplayItem(draw, iter->ItemType(), item_rect, iter->item_width.label_width);
259259
}
260260
index++;
261261
last_iter = iter;
@@ -818,9 +818,9 @@ void CTaskBarDlg::CalculateWindowSize()
818818
//const auto& item_map = theApp.m_taskbar_data.disp_str.GetAllItems();
819819
for (auto iter = theApp.m_plugins.AllDisplayItemsWithPlugins().begin(); iter != theApp.m_plugins.AllDisplayItemsWithPlugins().end(); ++iter)
820820
{
821-
if (iter->is_plugin)
821+
if (iter->IsPlugin())
822822
{
823-
auto plugin = iter->plugin_item;
823+
auto plugin = iter->PluginItem();
824824
if (plugin != nullptr && theApp.m_taskbar_data.plugin_display_item.Contains(plugin->GetItemId()))
825825
{
826826
//标签宽度
@@ -1063,13 +1063,13 @@ void CTaskBarDlg::OnRButtonUp(UINT nFlags, CPoint point)
10631063
m_menu_popuped = true;
10641064
m_tool_tips.Pop();
10651065
ITMPlugin* plugin{};
1066-
bool is_plugin_item_clicked = (CheckClickedItem(point) && m_clicked_item.is_plugin && m_clicked_item.plugin_item != nullptr);
1066+
bool is_plugin_item_clicked = (CheckClickedItem(point) && m_clicked_item.IsPlugin() && m_clicked_item.PluginItem() != nullptr);
10671067
if (is_plugin_item_clicked)
10681068
{
1069-
plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1069+
plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
10701070
if (plugin != nullptr && plugin->GetAPIVersion() >= 3)
10711071
{
1072-
if (m_clicked_item.plugin_item->OnMouseEvent(IPluginItem::MT_RCLICKED, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
1072+
if (m_clicked_item.PluginItem()->OnMouseEvent(IPluginItem::MT_RCLICKED, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
10731073
return;
10741074
}
10751075
}
@@ -1135,7 +1135,7 @@ void CTaskBarDlg::OnInitMenu(CMenu* pMenu)
11351135
}
11361136

11371137
//设置插件命令的勾选状态
1138-
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1138+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
11391139
if (plugin != nullptr && plugin->GetAPIVersion() >= 5)
11401140
{
11411141
for (int i = ID_PLUGIN_COMMAND_START; i <= ID_PLUGIN_COMMAND_MAX; i++)
@@ -1168,10 +1168,10 @@ BOOL CTaskBarDlg::PreTranslateMessage(MSG* pMsg)
11681168
bool ctrl = (GetKeyState(VK_CONTROL) & 0x80);
11691169
bool shift = (GetKeyState(VK_SHIFT) & 0x8000);
11701170
bool alt = (GetKeyState(VK_MENU) & 0x8000);
1171-
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1171+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
11721172
if (plugin != nullptr && plugin->GetAPIVersion() >= 4)
11731173
{
1174-
if (m_clicked_item.plugin_item->OnKeboardEvent(pMsg->wParam, ctrl, shift, alt, (void*)GetSafeHwnd(), IPluginItem::KF_TASKBAR_WND) != 0)
1174+
if (m_clicked_item.PluginItem()->OnKeboardEvent(pMsg->wParam, ctrl, shift, alt, (void*)GetSafeHwnd(), IPluginItem::KF_TASKBAR_WND) != 0)
11751175
return TRUE;
11761176
}
11771177
}
@@ -1189,12 +1189,12 @@ void CTaskBarDlg::OnMouseMove(UINT nFlags, CPoint point)
11891189
void CTaskBarDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
11901190
{
11911191
// TODO: 在此添加消息处理程序代码和/或调用默认值
1192-
if (CheckClickedItem(point) && m_clicked_item.is_plugin && m_clicked_item.plugin_item != nullptr)
1192+
if (CheckClickedItem(point) && m_clicked_item.IsPlugin() && m_clicked_item.PluginItem() != nullptr)
11931193
{
1194-
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1194+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
11951195
if (plugin != nullptr && plugin->GetAPIVersion() >= 3)
11961196
{
1197-
if (m_clicked_item.plugin_item->OnMouseEvent(IPluginItem::MT_DBCLICKED, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
1197+
if (m_clicked_item.PluginItem()->OnMouseEvent(IPluginItem::MT_DBCLICKED, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
11981198
return;
11991199
}
12001200
}
@@ -1275,9 +1275,9 @@ BOOL CTaskBarDlg::OnCommand(WPARAM wParam, LPARAM lParam)
12751275
if (uMsg >= ID_PLUGIN_COMMAND_START && uMsg <= ID_PLUGIN_COMMAND_MAX)
12761276
{
12771277
int index = uMsg - ID_PLUGIN_COMMAND_START;
1278-
if (m_clicked_item.is_plugin && m_clicked_item.plugin_item != nullptr)
1278+
if (m_clicked_item.IsPlugin() && m_clicked_item.PluginItem() != nullptr)
12791279
{
1280-
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1280+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
12811281
if (plugin != nullptr && plugin->GetAPIVersion() >= 5)
12821282
{
12831283
plugin->OnPluginCommand(index, (void*)GetSafeHwnd(), nullptr);
@@ -1434,12 +1434,12 @@ void CTaskBarDlg::OnClose()
14341434
void CTaskBarDlg::OnLButtonUp(UINT nFlags, CPoint point)
14351435
{
14361436
// TODO: 在此添加消息处理程序代码和/或调用默认值
1437-
if (CheckClickedItem(point) && m_clicked_item.is_plugin && m_clicked_item.plugin_item != nullptr)
1437+
if (CheckClickedItem(point) && m_clicked_item.IsPlugin() && m_clicked_item.PluginItem() != nullptr)
14381438
{
1439-
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1439+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
14401440
if (plugin != nullptr && plugin->GetAPIVersion() >= 3)
14411441
{
1442-
if (m_clicked_item.plugin_item->OnMouseEvent(IPluginItem::MT_LCLICKED, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
1442+
if (m_clicked_item.PluginItem()->OnMouseEvent(IPluginItem::MT_LCLICKED, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
14431443
return;
14441444
}
14451445
}
@@ -1467,18 +1467,18 @@ BOOL CTaskBarDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
14671467
CPoint point = pt;
14681468
ScreenToClient(&point);
14691469
ITMPlugin* plugin{};
1470-
bool is_plugin_item_clicked = (CheckClickedItem(point) && m_clicked_item.is_plugin && m_clicked_item.plugin_item != nullptr);
1470+
bool is_plugin_item_clicked = (CheckClickedItem(point) && m_clicked_item.IsPlugin() && m_clicked_item.PluginItem() != nullptr);
14711471
if (is_plugin_item_clicked)
14721472
{
1473-
plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.plugin_item);
1473+
plugin = theApp.m_plugins.GetPluginByItem(m_clicked_item.PluginItem());
14741474
if (plugin != nullptr && plugin->GetAPIVersion() >= 3)
14751475
{
14761476
IPluginItem::MouseEventType type;
14771477
if (zDelta > 0)
14781478
type = IPluginItem::MT_WHEEL_UP;
14791479
else
14801480
type = IPluginItem::MT_WHEEL_DOWN;
1481-
if (m_clicked_item.plugin_item->OnMouseEvent(type, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
1481+
if (m_clicked_item.PluginItem()->OnMouseEvent(type, point.x, point.y, (void*)GetSafeHwnd(), IPluginItem::MF_TASKBAR_WND) != 0)
14821482
return TRUE;
14831483
}
14841484
}

TrafficMonitor/TaskbarItemOrderHelper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ CString CTaskbarItemOrderHelper::GetItemDisplayName(CommonDisplayItem item)
8686
bool CTaskbarItemOrderHelper::IsItemDisplayed(CommonDisplayItem item)
8787
{
8888
bool displayed = true;
89-
if (!item.is_plugin)
89+
if (!item.IsPlugin())
9090
{
9191
if ((item == TDI_CPU_TEMP) && !theApp.m_general_data.IsHardwareEnable(HI_CPU))
9292
displayed = false;

TrafficMonitor/TrafficMonitor.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,14 +1226,14 @@ std::wstring CTrafficMonitorApp::GetPlauginTooltipInfo() const
12261226

12271227
bool CTrafficMonitorApp::IsTaksbarItemDisplayed(CommonDisplayItem item) const
12281228
{
1229-
if (item.is_plugin)
1229+
if (item.IsPlugin())
12301230
{
1231-
if (item.plugin_item != nullptr)
1232-
return m_taskbar_data.plugin_display_item.Contains(item.plugin_item->GetItemId());
1231+
if (item.PluginItem() != nullptr)
1232+
return m_taskbar_data.plugin_display_item.Contains(item.PluginItem()->GetItemId());
12331233
}
12341234
else
12351235
{
1236-
return m_taskbar_data.display_item.Contains(item.item_type);
1236+
return m_taskbar_data.display_item.Contains(item.ItemType());
12371237
}
12381238
return false;
12391239
}

0 commit comments

Comments
 (0)