// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
+// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
m_fileHistory->AddFileToHistory(file);
}
-void wxDocManager::RemoveFileFromHistory(int i)
+void wxDocManager::RemoveFileFromHistory(size_t i)
{
if (m_fileHistory)
m_fileHistory->RemoveFileFromHistory(i);
}
-wxString wxDocManager::GetHistoryFile(int i) const
+wxString wxDocManager::GetHistoryFile(size_t i) const
{
wxString histFile;
m_fileHistory->AddFilesToMenu();
}
-int wxDocManager::GetNoHistoryFiles() const
+size_t wxDocManager::GetNoHistoryFiles() const
{
if (m_fileHistory)
return m_fileHistory->GetNoHistoryFiles();
// File history processor
// ----------------------------------------------------------------------------
-wxFileHistory::wxFileHistory(int maxFiles)
+wxFileHistory::wxFileHistory(size_t maxFiles, wxWindowID idBase)
{
m_fileMaxFiles = maxFiles;
+ m_idBase = idBase;
m_fileHistoryN = 0;
m_fileHistory = new wxChar *[m_fileMaxFiles];
}
wxFileHistory::~wxFileHistory()
{
- int i;
+ size_t i;
for (i = 0; i < m_fileHistoryN; i++)
delete[] m_fileHistory[i];
delete[] m_fileHistory;
// File history management
void wxFileHistory::AddFileToHistory(const wxString& file)
{
- int i;
+ size_t i;
// Check we don't already have this file
for (i = 0; i < m_fileHistoryN; i++)
{
menu->AppendSeparator();
}
- menu->Append(wxID_FILE1+m_fileHistoryN, _("[EMPTY]"));
+ menu->Append(m_idBase+m_fileHistoryN, _("[EMPTY]"));
node = node->GetNext();
}
m_fileHistoryN ++;
while (node)
{
wxMenu* menu = (wxMenu*) node->GetData();
- menu->SetLabel(wxID_FILE1 + i, buf);
+ menu->SetLabel(m_idBase + i, buf);
node = node->GetNext();
}
}
}
}
-void wxFileHistory::RemoveFileFromHistory(int i)
+void wxFileHistory::RemoveFileFromHistory(size_t i)
{
wxCHECK_RET( i < m_fileHistoryN,
wxT("invalid index in wxFileHistory::RemoveFileFromHistory") );
- // delete the element from the array (could use memmove() too...)
- delete [] m_fileHistory[i];
+ // delete the element from the array (could use memmove() too...)
+ delete [] m_fileHistory[i];
- int j;
- for ( j = i; j < m_fileHistoryN - 1; j++ )
- {
- m_fileHistory[j] = m_fileHistory[j + 1];
- }
+ size_t j;
+ for ( j = i; j < m_fileHistoryN - 1; j++ )
+ {
+ m_fileHistory[j] = m_fileHistory[j + 1];
+ }
wxNode* node = m_fileMenus.GetFirst();
while ( node )
{
- wxMenu* menu = (wxMenu*) node->GetData();
+ wxMenu* menu = (wxMenu*) node->GetData();
- // shuffle filenames up
- wxString buf;
- for ( j = i; j < m_fileHistoryN - 1; j++ )
- {
- buf.Printf(s_MRUEntryFormat, j + 1, m_fileHistory[j]);
- menu->SetLabel(wxID_FILE1 + j, buf);
- }
+ // shuffle filenames up
+ wxString buf;
+ for ( j = i; j < m_fileHistoryN - 1; j++ )
+ {
+ buf.Printf(s_MRUEntryFormat, j + 1, m_fileHistory[j]);
+ menu->SetLabel(m_idBase + j, buf);
+ }
- node = node->GetNext();
+ node = node->GetNext();
// delete the last menu item which is unused now
- if (menu->FindItem(wxID_FILE1 + m_fileHistoryN - 1))
- menu->Delete(wxID_FILE1 + m_fileHistoryN - 1);
+ wxWindowID lastItemId = m_idBase + m_fileHistoryN - 1;
+ if (menu->FindItem(lastItemId))
+ {
+ menu->Delete(lastItemId);
+ }
// delete the last separator too if no more files are left
if ( m_fileHistoryN == 1 )
m_fileHistoryN--;
}
-wxString wxFileHistory::GetHistoryFile(int i) const
+wxString wxFileHistory::GetHistoryFile(size_t i) const
{
wxString s;
if ( i < m_fileHistoryN )
{
m_fileHistoryN = 0;
wxString buf;
- buf.Printf(wxT("file%d"), m_fileHistoryN+1);
+ buf.Printf(wxT("file%d"), (int)m_fileHistoryN+1);
wxString historyFile;
while ((m_fileHistoryN < m_fileMaxFiles) && config.Read(buf, &historyFile) && (historyFile != wxT("")))
{
m_fileHistory[m_fileHistoryN] = copystring((const wxChar*) historyFile);
m_fileHistoryN ++;
- buf.Printf(wxT("file%d"), m_fileHistoryN+1);
+ buf.Printf(wxT("file%d"), (int)m_fileHistoryN+1);
historyFile = wxT("");
}
AddFilesToMenu();
void wxFileHistory::Save(wxConfigBase& config)
{
- int i;
+ size_t i;
for (i = 0; i < m_fileHistoryN; i++)
{
wxString buf;
- buf.Printf(wxT("file%d"), i+1);
+ buf.Printf(wxT("file%d"), (int)i+1);
config.Write(buf, wxString(m_fileHistory[i]));
}
}
menu->AppendSeparator();
}
- int i;
+ size_t i;
for (i = 0; i < m_fileHistoryN; i++)
{
if (m_fileHistory[i])
{
wxString buf;
buf.Printf(s_MRUEntryFormat, i+1, m_fileHistory[i]);
- menu->Append(wxID_FILE1+i, buf);
+ menu->Append(m_idBase+i, buf);
}
}
node = node->GetNext();
menu->AppendSeparator();
}
- int i;
+ size_t i;
for (i = 0; i < m_fileHistoryN; i++)
{
if (m_fileHistory[i])
{
wxString buf;
buf.Printf(s_MRUEntryFormat, i+1, m_fileHistory[i]);
- menu->Append(wxID_FILE1+i, buf);
+ menu->Append(m_idBase+i, buf);
}
}
}