- // Send idle event to all top-level windows.
- // Returns TRUE if more idle time is requested.
- bool SendIdleEvents();
-
- // Send idle event to window and all subwindows
- // Returns TRUE if more idle time is requested.
- bool SendIdleEvents(wxWindow* win);
-
- void SetAuto3D(bool flag) { m_auto3D = flag; }
- bool GetAuto3D() const { return m_auto3D; }
+#if wxUSE_EXCEPTIONS
+ virtual bool OnExceptionInMainLoop();
+#endif // wxUSE_EXCEPTIONS
+
+ // MSW-specific from now on
+ // ------------------------
+
+ // this suffix should be appended to all our Win32 class names to obtain a
+ // variant registered without CS_[HV]REDRAW styles
+ static const wxChar *GetNoRedrawClassSuffix() { return wxT("NR"); }
+
+ // get the name of the registered Win32 class with the given (unique) base
+ // name: this function constructs the unique class name using this name as
+ // prefix, checks if the class is already registered and registers it if it
+ // isn't and returns the name it was registered under (or NULL if it failed)
+ //
+ // the registered class will always have CS_[HV]REDRAW and CS_DBLCLKS
+ // styles as well as any additional styles specified as arguments here; and
+ // there will be also a companion registered class identical to this one
+ // but without CS_[HV]REDRAW whose name will be the same one but with
+ // GetNoRedrawClassSuffix()
+ //
+ // the background brush argument must be either a COLOR_XXX standard value
+ // or (default) -1 meaning that the class paints its background itself
+ static const wxChar *GetRegisteredClassName(const wxChar *name,
+ int bgBrushCol = -1,
+ int extraStyles = 0);
+
+ // return true if this name corresponds to one of the classes we registered
+ // in the previous GetRegisteredClassName() calls
+ static bool IsRegisteredClassName(const wxString& name);