1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include "clStringHistory.h"
clStringHistory::clStringHistory()
: m_index ( 0 )
{
}
clStringHistory::~clStringHistory()
{
}
bool clStringHistory::Current( wxString& str )
{
if ( m_strings.IsEmpty() || ( m_index < 0 || m_index >= ( int ) m_strings.GetCount() ) )
return false;
str = m_strings.Item( m_index );
return true;
}
bool clStringHistory::Next( wxString& str )
{
if ( CanNext() ) {
++m_index;
str = m_strings.Item( m_index );
return true;
}
return false;
}
bool clStringHistory::Previous( wxString& str )
{
if ( CanPrev() ) {
--m_index;
str = m_strings.Item( m_index );
return true;
}
return false;
}
bool clStringHistory::CanNext()
{
if ( m_strings.IsEmpty() ) return false;
return ( m_index + 1 ) < ( int )m_strings.GetCount();
}
bool clStringHistory::CanPrev()
{
if ( m_strings.IsEmpty() ) return false;
return ( m_index - 1 ) >= 0;
}
|