1 
2 #ifndef _RIGHTDOWN_SPLITTER_H
3 #define _RIGHTDOWN_SPLITTER_H
4 
5 #include <wx/wx.h>
6 #include <wx/splitter.h>
7 
8 #include <wx/listctrl.h>
9 #include "common.h"
10 
11 class CThreadInfoWindow;
12 
13 class CShowTableWindow;
14 
15 class CRightTree;
16 
17 class CTaskDetailReport;
18 
19 class CRightDownSplitter : public wxSplitterWindow
20 {
21 
22 public:
23     CRightDownSplitter( wxWindow* parent );
24     virtual ~CRightDownSplitter();
25 
26     //整体控制左右两部分显示的调用
27     void ShowTask( _TaskAttr* task ); //按任务属性显示
28 
29     //零散控制函数
30 
31     void OnRightTreeSelectItem( int nodedata );
32 
GetShowTableWin()33     CShowTableWindow* GetShowTableWin()
34     {
35         return m_pShowTableWin;
36     }
37 
GetThreadInfoWin()38     CThreadInfoWindow* GetThreadInfoWin()
39     {
40         return m_pThreadInfoWin;
41     }
42 
43     //上层调用这个函数来在右边显示任务的详细信息,如果这时右边的显示模式不是
44     //任务的详细信息模式,那么报告一个不一致的错误
45     void ShowTaskDetailReport( _TaskAttr& task );
46     void DynamicLang();
47 
48 private:
49 
50     //这三个子窗口在本类构造时就同时做掉,放在这里容易切换
51     CRightTree*	m_pRightTreeWin; //这个有它自己的模式控制
52 
53     //右边的窗口在什么模式上,5类模式分别是
54     //0 空白模式,什么也没选中的模式
55     //1 线程信息模式,正在下载的任务显示
56     //2 图表模式,正在下载的任务显示
57     //3 详细信息模式,下载任务已完成或暂停时的显示
58     //4 链接信息模式,目前没做
59 
60     wxListCtrl* m_pEmptyWin;
61     CThreadInfoWindow* m_pThreadInfoWin; //1
62     CShowTableWindow* m_pShowTableWin; //2
63     CTaskDetailReport* m_pTaskDetailWin; //3
64 
65 };
66 
67 #endif
68 
69