haiku/docs/user/interface/StringView.dox
2014-12-04 18:24:04 -05:00

441 lines
9.4 KiB
Plaintext

/*
* Copyright 2014 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* John Scipione, jscipione@gmail.com
*
* Corresponds to:
* headers/os/interface/StringView.h hrev48439
* src/kits/interface/StringView.cpp hrev48439
*/
/*!
\file StringView.h
\ingroup interface
\ingroup libbe
\brief BStringView class definition.
*/
/*!
\class BStringView
\ingroup interface
\ingroup libbe
\brief Draws a non-editable single-line text string,
most commonly used as a label.
\since BeOS R3
*/
/*!
\fn BStringView::BStringView(BRect frame, const char* name, const char* text,
uint32 resizingMode, uint32 flags)
\brief Creates a new BStringView object which displays the non-editable
\a text string in the plain system font (\c be_plain_font).
\param frame The frame rectangle to draw the string view into.
\param name The string view's \a name. Can be \c NULL.
\param text The string view's label \a text. Can be \c NULL.
\param resizingMode Sets the parameters by which the BStringView can be
resized. See BView for more information on resizing options.
\param flags The \a flags mask sets what notifications the BStringView can
receive. See BView for more information on \a flags.
\c B_FULL_UPDATE_ON_RESIZE is always set.
In order to prevent the string from being truncated the frame rectangle
must be large enough to display the entire string in the current font.
The string is drawn at the bottom of the frame rectangle and by default
is left-aligned, call SetAlignment() to set a different horizontal
alignment.
You may also change the font variety used by calling SetFont().
\see SetAlignment()
\see SetFont()
\since BeOS R3
*/
/*!
\fn BStringView::BStringView(const char* name, const char* text, uint32 flags)
\brief Layout constructor.
\param name The string view's \a name. Can be \c NULL.
\param text The string view's label \a text. Can be \c NULL.
\param flags The \a flags mask sets what notifications the BStringView can
receive. See BView for more information on \a flags.
\c B_FULL_UPDATE_ON_RESIZE is always set.
The string is left-aligned by default. There are two ways to set the
horizontal alignment of the string view. The preferred method is to call
BLayoutItem::SetExplicitAlignment() or you may also call SetAlignment().
You may also change the font variety used by calling SetFont().
\see BLayoutItem::SetExplicitAlignment()
\see SetAlignment()
\see SetFont()
\since Haiku R1
*/
/*!
\fn BStringView::BStringView(BMessage* archive)
\brief Archive constructor.
The string view's text, alignment, and view flags can be set using this
constructor.
\warning This method is usually not called directly. If you want to build
a string view from an archive message you should call
Instantiate() instead which can handle errors properly.
\param archive The message \a archive to construct the string view from.
\since BeOS R3
*/
/*!
\fn BStringView::~BStringView()
\brief Destructor method, frees the memory used by the string view.
\since BeOS R3
*/
/*!
\name Archiving
*/
//! @{
/*!
\fn BArchivable* BStringView::Instantiate(BMessage* archive)
\brief Creates a new BStringView object from an \a archive message.
\return A newly created BStringView object or \c NULL if the message
doesn't contain an archived BStringView.
\since BeOS R3
*/
/*!
\fn status_t BStringView::Archive(BMessage* archive, bool deep) const
\brief Archives the the BStringView object into the \a archive message.
\param archive A pointer to the BMessage to archive the object into.
\param deep This parameter has no effect for this class.
\return A status code, \c B_OK if everything went well or an error code
otherwise.
\retval B_OK The object was archived successfully.
\retval B_NO_MEMORY Ran out of memory while archiving the object.
\since BeOS R3
*/
//! @}
/*!
\name Hook methods
*/
//! @{
/*!
\fn void BStringView::AttachedToWindow()
\brief Hook method called when the BStringView is attached to a window.
The view color is set to either the parent's view color or
\c B_TRANSPARENT_COLOR if the string view isn't attached to a view.
\sa BView::AttachedToWindow()
\since BeOS R3
*/
/*!
\fn void BStringView::DetachedFromWindow()
\brief Hook method called when the BStringView is detached from a window.
\copydetails BView::DetachedFromWindow()
*/
/*!
\fn void BStringView::AllAttached()
\brief Similar to AttachedToWindow() but this method is triggered after
all child views have already been attached to a window.
\copydetails BView::AllAttached()
*/
/*!
\fn void BStringView::AllDetached()
\brief Similar to AttachedToWindow() but this method is triggered after
all child views have already been detached from a window.
\copydetails BView::AllDetached()
*/
/*!
\fn void BStringView::Draw(BRect updateRect)
\brief Draws the area of the string view that intersects \a updateRect.
\note This is an hook method called by the Interface Kit, you don't
have to call it yourself. If you need to forcefully redraw the
string view consider calling Invalidate() instead.
\param updateRect The rectangular area to be drawn.
\sa BView::Draw()
\since BeOS R3
*/
/*!
\fn void BStringView::FrameMoved(BPoint newPosition)
\brief Hook method called when the string view is moved.
\copydetails BView::FrameMoved()
*/
/*!
\fn void BStringView::FrameResized(float newWidth, float newHeight)
\brief Hook method called when the string view is resized.
\copydetails BView::FrameResized()
*/
/*!
\fn void BStringView::MessageReceived(BMessage* message)
\brief Handle \a message received by the associated looper.
\copydetails BView::MessageReceived()
*/
/*!
\fn void BStringView::MouseDown(BPoint where)
\brief Hook method called when a mouse button is pressed.
\copydetails BView::MouseDown()
*/
/*!
\fn void BStringView::MouseMoved(BPoint where, uint32 code,
const BMessage* dragMessage)
\brief Hook method called when the mouse is moved.
\copydetails BView::MouseMoved()
*/
/*!
\fn void BStringView::MouseUp(BPoint where)
\brief Hook method called when a mouse button is released.
\copydetails BView::MouseUp()
*/
//! @}
/*!
\fn void BStringView::MakeFocus(bool focus)
\brief Makes the string view the current focus view of the window or
gives up being the window's focus view.
\copydetails BView::MakeFocus()
*/
/*!
\fn void BStringView::GetPreferredSize(float* _width, float* _height)
\brief Fills out the preferred width and height of the string view
into the \a _width and \a _height parameters respectively.
\copydetails BView::GetPreferredSize()
*/
/*!
\fn BSize BStringView::MinSize()
\brief Returns the string view's minimum size.
\copydetails BView::MinSize()
*/
/*!
\fn BSize BStringView::MaxSize()
\brief Returns the string view's maximum size.
\copydetails BView::MaxSize()
*/
/*!
\fn BSize BStringView::PreferredSize()
\brief Returns the string view's preferred size.
\copydetails BView::PreferredSize()
*/
/*!
\fn void BStringView::ResizeToPreferred()
\brief Resize the string view to its preferred size.
\copydetails BView::ResizeToPreferred()
*/
/*!
\fn BAlignment BStringView::LayoutAlignment()
\brief Returns the alignment used by this view as part of a BLayout.
\return The alignment used by this view as a BAlignment.
\since Haiku R1
*/
/*!
\name Text methods
*/
//! @{
/*!
\fn void BStringView::SetText(const char* text)
\brief Sets the \a text string displayed by the string view. The memory
used by the old string is freed.
\param text The \a text string to set.
\since BeOS R3
*/
/*!
\fn const char* BStringView::Text() const
\brief Returns the text currently set to the string view.
\returns the text set to the string view.
\since BeOS R3
*/
//! @}
/*!
\name Alignment methods
*/
//! @{
/*!
\fn void BStringView::SetAlignment(alignment flag)
\brief Sets the way text is aligned within the view's frame.
Choices are:
- \c B_ALIGN_LEFT
- \c B_ALIGN_RIGHT
- \c B_ALIGN_CENTER
\remark For string views that are part of a BLayout consider
using BLayoutItem::SetExplicitAlignment() instead.
\param flag The text alignment to set.
\since BeOS R3
*/
/*!
\fn alignment BStringView::Alignment() const
\brief Returns the currently set text alignment flag.
\return The current alignment flag.
\see SetAlignment()
\since BeOS R3
*/
//! @}
/*!
\fn BHandler* BStringView::ResolveSpecifier(BMessage* message, int32 index,
BMessage* specifier, int32 what, const char* property)
\copydoc BView::ResolveSpecifier()
*/
/*!
\fn status_t BStringView::GetSupportedSuites(BMessage* message)
\copydoc BView::GetSupportedSuites()
*/
/*!
\fn void BStringView::SetFont(const BFont* font, uint32 mask)
\brief Sets the font of the string view to \a font with the font
parameters set by \a mask.
\param font The \a font to set the string view to.
\param mask A \a mask indicating which properties of \a font to set.
\see BView::SetFont()
\since Haiku R1
*/
/*!
\fn void BStringView::LayoutInvalidated(bool descendants)
\brief Hook method called when the layout is invalidated.
The default implementation invalidates the cached preferred size.
\copydetails BView::LayoutInvalidated(bool descendants)
*/
/*!
\fn status_t BStringView::Perform(perform_code code, void* _data)
\brief Perform some action. (Internal Method)
\since Haiku R1
*/