Dialog Editor bug fixes, several other small ones

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
1998-11-03 15:43:57 +00:00
parent 64d315544f
commit 386af6a2fa
10 changed files with 78 additions and 35 deletions

View File

@@ -960,26 +960,31 @@ wxItemResource *wxResourceInterpretControl(wxResourceTable& table, wxExpr *expr)
}
controlItem->SetStringValues(stringList);
count ++;
// This is now obsolete: it's in the window style.
// Check for wxSINGLE/wxMULTIPLE
wxExpr *mult = (wxExpr *) NULL;
/*
controlItem->SetValue1(wxLB_SINGLE);
*/
if ((mult = expr->Nth(count)) && ((mult->Type() == PrologString)||(mult->Type() == PrologWord)))
{
/*
wxString m(mult->StringValue());
if (m == "wxMULTIPLE")
if (m == "wxLB_MULTIPLE")
controlItem->SetValue1(wxLB_MULTIPLE);
else if (m == "wxEXTENDED")
else if (m == "wxLB_EXTENDED")
controlItem->SetValue1(wxLB_EXTENDED);
*/
// Ignore the value
count ++;
if (expr->Nth(count) && expr->Nth(count)->Type() == PrologList)
{
// controlItem->SetLabelFont(wxResourceInterpretFontSpec(expr->Nth(count)));
}
if (expr->Nth(count) && expr->Nth(count)->Type() == PrologList)
{
// controlItem->SetLabelFont(wxResourceInterpretFontSpec(expr->Nth(count)));
count ++;
if (expr->Nth(count) && expr->Nth(count)->Type() == PrologList)
controlItem->SetFont(wxResourceInterpretFontSpec(expr->Nth(count)));
}
}
if (expr->Nth(count) && expr->Nth(count)->Type() == PrologList)
controlItem->SetFont(wxResourceInterpretFontSpec(expr->Nth(count)));
}
}
}
else if (controlType == "wxChoice")

View File

@@ -42,6 +42,8 @@ BEGIN_EVENT_TABLE(wxTextValidator, wxValidator)
END_EVENT_TABLE()
#endif
static bool wxIsNumeric(const wxString& val);
wxTextValidator::wxTextValidator(long style, wxString *val)
{
m_validatorStyle = style ;
@@ -169,7 +171,8 @@ bool wxTextValidator::Validate(wxWindow *parent)
wxMessageBox(buf,_("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
if ( (m_validatorStyle & wxFILTER_NUMERIC) && !val.IsNumber())
if ( (m_validatorStyle & wxFILTER_NUMERIC) && !wxIsNumeric(val))
{
char buf[512];
sprintf(buf, _("%s should be numeric."), (const char *)val);
@@ -291,4 +294,14 @@ void wxTextValidator::OnChar(wxKeyEvent& event)
textCtrl->wxTextCtrl::OnChar(event);
}
static bool wxIsNumeric(const wxString& val)
{
int i;
for ( i = 0; i < (int)val.Length(); i++)
{
if ((!isdigit(val[i])) && (val[i] != '.'))
return FALSE;
}
return TRUE;
}

View File

@@ -927,7 +927,7 @@ void wxGenericGrid::AdjustScrollbars(void)
int noHorizSteps = 0;
int noVertSteps = 0;
if (m_totalGridWidth <= cw)
if (m_totalGridWidth + vertScrollBarWidth <= cw)
noHorizSteps = 0;
else
{
@@ -954,7 +954,7 @@ void wxGenericGrid::AdjustScrollbars(void)
noHorizSteps += nx;
}
if (m_totalGridHeight <= ch)
if (m_totalGridHeight + horizScrollBarHeight <= ch)
noVertSteps = 0;
else
{
@@ -981,7 +981,7 @@ void wxGenericGrid::AdjustScrollbars(void)
noVertSteps += ny;
}
if (m_totalGridWidth <= cw)
if (m_totalGridWidth + vertScrollBarWidth <= cw)
{
if ( m_hScrollBar )
m_hScrollBar->Show(FALSE);
@@ -993,7 +993,7 @@ void wxGenericGrid::AdjustScrollbars(void)
m_hScrollBar->Show(TRUE);
}
if (m_totalGridHeight <= ch)
if (m_totalGridHeight + horizScrollBarHeight <= ch)
{
if ( m_vScrollBar )
m_vScrollBar->Show(FALSE);

View File

@@ -463,7 +463,11 @@ wxTextCtrl* wxListCtrl::GetEditControl(void) const
bool wxListCtrl::GetItem(wxListItem& info) const
{
LV_ITEM lvItem;
#ifdef __MINGW32__
memset(&lvItem, 0, sizeof(lvItem));
#else
ZeroMemory(&lvItem, sizeof(lvItem)); // must set all fields to 0
#endif
lvItem.iItem = info.m_itemId;

View File

@@ -433,6 +433,12 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id,
int width = size.x;
int height = size.y;
// To be consistent with wxGTK
if (width == -1)
width = 20;
if (height == -1)
height = 20;
wxSystemSettings settings;
m_backgroundColour = settings.GetSystemColour(wxSYS_COLOUR_WINDOW) ; ;