X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/792064e93f052115705de2f17c9ac0fe5de4bdb3..a07a98dbe53e6fa446dd40b0c5aa4b3c520b442f:/contrib/src/xml/xmlres.cpp diff --git a/contrib/src/xml/xmlres.cpp b/contrib/src/xml/xmlres.cpp index fb4f564a57..3245347129 100644 --- a/contrib/src/xml/xmlres.cpp +++ b/contrib/src/xml/xmlres.cpp @@ -386,6 +386,21 @@ void wxXmlResourceHandler::AddStyle(const wxString& name, int value) } + +void wxXmlResourceHandler::AddWindowStyles() +{ + ADD_STYLE(wxSIMPLE_BORDER); + ADD_STYLE(wxSUNKEN_BORDER); + ADD_STYLE(wxDOUBLE_BORDER); + ADD_STYLE(wxRAISED_BORDER); + ADD_STYLE(wxSTATIC_BORDER); + ADD_STYLE(wxTRANSPARENT_WINDOW); + ADD_STYLE(wxWANTS_CHARS); + ADD_STYLE(wxNO_FULL_REPAINT_ON_RESIZE); +} + + + bool wxXmlResourceHandler::HasParam(const wxString& param) { return (GetParamNode(param) != NULL); @@ -552,7 +567,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size) wxIcon wxXmlResourceHandler::GetIcon(const wxString& param, wxSize size) { -#ifdef __WXMSW__ +#if wxCHECK_VERSION(2,3,0) || defined(__WXMSW__) wxIcon icon; icon.CopyFromBitmap(GetBitmap(param, size)); #else @@ -647,6 +662,39 @@ wxPoint wxXmlResourceHandler::GetPosition(const wxString& param) +wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaultv) +{ + wxString s = GetParamValue(param); + if (s.IsEmpty()) return defaultv; + bool is_dlg; + long sx; + + is_dlg = s[s.Length()-1] == _T('d'); + if (is_dlg) s.RemoveLast(); + + if (!s.ToLong(&sx)) + { + wxLogError(_("Cannot parse dimension from '%s'."), s.mb_str()); + return defaultv; + } + + if (is_dlg) + { + if (m_InstanceAsWindow) + return wxDLG_UNIT(m_InstanceAsWindow, wxSize(sx, 0)).x; + else if (m_ParentAsWindow) + return wxDLG_UNIT(m_ParentAsWindow, wxSize(sx, 0)).x; + else + { + wxLogError(_("Cannot convert dialog units: dialog unknown.")); + return defaultv; + } + } + else return sx; +} + + + void wxXmlResourceHandler::SetupWindow(wxWindow *wnd) { //FIXME : add font, cursor @@ -730,9 +778,6 @@ static int XMLID_LastID = wxID_HIGHEST; { if (strcmp(rec->key, str_id) == 0) { -#ifdef DEBUG_XMLID_HASH - printf("XMLID: matched '%s' (%ith item)\n", rec->key, matchcnt); -#endif return rec->id; } matchcnt++; @@ -745,10 +790,6 @@ static int XMLID_LastID = wxID_HIGHEST; (*rec_var)->id = ++XMLID_LastID; (*rec_var)->key = strdup(str_id); (*rec_var)->next = NULL; -#ifdef DEBUG_XMLID_HASH - printf("XMLID: new key for '%s': %i at %i (%ith item)\n", - (*rec_var)->key, (*rec_var)->id, index, matchcnt); -#endif return (*rec_var)->id; } @@ -758,9 +799,6 @@ static void CleanXMLID_Record(XMLID_record *rec) { if (rec) { -#ifdef DEBUG_XMLID_HASH - printf("XMLID: clearing '%s'\n", rec->key); -#endif CleanXMLID_Record(rec->next); free (rec->key); delete rec;