// Modified by: Ron Lee
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c) wxWidgets team
+// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WINDOW_H_BASE_
#define _WX_WINDOW_H_BASE_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "windowbase.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers which we must include here
// ----------------------------------------------------------------------------
// window attributes
// -----------------
- // NB: in future versions of wxWidgets Set/GetTitle() will only work
- // with the top level windows (such as dialogs and frames) and
- // Set/GetLabel() only with the other ones (i.e. all controls).
-
- // the title (or label, see below) of the window: the text which the
- // window shows
- virtual void SetTitle( const wxString& WXUNUSED(title) ) {}
- virtual wxString GetTitle() const { return wxEmptyString; }
-
// label is just the same as the title (but for, e.g., buttons it
- // makes more sense to speak about labels)
- virtual void SetLabel(const wxString& label) { SetTitle(label); }
- virtual wxString GetLabel() const { return GetTitle(); }
+ // makes more sense to speak about labels), title access
+ // is available from wxTLW classes only (frames, dialogs)
+ virtual void SetLabel(const wxString& label) = 0;
+ virtual wxString GetLabel() const = 0;
// the window name is used for ressource setting in X, it is not the
// same as the window title/label
// Override these methods for windows that have a virtual size
// independent of their client size. eg. the virtual area of a
- // wxScrolledWindow. Default is to return m_virtualSize unless
- // the client size is bigger.
+ // wxScrolledWindow.
virtual void DoSetVirtualSize( int x, int y );
virtual wxSize DoGetVirtualSize() const;
-
-
- // Really return just m_virtualSize, nothing else
-
- wxSize GetPureVirtualSize() const { return m_virtualSize; }
// Return the largest of ClientSize and BestSize (as determined
// by a sizer, interior children, or other means)
virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; }
virtual bool GetThemeEnabled() const { return m_themeEnabled; }
- // Returns true if this class should have the background colour
- // changed to match the parent window's theme. For example when a
- // page is added to a notebook it and its children may need to have
- // the colours adjusted depending on the current theme settings, but
- // not all windows/controls can do this without looking wrong.
- virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg))
- { /* do nothing */ }
-
// focus and keyboard handling
// ---------------------------
m_inheritBgCol = false;
}
wxColour GetBackgroundColour() const;
-
- // if the window shouldn't inherit its colour from the parent, override
- // this function to return true
- //
- // this is currently only used by wxMSW and wxUniv but should be useful for
- // the other ports too
- virtual bool ProvidesBackground() const { return false; }
+ bool InheritsBackgroundColour() const
+ {
+ return m_inheritBgCol;
+ }
+ bool UseBgCol() const
+ {
+ return m_hasBgCol;
+ }
virtual bool SetForegroundColour(const wxColour& colour);
void SetOwnForegroundColour(const wxColour& colour)
void SetHelpTextForId(const wxString& text);
// get the help string associated with this window (may be empty)
wxString GetHelpText() const;
+#else
+ // silently ignore SetHelpText() calls
+ void SetHelpText(const wxString& WXUNUSED(text)) { }
+ void SetHelpTextForId(const wxString& WXUNUSED(text)) { }
#endif // wxUSE_HELP
// tooltips
void DeleteRelatedConstraints();
void ResetConstraints();
- // these methods may be overriden for special layout algorithms
+ // these methods may be overridden for special layout algorithms
virtual void SetConstraintSizes(bool recurse = true);
virtual bool LayoutPhase1(int *noChanges);
virtual bool LayoutPhase2(int *noChanges);
// behaviour in the most common case
virtual bool ShouldInheritColours() const { return false; }
+ // Reserved for future use
+ virtual void ReservedWindowFunc1() {}
+ virtual void ReservedWindowFunc2() {}
+ virtual void ReservedWindowFunc3() {}
+ virtual void ReservedWindowFunc4() {}
+ virtual void ReservedWindowFunc5() {}
+ virtual void ReservedWindowFunc6() {}
+ virtual void ReservedWindowFunc7() {}
+ virtual void ReservedWindowFunc8() {}
+ virtual void ReservedWindowFunc9() {}
+
protected:
// event handling specific to wxWindow
virtual bool TryValidator(wxEvent& event);
// same size as it would have after a call to Fit()
virtual wxSize DoGetBestSize() const;
+ // called from DoGetBestSize() to convert best virtual size (returned by
+ // the window sizer) to the best size for the window itself; this is
+ // overridden at wxScrolledWindow level to clump down virtual size to real
+ virtual wxSize GetWindowSizeForVirtualSize(const wxSize& size) const
+ {
+ return size;
+ }
+
// this is the virtual function to be overriden in any derived class which
// wants to change how SetSize() or Move() works - it is called by all
// versions of these functions in the base class
// implements the window variants
virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
+ // Reserved for future use
+ void* m_windowReserved;
+
private:
// contains the last id generated by NewControlId
static int ms_lastControlId;
#endif // wxUSE_ACCESSIBILITY
-#endif
- // _WX_WINDOW_H_BASE_
-
+#endif // _WX_WINDOW_H_BASE_