diff options
author | Joseph Powers <jpowers27@cox.net> | 2010-12-27 06:29:50 -0800 |
---|---|---|
committer | Joseph Powers <jpowers27@cox.net> | 2010-12-31 06:57:19 -0800 |
commit | ba736d69f66fbe88f9eed88afa500a5835451e97 (patch) | |
tree | 0e2bef116590345d2be200b781f88969a1a78c4c /basic | |
parent | eca95b68fe17145d41ce4c77e58033657fd89ce3 (diff) |
Remove DECLARE_LIST(EditList, AppWin*)
released under LGPL 3+
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/app/app.cxx | 169 | ||||
-rw-r--r-- | basic/source/app/app.hxx | 14 | ||||
-rw-r--r-- | basic/source/app/appwin.cxx | 2 | ||||
-rw-r--r-- | basic/source/app/appwin.hxx | 5 | ||||
-rw-r--r-- | basic/source/app/status.cxx | 2 |
5 files changed, 120 insertions, 72 deletions
diff --git a/basic/source/app/app.cxx b/basic/source/app/app.cxx index 9e0840f619a0..7cb4f2ab5751 100644 --- a/basic/source/app/app.cxx +++ b/basic/source/app/app.cxx @@ -627,17 +627,15 @@ void BasicFrame::LoadIniFile() if ( pBasic ) pBasic->LoadIniFile(); - for ( i = 0 ; i < pList->Count() ; i++ ) - pList->GetObject( i )->LoadIniFile(); + for ( i = 0 ; i < pList->size() ; i++ ) + pList->at( i )->LoadIniFile(); } BasicFrame::~BasicFrame() { - AppWin* p = pList->First(); - DBG_ASSERT( !p, "Still open FileWindows"); - if( p ) - while( (p = pList->Remove() ) != NULL ) - delete p; + for ( size_t i = 0, n = pList->size(); i < n; ++i ) + delete pList->at( i ); + pList->clear(); MenuBar *pBar = GetMenuBar(); SetMenuBar( NULL ); @@ -699,8 +697,8 @@ IMPL_LINK( BasicFrame, CheckAllFiles, Timer*, pTimer ) { AppWin* pStartWin = pWork; Window* pFocusWin = Application::GetFocusWindow(); - for ( int i = pList->Count()-1 ; i >= 0 ; i-- ) - pList->GetObject( i )->CheckReload(); + for ( size_t i = pList->size() ; i > 0 ; ) + pList->at( --i )->CheckReload(); if ( pWork != pStartWin ) { @@ -777,11 +775,10 @@ void BasicFrame::Resize() // Resize possibly maximized window - ULONG i; - for( i = pList->Count(); i > 0 ; i-- ) + for( size_t i = pList->size(); i > 0 ; i-- ) { - if ( pList->GetObject( i-1 )->GetWinState() == TT_WIN_STATE_MAX ) - pList->GetObject( i-1 )->Maximize(); + if ( pList->at( i-1 )->GetWinState() == TT_WIN_STATE_MAX ) + pList->at( i-1 )->Maximize(); } } @@ -801,42 +798,58 @@ void BasicFrame::GetFocus() IMPL_LINK( BasicFrame, CloseButtonClick, void*, EMPTYARG ) { AppWin* p; - for ( p = pList->Last() ; p && p->GetWinState() != TT_WIN_STATE_MAX ; p = pList->Prev() ) - {}; - if ( p ) - p->GrabFocus(); + for ( size_t i = pList->size(); i > 0; --i ) + { + p = pList->at( i - 1 ); + if ( p->GetWinState() == TT_WIN_STATE_MAX ) + { + p->GrabFocus(); + break; + } + } return Command( RID_FILECLOSE, FALSE ); } IMPL_LINK( BasicFrame, FloatButtonClick, void*, EMPTYARG ) { AppWin* p; - for ( p = pList->Last() ; p && p->GetWinState() != TT_WIN_STATE_MAX ; p = pList->Prev() ) - {}; - if ( p ) - p->TitleButtonClick( TITLE_BUTTON_DOCKING ); + for ( size_t i = pList->size(); i > 0; --i ) + { + p = pList->at( i - 1 ); + if ( p->GetWinState() == TT_WIN_STATE_MAX ) + { + p->TitleButtonClick( TITLE_BUTTON_DOCKING ); + break; + } + } return 1; } IMPL_LINK( BasicFrame, HideButtonClick, void*, EMPTYARG ) { AppWin* p; - for ( p = pList->Last() ; p && p->GetWinState() != TT_WIN_STATE_MAX ; p = pList->Prev() ) - {}; - if ( p ) - p->TitleButtonClick( TITLE_BUTTON_HIDE ); + for ( size_t i = pList->size(); i > 0; --i ) + { + p = pList->at( i - 1 ); + if ( p->GetWinState() == TT_WIN_STATE_MAX ) + { + p->TitleButtonClick( TITLE_BUTTON_HIDE ); + break; + } + } return 1; } void BasicFrame::WinShow_Hide() { - if ( !pList->Count() ) + if ( pList->empty() ) return; AppWin* p; BOOL bWasFullscreen = FALSE; - for ( p = pList->Last() ; p ; p = pList->Prev() ) + for ( size_t i = pList->size(); i > 0; --i ) { + p = pList->at( i - 1 ); if ( p->pDataEdit ) { if ( p->GetWinState() & TT_WIN_STATE_HIDE // Hidden @@ -855,16 +868,26 @@ void BasicFrame::WinMax_Restore() // The application buttons AppWin* p; BOOL bHasFullscreenWin = FALSE; - for( p = pList->First(); p && !bHasFullscreenWin ; p = pList->Next() ) - bHasFullscreenWin |= ( p->GetWinState() == TT_WIN_STATE_MAX ); + for ( size_t i = 0, n = pList->size(); i < n && !bHasFullscreenWin; ++i ) + { + p = pList->at( i ); + bHasFullscreenWin = ( p->GetWinState() == TT_WIN_STATE_MAX ); + } GetMenuBar()->ShowButtons( bHasFullscreenWin, FALSE, FALSE ); WinShow_Hide(); } void BasicFrame::RemoveWindow( AppWin *pWin ) { - pList->Remove( pWin ); - pWork = pList->Last(); + for ( EditList::iterator it = pList->begin(); it < pList->end(); ++it ) + { + if ( *it == pWin ) + { + pList->erase( it ); + break; + } + } + pWork = ( pList->empty() ) ? NULL : pList->back(); WinShow_Hide(); @@ -874,7 +897,8 @@ void BasicFrame::RemoveWindow( AppWin *pWin ) WinMax_Restore(); Menu* pMenu = GetMenuBar(); - if( pList->Count() == 0 ) { + if( pList->empty() ) + { pMenu->EnableItem( RID_APPEDIT, FALSE ); pMenu->EnableItem( RID_APPRUN, FALSE ); pMenu->EnableItem( RID_APPWINDOW, FALSE ); @@ -893,14 +917,15 @@ void BasicFrame::RemoveWindow( AppWin *pWin ) void BasicFrame::AddWindow( AppWin *pWin ) { - pList->Insert( pWin, LIST_APPEND ); + pList->push_back( pWin ); pWork = pWin; WinMax_Restore(); // Enable main menu MenuBar* pMenu = GetMenuBar(); - if( pList->Count() > 0 ) { + if( !pList->empty() ) + { pMenu->EnableItem( RID_APPEDIT, TRUE ); pMenu->EnableItem( RID_APPRUN, TRUE ); pMenu->EnableItem( RID_APPWINDOW, TRUE ); @@ -938,8 +963,15 @@ void BasicFrame::WindowRenamed( AppWin *pWin ) void BasicFrame::FocusWindow( AppWin *pWin ) { pWork = pWin; - pList->Remove( pWin ); - pList->Insert( pWin, LIST_APPEND ); + for ( EditList::iterator it = pList->begin(); it < pList->end(); ++it ) + { + if ( *it == pWin ) + { + pList->erase( it ); + break; + } + } + pList->push_back( pWin ); pWin->Minimize( FALSE ); aAppFile = pWin->GetText(); @@ -976,8 +1008,8 @@ BOOL BasicFrame::Close() BOOL BasicFrame::CloseAll() { - while ( pList->Count() ) - if ( !pList->Last()->Close() ) + while ( !pList->empty() ) + if ( !pList->back()->Close() ) return FALSE; return TRUE; } @@ -985,8 +1017,11 @@ BOOL BasicFrame::CloseAll() BOOL BasicFrame::CompileAll() { AppWin* p; - for( p = pList->First(); p; p = pList->Next() ) - if( p->ISA(AppBasEd) && !((AppBasEd*)p)->Compile() ) return FALSE; + for ( size_t i = 0, n = pList->size(); i < n; ++i ) + { + p = pList->at( i ); + if ( p->ISA(AppBasEd) && !((AppBasEd*)p)->Compile() ) return FALSE; + } return TRUE; } @@ -1325,7 +1360,14 @@ long BasicFrame::Command( short nID, BOOL bChecked ) else { AppWin *w = NULL; - for ( w = pList->Last() ; w ? !w->ISA(AppBasEd) : FALSE ; w = pList->Prev() ) ; + for ( size_t i = pList->size(); i > 0; --i ) + { + if ( pList->at( i-1 )->ISA( AppBasEd ) ) + { + w = pList->at( i-1 ); + break; + } + } if ( w ) { p = ((AppBasEd*)w); @@ -1399,13 +1441,12 @@ long BasicFrame::Command( short nID, BOOL bChecked ) case RID_WINTILE: { WindowArrange aArange; - for ( ULONG i = 0 ; i < pList->Count() ; i++ ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { - aArange.AddWindow( pList->GetObject( i ) ); - pList->GetObject( i )->Restore(); + aArange.AddWindow( pList->at( i ) ); + pList->at( i )->Restore(); } - sal_Int32 nTitleHeight; { sal_Int32 nDummy1, nDummy2, nDummy3; @@ -1423,10 +1464,10 @@ long BasicFrame::Command( short nID, BOOL bChecked ) case RID_WINTILEHORZ: { WindowArrange aArange; - for ( ULONG i = 0 ; i < pList->Count() ; i++ ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { - aArange.AddWindow( pList->GetObject( i ) ); - pList->GetObject( i )->Restore(); + aArange.AddWindow( pList->at( i ) ); + pList->at( i )->Restore(); } @@ -1447,10 +1488,10 @@ long BasicFrame::Command( short nID, BOOL bChecked ) case RID_WINTILEVERT: { WindowArrange aArange; - for ( ULONG i = 0 ; i < pList->Count() ; i++ ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { - aArange.AddWindow( pList->GetObject( i ) ); - pList->GetObject( i )->Restore(); + aArange.AddWindow( pList->at( i ) ); + pList->at( i )->Restore(); } @@ -1470,9 +1511,9 @@ long BasicFrame::Command( short nID, BOOL bChecked ) break; case RID_WINCASCADE: { - for ( USHORT i = 0 ; i < pList->Count() ; i++ ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { - pList->GetObject( i )->Cascade( i ); + pList->at( i )->Cascade( i ); } } break; @@ -1523,8 +1564,9 @@ long BasicFrame::Command( short nID, BOOL bChecked ) BOOL BasicFrame::SaveAll() { AppWin* p, *q = pWork; - for( p = pList->First(); p; p = pList->Next() ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { + p = pList->at( i ); USHORT nRes = p->QuerySave( QUERY_DISK_CHANGED ); if( (( nRes == SAVE_RES_ERROR ) && QueryBox(this,SttResId(IDS_ASKSAVEERROR)).Execute() == RET_NO ) || ( nRes == SAVE_RES_CANCEL ) ) @@ -1543,8 +1585,9 @@ IMPL_LINK( BasicFrame, ModuleWinExists, String*, pFilename ) AppBasEd* BasicFrame::FindModuleWin( const String& rName ) { AppWin* p; - for( p = pList->First(); p; p = pList->Next() ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { + p = pList->at( i ); if( p->ISA(AppBasEd) && ((AppBasEd*)p)->GetModName() == rName ) return ((AppBasEd*)p); } @@ -1554,8 +1597,9 @@ AppBasEd* BasicFrame::FindModuleWin( const String& rName ) AppError* BasicFrame::FindErrorWin( const String& rName ) { AppWin* p; - for( p = pList->First(); p; p = pList->Next() ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { + p = pList->at( i ); if( p->ISA(AppError) && ((AppError*)p)->GetText() == rName ) return ((AppError*)p); } @@ -1565,8 +1609,9 @@ AppError* BasicFrame::FindErrorWin( const String& rName ) AppWin* BasicFrame::FindWin( const String& rName ) { AppWin* p; - for( p = pList->First(); p; p = pList->Next() ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { + p = pList->at( i ); if( p->GetText() == rName ) return p; } @@ -1576,8 +1621,9 @@ AppWin* BasicFrame::FindWin( const String& rName ) AppWin* BasicFrame::FindWin( USHORT nWinId ) { AppWin* p; - for( p = pList->First(); p; p = pList->Next() ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { + p = pList->at( i ); if( p->GetWinId() == nWinId ) return p; } @@ -1587,8 +1633,9 @@ AppWin* BasicFrame::FindWin( USHORT nWinId ) AppWin* BasicFrame::IsWinValid( AppWin* pMaybeWin ) { AppWin* p; - for( p = pList->First(); p; p = pList->Next() ) + for ( size_t i = 0, n = pList->size(); i < n ; i++ ) { + p = pList->at( i ); if( p == pMaybeWin ) return p; } @@ -1597,9 +1644,9 @@ AppWin* BasicFrame::IsWinValid( AppWin* pMaybeWin ) IMPL_LINK( BasicFrame, WriteString, String*, pString ) { - if ( pList->Last() ) + if ( !pList->empty() ) { - pList->Last()->pDataEdit->ReplaceSelected( *pString ); + pList->back()->pDataEdit->ReplaceSelected( *pString ); return TRUE; } else diff --git a/basic/source/app/app.hxx b/basic/source/app/app.hxx index 598ebcaaf93d..8f3c8e6f9f9b 100644 --- a/basic/source/app/app.hxx +++ b/basic/source/app/app.hxx @@ -39,8 +39,8 @@ class BasicFrame; #include <basic/mybasic.hxx> +#include <vector> -class EditList; class AppWin; class AppEdit; class AppBasEd; @@ -50,12 +50,12 @@ class StatusLine; class BasicPrinter; struct TTLogMsg; +typedef ::std::vector< AppWin* > EditList; + class BasicApp : public Application { short nWait; // Wait-Zaehler public: -// Help* pHelp; // Hilfesystem BasicFrame* pFrame; // Frame Window -// MenuBar* pMainMenu; // Hauptmenue Accelerator* pMainAccel; // Acceleratoren int Main( ); @@ -90,13 +90,13 @@ class BasicFrame : public WorkWindow, public SfxBroadcaster, public SfxListener using SystemWindow::Notify; using Window::Command; -virtual BOOL Close(); + virtual BOOL Close(); BOOL CloseAll(); // Close all windows BOOL CompileAll(); // Compile all texts AutoTimer aLineNum; // Show the line numbers -virtual void Resize(); -virtual void Move(); -virtual void GetFocus(); + virtual void Resize(); + virtual void Move(); + virtual void GetFocus(); void LoadLibrary(); void SaveLibrary(); BOOL bIsAutoRun; diff --git a/basic/source/app/appwin.cxx b/basic/source/app/appwin.cxx index 7800b25d1af1..120feafb7fb0 100644 --- a/basic/source/app/appwin.cxx +++ b/basic/source/app/appwin.cxx @@ -226,7 +226,7 @@ long AppWin::PreNotify( NotifyEvent& rNEvt ) if ( rNEvt.GetType() == EVENT_MOUSEBUTTONDOWN ) Activate(); if ( rNEvt.GetType() == EVENT_GETFOCUS ) - if ( pFrame->pList->Last() != this ) + if ( pFrame->pList->back() != this ) Activate(); return FALSE; // Der event soll weiter verarbeitet werden } diff --git a/basic/source/app/appwin.hxx b/basic/source/app/appwin.hxx index 7867b6e051dd..2add5e275d4e 100644 --- a/basic/source/app/appwin.hxx +++ b/basic/source/app/appwin.hxx @@ -35,6 +35,8 @@ #include "app.hxx" #include "dataedit.hxx" +#include <vector> + typedef USHORT QueryBits; #define QUERY_NONE ( QueryBits ( 0x00 ) ) #define QUERY_DIRTY ( QueryBits ( 0x01 ) ) @@ -75,7 +77,6 @@ protected: short nId; // ID-Nummer( "Unnamed n" ) BasicFrame* pFrame; // Parent-Window -// Icon* pIcon; // Document icon String aFind; // Search string String aReplace; // Replace string BOOL bFind; // TRUE if search not replace @@ -133,7 +134,7 @@ public: void SetWinId( USHORT nWId ) { nWinId = nWId; } }; -DECLARE_LIST( EditList, AppWin* ) +typedef ::std::vector< AppWin* > EditList; #endif diff --git a/basic/source/app/status.cxx b/basic/source/app/status.cxx index d1e1a2be8d70..14b0fcde5e38 100644 --- a/basic/source/app/status.cxx +++ b/basic/source/app/status.cxx @@ -113,7 +113,7 @@ void StatusLine::LoadTaskToolBox() Window* pWin = pFrame->FindWin( pWinMenu->GetItemId( nFirstWinPos ) ); if ( pWin ) - pTaskToolBox->UpdateTask( Image(), pWin->GetText(), pWin == pFrame->pList->Last() && !( pFrame->pList->Last()->GetWinState() & TT_WIN_STATE_HIDE ) ); + pTaskToolBox->UpdateTask( Image(), pWin->GetText(), pWin == pFrame->pList->back() && !( pFrame->pList->back()->GetWinState() & TT_WIN_STATE_HIDE ) ); nFirstWinPos++; } |