3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
181 lines
6.5 KiB
Objective-C
181 lines
6.5 KiB
Objective-C
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: ribbon/control.h
|
|
// Purpose: interface of wxRibbonControl
|
|
// Author: Peter Cawley
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
@class wxRibbonControl
|
|
|
|
wxRibbonControl serves as a base class for all controls which share the
|
|
ribbon characteristics of having a ribbon art provider, and (optionally)
|
|
non-continuous resizing. Despite what the name may imply, it is not the
|
|
top-level control for creating a ribbon interface - that is wxRibbonBar.
|
|
|
|
Ribbon controls often have a region which is "transparent", and shows the
|
|
contents of the ribbon page or panel behind it. If implementing a new
|
|
ribbon control, then it may be useful to realise that this effect is done
|
|
by the art provider when painting the background of the control, and hence
|
|
in the paint handler for the new control, you should call a draw background
|
|
method on the art provider (wxRibbonArtProvider::DrawButtonBarBackground()
|
|
and wxRibbonArtProvider::DrawToolBarBackground() typically just redraw what
|
|
is behind the rectangle being painted) if you want transparent regions.
|
|
|
|
@library{wxribbon}
|
|
@category{ribbon}
|
|
*/
|
|
class wxRibbonControl : public wxControl
|
|
{
|
|
public:
|
|
/**
|
|
Constructor.
|
|
*/
|
|
wxRibbonControl();
|
|
|
|
/**
|
|
Constructor.
|
|
|
|
If @a parent is a wxRibbonControl with a non-NULL art provider, then
|
|
the art provider of new control is set to that of @a parent.
|
|
*/
|
|
wxRibbonControl(wxWindow *parent, wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize, long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxControlNameStr);
|
|
|
|
/**
|
|
Set the art provider to be used. In many cases, setting the art provider
|
|
will also set the art provider on all child windows which extend
|
|
wxRibbonControl.
|
|
|
|
In most cases, controls will not take ownership of the given pointer,
|
|
with the notable exception being wxRibbonBar::SetArtProvider().
|
|
*/
|
|
virtual void SetArtProvider(wxRibbonArtProvider* art);
|
|
|
|
/**
|
|
Get the art provider to be used. Note that until an art provider has
|
|
been set in some way, this function may return NULL.
|
|
*/
|
|
wxRibbonArtProvider* GetArtProvider() const;
|
|
|
|
/**
|
|
@return @true if this window can take any size (greater than its minimum
|
|
size), @false if it can only take certain sizes.
|
|
|
|
@see GetNextSmallerSize()
|
|
@see GetNextLargerSize()
|
|
*/
|
|
virtual bool IsSizingContinuous() const;
|
|
|
|
/**
|
|
If sizing is not continuous, then return a suitable size for the control
|
|
which is smaller than the current size.
|
|
|
|
@param direction
|
|
The direction(s) in which the size should reduce.
|
|
@return
|
|
The current size if there is no smaller size, otherwise a suitable
|
|
size which is smaller in the given direction(s), and the same as the
|
|
current size in the other direction (if any).
|
|
|
|
@see IsSizingContinuous()
|
|
*/
|
|
wxSize GetNextSmallerSize(wxOrientation direction) const;
|
|
|
|
/**
|
|
If sizing is not continuous, then return a suitable size for the control
|
|
which is smaller than the given size.
|
|
|
|
@param direction
|
|
The direction(s) in which the size should reduce.
|
|
@param relative_to
|
|
The size for which a smaller size should be found.
|
|
@return
|
|
@a relative_to if there is no smaller size, otherwise a suitable
|
|
size which is smaller in the given direction(s), and the same as
|
|
@a relative_to in the other direction (if any).
|
|
|
|
@see IsSizingContinuous()
|
|
@see DoGetNextSmallerSize()
|
|
*/
|
|
wxSize GetNextSmallerSize(wxOrientation direction, wxSize relative_to) const;
|
|
|
|
/**
|
|
If sizing is not continuous, then return a suitable size for the control
|
|
which is larger than the current size.
|
|
|
|
@param direction
|
|
The direction(s) in which the size should increase.
|
|
@return
|
|
The current size if there is no larger size, otherwise a suitable
|
|
size which is larger in the given direction(s), and the same as the
|
|
current size in the other direction (if any).
|
|
|
|
@see IsSizingContinuous()
|
|
*/
|
|
wxSize GetNextLargerSize(wxOrientation direction) const;
|
|
|
|
/**
|
|
If sizing is not continuous, then return a suitable size for the control
|
|
which is larger than the given size.
|
|
|
|
@param direction
|
|
The direction(s) in which the size should increase.
|
|
@param relative_to
|
|
The size for which a larger size should be found.
|
|
@return
|
|
@a relative_to if there is no larger size, otherwise a suitable
|
|
size which is larger in the given direction(s), and the same as
|
|
@a relative_to in the other direction (if any).
|
|
|
|
@see IsSizingContinuous()
|
|
@see DoGetNextLargerSize()
|
|
*/
|
|
wxSize GetNextLargerSize(wxOrientation direction, wxSize relative_to) const;
|
|
|
|
/**
|
|
Perform initial size and layout calculations after children have been
|
|
added, and/or realize children.
|
|
*/
|
|
virtual bool Realize();
|
|
|
|
/**
|
|
Alias for Realize().
|
|
*/
|
|
bool Realise();
|
|
|
|
/**
|
|
Get the first ancestor which is a wxRibbonBar (or derived) or NULL
|
|
if not having such parent.
|
|
|
|
@since 2.9.4
|
|
*/
|
|
virtual wxRibbonBar* GetAncestorRibbonBar()const;
|
|
|
|
|
|
/**
|
|
Finds the best width and height given the parent's width and height.
|
|
Used to implement the wxRIBBON_PANEL_FLEXIBLE panel style.
|
|
*/
|
|
virtual wxSize GetBestSizeForParentSize(const wxSize& parentSize) const;
|
|
protected:
|
|
/**
|
|
Implementation of GetNextSmallerSize().
|
|
Controls which have non-continuous sizing must override this virtual
|
|
function rather than GetNextSmallerSize().
|
|
*/
|
|
virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
|
|
wxSize relative_to) const;
|
|
|
|
/**
|
|
Implementation of GetNextLargerSize().
|
|
Controls which have non-continuous sizing must override this virtual
|
|
function rather than GetNextLargerSize().
|
|
*/
|
|
virtual wxSize DoGetNextLargerSize(wxOrientation direction,
|
|
wxSize relative_to) const;
|
|
};
|