X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e6b2aae1b84f4818f1b2b30f5d15bdde0fa67408..6b30ffedb18b86329fdc41ac1be27bc85bd758ff:/include/wx/generic/infobar.h?ds=inline diff --git a/include/wx/generic/infobar.h b/include/wx/generic/infobar.h index 79e1c683fe..7beb08ad04 100644 --- a/include/wx/generic/infobar.h +++ b/include/wx/generic/infobar.h @@ -3,7 +3,7 @@ // Purpose: generic wxInfoBar class declaration // Author: Vadim Zeitlin // Created: 2009-07-28 -// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $ +// RCS-ID: $Id$ // Copyright: (c) 2009 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -19,7 +19,7 @@ class WXDLLIMPEXP_FWD_CORE wxStaticText; // wxInfoBar // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_ADV wxInfoBarGeneric : public wxInfoBarBase +class WXDLLIMPEXP_CORE wxInfoBarGeneric : public wxInfoBarBase { public: // the usual ctors and Create() but remember that info bar is created @@ -41,6 +41,8 @@ public: virtual void ShowMessage(const wxString& msg, int flags = wxICON_INFORMATION); + virtual void Dismiss(); + virtual void AddButton(wxWindowID btnid, const wxString& label = wxString()); virtual void RemoveButton(wxWindowID btnid); @@ -61,8 +63,8 @@ public: } // get effect used when showing/hiding the window - wxShowEffect GetShowEffect() const { return m_showEffect; } - wxShowEffect GetHideEffect() const { return m_hideEffect; } + wxShowEffect GetShowEffect() const; + wxShowEffect GetHideEffect() const; // set the duration of animation used when showing/hiding the bar, in ms void SetEffectDuration(int duration) { m_effectDuration = duration; } @@ -79,6 +81,11 @@ public: virtual bool SetFont(const wxFont& font); protected: + // info bar shouldn't have any border by default, the colour difference + // between it and the main window separates it well enough + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } + + // update the parent to take our new or changed size into account (notably // should be called when we're shown or hidden) void UpdateParent(); @@ -90,30 +97,35 @@ private: // handler for the close button void OnButton(wxCommandEvent& event); - // change the parent background colour to match that of our sibling - void ChangeParentBackground(); - - // restore the parent background changed by the above function - void RestoreParentBackground(); - // show/hide the bar void DoShow(); void DoHide(); + // determine the placement of the bar from its position in the containing + // sizer + enum BarPlacement + { + BarPlacement_Top, + BarPlacement_Bottom, + BarPlacement_Unknown + }; + + BarPlacement GetBarPlacement() const; + // different controls making up the bar wxStaticBitmap *m_icon; wxStaticText *m_text; wxBitmapButton *m_button; - // the effects to use when showing/hiding and duration for them + // the effects to use when showing/hiding and duration for them: by default + // the effect is determined by the info bar automatically depending on its + // position and the default duration is used wxShowEffect m_showEffect, m_hideEffect; int m_effectDuration; - // the original parent background colour, before we changed it - wxColour m_origParentBgCol; - + DECLARE_EVENT_TABLE() wxDECLARE_NO_COPY_CLASS(wxInfoBarGeneric); };