1 // RecentProjectDlg.cpp : implementation file
2 //
3 
4 #include "studiox_includes.h"
5 #include "RecentProjectDlg.h"
6 
7 extern CFont TitleFont;
8 extern CFont LinkFont;
9 extern CBrush WinBackBrush;
10 extern CBrush BlackBrush;
11 extern INI_INFO StudioXIni;
12 
13 #ifdef _DEBUG
14 #define new DEBUG_NEW
15 #endif
16 
17 // RecentProjectDlg dialog
18 
IMPLEMENT_DYNAMIC(RecentProjectDlg,CDialog)19 IMPLEMENT_DYNAMIC(RecentProjectDlg, CDialog)
20 
21 BEGIN_MESSAGE_MAP(RecentProjectDlg, CDialog)
22  ON_WM_CTLCOLOR()
23  ON_WM_SHOWWINDOW()
24  ON_STN_CLICKED(IDC_RECENT_1, &RecentProjectDlg::OnStnClickedRecent1)
25  ON_STN_CLICKED(IDC_RECENT_2, &RecentProjectDlg::OnStnClickedRecent2)
26  ON_STN_CLICKED(IDC_RECENT_3, &RecentProjectDlg::OnStnClickedRecent3)
27  ON_STN_CLICKED(IDC_RECENT_4, &RecentProjectDlg::OnStnClickedRecent4)
28  ON_STN_CLICKED(IDC_RECENT_5, &RecentProjectDlg::OnStnClickedRecent5)
29  ON_BN_CLICKED(IDC_CREATE_PROJECT, &RecentProjectDlg::OnBnClickedCreateProject)
30 END_MESSAGE_MAP()
31 
32 RecentProjectDlg::RecentProjectDlg(CWnd* pParent /*=NULL*/)
33 	: CDialog(RecentProjectDlg::IDD, pParent)
34 {
35 
36 }
37 
~RecentProjectDlg()38 RecentProjectDlg::~RecentProjectDlg()
39 {
40 }
41 
OnInitDialog()42 BOOL RecentProjectDlg::OnInitDialog()
43 {
44     CDialog::OnInitDialog();
45     GetDlgItem(IDC_TITLE)->SetFont(&TitleFont);
46     GetDlgItem(IDC_RECENT_1)->SetFont(&LinkFont);
47     GetDlgItem(IDC_RECENT_2)->SetFont(&LinkFont);
48     GetDlgItem(IDC_RECENT_3)->SetFont(&LinkFont);
49     GetDlgItem(IDC_RECENT_4)->SetFont(&LinkFont);
50     GetDlgItem(IDC_RECENT_5)->SetFont(&LinkFont);
51     return TRUE;
52 }
53 
OnShowWindow(BOOL bShow,UINT nStatus)54 void RecentProjectDlg::OnShowWindow(BOOL bShow, UINT nStatus)
55 {
56     if (bShow)
57     {
58         GetDlgItem(IDC_RECENT_1)->SetWindowText(StudioXIni.recent_project_paths[0]);
59         GetDlgItem(IDC_RECENT_2)->SetWindowText(StudioXIni.recent_project_paths[1]);
60         GetDlgItem(IDC_RECENT_3)->SetWindowText(StudioXIni.recent_project_paths[2]);
61         GetDlgItem(IDC_RECENT_4)->SetWindowText(StudioXIni.recent_project_paths[3]);
62         GetDlgItem(IDC_RECENT_5)->SetWindowText(StudioXIni.recent_project_paths[4]);
63     }
64     CWnd::OnShowWindow(bShow, nStatus);
65 }
66 
DoDataExchange(CDataExchange * pDX)67 void RecentProjectDlg::DoDataExchange(CDataExchange* pDX)
68 {
69 	CDialog::DoDataExchange(pDX);
70 }
71 
OnCtlColor(CDC * pDC,CWnd * pWnd,UINT nCtlColor)72 HBRUSH RecentProjectDlg::OnCtlColor(CDC* pDC, CWnd *pWnd, UINT nCtlColor)
73 {
74     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
75 
76     switch (nCtlColor)
77     {
78 //    case CTLCOLOR_DLG:
79 //        return HBRUSH(BlackBrush);
80 
81     case CTLCOLOR_STATIC:
82         if (pWnd->GetDlgCtrlID() != IDC_TITLE)
83         {
84             pDC->SetTextColor(HIGH_TEXT_COLOR);
85         }
86 //        return HBRUSH(
87 //        pDC->SetBkColor(RGB(0, 0, 0));
88 //        return HBRUSH(BlackBrush);
89         break;
90     default:
91         break;
92     }
93     return hbr;
94 }
95 // RecentProjectDlg message handlers
96 
OnStnClickedRecent1()97 void RecentProjectDlg::OnStnClickedRecent1()
98 {
99     // TODO: Add your control notification handler code here
100     GetProjectView()->OpenHistoryProject(0);
101 }
102 
OnStnClickedRecent2()103 void RecentProjectDlg::OnStnClickedRecent2()
104 {
105     // TODO: Add your control notification handler code here
106     GetProjectView()->OpenHistoryProject(1);
107 }
108 
OnStnClickedRecent3()109 void RecentProjectDlg::OnStnClickedRecent3()
110 {
111     // TODO: Add your control notification handler code here
112     GetProjectView()->OpenHistoryProject(2);
113 }
114 
OnStnClickedRecent4()115 void RecentProjectDlg::OnStnClickedRecent4()
116 {
117     // TODO: Add your control notification handler code here
118     GetProjectView()->OpenHistoryProject(3);
119 }
120 
OnStnClickedRecent5()121 void RecentProjectDlg::OnStnClickedRecent5()
122 {
123     // TODO: Add your control notification handler code here
124     GetProjectView()->OpenHistoryProject(4);
125 }
126 
OnBnClickedCreateProject()127 void RecentProjectDlg::OnBnClickedCreateProject()
128 {
129     // TODO: Add your control notification handler code here
130     GetProjectView()->NewProject();
131 }
132