diff options
Diffstat (limited to 'chart2/source/controller/dialogs/DataBrowser.cxx')
-rw-r--r-- | chart2/source/controller/dialogs/DataBrowser.cxx | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/chart2/source/controller/dialogs/DataBrowser.cxx b/chart2/source/controller/dialogs/DataBrowser.cxx index f430d3723fce..54f13e2b53b6 100644 --- a/chart2/source/controller/dialogs/DataBrowser.cxx +++ b/chart2/source/controller/dialogs/DataBrowser.cxx @@ -102,7 +102,6 @@ class SeriesHeaderEdit : public Edit { public: SeriesHeaderEdit( vcl::Window * pParent ); - virtual ~SeriesHeaderEdit(); virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE; void setStartColumn( sal_Int32 nStartColumn ); @@ -122,9 +121,6 @@ SeriesHeaderEdit::SeriesHeaderEdit( vcl::Window * pParent ) : SetHelpId(HID_SCH_DATA_SERIES_LABEL); } -SeriesHeaderEdit::~SeriesHeaderEdit() -{} - void SeriesHeaderEdit::setStartColumn( sal_Int32 nStartColumn ) { m_nStartColumn = nStartColumn; @@ -457,21 +453,29 @@ DataBrowser::DataBrowser( vcl::Window* pParent, WinBits nStyle, bool bLiveUpdate m_bIsDirty( false ), m_bLiveUpdate( bLiveUpdate ), m_bDataValid( true ), - m_aNumberEditField( & EditBrowseBox::GetDataWindow(), WB_NOBORDER ), - m_aTextEditField( & EditBrowseBox::GetDataWindow(), WB_NOBORDER ), - m_rNumberEditController( new ::svt::FormattedFieldCellController( & m_aNumberEditField )), - m_rTextEditController( new ::svt::EditCellController( & m_aTextEditField )) + m_aNumberEditField( new FormattedField( & EditBrowseBox::GetDataWindow(), WB_NOBORDER ) ), + m_aTextEditField( new Edit( & EditBrowseBox::GetDataWindow(), WB_NOBORDER ) ), + m_rNumberEditController( new ::svt::FormattedFieldCellController( m_aNumberEditField.get() )), + m_rTextEditController( new ::svt::EditCellController( m_aTextEditField.get() )) { double fNan; ::rtl::math::setNan( & fNan ); - m_aNumberEditField.SetDefaultValue( fNan ); - m_aNumberEditField.TreatAsNumber( true ); + m_aNumberEditField->SetDefaultValue( fNan ); + m_aNumberEditField->TreatAsNumber( true ); RenewTable(); SetClean(); } DataBrowser::~DataBrowser() { + dispose(); +} + +void DataBrowser::dispose() +{ + m_aNumberEditField.disposeAndClear(); + m_aTextEditField.disposeAndClear(); + ::svt::EditBrowseBox::dispose(); } bool DataBrowser::MayInsertRow() const @@ -777,7 +781,7 @@ bool DataBrowser::IsDataValid() { sal_uInt32 nDummy = 0; double fDummy = 0.0; - OUString aText( m_aNumberEditField.GetText()); + OUString aText( m_aNumberEditField->GetText()); if( !aText.isEmpty() && m_spNumberFormatterWrapper.get() && @@ -821,7 +825,7 @@ void DataBrowser::SetDataFromModel( Reference< util::XNumberFormatsSupplier >( m_xChartDoc, uno::UNO_QUERY ))); if( m_spNumberFormatterWrapper.get() ) - m_aNumberEditField.SetFormatter( m_spNumberFormatterWrapper->getSvNumberFormatter() ); + m_aNumberEditField->SetFormatter( m_spNumberFormatterWrapper->getSvNumberFormatter() ); RenewTable(); @@ -1041,8 +1045,8 @@ bool DataBrowser::IsTabAllowed( bool bForward ) const if( CellContainsNumbers( nRow, nCol )) { - m_aNumberEditField.UseInputStringForFormatting(); - m_aNumberEditField.SetFormatKey( GetNumberFormatKey( nRow, nCol )); + m_aNumberEditField->UseInputStringForFormatting(); + m_aNumberEditField->SetFormatKey( GetNumberFormatKey( nRow, nCol )); return m_rNumberEditController; } @@ -1055,19 +1059,19 @@ void DataBrowser::InitController( if( rController == m_rTextEditController ) { OUString aText( GetCellText( nRow, nCol ) ); - m_aTextEditField.SetText( aText ); - m_aTextEditField.SetSelection( Selection( 0, aText.getLength() )); + m_aTextEditField->SetText( aText ); + m_aTextEditField->SetSelection( Selection( 0, aText.getLength() )); } else if( rController == m_rNumberEditController ) { // treat invalid and empty text as Nan - m_aNumberEditField.EnableNotANumber( true ); + m_aNumberEditField->EnableNotANumber( true ); if( ::rtl::math::isNan( GetCellNumber( nRow, nCol ))) - m_aNumberEditField.SetTextValue( OUString()); + m_aNumberEditField->SetTextValue( OUString()); else - m_aNumberEditField.SetValue( GetCellNumber( nRow, nCol ) ); - OUString aText( m_aNumberEditField.GetText()); - m_aNumberEditField.SetSelection( Selection( 0, aText.getLength())); + m_aNumberEditField->SetValue( GetCellNumber( nRow, nCol ) ); + OUString aText( m_aNumberEditField->GetText()); + m_aNumberEditField->SetSelection( Selection( 0, aText.getLength())); } else { @@ -1125,7 +1129,7 @@ bool DataBrowser::SaveModified() { sal_uInt32 nDummy = 0; double fDummy = 0.0; - OUString aText( m_aNumberEditField.GetText()); + OUString aText( m_aNumberEditField->GetText()); // an empty string is valid, if no numberformatter exists, all // values are treated as valid if( !aText.isEmpty() && pSvNumberFormatter && @@ -1135,14 +1139,14 @@ bool DataBrowser::SaveModified() } else { - double fData = m_aNumberEditField.GetValue(); + double fData = m_aNumberEditField->GetValue(); bChangeValid = m_apDataBrowserModel->setCellNumber( nCol, nRow, fData ); } } break; case DataBrowserModel::TEXTORDATE: { - OUString aText( m_aTextEditField.GetText() ); + OUString aText( m_aTextEditField->GetText() ); double fDateValue = 0.0; bChangeValid = false; if( isDateString( aText, fDateValue ) ) @@ -1153,7 +1157,7 @@ bool DataBrowser::SaveModified() break; case DataBrowserModel::TEXT: { - OUString aText( m_aTextEditField.GetText()); + OUString aText( m_aTextEditField->GetText()); bChangeValid = m_apDataBrowserModel->setCellText( nCol, nRow, aText ); } break; |