X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a92b5dfe8ce92f1686df0bec0ccc61d75ed46100..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/infobar.h diff --git a/include/wx/infobar.h b/include/wx/infobar.h index ffa7aadcd9..be390a856e 100644 --- a/include/wx/infobar.h +++ b/include/wx/infobar.h @@ -3,7 +3,6 @@ // Purpose: declaration of wxInfoBarBase defining common API of wxInfoBar // Author: Vadim Zeitlin // Created: 2009-07-28 -// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $ // Copyright: (c) 2009 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -15,13 +14,13 @@ #if wxUSE_INFOBAR -#include "wx/window.h" +#include "wx/control.h" // ---------------------------------------------------------------------------- // wxInfoBar shows non-critical but important information to the user // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_ADV wxInfoBarBase : public wxWindow +class WXDLLIMPEXP_CORE wxInfoBarBase : public wxControl { public: // real ctors are provided by the derived classes, just notice that unlike @@ -33,16 +32,35 @@ public: // show the info bar with the given message and optionally an icon - virtual void ShowMessage(const wxString& msg, int flags = wxICON_NONE) = 0; + virtual void ShowMessage(const wxString& msg, + int flags = wxICON_INFORMATION) = 0; + + // hide the info bar + virtual void Dismiss() = 0; + + // add an extra button to the bar, near the message (replacing the default + // close button which is only shown if no extra buttons are used) + virtual void AddButton(wxWindowID btnid, + const wxString& label = wxString()) = 0; + + // remove a button previously added by AddButton() + virtual void RemoveButton(wxWindowID btnid) = 0; private: wxDECLARE_NO_COPY_CLASS(wxInfoBarBase); }; -// include platform-dependent implementation -// -// TODO-GTK: implement a native version using GtkInfoBar (GTK+ 2.18+) -#include "wx/generic/infobar.h" +// currently only GTK+ has a native implementation +#if defined(__WXGTK218__) && !defined(__WXUNIVERSAL__) + #include "wx/gtk/infobar.h" + #define wxHAS_NATIVE_INFOBAR +#endif // wxGTK2 + +// if the generic version is the only one we have, use it +#ifndef wxHAS_NATIVE_INFOBAR + #include "wx/generic/infobar.h" + #define wxInfoBar wxInfoBarGeneric +#endif #endif // wxUSE_INFOBAR