1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove 25*b1cdbd2cSJim Jagielski #include "precompiled_dbaccess.hxx" 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include "dbaccess_helpid.hrc" 28*b1cdbd2cSJim Jagielski #include "dbmm_module.hxx" 29*b1cdbd2cSJim Jagielski #include "dbmm_global.hrc" 30*b1cdbd2cSJim Jagielski #include "macromigration.hrc" 31*b1cdbd2cSJim Jagielski #include "macromigrationpages.hxx" 32*b1cdbd2cSJim Jagielski #include "macromigrationdialog.hxx" 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski /** === begin UNO includes === **/ 35*b1cdbd2cSJim Jagielski #include <com/sun/star/frame/XModel.hpp> 36*b1cdbd2cSJim Jagielski /** === end UNO includes === **/ 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski #include <tools/urlobj.hxx> 39*b1cdbd2cSJim Jagielski #include <tools/diagnose_ex.h> 40*b1cdbd2cSJim Jagielski #include <vcl/metric.hxx> 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski //........................................................................ 43*b1cdbd2cSJim Jagielski namespace dbmm 44*b1cdbd2cSJim Jagielski { 45*b1cdbd2cSJim Jagielski //........................................................................ 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski /** === begin UNO using === **/ 48*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Reference; 49*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::XInterface; 50*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::UNO_QUERY; 51*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::UNO_QUERY_THROW; 52*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::UNO_SET_THROW; 53*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Exception; 54*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::RuntimeException; 55*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Any; 56*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::makeAny; 57*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Sequence; 58*b1cdbd2cSJim Jagielski using ::com::sun::star::frame::XModel; 59*b1cdbd2cSJim Jagielski /** === end UNO using === **/ 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski //==================================================================== 62*b1cdbd2cSJim Jagielski //= MacroMigrationPage 63*b1cdbd2cSJim Jagielski //==================================================================== 64*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- MacroMigrationPage(MacroMigrationDialog & _rParentDialog,const ResId & _rRes)65*b1cdbd2cSJim Jagielski MacroMigrationPage::MacroMigrationPage( MacroMigrationDialog& _rParentDialog, const ResId& _rRes ) 66*b1cdbd2cSJim Jagielski :MacroMigrationPage_Base( &_rParentDialog, _rRes ) 67*b1cdbd2cSJim Jagielski ,m_aHeader( this, MacroMigrationResId( FT_HEADER ) ) 68*b1cdbd2cSJim Jagielski { 69*b1cdbd2cSJim Jagielski Font aFont( m_aHeader.GetFont() ); 70*b1cdbd2cSJim Jagielski aFont.SetWeight( WEIGHT_BOLD ); 71*b1cdbd2cSJim Jagielski m_aHeader.SetFont( aFont ); 72*b1cdbd2cSJim Jagielski } 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- ~MacroMigrationPage()75*b1cdbd2cSJim Jagielski MacroMigrationPage::~MacroMigrationPage() 76*b1cdbd2cSJim Jagielski { 77*b1cdbd2cSJim Jagielski } 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getDialog() const80*b1cdbd2cSJim Jagielski const MacroMigrationDialog& MacroMigrationPage::getDialog() const 81*b1cdbd2cSJim Jagielski { 82*b1cdbd2cSJim Jagielski return *dynamic_cast< const MacroMigrationDialog* >( GetParent() ); 83*b1cdbd2cSJim Jagielski } 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getDialog()86*b1cdbd2cSJim Jagielski MacroMigrationDialog& MacroMigrationPage::getDialog() 87*b1cdbd2cSJim Jagielski { 88*b1cdbd2cSJim Jagielski return *dynamic_cast< MacroMigrationDialog* >( GetParent() ); 89*b1cdbd2cSJim Jagielski } 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski //==================================================================== 92*b1cdbd2cSJim Jagielski //= PreparationPage 93*b1cdbd2cSJim Jagielski //==================================================================== 94*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- PreparationPage(MacroMigrationDialog & _rParentDialog)95*b1cdbd2cSJim Jagielski PreparationPage::PreparationPage( MacroMigrationDialog& _rParentDialog ) 96*b1cdbd2cSJim Jagielski :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_PREPARE ) ) 97*b1cdbd2cSJim Jagielski ,m_aIntroduction ( this, MacroMigrationResId( FT_INTRODUCTION ) ) 98*b1cdbd2cSJim Jagielski ,m_aCloseDocError( this, MacroMigrationResId( FT_CLOSE_DOC_ERROR ) ) 99*b1cdbd2cSJim Jagielski { 100*b1cdbd2cSJim Jagielski FreeResource(); 101*b1cdbd2cSJim Jagielski } 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- showCloseDocsError(bool _bShow)104*b1cdbd2cSJim Jagielski void PreparationPage::showCloseDocsError( bool _bShow ) 105*b1cdbd2cSJim Jagielski { 106*b1cdbd2cSJim Jagielski m_aCloseDocError.Show( _bShow ); 107*b1cdbd2cSJim Jagielski } 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- Create(::svt::RoadmapWizard & _rParentDialog)110*b1cdbd2cSJim Jagielski TabPage* PreparationPage::Create( ::svt::RoadmapWizard& _rParentDialog ) 111*b1cdbd2cSJim Jagielski { 112*b1cdbd2cSJim Jagielski return new PreparationPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) ); 113*b1cdbd2cSJim Jagielski } 114*b1cdbd2cSJim Jagielski 115*b1cdbd2cSJim Jagielski //==================================================================== 116*b1cdbd2cSJim Jagielski //= SaveDBDocPage 117*b1cdbd2cSJim Jagielski //==================================================================== 118*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- SaveDBDocPage(MacroMigrationDialog & _rParentDialog)119*b1cdbd2cSJim Jagielski SaveDBDocPage::SaveDBDocPage( MacroMigrationDialog& _rParentDialog ) 120*b1cdbd2cSJim Jagielski :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_SAVE_DBDOC_AS ) ) 121*b1cdbd2cSJim Jagielski ,m_aExplanation ( this, MacroMigrationResId( FT_EXPLANATION ) ) 122*b1cdbd2cSJim Jagielski ,m_aSaveAsLabel ( this, MacroMigrationResId( FT_SAVE_AS_LABEL ) ) 123*b1cdbd2cSJim Jagielski ,m_aSaveAsLocation ( this, MacroMigrationResId( ED_SAVE_AS_LOCATION ) ) 124*b1cdbd2cSJim Jagielski ,m_aBrowseSaveAsLocation( this, MacroMigrationResId( PB_BROWSE_SAVE_AS_LOCATION ) ) 125*b1cdbd2cSJim Jagielski ,m_aStartMigration ( this, MacroMigrationResId( FT_START_MIGRATION ) ) 126*b1cdbd2cSJim Jagielski ,m_aLocationController( _rParentDialog.getComponentContext(), m_aSaveAsLocation, m_aBrowseSaveAsLocation ) 127*b1cdbd2cSJim Jagielski { 128*b1cdbd2cSJim Jagielski FreeResource(); 129*b1cdbd2cSJim Jagielski 130*b1cdbd2cSJim Jagielski m_aSaveAsLocation.SetModifyHdl( LINK( this, SaveDBDocPage, OnLocationModified ) ); 131*b1cdbd2cSJim Jagielski m_aSaveAsLocation.SetDropDownLineCount( 20 ); 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski m_aSaveAsLocation.SetHelpId( HID_MACRO_MIGRATION_BACKUP_LOCATION ); 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski impl_updateLocationDependentItems(); 136*b1cdbd2cSJim Jagielski } 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- impl_updateLocationDependentItems()139*b1cdbd2cSJim Jagielski void SaveDBDocPage::impl_updateLocationDependentItems() 140*b1cdbd2cSJim Jagielski { 141*b1cdbd2cSJim Jagielski updateDialogTravelUI(); 142*b1cdbd2cSJim Jagielski m_aStartMigration.Show( m_aSaveAsLocation.GetText().Len() > 0 ); 143*b1cdbd2cSJim Jagielski } 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- 146*b1cdbd2cSJim Jagielski IMPL_LINK( SaveDBDocPage, OnLocationModified, Edit*, /**/ ) 147*b1cdbd2cSJim Jagielski { 148*b1cdbd2cSJim Jagielski impl_updateLocationDependentItems(); 149*b1cdbd2cSJim Jagielski return 0L; 150*b1cdbd2cSJim Jagielski } 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- initializePage()153*b1cdbd2cSJim Jagielski void SaveDBDocPage::initializePage() 154*b1cdbd2cSJim Jagielski { 155*b1cdbd2cSJim Jagielski OWizardPage::initializePage(); 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski try 158*b1cdbd2cSJim Jagielski { 159*b1cdbd2cSJim Jagielski // get the document's current URL 160*b1cdbd2cSJim Jagielski Reference< XModel > xDocument( getDialog().getDocument(), UNO_QUERY_THROW ); 161*b1cdbd2cSJim Jagielski INetURLObject aURLParser( xDocument->getURL() ); 162*b1cdbd2cSJim Jagielski OSL_ENSURE( aURLParser.GetProtocol() != INET_PROT_NOT_VALID, "SaveDBDocPage::initializePage: illegal document URL!" ); 163*b1cdbd2cSJim Jagielski 164*b1cdbd2cSJim Jagielski ::rtl::OUStringBuffer aBaseName( aURLParser.getBase() ); 165*b1cdbd2cSJim Jagielski aBaseName.appendAscii( ".backup" ); 166*b1cdbd2cSJim Jagielski aURLParser.setBase( aBaseName.makeStringAndClear() ); 167*b1cdbd2cSJim Jagielski 168*b1cdbd2cSJim Jagielski m_aLocationController.setURL( aURLParser.GetMainURL( INetURLObject::NO_DECODE ) ); 169*b1cdbd2cSJim Jagielski impl_updateLocationDependentItems(); 170*b1cdbd2cSJim Jagielski } 171*b1cdbd2cSJim Jagielski catch( const Exception& ) 172*b1cdbd2cSJim Jagielski { 173*b1cdbd2cSJim Jagielski DBG_UNHANDLED_EXCEPTION(); 174*b1cdbd2cSJim Jagielski } 175*b1cdbd2cSJim Jagielski } 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- canAdvance() const178*b1cdbd2cSJim Jagielski bool SaveDBDocPage::canAdvance() const 179*b1cdbd2cSJim Jagielski { 180*b1cdbd2cSJim Jagielski if ( !MacroMigrationPage::canAdvance() ) 181*b1cdbd2cSJim Jagielski return false; 182*b1cdbd2cSJim Jagielski 183*b1cdbd2cSJim Jagielski return m_aSaveAsLocation.GetText().Len() > 0; 184*b1cdbd2cSJim Jagielski } 185*b1cdbd2cSJim Jagielski 186*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- commitPage(::svt::WizardTypes::CommitPageReason _eReason)187*b1cdbd2cSJim Jagielski sal_Bool SaveDBDocPage::commitPage( ::svt::WizardTypes::CommitPageReason _eReason ) 188*b1cdbd2cSJim Jagielski { 189*b1cdbd2cSJim Jagielski if ( !MacroMigrationPage::commitPage( _eReason ) ) 190*b1cdbd2cSJim Jagielski return sal_False; 191*b1cdbd2cSJim Jagielski 192*b1cdbd2cSJim Jagielski if ( ::svt::WizardTypes::eTravelBackward == _eReason ) 193*b1cdbd2cSJim Jagielski return sal_True; 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski if ( !m_aLocationController.prepareCommit() ) 196*b1cdbd2cSJim Jagielski return sal_False; 197*b1cdbd2cSJim Jagielski 198*b1cdbd2cSJim Jagielski return sal_True; 199*b1cdbd2cSJim Jagielski } 200*b1cdbd2cSJim Jagielski 201*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- Create(::svt::RoadmapWizard & _rParentDialog)202*b1cdbd2cSJim Jagielski TabPage* SaveDBDocPage::Create( ::svt::RoadmapWizard& _rParentDialog ) 203*b1cdbd2cSJim Jagielski { 204*b1cdbd2cSJim Jagielski return new SaveDBDocPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) ); 205*b1cdbd2cSJim Jagielski } 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski //==================================================================== 208*b1cdbd2cSJim Jagielski //= ProgressPage 209*b1cdbd2cSJim Jagielski //==================================================================== 210*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- ProgressPage(MacroMigrationDialog & _rParentDialog)211*b1cdbd2cSJim Jagielski ProgressPage::ProgressPage( MacroMigrationDialog& _rParentDialog ) 212*b1cdbd2cSJim Jagielski :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_MIGRATE ) ) 213*b1cdbd2cSJim Jagielski ,m_aObjectCount ( this, MacroMigrationResId( FT_OBJECT_COUNT ) ) 214*b1cdbd2cSJim Jagielski ,m_aCurrentObjectLabel ( this, MacroMigrationResId( FT_CURRENT_OBJECT_LABEL ) ) 215*b1cdbd2cSJim Jagielski ,m_aCurrentObject ( this, MacroMigrationResId( FT_CURRENT_OBJECT ) ) 216*b1cdbd2cSJim Jagielski ,m_aCurrentActionLabel ( this, MacroMigrationResId( FT_CURRENT_PROGRESS_LABEL ) ) 217*b1cdbd2cSJim Jagielski ,m_aCurrentAction ( this, MacroMigrationResId( FT_CURRENT_PROGRESS ) ) 218*b1cdbd2cSJim Jagielski ,m_aCurrentProgress ( this, MacroMigrationResId( WND_CURRENT_PROGRESS ) ) 219*b1cdbd2cSJim Jagielski ,m_aAllProgressLabel ( this, MacroMigrationResId( FT_ALL_PROGRESS_LABEL ) ) 220*b1cdbd2cSJim Jagielski ,m_aAllProgressText ( this, MacroMigrationResId( FT_OBJECT_COUNT_PROGRESS ) ) 221*b1cdbd2cSJim Jagielski ,m_aAllProgress ( this, MacroMigrationResId( WND_ALL_PROGRESS ) ) 222*b1cdbd2cSJim Jagielski ,m_aMigrationDone ( this, MacroMigrationResId( FT_MIGRATION_DONE ) ) 223*b1cdbd2cSJim Jagielski { 224*b1cdbd2cSJim Jagielski FreeResource(); 225*b1cdbd2cSJim Jagielski } 226*b1cdbd2cSJim Jagielski 227*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- Create(::svt::RoadmapWizard & _rParentDialog)228*b1cdbd2cSJim Jagielski TabPage* ProgressPage::Create( ::svt::RoadmapWizard& _rParentDialog ) 229*b1cdbd2cSJim Jagielski { 230*b1cdbd2cSJim Jagielski return new ProgressPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) ); 231*b1cdbd2cSJim Jagielski } 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setDocumentCounts(const sal_Int32 _nForms,const sal_Int32 _nReports)234*b1cdbd2cSJim Jagielski void ProgressPage::setDocumentCounts( const sal_Int32 _nForms, const sal_Int32 _nReports ) 235*b1cdbd2cSJim Jagielski { 236*b1cdbd2cSJim Jagielski String sText( m_aObjectCount.GetText() ); 237*b1cdbd2cSJim Jagielski sText.SearchAndReplaceAscii( "$forms$", String::CreateFromInt32( _nForms ) ); 238*b1cdbd2cSJim Jagielski sText.SearchAndReplaceAscii( "$reports$", String::CreateFromInt32( _nReports ) ); 239*b1cdbd2cSJim Jagielski m_aObjectCount.SetText( sText ); 240*b1cdbd2cSJim Jagielski } 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- onFinishedSuccessfully()243*b1cdbd2cSJim Jagielski void ProgressPage::onFinishedSuccessfully() 244*b1cdbd2cSJim Jagielski { 245*b1cdbd2cSJim Jagielski m_aMigrationDone.Show(); 246*b1cdbd2cSJim Jagielski } 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- startObject(const::rtl::OUString & _rObjectName,const::rtl::OUString & _rCurrentAction,const sal_uInt32 _nRange)249*b1cdbd2cSJim Jagielski void ProgressPage::startObject( const ::rtl::OUString& _rObjectName, const ::rtl::OUString& _rCurrentAction, const sal_uInt32 _nRange ) 250*b1cdbd2cSJim Jagielski { 251*b1cdbd2cSJim Jagielski m_aCurrentObject.SetText( _rObjectName ); 252*b1cdbd2cSJim Jagielski m_aCurrentAction.SetText( _rCurrentAction ); 253*b1cdbd2cSJim Jagielski m_aCurrentProgress.SetRange( _nRange ); 254*b1cdbd2cSJim Jagielski m_aCurrentProgress.SetValue( (sal_uInt32)0 ); 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski // since this is currently called from the main thread, which does not have the chance 257*b1cdbd2cSJim Jagielski // to re-schedule, we need to explicitly update the display 258*b1cdbd2cSJim Jagielski m_aCurrentObject.Update(); 259*b1cdbd2cSJim Jagielski m_aCurrentAction.Update(); 260*b1cdbd2cSJim Jagielski Update(); 261*b1cdbd2cSJim Jagielski } 262*b1cdbd2cSJim Jagielski 263*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setObjectProgressText(const::rtl::OUString & _rText)264*b1cdbd2cSJim Jagielski void ProgressPage::setObjectProgressText( const ::rtl::OUString& _rText ) 265*b1cdbd2cSJim Jagielski { 266*b1cdbd2cSJim Jagielski m_aCurrentAction.SetText( _rText ); 267*b1cdbd2cSJim Jagielski m_aCurrentAction.Update(); 268*b1cdbd2cSJim Jagielski Update(); 269*b1cdbd2cSJim Jagielski } 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setObjectProgressValue(const sal_uInt32 _nValue)272*b1cdbd2cSJim Jagielski void ProgressPage::setObjectProgressValue( const sal_uInt32 _nValue ) 273*b1cdbd2cSJim Jagielski { 274*b1cdbd2cSJim Jagielski m_aCurrentProgress.SetValue( _nValue ); 275*b1cdbd2cSJim Jagielski Update(); 276*b1cdbd2cSJim Jagielski } 277*b1cdbd2cSJim Jagielski 278*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- endObject()279*b1cdbd2cSJim Jagielski void ProgressPage::endObject() 280*b1cdbd2cSJim Jagielski { 281*b1cdbd2cSJim Jagielski m_aCurrentAction.SetText( String() ); 282*b1cdbd2cSJim Jagielski m_aCurrentProgress.SetValue( m_aCurrentProgress.GetRange() ); 283*b1cdbd2cSJim Jagielski m_aCurrentAction.Update(); 284*b1cdbd2cSJim Jagielski Update(); 285*b1cdbd2cSJim Jagielski } 286*b1cdbd2cSJim Jagielski 287*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- start(const sal_uInt32 _nOverallRange)288*b1cdbd2cSJim Jagielski void ProgressPage::start( const sal_uInt32 _nOverallRange ) 289*b1cdbd2cSJim Jagielski { 290*b1cdbd2cSJim Jagielski m_aAllProgress.SetRange( _nOverallRange ); 291*b1cdbd2cSJim Jagielski Update(); 292*b1cdbd2cSJim Jagielski } 293*b1cdbd2cSJim Jagielski 294*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setOverallProgressText(const::rtl::OUString & _rText)295*b1cdbd2cSJim Jagielski void ProgressPage::setOverallProgressText( const ::rtl::OUString& _rText ) 296*b1cdbd2cSJim Jagielski { 297*b1cdbd2cSJim Jagielski m_aAllProgressText.SetText( _rText ); 298*b1cdbd2cSJim Jagielski Update(); 299*b1cdbd2cSJim Jagielski } 300*b1cdbd2cSJim Jagielski 301*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setOverallProgressValue(const sal_uInt32 _nValue)302*b1cdbd2cSJim Jagielski void ProgressPage::setOverallProgressValue( const sal_uInt32 _nValue ) 303*b1cdbd2cSJim Jagielski { 304*b1cdbd2cSJim Jagielski m_aAllProgress.SetValue( _nValue ); 305*b1cdbd2cSJim Jagielski Update(); 306*b1cdbd2cSJim Jagielski } 307*b1cdbd2cSJim Jagielski 308*b1cdbd2cSJim Jagielski //==================================================================== 309*b1cdbd2cSJim Jagielski //= ResultPage 310*b1cdbd2cSJim Jagielski //==================================================================== 311*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- ResultPage(MacroMigrationDialog & _rParentDialog)312*b1cdbd2cSJim Jagielski ResultPage::ResultPage( MacroMigrationDialog& _rParentDialog ) 313*b1cdbd2cSJim Jagielski :MacroMigrationPage( _rParentDialog, MacroMigrationResId( TP_SUMMARY ) ) 314*b1cdbd2cSJim Jagielski ,m_aChangesLabel( this, MacroMigrationResId( FT_CHANGES_LABEL ) ) 315*b1cdbd2cSJim Jagielski ,m_aChanges ( this, MacroMigrationResId( ED_CHANGES ) ) 316*b1cdbd2cSJim Jagielski ,m_aSuccessful ( MacroMigrationResId( STR_SUCCESSFUL ) ) 317*b1cdbd2cSJim Jagielski ,m_aUnsuccessful( MacroMigrationResId( STR_UNSUCCESSFUL ) ) 318*b1cdbd2cSJim Jagielski { 319*b1cdbd2cSJim Jagielski FreeResource(); 320*b1cdbd2cSJim Jagielski } 321*b1cdbd2cSJim Jagielski 322*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- Create(::svt::RoadmapWizard & _rParentDialog)323*b1cdbd2cSJim Jagielski TabPage* ResultPage::Create( ::svt::RoadmapWizard& _rParentDialog ) 324*b1cdbd2cSJim Jagielski { 325*b1cdbd2cSJim Jagielski return new ResultPage( dynamic_cast< MacroMigrationDialog& >( _rParentDialog ) ); 326*b1cdbd2cSJim Jagielski } 327*b1cdbd2cSJim Jagielski 328*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- displayMigrationLog(const bool _bSuccessful,const String & _rSummary)329*b1cdbd2cSJim Jagielski void ResultPage::displayMigrationLog( const bool _bSuccessful, const String& _rSummary ) 330*b1cdbd2cSJim Jagielski { 331*b1cdbd2cSJim Jagielski m_aChangesLabel.SetText( _bSuccessful ? m_aSuccessful : m_aUnsuccessful ); 332*b1cdbd2cSJim Jagielski m_aChanges.SetText( _rSummary ); 333*b1cdbd2cSJim Jagielski 334*b1cdbd2cSJim Jagielski // resize m_aChangesLabel and m_aChances as needed for the label text to fit 335*b1cdbd2cSJim Jagielski Rectangle aOriginalLabelSize( m_aChangesLabel.GetPosPixel(), m_aChangesLabel.GetSizePixel() ); 336*b1cdbd2cSJim Jagielski // assume 3 lines, at most 337*b1cdbd2cSJim Jagielski Rectangle aNewLabelSize( aOriginalLabelSize ); 338*b1cdbd2cSJim Jagielski aNewLabelSize.Bottom() = aNewLabelSize.Top() + m_aChangesLabel.LogicToPixel( Size( 0, 3*8 ), MAP_APPFONT ).Height(); 339*b1cdbd2cSJim Jagielski TextRectInfo aInfo; 340*b1cdbd2cSJim Jagielski aNewLabelSize = m_aChangesLabel.GetTextRect( aNewLabelSize, m_aChangesLabel.GetText(), TEXT_DRAW_MULTILINE | TEXT_DRAW_WORDBREAK, &aInfo ); 341*b1cdbd2cSJim Jagielski aNewLabelSize.Bottom() = aNewLabelSize.Top() + m_aChangesLabel.LogicToPixel( Size( 0, aInfo.GetLineCount() * 8 ), MAP_APPFONT ).Height(); 342*b1cdbd2cSJim Jagielski 343*b1cdbd2cSJim Jagielski m_aChangesLabel.SetSizePixel( aNewLabelSize.GetSize() ); 344*b1cdbd2cSJim Jagielski 345*b1cdbd2cSJim Jagielski long nChangesDiff = aNewLabelSize.GetHeight() - aOriginalLabelSize.GetHeight(); 346*b1cdbd2cSJim Jagielski Size aChangesSize( m_aChanges.GetSizePixel() ); 347*b1cdbd2cSJim Jagielski aChangesSize.Height() -= nChangesDiff; 348*b1cdbd2cSJim Jagielski m_aChanges.SetSizePixel( aChangesSize ); 349*b1cdbd2cSJim Jagielski 350*b1cdbd2cSJim Jagielski Point aChangesPos( m_aChanges.GetPosPixel() ); 351*b1cdbd2cSJim Jagielski aChangesPos.Y() += nChangesDiff; 352*b1cdbd2cSJim Jagielski m_aChanges.SetPosPixel( aChangesPos ); 353*b1cdbd2cSJim Jagielski } 354*b1cdbd2cSJim Jagielski 355*b1cdbd2cSJim Jagielski //........................................................................ 356*b1cdbd2cSJim Jagielski } // namespace dbmm 357*b1cdbd2cSJim Jagielski //........................................................................ 358