Weekly updates

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-10-28 23:24:17 +00:00
parent 5f60853843
commit 1351c353d3
5 changed files with 97 additions and 29 deletions

View File

@@ -965,19 +965,20 @@ bool wxApp::ProcessMessage(
return FALSE; return FALSE;
} // end of wxApp::ProcessMessage } // end of wxApp::ProcessMessage
bool gbInOnIdle = FALSE;
void wxApp::OnIdle( void wxApp::OnIdle(
wxIdleEvent& rEvent wxIdleEvent& rEvent
) )
{ {
static bool sbInOnIdle = FALSE;
// //
// Avoid recursion (via ProcessEvent default case) // Avoid recursion (via ProcessEvent default case)
// //
if (sbInOnIdle) if (gbInOnIdle)
return; return;
sbInOnIdle = TRUE; gbInOnIdle = TRUE;
// //
// If there are pending events, we must process them: pending events // If there are pending events, we must process them: pending events
@@ -1019,7 +1020,7 @@ void wxApp::OnIdle(
// //
rEvent.RequestMore(TRUE); rEvent.RequestMore(TRUE);
} }
sbInOnIdle = FALSE; gbInOnIdle = FALSE;
} // end of wxApp::OnIdle } // end of wxApp::OnIdle
// Send idle event to all top-level windows // Send idle event to all top-level windows

View File

@@ -206,6 +206,15 @@ void wxDialog::DoShowModal()
// //
::WinProcessDlg((HWND)GetHwnd()); ::WinProcessDlg((HWND)GetHwnd());
//
// Before entering the modal loop, reset the "is in OnIdle()" flag (see
// comment in app.cpp)
//
extern bool gbInOnIdle;
bool bWasInOnIdle = gbInOnIdle;
gbInOnIdle = FALSE;
// //
// Enter the modal loop // Enter the modal loop
// //
@@ -221,6 +230,7 @@ void wxDialog::DoShowModal()
// a message came or no more idle processing to do // a message came or no more idle processing to do
wxTheApp->DoMessage(); wxTheApp->DoMessage();
} }
gbInOnIdle = bWasInOnIdle;
// //
// Snd restore focus // Snd restore focus

View File

@@ -70,9 +70,23 @@ bool wxRadioButton::Create(
,rsName)) ,rsName))
return FALSE; return FALSE;
long lSstyle = HasFlag(wxRB_GROUP) ? WS_GROUP : 0; long lSstyle = WS_TABSTOP;
lSstyle |= BS_AUTORADIOBUTTON; if (HasFlag(wxRB_GROUP))
lSstyle |= WS_GROUP;
//
// wxRB_SINGLE is a temporary workaround for the following problem: if you
// have 2 radiobuttons in the same group but which are not consecutive in
// the dialog, Windows can enter an infinite loop! The simplest way to
// reproduce it is to create radio button, then a panel and then another
// radio button: then checking the last button hangs the app.
//
// Ideally, we'd detect (and avoid) such situation automatically but for
// now, as I don't know how to do it, just allow the user to create
// BS_RADIOBUTTON buttons for such situations.
//
lSstyle |= HasFlag(wxRB_SINGLE) ? BS_RADIOBUTTON : BS_AUTORADIOBUTTON;
if (HasFlag(wxCLIP_SIBLINGS)) if (HasFlag(wxCLIP_SIBLINGS))
lSstyle |= WS_CLIPSIBLINGS; lSstyle |= WS_CLIPSIBLINGS;
@@ -148,18 +162,38 @@ bool wxRadioButton::OS2Command(
, WXWORD wId , WXWORD wId
) )
{ {
if (wParam == BN_CLICKED) if (wParam != BN_CLICKED)
return FALSE;
if (m_bFocusJustSet)
{ {
//
// See above: we want to ignore this event
//
m_bFocusJustSet = FALSE;
}
else
{
bool bIsChecked = GetValue();
if (HasFlag(wxRB_SINGLE))
{
//
// When we use a "manual" radio button, we have to check the button
// ourselves -- but it's reset to unchecked state by the user code
// (presumably when another button is pressed)
//
if (!bIsChecked )
SetValue(TRUE);
}
wxCommandEvent rEvent( wxEVT_COMMAND_RADIOBUTTON_SELECTED wxCommandEvent rEvent( wxEVT_COMMAND_RADIOBUTTON_SELECTED
,m_windowId ,m_windowId
); );
rEvent.SetEventObject(this); rEvent.SetEventObject(this);
ProcessCommand(rEvent); ProcessCommand(rEvent);
return TRUE;
} }
else return TRUE;
return FALSE;
} // end of wxRadioButton::OS2Command } // end of wxRadioButton::OS2Command
void wxRadioButton::SetFocus() void wxRadioButton::SetFocus()

View File

@@ -2427,6 +2427,14 @@ bool wxWindowOS2::OS2ProcessMessage(
pBtn->OS2Command(BN_CLICKED, 0 /* unused */); pBtn->OS2Command(BN_CLICKED, 0 /* unused */);
return TRUE; return TRUE;
} }
else if (!IsTopLevel())
{
//
// if not a top level window, let parent
// handle it
//
return FALSE;
}
// else: but if it does not it makes sense to make // else: but if it does not it makes sense to make
// it work like a TAB - and that's what we do. // it work like a TAB - and that's what we do.
// Note that Ctrl-Enter always works this way. // Note that Ctrl-Enter always works this way.

View File

@@ -608,10 +608,12 @@ EXPORTS
DoEmpty__15wxDateTimeArrayFv DoEmpty__15wxDateTimeArrayFv
;wxDateTime::Add(const wxTimeSpan&) const ;wxDateTime::Add(const wxTimeSpan&) const
Add__10wxDateTimeCFRC10wxTimeSpan Add__10wxDateTimeCFRC10wxTimeSpan
;wxDateTime::SetMinute(unsigned short) ;wxDateTime::SetToWeekDayInSameWeek(wxDateTime::WeekDay,wxDateTime::WeekFlags)
SetMinute__10wxDateTimeFUs SetToWeekDayInSameWeek__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime9WeekFlags
;wxDateTime::SetSecond(unsigned short) ;wxDateTime::SetSecond(unsigned short)
SetSecond__10wxDateTimeFUs SetSecond__10wxDateTimeFUs
;wxDateTime::SetMinute(unsigned short)
SetMinute__10wxDateTimeFUs
;wxDateTime::MakeTimezone(const wxDateTime::TimeZone&,unsigned long) ;wxDateTime::MakeTimezone(const wxDateTime::TimeZone&,unsigned long)
MakeTimezone__10wxDateTimeFRCQ2_10wxDateTime8TimeZoneUl MakeTimezone__10wxDateTimeFRCQ2_10wxDateTime8TimeZoneUl
;wxTimeSpan::wxTimeSpan(long,long,long,long) ;wxTimeSpan::wxTimeSpan(long,long,long,long)
@@ -648,10 +650,12 @@ EXPORTS
GetCurrentYear__10wxDateTimeFQ2_10wxDateTime8Calendar GetCurrentYear__10wxDateTimeFQ2_10wxDateTime8Calendar
;wxDateSpan::Add(const wxDateSpan&) ;wxDateSpan::Add(const wxDateSpan&)
Add__10wxDateSpanFRC10wxDateSpan Add__10wxDateSpanFRC10wxDateSpan
;wxDateTime::SetDay(unsigned short) ;wxDateTime::SetToTheWeek(unsigned short,wxDateTime::WeekDay,wxDateTime::WeekFlags)
SetDay__10wxDateTimeFUs SetToTheWeek__10wxDateTimeFUsQ2_10wxDateTime7WeekDayQ2_10wxDateTime9WeekFlags
;wxDateTime::SetHour(unsigned short) ;wxDateTime::SetHour(unsigned short)
SetHour__10wxDateTimeFUs SetHour__10wxDateTimeFUs
;wxDateTime::SetDay(unsigned short)
SetDay__10wxDateTimeFUs
;wxDateTime::wxDateTime(long) ;wxDateTime::wxDateTime(long)
__ct__10wxDateTimeFl __ct__10wxDateTimeFl
;wxDateTime::Set(double) ;wxDateTime::Set(double)
@@ -684,8 +688,6 @@ EXPORTS
IsEqualTo__10wxDateTimeCFRC10wxDateTime IsEqualTo__10wxDateTimeCFRC10wxDateTime
;wxDateTime::IsBetween(const wxDateTime&,const wxDateTime&) const ;wxDateTime::IsBetween(const wxDateTime&,const wxDateTime&) const
IsBetween__10wxDateTimeCFRC10wxDateTimeT1 IsBetween__10wxDateTimeCFRC10wxDateTimeT1
;wxDateTime::GetWeek(unsigned short,wxDateTime::WeekDay) const
GetWeek__10wxDateTimeCFUsQ2_10wxDateTime7WeekDay
;wxDateTime::GetLastWeekDay(wxDateTime::WeekDay,wxDateTime::Month,int) ;wxDateTime::GetLastWeekDay(wxDateTime::WeekDay,wxDateTime::Month,int)
GetLastWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime5Monthi GetLastWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime5Monthi
;wxDateTime::GetEndDST(int,wxDateTime::Country) ;wxDateTime::GetEndDST(int,wxDateTime::Country)
@@ -733,10 +735,6 @@ EXPORTS
TIME_T_FACTOR__10wxDateTime TIME_T_FACTOR__10wxDateTime
;wxDateTime::Subtract(const wxDateTime&) const ;wxDateTime::Subtract(const wxDateTime&) const
Subtract__10wxDateTimeCFRC10wxDateTime Subtract__10wxDateTimeCFRC10wxDateTime
;wxDateTime::SetToWeekDayInSameWeek(wxDateTime::WeekDay)
SetToWeekDayInSameWeek__10wxDateTimeFQ2_10wxDateTime7WeekDay
;wxDateTime::SetToTheWeek(unsigned short,wxDateTime::WeekDay)
SetToTheWeek__10wxDateTimeFUsQ2_10wxDateTime7WeekDay
;wxDateTime::SetToPrevWeekDay(wxDateTime::WeekDay) ;wxDateTime::SetToPrevWeekDay(wxDateTime::WeekDay)
SetToPrevWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDay SetToPrevWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDay
;wxDateTime::IsSameTime(const wxDateTime&) const ;wxDateTime::IsSameTime(const wxDateTime&) const
@@ -777,8 +775,8 @@ EXPORTS
Add__10wxDateTimeFRC10wxTimeSpan Add__10wxDateTimeFRC10wxTimeSpan
;wxDateTime::Add(const wxDateSpan&) const ;wxDateTime::Add(const wxDateSpan&) const
Add__10wxDateTimeCFRC10wxDateSpan Add__10wxDateTimeCFRC10wxDateSpan
;wxDateTime::GetMonthName(wxDateTime::Month,wxDateTime::NameFlags) ;wxDateTime::GetWeek(unsigned short,wxDateTime::WeekDay,wxDateTime::WeekFlags) const
GetMonthName__10wxDateTimeFQ2_10wxDateTime5MonthQ2_10wxDateTime9NameFlags GetWeek__10wxDateTimeCFUsQ2_10wxDateTime7WeekDayQ2_10wxDateTime9WeekFlags
;wxDateTime::SetMillisecond(unsigned short) ;wxDateTime::SetMillisecond(unsigned short)
SetMillisecond__10wxDateTimeFUs SetMillisecond__10wxDateTimeFUs
;wxDateTime::ParseDate(const char*) ;wxDateTime::ParseDate(const char*)
@@ -787,6 +785,8 @@ EXPORTS
ParseDateTime__10wxDateTimeFPCc ParseDateTime__10wxDateTimeFPCc
;wxDateTime::GetWeekDayName(wxDateTime::WeekDay,wxDateTime::NameFlags) ;wxDateTime::GetWeekDayName(wxDateTime::WeekDay,wxDateTime::NameFlags)
GetWeekDayName__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime9NameFlags GetWeekDayName__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime9NameFlags
;wxDateTime::GetMonthName(wxDateTime::Month,wxDateTime::NameFlags)
GetMonthName__10wxDateTimeFQ2_10wxDateTime5MonthQ2_10wxDateTime9NameFlags
;wxDateTime::Set(long) ;wxDateTime::Set(long)
Set__10wxDateTimeFl Set__10wxDateTimeFl
;wxDateTime::ToTimezone(const wxDateTime::TimeZone&,unsigned long) const ;wxDateTime::ToTimezone(const wxDateTime::TimeZone&,unsigned long) const
@@ -810,8 +810,6 @@ EXPORTS
IsEarlierThan__10wxDateTimeCFRC10wxDateTime IsEarlierThan__10wxDateTimeCFRC10wxDateTime
;wxDateTime::GetWeekOfMonth(wxDateTime::WeekFlags,const wxDateTime::TimeZone&) const ;wxDateTime::GetWeekOfMonth(wxDateTime::WeekFlags,const wxDateTime::TimeZone&) const
GetWeekOfMonth__10wxDateTimeCFQ2_10wxDateTime9WeekFlagsRCQ2_10wxDateTime8TimeZone GetWeekOfMonth__10wxDateTimeCFQ2_10wxDateTime9WeekFlagsRCQ2_10wxDateTime8TimeZone
;wxDateTime::GetWeekDayInSameWeek(wxDateTime::WeekDay) const
GetWeekDayInSameWeek__10wxDateTimeCFQ2_10wxDateTime7WeekDay
;wxDateTimeArray::DoCopy(const wxDateTimeArray&) ;wxDateTimeArray::DoCopy(const wxDateTimeArray&)
DoCopy__15wxDateTimeArrayFRC15wxDateTimeArray DoCopy__15wxDateTimeArrayFRC15wxDateTimeArray
;wxDateTime::IsInStdRange() const ;wxDateTime::IsInStdRange() const
@@ -844,10 +842,12 @@ EXPORTS
Add__10wxDateTimeFRC10wxDateSpan Add__10wxDateTimeFRC10wxDateSpan
;wxTimeSpan::Abs() const ;wxTimeSpan::Abs() const
Abs__10wxTimeSpanCFv Abs__10wxTimeSpanCFv
;wxDateTime::GetYearDay(unsigned short) const ;wxDateTime::GetWeekDayInSameWeek(wxDateTime::WeekDay,wxDateTime::WeekFlags) const
GetYearDay__10wxDateTimeCFUs GetWeekDayInSameWeek__10wxDateTimeCFQ2_10wxDateTime7WeekDayQ2_10wxDateTime9WeekFlags
;wxDateTime::SetToYearDay(unsigned short) ;wxDateTime::SetToYearDay(unsigned short)
SetToYearDay__10wxDateTimeFUs SetToYearDay__10wxDateTimeFUs
;wxDateTime::GetYearDay(unsigned short) const
GetYearDay__10wxDateTimeCFUs
;wxTimeSpan::Format(const char*) const ;wxTimeSpan::Format(const char*) const
Format__10wxTimeSpanCFPCc Format__10wxTimeSpanCFPCc
;From object file: ..\common\datstrm.cpp ;From object file: ..\common\datstrm.cpp
@@ -5125,9 +5125,11 @@ EXPORTS
SetScreenType__16wxSystemSettingsF18wxSystemScreenType SetScreenType__16wxSystemSettingsF18wxSystemScreenType
;From object file: ..\common\sizer.cpp ;From object file: ..\common\sizer.cpp
;PUBDEFs (Symbols available from object file): ;PUBDEFs (Symbols available from object file):
;wxSizer::Show(wxSizer*,unsigned long)
Show__7wxSizerFP7wxSizerUl
__vft11wxGridSizer8wxObject
;wxSizerItem::wxSizerItem(int,int,int,int,int,wxObject*) ;wxSizerItem::wxSizerItem(int,int,int,int,int,wxObject*)
__ct__11wxSizerItemFiN41P8wxObject __ct__11wxSizerItemFiN41P8wxObject
__vft11wxGridSizer8wxObject
;wxSizerItem::wxSizerItem(wxSizer*,int,int,int,wxObject*) ;wxSizerItem::wxSizerItem(wxSizer*,int,int,int,wxObject*)
__ct__11wxSizerItemFP7wxSizeriN22P8wxObject __ct__11wxSizerItemFP7wxSizeriN22P8wxObject
;wxSizer::Insert(int,wxSizer*,int,int,int,wxObject*) ;wxSizer::Insert(int,wxSizer*,int,int,int,wxObject*)
@@ -5198,6 +5200,8 @@ EXPORTS
RecalcSizes__16wxStaticBoxSizerFv RecalcSizes__16wxStaticBoxSizerFv
;wxSizerItem::IsWindow() ;wxSizerItem::IsWindow()
IsWindow__11wxSizerItemFv IsWindow__11wxSizerItemFv
;wxSizer::IsShown(wxSizer*)
IsShown__7wxSizerFP7wxSizer
;wxSizerItem::GetSize() ;wxSizerItem::GetSize()
GetSize__11wxSizerItemFv GetSize__11wxSizerItemFv
;wxNotebookSizer::CalcMin() ;wxNotebookSizer::CalcMin()
@@ -5208,10 +5212,14 @@ EXPORTS
Remove__7wxSizerFP8wxWindow Remove__7wxSizerFP8wxWindow
;wxSizer::FitSize(wxWindow*) ;wxSizer::FitSize(wxWindow*)
FitSize__7wxSizerFP8wxWindow FitSize__7wxSizerFP8wxWindow
;wxSizer::Clear(unsigned long) ;wxSizer::Show(wxWindow*,unsigned long)
Clear__7wxSizerFUl Show__7wxSizerFP8wxWindowUl
__vft7wxSizer8wxObject __vft7wxSizer8wxObject
__vft15wxNotebookSizer8wxObject __vft15wxNotebookSizer8wxObject
;wxSizer::ShowItems(unsigned long)
ShowItems__7wxSizerFUl
;wxSizer::Clear(unsigned long)
Clear__7wxSizerFUl
;wxSizer::Remove(int) ;wxSizer::Remove(int)
Remove__7wxSizerFi Remove__7wxSizerFi
;wxSizer::GetMinSize() ;wxSizer::GetMinSize()
@@ -5258,6 +5266,8 @@ EXPORTS
DeleteWindows__11wxSizerItemFv DeleteWindows__11wxSizerItemFv
;wxSizer::GetMinClientSize(wxWindow*) ;wxSizer::GetMinClientSize(wxWindow*)
GetMinClientSize__7wxSizerFP8wxWindow GetMinClientSize__7wxSizerFP8wxWindow
;wxSizer::IsShown(wxWindow*)
IsShown__7wxSizerFP8wxWindow
;wxSizer::GetMaxClientSize(wxWindow*) ;wxSizer::GetMaxClientSize(wxWindow*)
GetMaxClientSize__7wxSizerFP8wxWindow GetMaxClientSize__7wxSizerFP8wxWindow
;wxSizerItem::wxSizerItem(wxWindow*,int,int,int,wxObject*) ;wxSizerItem::wxSizerItem(wxWindow*,int,int,int,wxObject*)
@@ -7531,6 +7541,8 @@ EXPORTS
HitTest__14wxCalendarCtrlFRC7wxPointP10wxDateTimePQ2_10wxDateTime7WeekDay HitTest__14wxCalendarCtrlFRC7wxPointP10wxDateTimePQ2_10wxDateTime7WeekDay
;wxCalendarCtrl::DoGetPosition(int*,int*) const ;wxCalendarCtrl::DoGetPosition(int*,int*) const
DoGetPosition__14wxCalendarCtrlCFPiT1 DoGetPosition__14wxCalendarCtrlCFPiT1
;wxCalendarCtrl::wxCalendarCtrl(wxWindow*,int,const wxDateTime&,const wxPoint&,const wxSize&,long,const wxString&)
__ct__14wxCalendarCtrlFP8wxWindowiRC10wxDateTimeRC7wxPointRC6wxSizelRC8wxString
;wxCalendarCtrl::Enable(unsigned long) ;wxCalendarCtrl::Enable(unsigned long)
Enable__14wxCalendarCtrlFUl Enable__14wxCalendarCtrlFUl
wxEVT_CALENDAR_WEEKDAY_CLICKED wxEVT_CALENDAR_WEEKDAY_CLICKED
@@ -9898,6 +9910,8 @@ EXPORTS
GetEventTable__23wxGenericMDIParentFrameCFv GetEventTable__23wxGenericMDIParentFrameCFv
;wxGenericMDIParentFrame::GetClientWindow() const ;wxGenericMDIParentFrame::GetClientWindow() const
GetClientWindow__23wxGenericMDIParentFrameCFv GetClientWindow__23wxGenericMDIParentFrameCFv
;wxMDIParentFrame::GetActiveChild() const
GetActiveChild__16wxMDIParentFrameCFv
;wxGenericMDIChildFrame::Create(wxGenericMDIParentFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&) ;wxGenericMDIChildFrame::Create(wxGenericMDIParentFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
Create__22wxGenericMDIChildFrameFP23wxGenericMDIParentFrameiRC8wxStringRC7wxPointRC6wxSizelT3 Create__22wxGenericMDIChildFrameFP23wxGenericMDIParentFrameiRC8wxStringRC7wxPointRC6wxSizelT3
;wxGenericMDIChildFrame::OnMenuHighlight(wxMenuEvent&) ;wxGenericMDIChildFrame::OnMenuHighlight(wxMenuEvent&)
@@ -11734,6 +11748,7 @@ EXPORTS
sm_classwxApp__5wxApp sm_classwxApp__5wxApp
;wxAppRemoveSocketHandler(int) ;wxAppRemoveSocketHandler(int)
wxAppRemoveSocketHandler__Fi wxAppRemoveSocketHandler__Fi
gbInOnIdle
;wxAppAddSocketHandler(int,int,void(*)(void*),void*) ;wxAppAddSocketHandler(int,int,void(*)(void*),void*)
wxAppAddSocketHandler__FiT1PFPv_vPv wxAppAddSocketHandler__FiT1PFPv_vPv
;wxWakeUpIdle() ;wxWakeUpIdle()