X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32d4c30a13f65b7c8cb66f813a0b8c606ad8480b..d7ad5a0289b22d16a67b9fc2efe1a721e4a5a1ae:/src/common/mediactrlcmn.cpp diff --git a/src/common/mediactrlcmn.cpp b/src/common/mediactrlcmn.cpp index 2563d85a8f..6120cada49 100644 --- a/src/common/mediactrlcmn.cpp +++ b/src/common/mediactrlcmn.cpp @@ -12,11 +12,11 @@ // TODO: Platform specific backend defaults? //=========================================================================== -// Definitions +// Declarations //=========================================================================== //--------------------------------------------------------------------------- -// Pre-compiled header stuff +// Includes //--------------------------------------------------------------------------- #include "wx/wxprec.h" @@ -29,11 +29,9 @@ #ifndef WX_PRECOMP #include "wx/hash.h" + #include "wx/log.h" #endif -//--------------------------------------------------------------------------- -// Includes -//--------------------------------------------------------------------------- #include "wx/mediactrl.h" //=========================================================================== @@ -115,17 +113,18 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, } } - SetBestFittingSize(size); + SetInitialSize(size); return true; } else { - wxClassInfo::sm_classTable->BeginFind(); + wxClassInfo::const_iterator it = wxClassInfo::begin_classinfo(); - wxClassInfo* classInfo; + const wxClassInfo* classInfo; - while((classInfo = NextBackend()) != NULL) + while((classInfo = NextBackend(&it)) != NULL) { + wxLogMessage( classInfo->GetClassName() ); if(!DoCreate(classInfo, parent, id, pos, size, style, validator, name)) continue; @@ -134,7 +133,7 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, { if (Load(fileName)) { - SetBestFittingSize(size); + SetInitialSize(size); return true; } else @@ -142,7 +141,7 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, } else { - SetBestFittingSize(size); + SetInitialSize(size); return true; } } @@ -178,16 +177,16 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, return false; } - SetBestFittingSize(size); + SetInitialSize(size); return true; } else { - wxClassInfo::sm_classTable->BeginFind(); + wxClassInfo::const_iterator it = wxClassInfo::begin_classinfo(); - wxClassInfo* classInfo; + const wxClassInfo* classInfo; - while((classInfo = NextBackend()) != NULL) + while((classInfo = NextBackend(&it)) != NULL) { if(!DoCreate(classInfo, parent, id, pos, size, style, validator, name)) @@ -195,7 +194,7 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, if (Load(location)) { - SetBestFittingSize(size); + SetInitialSize(size); return true; } else @@ -212,7 +211,7 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, // // Attempts to create the control from a backend //--------------------------------------------------------------------------- -bool wxMediaCtrl::DoCreate(wxClassInfo* classInfo, +bool wxMediaCtrl::DoCreate(const wxClassInfo* classInfo, wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, @@ -246,19 +245,18 @@ bool wxMediaCtrl::DoCreate(wxClassInfo* classInfo, // incompatible with the old 2.4 stable version - but since // we're in 2.5+ only we don't need to worry about the new version //--------------------------------------------------------------------------- -wxClassInfo* wxMediaCtrl::NextBackend() +const wxClassInfo* wxMediaCtrl::NextBackend(wxClassInfo::const_iterator* it) { - wxHashTable::compatibility_iterator - node = wxClassInfo::sm_classTable->Next(); - while (node) + for ( wxClassInfo::const_iterator end = wxClassInfo::end_classinfo(); + *it != end; ++(*it) ) { - wxClassInfo* classInfo = (wxClassInfo *)node->GetData(); + const wxClassInfo* classInfo = **it; if ( classInfo->IsKindOf(CLASSINFO(wxMediaBackend)) && classInfo != CLASSINFO(wxMediaBackend) ) { + ++(*it); return classInfo; } - node = wxClassInfo::sm_classTable->Next(); } //