// Gets an integer value from the parameter.
long GetLong(const wxString& param, long defaultv = 0);
-
+
// Gets a float value from the parameter.
float GetFloat(const wxString& param, float defaultv = 0);
wxColour GetColour(const wxString& param);
// Gets the size (may be in dialog units).
- wxSize GetSize(const wxString& param = wxT("size"));
+ wxSize GetSize(const wxString& param = wxT("size"),
+ wxWindow *windowToUse = NULL);
// Gets the position (may be in dialog units).
wxPoint GetPosition(const wxString& param = wxT("pos"));
// Gets a dimension (may be in dialog units).
- wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0);
+ wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0,
+ wxWindow *windowToUse = NULL);
// Gets a bitmap.
wxBitmap GetBitmap(const wxString& param = wxT("bitmap"),
GetName());
if (HasParam(wxT("size")))
- dlg->SetClientSize(GetSize());
+ dlg->SetClientSize(GetSize(wxT("size"), dlg));
if (HasParam(wxT("pos")))
dlg->Move(GetPosition());
if (HasParam(wxT("icon")))
GetName());
if (HasParam(wxT("size")))
- frame->SetClientSize(GetSize());
+ frame->SetClientSize(GetSize(wxT("size"), frame));
if (HasParam(wxT("pos")))
frame->Move(GetPosition());
if (HasParam(wxT("icon")))
-wxSize wxXmlResourceHandler::GetSize(const wxString& param)
+wxSize wxXmlResourceHandler::GetSize(const wxString& param,
+ wxWindow *windowToUse)
{
wxString s = GetParamValue(param);
if (s.empty()) s = wxT("-1,-1");
if (is_dlg)
{
- if (m_parentAsWindow)
+ if (windowToUse)
+ {
+ return wxDLG_UNIT(windowToUse, wxSize(sx, sy));
+ }
+ else if (m_parentAsWindow)
+ {
return wxDLG_UNIT(m_parentAsWindow, wxSize(sx, sy));
+ }
else
{
wxLogError(_("Cannot convert dialog units: dialog unknown."));
-wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaultv)
+wxCoord wxXmlResourceHandler::GetDimension(const wxString& param,
+ wxCoord defaultv,
+ wxWindow *windowToUse)
{
wxString s = GetParamValue(param);
if (s.empty()) return defaultv;
if (is_dlg)
{
- if (m_parentAsWindow)
+ if (windowToUse)
+ {
+ return wxDLG_UNIT(windowToUse, 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."));