Applied patch for multiple file selection, documented.

Fixed some compilation warnings,
  Minor change to OpenGL code.
  Documented wxImageHandler::GetImageCount() and related.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-12-01 14:08:42 +00:00
parent fb073f86d2
commit 7941ba111c
22 changed files with 244 additions and 124 deletions

View File

@@ -574,6 +574,10 @@ wxFileDialog::wxFileDialog(wxWindow *parent,
m_message = message;
m_dialogStyle = style;
if ((m_dialogStyle & wxMULTIPLE ) && !(m_dialogStyle & wxOPEN))
m_dialogStyle &= ~wxMULTIPLE;
m_dir = defaultDir;
if (m_dir.IsEmpty())
{
@@ -657,8 +661,12 @@ wxFileDialog::wxFileDialog(wxWindow *parent,
staticsizer->Add( m_static, 1 );
mainsizer->Add( staticsizer, 0, wxEXPAND | wxLEFT|wxRIGHT|wxBOTTOM, 10 );
m_list = new wxFileCtrl( this, ID_LIST_CTRL, m_dir, firstWild, wxDefaultPosition, wxSize(440,180),
wxLC_LIST | wxSUNKEN_BORDER | wxLC_SINGLE_SEL );
if (m_dialogStyle & wxMULTIPLE)
m_list = new wxFileCtrl( this, ID_LIST_CTRL, m_dir, firstWild, wxDefaultPosition,
wxSize(440,180), wxLC_LIST | wxSUNKEN_BORDER );
else
m_list = new wxFileCtrl( this, ID_LIST_CTRL, m_dir, firstWild, wxDefaultPosition,
wxSize(440,180), wxLC_LIST | wxSUNKEN_BORDER | wxLC_SINGLE_SEL );
mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 10 );
wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL );
@@ -890,6 +898,44 @@ void wxFileDialog::SetPath( const wxString& path )
}
}
void wxFileDialog::GetPaths( wxArrayString& paths ) const
{
paths.Empty();
paths.Alloc( m_list->GetSelectedItemCount() );
wxString dir;
m_list->GetDir( dir );
if (dir != wxT("/")) dir += wxT("/");
wxListItem item;
item.m_mask = wxLIST_MASK_TEXT;
item.m_itemId = m_list->GetNextItem( -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
while ( item.m_itemId != -1 ) {
m_list->GetItem( item );
paths.Add( dir + item.m_text );
item.m_itemId = m_list->GetNextItem( item.m_itemId + 1,
wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
}
}
void wxFileDialog::GetFilenames(wxArrayString& files) const
{
files.Empty();
files.Alloc( m_list->GetSelectedItemCount() );
wxListItem item;
item.m_mask = wxLIST_MASK_TEXT;
item.m_itemId = m_list->GetNextItem( -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
while ( item.m_itemId != -1 ) {
m_list->GetItem( item );
files.Add( item.m_text );
item.m_itemId = m_list->GetNextItem( item.m_itemId + 1,
wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
}
}
// ----------------------------------------------------------------------------
// global functions
// ----------------------------------------------------------------------------