Append ".png" extension automatically, just as @appearance does. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			157 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
///////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        interface/wx/bannerwindow.h
 | 
						|
// Purpose:     wxBannerWindow class documentation
 | 
						|
// Author:      Vadim Zeitlin
 | 
						|
// Created:     2011-08-16
 | 
						|
// Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
 | 
						|
// Licence:     wxWindows licence
 | 
						|
///////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
    A simple banner window showing either a bitmap or text.
 | 
						|
 | 
						|
    Banner windows can be used to present some overview of the current window
 | 
						|
    contents to the user in an aesthetically pleasant way. They are typically
 | 
						|
    positioned along the left or top edge of the window (although this class
 | 
						|
    also supports right- and bottom-aligned banners) and show either a bitmap
 | 
						|
    with a logo or a few lines of text on a gradient-filled background.
 | 
						|
 | 
						|
    Using this class is very simple, e.g.:
 | 
						|
    @code
 | 
						|
    MyFrame::MyFrame(...)
 | 
						|
    {
 | 
						|
        ... create the frame itself ...
 | 
						|
 | 
						|
        // Create and initialize the banner.
 | 
						|
        wxBannerWindow* banner = new wxBannerWindow(this, wxTOP);
 | 
						|
        banner->SetText("Welcome to my wonderful program",
 | 
						|
                        "  Before doing anything else, you need to connect to "
 | 
						|
                        "the online server.\n"
 | 
						|
                        "  Please enter your credentials in the controls below.");
 | 
						|
 | 
						|
        // And position it along the left edge of the window.
 | 
						|
        wxSizer* sizer = new wxBoxSizer(wxVERTICAL);
 | 
						|
        sizer->Add(banner, wxSizerFlags().Expand());
 | 
						|
 | 
						|
        ... add the rest of the window contents to the same sizer ...
 | 
						|
 | 
						|
        SetSizerAndFit(sizer);
 | 
						|
    }
 | 
						|
    @endcode
 | 
						|
 | 
						|
    This class is currently implemented generically and so looks the same under
 | 
						|
    all platforms.
 | 
						|
 | 
						|
    @library{wxadv}
 | 
						|
    @category{miscwnd}
 | 
						|
    @genericAppearance{bannerwindow}
 | 
						|
 | 
						|
    @since 2.9.3
 | 
						|
 */
 | 
						|
class wxBannerWindow : public wxWindow
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Default constructor, use Create() later.
 | 
						|
 | 
						|
        This constructor is only used for two-step creation, if possible,
 | 
						|
        prefer using the constructor below directly instead of using this one
 | 
						|
        and calling Create() later.
 | 
						|
     */
 | 
						|
    wxBannerWindow();
 | 
						|
 | 
						|
    /**
 | 
						|
        Convenient constructor that should be used in the majority of cases.
 | 
						|
 | 
						|
        The only really important arguments of the full constructor below are
 | 
						|
        @a parent and @a dir so this class provides a convenient constructor
 | 
						|
        taking only them.
 | 
						|
 | 
						|
        The banner orientation changes how the text in it is displayed and also
 | 
						|
        defines where is the bitmap truncated if it's too big to fit but doesn't
 | 
						|
        do anything for the banner position, this is supposed to be taken care
 | 
						|
        of in the usual way, e.g. using sizers.
 | 
						|
    */
 | 
						|
    wxBannerWindow(wxWindow* parent, wxDirection dir = wxLEFT);
 | 
						|
 | 
						|
    /**
 | 
						|
        Full constructor provided for consistency with the other classes only.
 | 
						|
 | 
						|
        Prefer to use the shorter constructor documented above. You should
 | 
						|
        rarely, if ever, need to use non-default values for any other
 | 
						|
        parameters: as the banner window doesn't generate any events, its
 | 
						|
        identifier is not particularly useful; its position and size will be
 | 
						|
        almost always managed by the containing sizer and it doesn't have any
 | 
						|
        specific styles. So only the parent and the banner direction need to be
 | 
						|
        specified.
 | 
						|
     */
 | 
						|
    wxBannerWindow(wxWindow* parent,
 | 
						|
                   wxWindowID winid,
 | 
						|
                   wxDirection dir = wxLEFT,
 | 
						|
                   const wxPoint& pos = wxDefaultPosition,
 | 
						|
                   const wxSize& size = wxDefaultSize,
 | 
						|
                   long style = 0,
 | 
						|
                   const wxString& name = wxBannerWindowNameStr);
 | 
						|
 | 
						|
    /**
 | 
						|
        Really create the banner window for the objects created using the
 | 
						|
        default constructor.
 | 
						|
 | 
						|
        It's an error to call Create() for the objects created using
 | 
						|
        non-default constructor.
 | 
						|
     */
 | 
						|
    bool Create(wxWindow* parent,
 | 
						|
                wxWindowID winid,
 | 
						|
                wxDirection dir = wxLEFT,
 | 
						|
                const wxPoint& pos = wxDefaultPosition,
 | 
						|
                const wxSize& size = wxDefaultSize,
 | 
						|
                long style = 0,
 | 
						|
                const wxString& name = wxBannerWindowNameStr);
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
        Provide the bitmap to use as background.
 | 
						|
 | 
						|
        Notice that ideally the bitmap should be big enough to always cover the
 | 
						|
        entire banner, e.g. for a horizontal banner with wxTOP style its width
 | 
						|
        should be bigger than any reasonable window size. Otherwise the bitmap
 | 
						|
        is extended to cover the entire window area with a solid colour taken
 | 
						|
        from the bitmap pixel on the edge in which direction the extension
 | 
						|
        occurs so all bitmap pixels on this edge (top for wxLEFT, right for
 | 
						|
        wxTOP and wxBOTTOM and bottom for wxRIGHT) should have the same colour
 | 
						|
        to avoid jarring discontinuity.
 | 
						|
 | 
						|
        If, on the other hand, the bitmap is bigger than the window size, then
 | 
						|
        it is truncated. For wxLEFT orientation the bitmap is truncated from
 | 
						|
        the top, for wxTOP and wxBOTTOM -- from the right and for wxRIGHT --
 | 
						|
        from the bottom, so put the most important part of the bitmap
 | 
						|
        information in the opposite direction where it will never be truncated.
 | 
						|
 | 
						|
        If no valid background bitmap is specified, the banner draws gradient
 | 
						|
        background but if a valid bitmap is given here, the gradient is not
 | 
						|
        draw and the start and end colours specified for it are ignored.
 | 
						|
 | 
						|
        @param bmp Bitmap to use as background. May be invalid to indicate
 | 
						|
            that no background bitmap should be used.
 | 
						|
     */
 | 
						|
    void SetBitmap(const wxBitmap& bmp);
 | 
						|
 | 
						|
    /**
 | 
						|
        Set the text to display.
 | 
						|
 | 
						|
        This is mutually exclusive with SetBitmap().
 | 
						|
 | 
						|
        Title is rendered in bold and should be single line, message can have
 | 
						|
        multiple lines but is not wrapped automatically, include explicit line
 | 
						|
        breaks in the string if you want to have multiple lines.
 | 
						|
     */
 | 
						|
    void SetText(const wxString& title, const wxString& message);
 | 
						|
 | 
						|
    /**
 | 
						|
        Set the colours between which the gradient runs.
 | 
						|
 | 
						|
        The gradient colours are ignored if SetBitmap() is used.
 | 
						|
     */
 | 
						|
    void SetGradient(const wxColour& start, const wxColour& end);
 | 
						|
};
 |