added ShouldInheritColours()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-10-16 10:00:12 +00:00
parent 81b344a543
commit d4864e971b
8 changed files with 54 additions and 33 deletions

View File

@@ -54,6 +54,11 @@ public:
// get the control alignment (left/right/centre, top/bottom/centre) // get the control alignment (left/right/centre, top/bottom/centre)
int GetAlignment() const { return m_windowStyle & wxALIGN_MASK; } int GetAlignment() const { return m_windowStyle & wxALIGN_MASK; }
// controls by default inherit the colours of their parents, if a
// particular control class doesn't want to do it, it can override
// ShouldInheritColours() to return false
virtual bool ShouldInheritColours() const { return true; }
protected: protected:
// creates the control (calls wxWindowBase::CreateBase inside) and adds it // creates the control (calls wxWindowBase::CreateBase inside) and adds it
// to the list of parents children // to the list of parents children

View File

@@ -150,6 +150,10 @@ public:
// this // this
wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
// usually the controls like list/combo boxes have their own background
// colour
virtual bool ShouldInheritColours() const { return false; }
private: private:
DECLARE_NO_COPY_CLASS(wxControlWithItems) DECLARE_NO_COPY_CLASS(wxControlWithItems)
}; };

View File

@@ -193,6 +193,7 @@ public:
virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
virtual bool ShouldInheritColours() const { return false; }
virtual void SetFocus(); virtual void SetFocus();
// implementation // implementation

View File

@@ -361,6 +361,7 @@ public:
long& cookie) const; long& cookie) const;
#endif // WXWIN_COMPATIBILITY_2_4 #endif // WXWIN_COMPATIBILITY_2_4
virtual bool ShouldInheritColours() const { return false; }
// implementation only from now on // implementation only from now on

View File

@@ -353,6 +353,7 @@ public:
// Necessary for drawing hrules and vrules, if specified // Necessary for drawing hrules and vrules, if specified
void OnPaint(wxPaintEvent& event); void OnPaint(wxPaintEvent& event);
virtual bool ShouldInheritColours() const { return false; }
// obsolete stuff, for compatibility only -- don't use // obsolete stuff, for compatibility only -- don't use
wxDEPRECATED( int GetItemSpacing(bool isSmall) const); wxDEPRECATED( int GetItemSpacing(bool isSmall) const);

View File

@@ -403,6 +403,8 @@ public:
long& cookie) const ); long& cookie) const );
#endif // WXWIN_COMPATIBILITY_2_4 #endif // WXWIN_COMPATIBILITY_2_4
virtual bool ShouldInheritColours() const { return false; }
// implementation // implementation
// -------------- // --------------

View File

@@ -338,6 +338,8 @@ public:
// do the window-specific processing after processing the update event // do the window-specific processing after processing the update event
virtual void DoUpdateWindowUI(wxUpdateUIEvent& event); virtual void DoUpdateWindowUI(wxUpdateUIEvent& event);
virtual bool ShouldInheritColours() const { return false; }
protected: protected:
// the name of the last file loaded with LoadFile() which will be used by // the name of the last file loaded with LoadFile() which will be used by
// SaveFile() by default // SaveFile() by default

View File

@@ -119,17 +119,17 @@ public:
// deleting the window // deleting the window
// ------------------- // -------------------
// ask the window to close itself, return TRUE if the event handler // ask the window to close itself, return true if the event handler
// honoured our request // honoured our request
bool Close( bool force = FALSE ); bool Close( bool force = false );
// the following functions delete the C++ objects (the window itself // the following functions delete the C++ objects (the window itself
// or its children) as well as the GUI windows and normally should // or its children) as well as the GUI windows and normally should
// never be used directly // never be used directly
// delete window unconditionally (dangerous!), returns TRUE if ok // delete window unconditionally (dangerous!), returns true if ok
virtual bool Destroy(); virtual bool Destroy();
// delete all children of this window, returns TRUE if ok // delete all children of this window, returns true if ok
bool DestroyChildren(); bool DestroyChildren();
// is the window being deleted? // is the window being deleted?
@@ -358,14 +358,14 @@ public:
// window state // window state
// ------------ // ------------
// returns TRUE if window was shown/hidden, FALSE if the nothing was // returns true if window was shown/hidden, false if the nothing was
// done (window was already shown/hidden) // done (window was already shown/hidden)
virtual bool Show( bool show = TRUE ); virtual bool Show( bool show = true );
bool Hide() { return Show(FALSE); } bool Hide() { return Show(false); }
// returns TRUE if window was enabled/disabled, FALSE if nothing done // returns true if window was enabled/disabled, false if nothing done
virtual bool Enable( bool enable = TRUE ); virtual bool Enable( bool enable = true );
bool Disable() { return Enable(FALSE); } bool Disable() { return Enable(false); }
bool IsShown() const { return m_isShown; } bool IsShown() const { return m_isShown; }
bool IsEnabled() const { return m_isEnabled; } bool IsEnabled() const { return m_isEnabled; }
@@ -388,11 +388,16 @@ public:
long GetExtraStyle() const { return m_exStyle; } long GetExtraStyle() const { return m_exStyle; }
// make the window modal (all other windows unresponsive) // make the window modal (all other windows unresponsive)
virtual void MakeModal(bool modal = TRUE); virtual void MakeModal(bool modal = true);
virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; } virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; }
virtual bool GetThemeEnabled() const { return m_themeEnabled; } virtual bool GetThemeEnabled() const { return m_themeEnabled; }
// returns true if this window should inherit its parent colours on
// creation
virtual bool ShouldInheritColours() const { return false; }
// focus and keyboard handling // focus and keyboard handling
// --------------------------- // ---------------------------
@@ -446,8 +451,8 @@ public:
// it doesn't really change parent, use ReParent() instead // it doesn't really change parent, use ReParent() instead
void SetParent( wxWindowBase *parent ) { m_parent = (wxWindow *)parent; } void SetParent( wxWindowBase *parent ) { m_parent = (wxWindow *)parent; }
// change the real parent of this window, return TRUE if the parent // change the real parent of this window, return true if the parent
// was changed, FALSE otherwise (error or newParent == oldParent) // was changed, false otherwise (error or newParent == oldParent)
virtual bool Reparent( wxWindowBase *newParent ); virtual bool Reparent( wxWindowBase *newParent );
// implementation mostly // implementation mostly
@@ -482,11 +487,11 @@ public:
// push/pop event handler: allows to chain a custom event handler to // push/pop event handler: allows to chain a custom event handler to
// alreasy existing ones // alreasy existing ones
void PushEventHandler( wxEvtHandler *handler ); void PushEventHandler( wxEvtHandler *handler );
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE ); wxEvtHandler *PopEventHandler( bool deleteHandler = false );
// find the given handler in the event handler chain and remove (but // find the given handler in the event handler chain and remove (but
// not delete) it from the event handler chain, return TRUE if it was // not delete) it from the event handler chain, return true if it was
// found and FALSE otherwise (this also results in an assert failure so // found and false otherwise (this also results in an assert failure so
// this function should only be called when the handler is supposed to // this function should only be called when the handler is supposed to
// be there) // be there)
bool RemoveEventHandler(wxEvtHandler *handler); bool RemoveEventHandler(wxEvtHandler *handler);
@@ -505,7 +510,7 @@ public:
// dialog oriented functions // dialog oriented functions
// ------------------------- // -------------------------
// validate the correctness of input, return TRUE if ok // validate the correctness of input, return true if ok
virtual bool Validate(); virtual bool Validate();
// transfer data between internal and GUI representations // transfer data between internal and GUI representations
@@ -577,11 +582,11 @@ public:
// mark the specified rectangle (or the whole window) as "dirty" so it // mark the specified rectangle (or the whole window) as "dirty" so it
// will be repainted // will be repainted
virtual void Refresh( bool eraseBackground = TRUE, virtual void Refresh( bool eraseBackground = true,
const wxRect *rect = (const wxRect *) NULL ) = 0; const wxRect *rect = (const wxRect *) NULL ) = 0;
// a less awkward wrapper for Refresh // a less awkward wrapper for Refresh
void RefreshRect(const wxRect& rect) { Refresh(TRUE, &rect); } void RefreshRect(const wxRect& rect) { Refresh(true, &rect); }
// repaint all invalid areas of the window immediately // repaint all invalid areas of the window immediately
virtual void Update() { } virtual void Update() { }
@@ -620,20 +625,20 @@ public:
// -------------------------- // --------------------------
// set/retrieve the window colours (system defaults are used by // set/retrieve the window colours (system defaults are used by
// default): Set functions return TRUE if colour was changed // default): Set functions return true if colour was changed
virtual bool SetBackgroundColour( const wxColour &colour ); virtual bool SetBackgroundColour( const wxColour &colour );
virtual bool SetForegroundColour( const wxColour &colour ); virtual bool SetForegroundColour( const wxColour &colour );
wxColour GetBackgroundColour() const { return m_backgroundColour; } wxColour GetBackgroundColour() const { return m_backgroundColour; }
wxColour GetForegroundColour() const { return m_foregroundColour; } wxColour GetForegroundColour() const { return m_foregroundColour; }
// set/retrieve the cursor for this window (SetCursor() returns TRUE // set/retrieve the cursor for this window (SetCursor() returns true
// if the cursor was really changed) // if the cursor was really changed)
virtual bool SetCursor( const wxCursor &cursor ); virtual bool SetCursor( const wxCursor &cursor );
const wxCursor& GetCursor() const { return m_cursor; } const wxCursor& GetCursor() const { return m_cursor; }
wxCursor& GetCursor() { return m_cursor; } wxCursor& GetCursor() { return m_cursor; }
// set/retrieve the font for the window (SetFont() returns TRUE if the // set/retrieve the font for the window (SetFont() returns true if the
// font really changed) // font really changed)
virtual bool SetFont( const wxFont &font ) = 0; virtual bool SetFont( const wxFont &font ) = 0;
const wxFont& GetFont() const { return m_font; } const wxFont& GetFont() const { return m_font; }
@@ -703,7 +708,7 @@ public:
// get border for the flags of this window // get border for the flags of this window
wxBorder GetBorder() const { return GetBorder(GetWindowStyleFlag()); } wxBorder GetBorder() const { return GetBorder(GetWindowStyleFlag()); }
// send wxUpdateUIEvents to this window, and children if recurse is TRUE // send wxUpdateUIEvents to this window, and children if recurse is true
virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE); virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE);
// do the window-specific processing after processing the update event // do the window-specific processing after processing the update event
@@ -731,8 +736,8 @@ public:
int pos, int pos,
int thumbvisible, int thumbvisible,
int range, int range,
bool refresh = TRUE ) = 0; bool refresh = true ) = 0;
virtual void SetScrollPos( int orient, int pos, bool refresh = TRUE ) = 0; virtual void SetScrollPos( int orient, int pos, bool refresh = true ) = 0;
virtual int GetScrollPos( int orient ) const = 0; virtual int GetScrollPos( int orient ) const = 0;
virtual int GetScrollThumb( int orient ) const = 0; virtual int GetScrollThumb( int orient ) const = 0;
virtual int GetScrollRange( int orient ) const = 0; virtual int GetScrollRange( int orient ) const = 0;
@@ -743,9 +748,9 @@ public:
// scrolls window by line/page: note that not all controls support this // scrolls window by line/page: note that not all controls support this
// //
// return TRUE if the position changed, FALSE otherwise // return true if the position changed, false otherwise
virtual bool ScrollLines(int WXUNUSED(lines)) { return FALSE; } virtual bool ScrollLines(int WXUNUSED(lines)) { return false; }
virtual bool ScrollPages(int WXUNUSED(pages)) { return FALSE; } virtual bool ScrollPages(int WXUNUSED(pages)) { return false; }
// convenient wrappers for ScrollLines/Pages // convenient wrappers for ScrollLines/Pages
bool LineUp() { return ScrollLines(-1); } bool LineUp() { return ScrollLines(-1); }
@@ -807,7 +812,7 @@ public:
void ResetConstraints(); void ResetConstraints();
// these methods may be overriden for special layout algorithms // these methods may be overriden for special layout algorithms
virtual void SetConstraintSizes(bool recurse = TRUE); virtual void SetConstraintSizes(bool recurse = true);
virtual bool LayoutPhase1(int *noChanges); virtual bool LayoutPhase1(int *noChanges);
virtual bool LayoutPhase2(int *noChanges); virtual bool LayoutPhase2(int *noChanges);
virtual bool DoPhase(int phase); virtual bool DoPhase(int phase);
@@ -831,8 +836,8 @@ public:
virtual bool Layout(); virtual bool Layout();
// sizers // sizers
void SetSizer(wxSizer *sizer, bool deleteOld = TRUE ); void SetSizer(wxSizer *sizer, bool deleteOld = true );
void SetSizerAndFit( wxSizer *sizer, bool deleteOld = TRUE ); void SetSizerAndFit( wxSizer *sizer, bool deleteOld = true );
wxSizer *GetSizer() const { return m_windowSizer; } wxSizer *GetSizer() const { return m_windowSizer; }
@@ -1326,7 +1331,7 @@ public:
// Gets a variant representing the selected children // Gets a variant representing the selected children
// of this object. // of this object.
// Acceptable values: // Acceptable values:
// - a null variant (IsNull() returns TRUE) // - a null variant (IsNull() returns true)
// - a list variant (GetType() == wxT("list") // - a list variant (GetType() == wxT("list")
// - an integer representing the selected child element, // - an integer representing the selected child element,
// or 0 if this object is selected (GetType() == wxT("long") // or 0 if this object is selected (GetType() == wxT("long")