// Created: 13/07/98
// RCS-ID: $Id$
// Copyright: (c) wxWindows team
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
#endif // wxUSE_DRAG_AND_DROP
#if wxUSE_ACCESSIBILITY
- #include "wx/access.h"
+ #include "wx/access.h"
#endif
#if wxUSE_HELP
int maxW, int maxH,
int WXUNUSED(incW), int WXUNUSED(incH))
{
+ // setting min width greater than max width leads to infinite loops under
+ // X11 and generally doesn't make any sense, so don't allow it
+ wxCHECK_RET( (minW == -1 || maxW == -1 || minW <= maxW) &&
+ (minH == -1 || maxH == -1 || minH <= maxH),
+ _T("min width/height must be less than max width/height!") );
+
m_minWidth = minW;
m_maxWidth = maxW;
m_minHeight = minH;
#if wxUSE_ACCESSIBILITY
void wxWindowBase::SetAccessible(wxAccessible* accessible)
{
- if (m_accessible)
+ if (m_accessible && (accessible != m_accessible))
delete m_accessible;
m_accessible = accessible;
if (m_accessible)
GetCapture());
}
+
+void wxWindowBase::SendDestroyEvent()
+{
+ wxWindowDestroyEvent event;
+ event.SetEventObject(this);
+ event.SetId(GetId());
+ GetEventHandler()->ProcessEvent(event);
+}
+
// ----------------------------------------------------------------------------
// global functions
// ----------------------------------------------------------------------------
if (!GetWindow())
return wxACC_FAIL;
- wxString title(GetWindow()->GetTitle());
+ wxString title;
+
+ // If a child, leave wxWindows to call the function on the actual
+ // child object.
+ if (childId > 0)
+ return wxACC_NOT_IMPLEMENTED;
+
+ // This will eventually be replaced by specialised
+ // accessible classes, one for each kind of wxWindows
+ // control or window.
+ if (GetWindow()->IsKindOf(CLASSINFO(wxButton)))
+ title = ((wxButton*) GetWindow())->GetLabel();
+ else
+ title = GetWindow()->GetName();
+
if (!title.IsEmpty())
{
*name = title;
if (!GetWindow())
return wxACC_FAIL;
+ wxString ht(GetWindow()->GetHelpText());
+ if (!ht.IsEmpty())
+ {
+ *description = ht;
+ return wxACC_OK;
+ }
return wxACC_NOT_IMPLEMENTED;
}
if (!GetWindow())
return wxACC_FAIL;
+ // If a child, leave wxWindows to call the function on the actual
+ // child object.
+ if (childId > 0)
+ return wxACC_NOT_IMPLEMENTED;
+
+ if (GetWindow()->IsKindOf(CLASSINFO(wxControl)))
+ return wxACC_NOT_IMPLEMENTED;
+#if wxUSE_STATUSBAR
+ if (GetWindow()->IsKindOf(CLASSINFO(wxStatusBar)))
+ return wxACC_NOT_IMPLEMENTED;
+#endif
+#if wxUSE_TOOLBAR
+ if (GetWindow()->IsKindOf(CLASSINFO(wxToolBar)))
+ return wxACC_NOT_IMPLEMENTED;
+#endif
+
+ //*role = wxROLE_SYSTEM_CLIENT;
+ *role = wxROLE_SYSTEM_CLIENT;
+ return wxACC_OK;
+
return wxACC_NOT_IMPLEMENTED;
}
if (!GetWindow())
return wxACC_FAIL;
+ // If a child, leave wxWindows to call the function on the actual
+ // child object.
+ if (childId > 0)
+ return wxACC_NOT_IMPLEMENTED;
+
+ if (GetWindow()->IsKindOf(CLASSINFO(wxControl)))
+ return wxACC_NOT_IMPLEMENTED;
+
+#if wxUSE_STATUSBAR
+ if (GetWindow()->IsKindOf(CLASSINFO(wxStatusBar)))
+ return wxACC_NOT_IMPLEMENTED;
+#endif
+#if wxUSE_TOOLBAR
+ if (GetWindow()->IsKindOf(CLASSINFO(wxToolBar)))
+ return wxACC_NOT_IMPLEMENTED;
+#endif
+
+ *state = 0;
+ return wxACC_OK;
+
return wxACC_NOT_IMPLEMENTED;
}