#endif
}
+#if 0
// call internal idle recursively
+// may be obsolete (wait until OnIdle scheme stabilises)
void wxWindowBase::ProcessInternalIdle()
{
OnInternalIdle();
node = node->GetNext();
}
}
+#endif
// ----------------------------------------------------------------------------
// dialog units translations
bool wxWindowBase::TryParent(wxEvent& event)
{
- // Carry on up the parent-child hierarchy, but only if event is a command
- // event: it wouldn't make sense for a parent to receive a child's size
- // event, for example
- if ( event.IsCommandEvent() )
+ // carry on up the parent-child hierarchy if the propgation count hasn't
+ // reached zero yet
+ if ( event.ShouldPropagate() )
{
// honour the requests to stop propagation at this window: this is
// used by the dialogs, for example, to prevent processing the events
{
wxWindow *parent = GetParent();
if ( parent && !parent->IsBeingDeleted() )
+ {
+ wxPropagateOnce propagateOnce(event);
+
return parent->GetEventHandler()->ProcessEvent(event);
+ }
}
}
{
if (elementId <= (int) GetWindow()->GetChildren().GetCount())
{
- win = (wxWindow*) GetWindow()->GetChildren().Nth(elementId-1)->GetData();
+ win = GetWindow()->GetChildren().Item(elementId-1)->GetData();
}
else
return wxACC_FAIL;
case wxNAVDIR_DOWN:
case wxNAVDIR_NEXT:
{
- wxWindowList::compatibility_iterator node = NULL;
+ wxWindowList::compatibility_iterator node =
+ wxWindowList::compatibility_iterator();
if (fromId == 0)
{
// Can't navigate to sibling of this window
else
{
if (fromId <= (int) GetWindow()->GetChildren().GetCount())
- node = GetWindow()->GetChildren().Nth(fromId-1);
+ node = GetWindow()->GetChildren().Item(fromId-1);
}
if (node && node->GetNext())
{
- wxWindow* nextWindow = (wxWindow*) node->GetNext()->Data();
+ wxWindow* nextWindow = node->GetNext()->GetData();
*toObject = nextWindow->GetOrCreateAccessible();
return wxACC_OK;
}
case wxNAVDIR_UP:
case wxNAVDIR_PREVIOUS:
{
- wxWindowList::compatibility_iterator node = NULL;
+ wxWindowList::compatibility_iterator node =
+ wxWindowList::compatibility_iterator();
if (fromId == 0)
{
// Can't navigate to sibling of this window
else
{
if (fromId <= (int) GetWindow()->GetChildren().GetCount())
- node = GetWindow()->GetChildren().Nth(fromId-1);
+ node = GetWindow()->GetChildren().Item(fromId-1);
}
if (node && node->GetPrevious())
{
- wxWindow* previousWindow = (wxWindow*) node->GetPrevious()->Data();
+ wxWindow* previousWindow = node->GetPrevious()->GetData();
*toObject = previousWindow->GetOrCreateAccessible();
return wxACC_OK;
}
if (childId > (int) GetWindow()->GetChildren().GetCount())
return wxACC_FAIL;
- wxWindow* childWindow = (wxWindow*) GetWindow()->GetChildren().Nth(childId-1)->GetData();
+ wxWindow* childWindow = GetWindow()->GetChildren().Item(childId-1)->GetData();
*child = childWindow->GetOrCreateAccessible();
if (*child)
return wxACC_OK;