summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorJoseph Powers <jpowers27@cox.net>2010-12-27 06:29:50 -0800
committerJoseph Powers <jpowers27@cox.net>2010-12-31 06:57:19 -0800
commitba736d69f66fbe88f9eed88afa500a5835451e97 (patch)
tree0e2bef116590345d2be200b781f88969a1a78c4c /basic
parenteca95b68fe17145d41ce4c77e58033657fd89ce3 (diff)
Remove DECLARE_LIST(EditList, AppWin*)
released under LGPL 3+
Diffstat (limited to 'basic')
-rw-r--r--basic/source/app/app.cxx169
-rw-r--r--basic/source/app/app.hxx14
-rw-r--r--basic/source/app/appwin.cxx2
-rw-r--r--basic/source/app/appwin.hxx5
-rw-r--r--basic/source/app/status.cxx2
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++;
}