wxXmlResource::wxXmlResource(int flags)
{
- m_handlers.DeleteContents(TRUE);
m_flags = flags;
m_version = -1;
}
{
m_flags = flags;
m_version = -1;
- m_handlers.DeleteContents(TRUE);
Load(filemask);
}
if (fnd.Lower().Matches(wxT("*.zip")) ||
fnd.Lower().Matches(wxT("*.xrs")))
{
- wxString url(wxFileSystem::FileNameToURL(fnd));
- rt = rt && Load(url + wxT("#zip:*.xrc"));
+ rt = rt && Load(fnd + wxT("#zip:*.xrc"));
}
else
#endif
void wxXmlResource::ClearHandlers()
{
- m_handlers.Clear();
+ WX_CLEAR_LIST(wxList, m_handlers);
}
bool modif;
# if wxUSE_FILESYSTEM
wxFSFile *file = NULL;
+ wxUnusedVar(file);
wxFileSystem fsys;
# endif
rt = false;
}
wxDELETE(file);
+ wxUnusedVar(file);
# else
modif = wxDateTime(wxFileModificationTime(m_data[i].File)) > m_data[i].Time;
# endif
# if wxUSE_FILESYSTEM
wxDELETE(file);
+ wxUnusedVar(file);
# else
wxDELETE(stream);
# endif
}
else if (node->GetName() == wxT("object"))
{
- wxNode *ND = m_handlers.GetFirst();
+ wxList::compatibility_iterator ND = m_handlers.GetFirst();
while (ND)
{
handler = (wxXmlResourceHandler*)ND->GetData();
if (!ms_subclassFactories)
{
ms_subclassFactories = new wxXmlSubclassFactoriesList;
- ms_subclassFactories->DeleteContents(TRUE);
}
ms_subclassFactories->Append(factory);
}
wxString subclass = node->GetPropVal(wxT("subclass"), wxEmptyString);
if (!subclass.empty())
{
- for (wxXmlSubclassFactoriesList::Node *i = wxXmlResource::ms_subclassFactories->GetFirst();
+ for (wxXmlSubclassFactoriesList::compatibility_iterator i = wxXmlResource::ms_subclassFactories->GetFirst();
i; i = i->GetNext())
{
m_instance = i->GetData()->Create(subclass);
XRC_ADD_STYLE(wxTRANSPARENT_WINDOW);
XRC_ADD_STYLE(wxWANTS_CHARS);
XRC_ADD_STYLE(wxNO_FULL_REPAINT_ON_RESIZE);
+ XRC_ADD_STYLE(wxWS_EX_BLOCK_EVENTS);
}
wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate)
{
- wxString str1(GetParamValue(param));
+ wxXmlNode *parNode = GetParamNode(param);
+ wxString str1(GetNodeContent(parNode));
wxString str2;
const wxChar *dt;
wxChar amp_char;
else str2 << *dt;
}
- if (translate && m_resource->GetFlags() & wxXRC_USE_LOCALE)
- return wxGetTranslation(str2);
+ if (m_resource->GetFlags() & wxXRC_USE_LOCALE)
+ {
+ if (translate && parNode &&
+ parNode->GetPropVal(wxT("translate"), wxEmptyString) != wxT("0"))
+ {
+ return wxGetTranslation(str2);
+ }
+ else
+ {
+#if wxUSE_UNICODE
+ return str2;
+#else
+ // The string is internally stored as UTF-8, we have to convert
+ // it into system's default encoding so that it can be displayed:
+ return wxString(str2.mb_str(wxConvUTF8), wxConvLocal);
+#endif
+ }
+ }
else
+ {
+ // If wxXRC_USE_LOCALE is not set, then the string is already in
+ // system's default encoding in ANSI build, so we don't have to
+ // do anything special here.
return str2;
-
+ }
}
index %= XRCID_TABLE_SIZE;
XRCID_record *oldrec = NULL;
- int matchcnt = 0;
for (XRCID_record *rec = XRCID_Records[index]; rec; rec = rec->next)
{
if (wxStrcmp(rec->key, str_id) == 0)
{
return rec->id;
}
- matchcnt++;
oldrec = rec;
}
void OnExit()
{
delete wxXmlResource::Set(NULL);
+ if(wxXmlResource::ms_subclassFactories)
+ WX_CLEAR_LIST(wxXmlSubclassFactoriesList, *wxXmlResource::ms_subclassFactories);
wxDELETE(wxXmlResource::ms_subclassFactories);
CleanXRCID_Records();
}