basctl/Library_basctl.mk | 1 basctl/source/basicide/baside2.hxx | 1 basctl/source/basicide/baside2b.cxx | 2 basctl/source/basicide/basidesh.cxx | 4 basctl/source/basicide/bastypes.cxx | 125 ----------------------- basctl/source/basicide/breakpoint.cxx | 179 ++++++++++++++++++++++++++++++++++ basctl/source/basicide/breakpoint.hxx | 79 +++++++++++++++ basctl/source/basicide/brkdlg.cxx | 15 +- basctl/source/inc/bastypes.hxx | 73 +------------ 9 files changed, 279 insertions(+), 200 deletions(-)
New commits: commit f81a7438409ee9cede09b0395d8af0943220a4ea Author: August Sodora <aug...@gmail.com> Date: Sun Dec 4 22:01:35 2011 -0500 Refactor BreakPoint diff --git a/basctl/Library_basctl.mk b/basctl/Library_basctl.mk index 45403ec..438c8c3 100644 --- a/basctl/Library_basctl.mk +++ b/basctl/Library_basctl.mk @@ -85,6 +85,7 @@ $(eval $(call gb_Library_add_exception_objects,basctl,\ basctl/source/basicide/bastype2 \ basctl/source/basicide/bastype3 \ basctl/source/basicide/bastypes \ + basctl/source/basicide/breakpoint \ basctl/source/basicide/brkdlg \ basctl/source/basicide/doceventnotifier \ basctl/source/basicide/docsignature \ diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx index 119aa60..e9378ab 100644 --- a/basctl/source/basicide/baside2.hxx +++ b/basctl/source/basicide/baside2.hxx @@ -51,6 +51,7 @@ class SvxSearchItem; #include <sfx2/progress.hxx> #include <svtools/syntaxhighlight.hxx> +#include "breakpoint.hxx" #include "linenumberwindow.hxx" DBG_NAMEEX( ModulWindow ) diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index 4ad4eea..dfef385 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -26,14 +26,12 @@ * ************************************************************************/ - #define _BASIC_TEXTPORTIONS #include "helpid.hrc" #include "baside2.hrc" #include "baside2.hxx" -#include "basobj.hxx" #include "brkdlg.hxx" #include "iderdll.hxx" #include "iderdll2.hxx" diff --git a/basctl/source/basicide/bastypes.cxx b/basctl/source/basicide/bastypes.cxx index 2ced841..21dfce9 100644 --- a/basctl/source/basicide/bastypes.cxx +++ b/basctl/source/basicide/bastypes.cxx @@ -252,127 +252,6 @@ Window* IDEBaseWindow::GetLayoutWindow() return NULL; } -BreakPointList::BreakPointList() -{} - -BreakPointList::BreakPointList(BreakPointList const & rList) -{ - for (size_t i = 0; i < rList.size(); ++i) - maBreakPoints.push_back( new BreakPoint(*rList.at( i ) ) ); -} - -BreakPointList::~BreakPointList() -{ - reset(); -} - -void BreakPointList::reset() -{ - for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) - delete maBreakPoints[ i ]; - maBreakPoints.clear(); -} - -void BreakPointList::transfer(BreakPointList & rList) -{ - reset(); - for (size_t i = 0; i < rList.size(); ++i) - maBreakPoints.push_back( rList.at( i ) ); - rList.clear(); -} - -void BreakPointList::InsertSorted( BreakPoint* pNewBrk ) -{ - for ( vector< BreakPoint* >::iterator i = maBreakPoints.begin(); i < maBreakPoints.end(); ++i ) - { - if ( pNewBrk->nLine <= (*i)->nLine ) - { - DBG_ASSERT( ( (*i)->nLine != pNewBrk->nLine ) || pNewBrk->bTemp, "BreakPoint existiert schon!" ); - maBreakPoints.insert( i, pNewBrk ); - return; - } - } - // no insert position found => LIST_APPEND - maBreakPoints.push_back( pNewBrk ); -} - -void BreakPointList::SetBreakPointsInBasic( SbModule* pModule ) -{ - pModule->ClearAllBP(); - - for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) - { - BreakPoint* pBrk = maBreakPoints[ i ]; - if ( pBrk->bEnabled ) - pModule->SetBP( (sal_uInt16)pBrk->nLine ); - } -} - -BreakPoint* BreakPointList::FindBreakPoint( size_t nLine ) -{ - for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) - { - BreakPoint* pBrk = maBreakPoints[ i ]; - if ( pBrk->nLine == nLine ) - return pBrk; - } - return NULL; -} - -void BreakPointList::AdjustBreakPoints( size_t nLine, bool bInserted ) -{ - for ( size_t i = 0; i < maBreakPoints.size(); ) - { - BreakPoint* pBrk = maBreakPoints[ i ]; - bool bDelBrk = false; - if ( pBrk->nLine == nLine ) - { - if ( bInserted ) - pBrk->nLine++; - else - bDelBrk = true; - } - else if ( pBrk->nLine > nLine ) - { - if ( bInserted ) - pBrk->nLine++; - else - pBrk->nLine--; - } - - if ( bDelBrk ) - { - delete remove( pBrk ); - } - else - { - ++i; - } - } -} - -void BreakPointList::ResetHitCount() -{ - for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) - { - BreakPoint* pBrk = maBreakPoints[ i ]; - pBrk->nHitCount = 0; - } -} - -BreakPoint* BreakPointList::remove( BreakPoint* ptr ) -{ - for ( vector< BreakPoint* >::iterator i = maBreakPoints.begin(); i < maBreakPoints.end(); ++i ) - { - if ( ptr == *i ) - { - maBreakPoints.erase( i ); - return ptr; - } - } - return NULL; -} - void IDEBaseWindow::Deactivating() { } diff --git a/basctl/source/basicide/breakpoint.cxx b/basctl/source/basicide/breakpoint.cxx new file mode 100644 index 0000000..b763174 --- /dev/null +++ b/basctl/source/basicide/breakpoint.cxx @@ -0,0 +1,179 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "breakpoint.hxx" + +#include <basic/sbmod.hxx> +#include <tools/debug.hxx> + +BreakPointList::BreakPointList() +{} + +BreakPointList::BreakPointList(BreakPointList const & rList) +{ + for (size_t i = 0; i < rList.size(); ++i) + maBreakPoints.push_back( new BreakPoint(*rList.at( i ) ) ); +} + +BreakPointList::~BreakPointList() +{ + reset(); +} + +void BreakPointList::reset() +{ + for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) + delete maBreakPoints[ i ]; + maBreakPoints.clear(); +} + +void BreakPointList::transfer(BreakPointList & rList) +{ + reset(); + for (size_t i = 0; i < rList.size(); ++i) + maBreakPoints.push_back( rList.at( i ) ); + rList.clear(); +} + +void BreakPointList::InsertSorted(BreakPoint* pNewBrk) +{ + for ( ::std::vector< BreakPoint* >::iterator i = maBreakPoints.begin(); i < maBreakPoints.end(); ++i ) + { + if ( pNewBrk->nLine <= (*i)->nLine ) + { + DBG_ASSERT( ( (*i)->nLine != pNewBrk->nLine ) || pNewBrk->bTemp, "BreakPoint existiert schon!" ); + maBreakPoints.insert( i, pNewBrk ); + return; + } + } + // no insert position found => LIST_APPEND + maBreakPoints.push_back( pNewBrk ); +} + +void BreakPointList::SetBreakPointsInBasic(SbModule* pModule) +{ + pModule->ClearAllBP(); + + for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) + { + BreakPoint* pBrk = maBreakPoints[ i ]; + if ( pBrk->bEnabled ) + pModule->SetBP( (sal_uInt16)pBrk->nLine ); + } +} + +BreakPoint* BreakPointList::FindBreakPoint(size_t nLine) +{ + for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) + { + BreakPoint* pBrk = maBreakPoints[ i ]; + if ( pBrk->nLine == nLine ) + return pBrk; + } + return NULL; +} + +void BreakPointList::AdjustBreakPoints(size_t nLine, bool bInserted) +{ + for ( size_t i = 0; i < maBreakPoints.size(); ) + { + BreakPoint* pBrk = maBreakPoints[ i ]; + bool bDelBrk = false; + if ( pBrk->nLine == nLine ) + { + if ( bInserted ) + pBrk->nLine++; + else + bDelBrk = true; + } + else if ( pBrk->nLine > nLine ) + { + if ( bInserted ) + pBrk->nLine++; + else + pBrk->nLine--; + } + + if ( bDelBrk ) + { + delete remove( pBrk ); + } + else + { + ++i; + } + } +} + +void BreakPointList::ResetHitCount() +{ + for ( size_t i = 0, n = maBreakPoints.size(); i < n; ++i ) + { + BreakPoint* pBrk = maBreakPoints[ i ]; + pBrk->nHitCount = 0; + } +} + +BreakPoint* BreakPointList::remove(BreakPoint* ptr) +{ + for ( ::std::vector< BreakPoint* >::iterator i = maBreakPoints.begin(); i < maBreakPoints.end(); ++i ) + { + if ( ptr == *i ) + { + maBreakPoints.erase( i ); + return ptr; + } + } + return NULL; +} + +size_t BreakPointList::size() const +{ + return maBreakPoints.size(); +} + +BreakPoint* BreakPointList::at(size_t i) +{ + return i < maBreakPoints.size() ? maBreakPoints[ i ] : NULL; +} + +const BreakPoint* BreakPointList::at(size_t i) const +{ + return i < maBreakPoints.size() ? maBreakPoints[ i ] : NULL; +} + +void BreakPointList::push_back(BreakPoint* item) +{ + maBreakPoints.push_back( item ); +} + +void BreakPointList::clear() +{ + maBreakPoints.clear(); +} +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basctl/source/basicide/breakpoint.hxx b/basctl/source/basicide/breakpoint.hxx new file mode 100644 index 0000000..16cdfa3 --- /dev/null +++ b/basctl/source/basicide/breakpoint.hxx @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _BREAKPOINT_HXX +#define _BREAKPOINT_HXX + +#include <vector> + +class SbModule; + +struct BreakPoint +{ + bool bEnabled; + bool bTemp; + size_t nLine; + size_t nStopAfter; + size_t nHitCount; + + BreakPoint(size_t nL) { nLine = nL; nStopAfter = 0; nHitCount = 0; bEnabled = true; bTemp = false; } +}; + +class BreakPointList +{ +private: + void operator =(BreakPointList); // not implemented + ::std::vector<BreakPoint*> maBreakPoints; + +public: + BreakPointList(); + + BreakPointList(BreakPointList const & rList); + + ~BreakPointList(); + + void reset(); + + void transfer(BreakPointList & rList); + + void InsertSorted(BreakPoint* pBrk); + BreakPoint* FindBreakPoint(size_t nLine); + void AdjustBreakPoints(size_t nLine, bool bInserted); + void SetBreakPointsInBasic(SbModule* pModule); + void ResetHitCount(); + + size_t size() const; + BreakPoint* at(size_t i); + const BreakPoint* at(size_t i) const; + void push_back(BreakPoint* item); + void clear(); + BreakPoint* remove(BreakPoint* ptr); +}; + +#endif // _BREAKPOINT_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basctl/source/basicide/brkdlg.cxx b/basctl/source/basicide/brkdlg.cxx index 5dd4b3a..3365e13 100644 --- a/basctl/source/basicide/brkdlg.cxx +++ b/basctl/source/basicide/brkdlg.cxx @@ -26,17 +26,16 @@ * ************************************************************************/ - -#include <limits> - #include <vcl/sound.hxx> #define _SVX_NOIDERESIDS -#include <brkdlg.hxx> -#include <brkdlg.hrc> -#include <basidesh.hxx> -#include <basidesh.hrc> -#include <iderdll.hxx> +#include "breakpoint.hxx" +#include "brkdlg.hxx" +#include "brkdlg.hrc" +#include "basidesh.hxx" +#include "basidesh.hrc" +#include "iderdll.hxx" + #include <comphelper/string.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> diff --git a/basctl/source/inc/bastypes.hxx b/basctl/source/inc/bastypes.hxx index e8c89f0..fb24a2b 100644 --- a/basctl/source/inc/bastypes.hxx +++ b/basctl/source/inc/bastypes.hxx @@ -65,17 +65,6 @@ struct BasicStatus nBasicFlags(0) { } }; -struct BreakPoint -{ - bool bEnabled; - bool bTemp; - size_t nLine; - size_t nStopAfter; - size_t nHitCount; - - BreakPoint( size_t nL ) { nLine = nL; nStopAfter = 0; nHitCount = 0; bEnabled = true; bTemp = false; } -}; - class BasicDockingWindow : public DockingWindow { Rectangle aFloatingPosAndSize; @@ -91,52 +80,6 @@ public: BasicDockingWindow( Window* pParent ); }; -class BreakPointList -{ -private: - void operator =(BreakPointList); // not implemented - ::std::vector< BreakPoint* > maBreakPoints; - -public: - BreakPointList(); - - BreakPointList(BreakPointList const & rList); - - ~BreakPointList(); - - void reset(); - - void transfer(BreakPointList & rList); - - void InsertSorted( BreakPoint* pBrk ); - BreakPoint* FindBreakPoint( size_t nLine ); - void AdjustBreakPoints( size_t nLine, bool bInserted ); - void SetBreakPointsInBasic( SbModule* pModule ); - void ResetHitCount(); - - size_t size() const - { - return maBreakPoints.size(); - } - BreakPoint* at( size_t i ) - { - return i < maBreakPoints.size() ? maBreakPoints[ i ] : NULL; - } - const BreakPoint* at( size_t i ) const - { - return i < maBreakPoints.size() ? maBreakPoints[ i ] : NULL; - } - void push_back( BreakPoint* item ) - { - maBreakPoints.push_back( item ); - } - void clear() - { - maBreakPoints.clear(); - } - BreakPoint* remove( BreakPoint* ptr ); -}; - // helper class for sorting TabBar class TabBarSortHelper { commit e7b6c4ac5fc38a05571201b92b81b163348602b5 Author: August Sodora <aug...@gmail.com> Date: Sun Dec 4 20:17:29 2011 -0500 String->OUString diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index 65c92d6..e99224c 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -799,7 +799,7 @@ void BasicIDEShell::UpdateWindows() for ( sal_Int32 j = 0 ; j < nModCount ; j++ ) { - String aModName = pModNames[ j ]; + ::rtl::OUString aModName = pModNames[ j ]; ModulWindow* pWin = FindBasWin( *doc, aLibName, aModName, sal_False ); if ( !pWin ) pWin = CreateBasWin( *doc, aLibName, aModName ); @@ -828,7 +828,7 @@ void BasicIDEShell::UpdateWindows() for ( sal_Int32 j = 0 ; j < nDlgCount ; j++ ) { - String aDlgName = pDlgNames[ j ]; + ::rtl::OUString aDlgName = pDlgNames[ j ]; // this find only looks for non-suspended windows; // suspended windows are handled in CreateDlgWin DialogWindow* pWin = FindDlgWin( *doc, aLibName, aDlgName, sal_False ); diff --git a/basctl/source/basicide/bastypes.cxx b/basctl/source/basicide/bastypes.cxx index f7dc4e5..2ced841 100644 --- a/basctl/source/basicide/bastypes.cxx +++ b/basctl/source/basicide/bastypes.cxx @@ -760,7 +760,7 @@ sal_uLong CalcLineCount( SvStream& rStream ) return nCRs; } -LibInfoKey::LibInfoKey( const ScriptDocument& rDocument, const String& rLibName ) +LibInfoKey::LibInfoKey( const ScriptDocument& rDocument, const ::rtl::OUString& rLibName ) :m_aDocument( rDocument ) ,m_aLibName( rLibName ) { @@ -791,7 +791,7 @@ bool LibInfoKey::operator==( const LibInfoKey& rKey ) const return bRet; } -LibInfoItem::LibInfoItem( const ScriptDocument& rDocument, const String& rLibName, const String& rCurrentName, sal_uInt16 nCurrentType ) +LibInfoItem::LibInfoItem( const ScriptDocument& rDocument, const ::rtl::OUString& rLibName, const ::rtl::OUString& rCurrentName, sal_uInt16 nCurrentType ) :m_aDocument( rDocument ) ,m_aLibName( rLibName ) ,m_aCurrentName( rCurrentName ) diff --git a/basctl/source/inc/bastypes.hxx b/basctl/source/inc/bastypes.hxx index 8684fe5..e8c89f0 100644 --- a/basctl/source/inc/bastypes.hxx +++ b/basctl/source/inc/bastypes.hxx @@ -262,10 +262,10 @@ class LibInfoKey { private: ScriptDocument m_aDocument; - String m_aLibName; + ::rtl::OUString m_aLibName; public: - LibInfoKey( const ScriptDocument& rDocument, const String& rLibName ); + LibInfoKey( const ScriptDocument& rDocument, const ::rtl::OUString& rLibName ); ~LibInfoKey(); LibInfoKey( const LibInfoKey& rKey ); @@ -275,19 +275,19 @@ public: const ScriptDocument& GetDocument() const { return m_aDocument; } - const String& GetLibName() const { return m_aLibName; } + const ::rtl::OUString& GetLibName() const { return m_aLibName; } }; class LibInfoItem { private: ScriptDocument m_aDocument; - String m_aLibName; - String m_aCurrentName; + ::rtl::OUString m_aLibName; + ::rtl::OUString m_aCurrentName; sal_uInt16 m_nCurrentType; public: - LibInfoItem( const ScriptDocument& rDocument, const String& rLibName, const String& rCurrentName, sal_uInt16 nCurrentType ); + LibInfoItem( const ScriptDocument& rDocument, const ::rtl::OUString& rLibName, const ::rtl::OUString& rCurrentName, sal_uInt16 nCurrentType ); ~LibInfoItem(); LibInfoItem( const LibInfoItem& rItem ); @@ -295,8 +295,8 @@ public: const ScriptDocument& GetDocument() const { return m_aDocument; } - const String& GetLibName() const { return m_aLibName; } - const String& GetCurrentName() const { return m_aCurrentName; } + const ::rtl::OUString& GetLibName() const { return m_aLibName; } + const ::rtl::OUString& GetCurrentName() const { return m_aCurrentName; } sal_uInt16 GetCurrentType() const { return m_nCurrentType; } }; _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits