#include "wx/textctrl.h"
#include "wx/settings.h"
#include "wx/dialog.h"
+ #include "wx/msgdlg.h"
#endif //WX_PRECOMP
#if wxUSE_CONSTRAINTS
BEGIN_EVENT_TABLE(wxWindowBase, wxEvtHandler)
EVT_SYS_COLOUR_CHANGED(wxWindowBase::OnSysColourChanged)
EVT_INIT_DIALOG(wxWindowBase::OnInitDialog)
+ EVT_MIDDLE_DOWN(wxWindowBase::OnMiddleClick)
END_EVENT_TABLE()
// ============================================================================
#if !defined(__WXMAC__) && !defined(__WXGTK__)
m_font = *wxSWISS_FONT; // and this?
#else
- m_font = settings.GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
+ m_font = settings.GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
#endif
// no style bits
SetValidator(validator);
#endif // wxUSE_VALIDATORS
+ // if the parent window has wxWS_EX_VALIDATE_RECURSIVELY set, we want to
+ // have it too - like this it's possible to set it only in the top level
+ // dialog/frame and all children will inherit it by defult
+ if ( parent && (parent->GetExtraStyle() & wxWS_EX_VALIDATE_RECURSIVELY) )
+ {
+ SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
+ }
+
return TRUE;
}
// controls are always centered on their parent because it doesn't make
// sense to centre them on the screen
- if ( !(direction & wxCENTRE_ON_SCREEN) || wxDynamicCast(this, wxControl) )
+ if ( !(direction & wxCENTRE_ON_SCREEN) || !IsTopLevel() )
{
- // theo nly chance to get this is to have a wxControl without parent
- wxCHECK_RET( parent, wxT("a control must have a parent") );
+ // the only chance to get this is to have a not top level window
+ // without parent which shouldn't happen
+ wxCHECK_RET( parent, wxT("this window must have a parent") );
// adjust to the parents client area origin
wxPoint posParent = parent->ClientToScreen(wxPoint(0, 0));
TransferDataToWindow();
}
+// process Ctrl-Alt-mclick
+void wxWindowBase::OnMiddleClick( wxMouseEvent& event )
+{
+ if ( event.ControlDown() && event.AltDown() )
+ {
+ // don't translate these strings
+ wxString port;
+ switch ( wxGetOsVersion() )
+ {
+ case wxMOTIF_X: port = _T("Motif"); break;
+ case wxMACINTOSH: port = _T("Mac"); break;
+ case wxBEOS: port = _T("BeOS"); break;
+ case wxGTK:
+ case wxGTK_WIN32:
+ case wxGTK_OS2:
+ case wxGTK_BEOS: port = _T("GTK"); break;
+ case wxWINDOWS:
+ case wxPENWINDOWS:
+ case wxWINDOWS_NT:
+ case wxWIN32S:
+ case wxWIN95:
+ case wxWIN386: port = _T("MS Windows"); break;
+ case wxMGL_UNIX:
+ case wxMGL_X:
+ case wxMGL_WIN32:
+ case wxMGL_OS2: port = _T("MGL"); break;
+ case wxWINDOWS_OS2:
+ case wxOS2_PM: port = _T("OS/2"); break;
+ default: port = _T("unknown"); break;
+ }
+
+ wxMessageBox(wxString::Format(
+ _T(
+ " wxWindows Library (%s port)\n"
+ "Version %u.%u.%u, compiled at %s %s\n"
+ " Copyright (c) 1995-2000 wxWindows team"
+ ),
+ port.c_str(),
+ wxMAJOR_VERSION,
+ wxMINOR_VERSION,
+ wxRELEASE_NUMBER,
+ __DATE__,
+ __TIME__
+ ),
+ _T("wxWindows information"),
+ wxICON_INFORMATION | wxOK,
+ (wxWindow *)this);
+ }
+ else
+ {
+ event.Skip();
+ }
+}
+
// ----------------------------------------------------------------------------
// list classes implementation
// ----------------------------------------------------------------------------