From 14a68e6c42f675c74891dbbfd74ca1187452c56b Mon Sep 17 00:00:00 2001 From: luca Date: Tue, 31 Jul 2007 10:11:16 +0000 Subject: [PATCH] Patch level :4.0 nopatch Files correlati : Ricompilazione Demo : [ ] Commento :passaggio parametri alla pagina riassuntiva git-svn-id: svn://10.65.10.50/trunk@15534 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- setup/Setup.cpp | 144 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 124 insertions(+), 20 deletions(-) diff --git a/setup/Setup.cpp b/setup/Setup.cpp index c9c315cb9..5c61aa6af 100755 --- a/setup/Setup.cpp +++ b/setup/Setup.cpp @@ -221,8 +221,18 @@ class CampoWizard : public wxWizard { enum { m_nPages = 10 }; CampoWizardPage* m_pPage[m_nPages]; - wxString _destination_path; //path di aggiornamento/installazione - unsigned int _installation_type; //tipo di installazione selezionata (standard,server,client...) + + wxString _strDestinationPath; //path di aggiornamento/installazione + unsigned int _strInstallationType; //tipo di installazione selezionata (standard,server,client...) + + wxString _strPrgLocPath; //path programmi in locale + wxString _strPrgNetPath; //path programmi in remoto (server prg dir per client) + wxString _strDataPath; //path dati + wxString _strAuthSrv; //nome server authoriz + wxString _strDictSrv; //nome server diction + + bool _bInstUseAuth; //installa/usa server authoriz + bool _bInstUseDict; //installa/usa server diction protected: DECLARE_EVENT_TABLE(); @@ -240,6 +250,13 @@ public: void SetInstallationType(const unsigned int type); const unsigned int GetInstallationType() const; + void SetPrgLocPath(const wxString& strPrgLocPath); + const wxString& GetPrgLocPath() const; + void SetPrgNetPath(const wxString& strPrgNetPath); + const wxString& GetPrgNetPath() const; + void SetDataPath(const wxString& strDataPath); + const wxString& GetDataPath() const; + CampoWizard(wxWindow* pParent); }; @@ -350,7 +367,8 @@ CampoWizardPage1::CampoWizardPage1(wxWizard* parent) : CampoWizardPage(parent) //contenuto della prima schermata (pagina benvenuto) wxString strTitle = wxT("Benvenuti in APPNAME"); wxString strBody = wxT("

Questo programma vi guiderą passo a passo nell'installazione / aggiornamento del software.

"); - strBody += wxT("

Prima di proseguire con l'installazione assicurarsi di avere effettuato il login a Windows con un utente di tipo 'Amministratore'.

"); + strBody += wxT("

Leggere attentamente le istruzioni che saranno visualizzate nelle finestre di questo programma di installazione!

"); + strBody += wxT("

Prima di proseguire con l'installazione / aggiornamento assicurarsi di avere effettuato il login a Windows con un utente di tipo 'Amministratore' di sistema.

"); SetHTMLText(strTitle, strBody); } @@ -889,10 +907,21 @@ void CampoWizardPage6::OnDirPick(wxCommandEvent& e) //metodo per il controllo dell'area dati;se la directory indicata non e' vuota non puoi usarla ne' crearla bool CampoWizardPage6::ForwardValidate() { - wxDir dirDataPath(Get(603)); - if (dirDataPath.Exists(Get(603)) && (dirDataPath.HasFiles() || dirDataPath.HasSubDirs())) + //controllo esistenza directory vuota per i programmi in locale + const wxString strPrgLocPath = Get(601); + wxDir dirPrgLocPath(strPrgLocPath); + if (dirPrgLocPath.Exists(Get(601)) && (dirPrgLocPath.HasFiles() || dirPrgLocPath.HasSubDirs())) + return ErrorBox("La cartella selezionata per l'installazione dei programmi NON e' valida! Selezionarne un'altra!"); + + const wxString strDataPath = Get(603); + wxDir dirDataPath(strDataPath); + if (dirDataPath.Exists(strDataPath) && (dirDataPath.HasFiles() || dirDataPath.HasSubDirs())) return ErrorBox("La cartella indicata per la creazione dell'area dati non e' vuota! Selezionarne un'altra!"); + //setta alla pagina riassuntiva i valori della pagina attuale + GetWizard().SetPrgLocPath(strPrgLocPath); + GetWizard().SetDataPath(strDataPath); + return true; } @@ -985,10 +1014,22 @@ void CampoWizardPage7::OnSrvClick(wxCommandEvent& e) bool CampoWizardPage7::ForwardValidate() { - wxDir dirDataPath(Get(703)); - if (dirDataPath.Exists(Get(703)) && (dirDataPath.HasFiles() || dirDataPath.HasSubDirs())) + //controllo esistenza directory vuota per i programmi in locale + const wxString strPrgLocPath = Get(701); + wxDir dirPrgLocPath(strPrgLocPath); + if (dirPrgLocPath.Exists(strPrgLocPath) && (dirPrgLocPath.HasFiles() || dirPrgLocPath.HasSubDirs())) + return ErrorBox("La cartella selezionata per l'installazione dei programmi NON e' valida! Selezionarne un'altra!"); + + //controllo della directory dell'area dati: deve essere nuova o vuota affinche' possa essere utilizzata!! + const wxString strDataPath = Get(703); + wxDir dirDataPath(strDataPath); + if (dirDataPath.Exists(strDataPath) && (dirDataPath.HasFiles() || dirDataPath.HasSubDirs())) return ErrorBox("La cartella indicata per la creazione dell'area dati non e' vuota! Selezionarne un'altra!"); + //setta alla pagina riassuntiva i valori della pagina attuale + GetWizard().SetPrgLocPath(strPrgLocPath); + GetWizard().SetDataPath(strDataPath); + return true; } @@ -1054,6 +1095,8 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent) tcDiction->Disable(); gbsSizer->Add(tcDiction, wxGBPosition(3, 2)); } + + /**********************************************************************************************************/ // 8 Installazione client /**********************************************************************************************************/ @@ -1099,14 +1142,20 @@ void CampoWizardPage8::OnSrvClick(wxCommandEvent& e) bool CampoWizardPage8::ForwardValidate() { - //controllo esistenza programmi sul server - const wxString strPrgPath = Get(803); - wxDir dirPrgPath(strPrgPath); + //controllo esistenza directory vuota per i programmi in locale + const wxString strPrgLocPath = Get(801); + wxDir dirPrgLocPath(strPrgLocPath); + if (dirPrgLocPath.Exists(strPrgLocPath) && (dirPrgLocPath.HasFiles() || dirPrgLocPath.HasSubDirs())) + return ErrorBox("La cartella selezionata per l'installazione dei programmi NON e' valida! Selezionarne un'altra!"); + + //controllo esistenza directory e programmi sul server + const wxString strPrgNetPath = Get(803); + wxDir dirPrgPath(strPrgNetPath); bool ok_prg = false; //deve esistere non vuota, e contenere almeno campo.ini,install.ini,campo.aut,ba0.exe - if (dirPrgPath.Exists(strPrgPath) && dirPrgPath.HasFiles() && dirPrgPath.HasSubDirs()) + if (dirPrgPath.Exists(strPrgNetPath) && dirPrgPath.HasFiles() && dirPrgPath.HasSubDirs()) { - wxFileName fnFileToCheck(strPrgPath, "campo"); + wxFileName fnFileToCheck(strPrgNetPath, "campo"); fnFileToCheck.SetExt("ini"); if (fnFileToCheck.FileExists()) { @@ -1146,6 +1195,12 @@ bool CampoWizardPage8::ForwardValidate() } if (!ok_data) return ErrorBox("La cartella selezionata come area dati NON e' valida!"); + + //setta alla pagina riassuntiva i valori della pagina attuale + GetWizard().SetPrgLocPath(strPrgLocPath); + GetWizard().SetPrgNetPath(strPrgNetPath); + GetWizard().SetDataPath(strDataPath); + return true; } @@ -1235,7 +1290,26 @@ public: bool CampoWizardPage9::TransferDataToWindow() { - const unsigned int uTipoInstall = GetWizard().GetInstallationType(); + CampoWizard& cw = GetWizard(); + const unsigned int uInstallType = cw.GetInstallationType(); + switch (uInstallType) + { + case 1: //server + cw.GetPrgLocPath(); + cw.GetDataPath(); + break; + case 2: //client + cw.GetPrgLocPath(); + cw.GetPrgNetPath(); + cw.GetDataPath(); + break; + case 3: //aggiornamento + break; + default: //standard + cw.GetPrgLocPath(); + cw.GetDataPath(); + break; + } return true; } @@ -1318,10 +1392,10 @@ bool CampoWizard::GetBool(wxWindowID id) const void CampoWizard::SetDestinationPath(const wxString& path) { - _destination_path = path; + _strDestinationPath = path; //Se il path di destinazione e' vuoto -> nuova installazione, senno' e' un aggiornamento della installazione.. - //..che sta in _destination_path - if (_destination_path.IsEmpty()) + //..che sta in _strDestinationPath + if (_strDestinationPath.IsEmpty()) { wxWizardPageSimple::Chain(m_pPage[1], m_pPage[2]); } @@ -1333,14 +1407,14 @@ void CampoWizard::SetDestinationPath(const wxString& path) const wxString& CampoWizard::GetDestinationPath() const { - return _destination_path; + return _strDestinationPath; } void CampoWizard::SetInstallationType(const unsigned int type) { - _installation_type = type; + _strInstallationType = type; //in base al tipo di installazione spara l'utente alla pagina corretta - switch (_installation_type) + switch (_strInstallationType) { case 1: //server wxWizardPageSimple::Chain(m_pPage[4], m_pPage[6]); //manda l'utente alla pagina server @@ -1361,7 +1435,37 @@ void CampoWizard::SetInstallationType(const unsigned int type) const unsigned int CampoWizard::GetInstallationType() const { - return _installation_type; + return _strInstallationType; +} + +void CampoWizard::SetPrgLocPath(const wxString& strPrgLocPath) +{ + _strPrgLocPath = strPrgLocPath; +} + +const wxString& CampoWizard::GetPrgLocPath() const +{ + return _strPrgLocPath; +} + +void CampoWizard::SetPrgNetPath(const wxString& strPrgNetPath) +{ + _strPrgNetPath = strPrgNetPath; +} + +const wxString& CampoWizard::GetPrgNetPath() const +{ + return _strPrgNetPath; +} + +void CampoWizard::SetDataPath(const wxString& strDataPath) +{ + _strDataPath = strDataPath; +} + +const wxString& CampoWizard::GetDataPath() const +{ + return _strDataPath; } CampoWizard::CampoWizard(wxWindow* pParent)