|
|
#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); }
|