173 lines
3.9 KiB
C++
173 lines
3.9 KiB
C++
|
#include "headers.hxx"
|
||
|
#include "UpdatesRequiredPage.hpp"
|
||
|
#include "resource.h"
|
||
|
#include "common.hpp"
|
||
|
#include "AnalisysResults.hpp"
|
||
|
|
||
|
UpdatesRequiredPage::UpdatesRequiredPage
|
||
|
(
|
||
|
const String& reportName_,
|
||
|
AnalisysResults &results_
|
||
|
)
|
||
|
:
|
||
|
reportName(reportName_),
|
||
|
results(results_),
|
||
|
WizardPage
|
||
|
(
|
||
|
IDD_UPDATES_REQUIRED,
|
||
|
IDS_UPDATES_REQUIRED_PAGE_TITLE,
|
||
|
IDS_UPDATES_REQUIRED_PAGE_SUBTITLE,
|
||
|
true
|
||
|
)
|
||
|
{
|
||
|
LOG_CTOR(UpdatesRequiredPage);
|
||
|
}
|
||
|
|
||
|
UpdatesRequiredPage::~UpdatesRequiredPage()
|
||
|
{
|
||
|
LOG_DTOR(UpdatesRequiredPage);
|
||
|
}
|
||
|
|
||
|
|
||
|
// WizardPage overrides
|
||
|
|
||
|
bool
|
||
|
UpdatesRequiredPage::OnSetActive()
|
||
|
{
|
||
|
LOG_FUNCTION(UpdatesRequiredPage::OnSetActive);
|
||
|
|
||
|
Win::PropSheet_SetWizButtons(Win::GetParent(hwnd),
|
||
|
PSWIZB_NEXT | PSWIZB_BACK);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
bool
|
||
|
UpdatesRequiredPage::OnCommand(
|
||
|
HWND /*windowFrom*/,
|
||
|
unsigned controlIdFrom,
|
||
|
unsigned code
|
||
|
)
|
||
|
{
|
||
|
LOG_FUNCTION(UpdatesRequiredPage::OnCommand);
|
||
|
switch (controlIdFrom)
|
||
|
{
|
||
|
case IDC_VIEW_DETAILS:
|
||
|
{
|
||
|
if (code == BN_CLICKED)
|
||
|
{
|
||
|
ShowReport();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
|
||
|
bool
|
||
|
UpdatesRequiredPage::OnWizBack()
|
||
|
{
|
||
|
LOG_FUNCTION(UpdatesRequiredPage::OnWizBack);
|
||
|
GetWizard().SetNextPageID(hwnd,IDD_ANALISYS);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
|
||
|
void
|
||
|
UpdatesRequiredPage::OnInit()
|
||
|
{
|
||
|
LOG_FUNCTION(UpdatesRequiredPage::OnInit);
|
||
|
|
||
|
|
||
|
long created = results.createW2KObjects.size() +
|
||
|
results.createXPObjects.size();
|
||
|
|
||
|
long updated = results.objectActions.size();
|
||
|
|
||
|
long containers = results.createContainers.size();
|
||
|
|
||
|
String sCreated,sUpdated;
|
||
|
|
||
|
if( containers==0)
|
||
|
{
|
||
|
sCreated = String::format(
|
||
|
String::load(IDS_NUMBER_FORMAT).c_str(),
|
||
|
created,
|
||
|
String::load(IDS_OBJECTS).c_str()
|
||
|
);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
sCreated = String::format(
|
||
|
String::load(IDS_CREATED_FORMAT).c_str(),
|
||
|
created,
|
||
|
String::load(IDS_OBJECTS).c_str(),
|
||
|
String::load(IDS_AND).c_str(),
|
||
|
containers,
|
||
|
String::load(IDS_CONTAINERS).c_str()
|
||
|
);
|
||
|
}
|
||
|
|
||
|
|
||
|
sUpdated = String::format(
|
||
|
String::load(IDS_NUMBER_FORMAT).c_str(),
|
||
|
updated,
|
||
|
String::load(IDS_VALUES).c_str()
|
||
|
);
|
||
|
|
||
|
|
||
|
|
||
|
Win::SetDlgItemText( hwnd,IDC_CREATE_OBJECTS, sCreated);
|
||
|
|
||
|
Win::SetDlgItemText( hwnd,IDC_UPDATE_OBJECTS, sUpdated);
|
||
|
|
||
|
|
||
|
HFONT
|
||
|
bulletFont = CreateFont(
|
||
|
0,
|
||
|
0,
|
||
|
0,
|
||
|
0,
|
||
|
FW_NORMAL,
|
||
|
0,
|
||
|
0,
|
||
|
0,
|
||
|
SYMBOL_CHARSET,
|
||
|
OUT_CHARACTER_PRECIS,
|
||
|
CLIP_CHARACTER_PRECIS,
|
||
|
PROOF_QUALITY,
|
||
|
VARIABLE_PITCH|FF_DONTCARE,
|
||
|
L"Marlett");
|
||
|
|
||
|
if (bulletFont)
|
||
|
{
|
||
|
Win::SetDlgItemText(hwnd,IDC_BULLET1,L"h");
|
||
|
Win::SetDlgItemText(hwnd,IDC_BULLET2,L"h");
|
||
|
Win::SetWindowFont(Win::GetDlgItem(hwnd, IDC_BULLET1), bulletFont, true);
|
||
|
Win::SetWindowFont(Win::GetDlgItem(hwnd, IDC_BULLET2), bulletFont, true);
|
||
|
}
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
// This function is void because if we cannot show
|
||
|
// the report, this is not a fatal error
|
||
|
void
|
||
|
UpdatesRequiredPage::ShowReport()
|
||
|
{
|
||
|
LOG_FUNCTION(UpdatesRequiredPage::ShowReport);
|
||
|
HRESULT hr=S_OK;
|
||
|
do
|
||
|
{
|
||
|
hr=Notepad(reportName);
|
||
|
BREAK_ON_FAILED_HRESULT(hr);
|
||
|
|
||
|
} while(0);
|
||
|
|
||
|
if (FAILED(hr))
|
||
|
{
|
||
|
ShowError(hr,error);
|
||
|
}
|
||
|
|
||
|
LOG_HRESULT(hr);
|
||
|
}
|