1. bug in wxSplitter corrected: mouse event coords may be negative when the

mouse is captured which made sash roll over the window
2. missing functions added to wxRadioBox
3. non existent functions removed from wxRadioBox and wxControl


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 1999-05-19 22:25:41 +00:00
parent 93b7364ecd
commit d66a042c1c
5 changed files with 26 additions and 12 deletions

View File

@ -34,9 +34,6 @@ public:
// Calls the callback and appropriate event handlers
bool ProcessCommand(wxCommandEvent& event);
// Places item in centre of panel - so can't be used BEFORE panel->Fit()
void Centre(int direction = wxHORIZONTAL);
// MSW-specific
#ifdef __WIN95__
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);

View File

@ -66,8 +66,6 @@ public:
void GetSize(int *x, int *y) const;
void GetPosition(int *x, int *y) const;
wxString GetLabel() const;
void SetLabel(const wxString& label);
void SetLabel(int item, const wxString& label);
void SetLabel(int item, wxBitmap *bitmap);
wxString GetLabel(int item) const;

View File

@ -263,11 +263,24 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
// Erase old tracker
DrawSashTracker(m_oldX, m_oldY);
// Draw new one
DrawSashTracker(x, y);
#ifdef __WXMSW__
// As we captured the mouse, we may get the mouse events from outside
// our window - for example, negative values in x, y. This has a weird
// consequence under MSW where we use unsigned values sometimes and
// signed ones other times: the coordinates turn as big positive
// numbers and so the sash is drawn on the *right* side of the window
// instead of the left (or bottom instead of top). Correct this.
m_oldX = x;
m_oldY = y;
if ( (short)m_oldX < 0 )
m_oldX = 0;
if ( (short)m_oldY < 0 )
m_oldY = 0;
#endif // __WXMSW__
// Draw new one
DrawSashTracker(m_oldX, m_oldY);
}
else if ( event.LeftDClick() )
{

View File

@ -123,10 +123,7 @@ bool wxNotebook::Create(wxWindow *parent,
const wxString& name)
{
// base init
SetName(name);
SetParent(parent);
m_windowId = id == -1 ? NewControlId() : id;
CreateBase(parent, id, pos, size, style, name);
// colors and font
m_backgroundColour = wxColour(GetSysColor(COLOR_BTNFACE));

View File

@ -287,8 +287,17 @@ wxRadioBox::~wxRadioBox()
}
wxString wxRadioBox::GetLabel(int item) const
{
wxCHECK_MSG( item >= 0 && item < m_noItems, "", "invalid radiobox index" );
return wxGetWindowText(m_radioButtons[item]);
}
void wxRadioBox::SetLabel(int item, const wxString& label)
{
wxCHECK_RET( item >= 0 && item < m_noItems, "invalid radiobox index" );
m_radioWidth[item] = m_radioHeight[item] = -1;
SetWindowText((HWND)m_radioButtons[item], label.c_str());
}