haiku/docs/user/interface/GridLayout.dox
Niels Sascha Reedijk 6758018a21 HaikuBook: add remaining layout class documentation
This is the final contribution to #15368

* Tried to share more documentation in the various BLayoutBuilder classes
* Add missing GridView, GroupView, SpaceLayoutItem
* Also added AbstractLayoutItem, but hide the actual documentation behind
  an `INTERNAL` conditional block. This block identifier can be used to
  document parts of the API, to then hide them during a regular Doxygen run.
* Do some cleanup on other layout classes; add missing members, etc.
* The actual generated BLayoutBuilder::* html is a mess. I should investigate
  this at a later time. Especially the copied members seem to mix type
  definitions with member documentation. It is odd. Not unlikely to be a
  Doxygen bug.
* The general documentation for the layout system could use an overhaul as
  well, but this is for later.

Change-Id: I6db9ef105b4ae6de0f1ebb917f86f8b1c0d4ea2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2491
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-18 18:24:51 +00:00

340 lines
7.1 KiB
Plaintext

/*
* Copyright 2010 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Alex Wilson, yourpalal2@gmail.com
*
* Corresponds to:
* headers/os/interface/GridLayout.h rev 38207
* src/kits/interface/GridLayout.cpp rev 38207
*/
/*!
\file GridLayout.h
\ingroup layout
\ingroup libbe
\brief Provides the BGridLayout class.
*/
/*!
\class BGridLayout
\ingroup layout
\ingroup libbe
\brief The BGridLayout class a BLayout subclass that arranges the items it
holds in a grid.
Each item in a BGridLayout receives a rectangular area which can span more
than a single row or column. The indexing of columns and rows is zero based,
starting in the top-left.
\warning This class is not yet finalized, if you use it in your software
assume that it will break some time in the future.
\since Haiku R1
*/
/*!
\fn BGridLayout::BGridLayout(float horizontal = 0.0f, float vertical = 0.0f)
\brief Create a BGridLayout with \a horizontal space between columns and
\a vertical space between rows.
\since Haiku R1
*/
/*!
\fn BGridLayout::BGridLayout(BMessage* from)
\brief Archive constructor.
\param from The message to build the BGridLayout from.
\since Haiku R1
*/
/*!
\fn BGridLayout::~BGridLayout()
\brief Destructor method.
Standard Destructor.
\since Haiku R1
*/
/*!
\fn int32 BGridLayout::CountColumns() const
\brief Returns the number of active columns in this layout.
\returns The number of active columns in the layout.
\since Haiku R1
*/
/*!
\fn int32 BGridLayout::CountRows() const
\brief Returns the number of active rows in this layout.
\returns the number of active rows in the layout.
\since Haiku R1
*/
/*!
\fn float BGridLayout::HorizontalSpacing() const
\brief Returns the spacing between columns for this layout.
\returns The spacing between columns for the layout.
\since Haiku R1
*/
/*!
\fn float BGridLayout::VerticalSpacing() const
\brief Returns the spacing between rows for this layout.
\returns The spacing between rows for the layout.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetHorizontalSpacing(float spacing)
\brief Set the spacing between columns for this layout.
\param spacing The number of pixels of spacing to set.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetVerticalSpacing(float spacing)
\brief Set the spacing between rows for this layout.
\param spacing The number of pixels of spacing to set.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetSpacing(float horizontal, float vertical)
\brief Set the spacing between columns and rows for this layout.
\param horizontal The number of \a horizontal pixels of spacing to set.
\param vertical The number of \a vertical pixels of spacing to set.
\since Haiku R1
*/
/*!
\fn float BGridLayout::ColumnWeight(int32 column) const
\brief Returns the weight for the specified \a column.
\returns The \a column weight as a float.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetColumnWeight(int32 column, float weight)
\brief Set the weight for \a column to \a weight.
\param column The column to set.
\param weight The weight to set.
\since Haiku R1
*/
/*!
\fn float BGridLayout::MinColumnWidth(int32 column) const
\brief Returns the minimum width for \a column.
\param column The column to get the minimum width of.
\returns The minimum width for \a column as a float.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetMinColumnWidth(int32 column, float width)
\brief Sets the minimum width for \a column to \a width.
\param column The \a column to set the minimum width of.
\param width The \a width to set.
\since Haiku R1
*/
/*!
\fn float BGridLayout::MaxColumnWidth(int32 column) const
\brief Returns the maximum width for \a column.
\param column The column to get the maximum width of.
\returns The maximum width for \a column as a float.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetMaxColumnWidth(int32 column, float width)
\brief Sets the maximum width for \a column to \a width.
\param column The column to set the maximum width of.
\param width The \a width to set.
\since Haiku R1
*/
/*!
\fn float BGridLayout::RowWeight(int32 row) const
\brief Returns the weight of the specified \a row.
\returns The weight of the \a row.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetRowWeight(int32 row, float weight)
\brief Set the weight of \a row to \a weight.
\param row The \a row number.
\param weight The \a weight to set.
\since Haiku R1
*/
/*!
\fn float BGridLayout::MinRowHeight(int row) const
\brief Returns the minimum height for \a row.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetMinRowHeight(int32 row, float height)
\brief Sets the minimum height for \a row to \a width.
\since Haiku R1
*/
/*!
\fn float BGridLayout::MaxRowHeight(int32 row) const
\brief Returns the maximum height for \a row.
\since Haiku R1
*/
/*!
\fn void BGridLayout::SetMaxRowHeight(int32 row, float height)
\brief Sets the maximum height for \a row to \a width.
\since Haiku R1
*/
/*!
\fn BLayoutItem* BGridLayout::ItemAt(int32 column, int32 row) const
\brief Get a pointer to the item at the requested cell in the grid.
\param column The column, starting with \c 0 for the leftmost column. Note
that the value should be 0 or higher.
\param row The row, starting with \c 0 for the topmost row. Note that the
value should be 0 or higher.
\return A pointer to the layout item at these coordinates, or \c NULL if
there is no item.
*/
/*!
\fn BLayoutItem* BGridLayout::AddView(BView* child)
\brief Adds \a child to this layout in the first empty cell available, or
in a new column in the first row if there are no emtpy cells.
\since Haiku R1
*/
/*!
\fn BLayoutItem* BGridLayout::AddView(int32 index, BView* child);
\brief BGridLayout::AddView(BView*)
\since Haiku R1
*/
/*!
\fn BLayoutItem* BGridLayout::AddView(BView* child, int32 column, int32 row,
int32 columnCount = 1, int32 rowCount = 1);
\brief Adds \a child to this layout at \a column and \a row. \a child may
also occupy additional cells if \a columnCount or \a rowCount are
greater than \c 1.
Fails and returns NULL if the requested area is occupied, or if internal
memory allocations fail.
\since Haiku R1
*/
/*!
\fn BLayoutItem* BGridLayout::AddItem(BLayoutItem* item)
\brief Adds \a item to this layout in the first empty cell available, or
in a new column in the first row if there are no emtpy cells.
\since Haiku R1
*/
/*!
\fn BLayoutItem* BGridLayout::AddItem(int32 index, BLayoutItem* item);
\brief BGridLayout::AddItem(BLayoutItem*)
*/
/*!
\fn BLayoutItem* BGridLayout::AddItem(BLayoutItem* item, int32 column,
int32 row, int32 columnCount = 1, int32 rowCount = 1);
\brief Adds \a item to this layout at \a column and \a row. \a item may
also occupy additional cells if \a columnCount or \a rowCount are
greater than 1.
Fails and returns \c NULL if the requested area is occupied, or if internal
memory allocations fail.
\since Haiku R1
*/
/*!
\fn static BArchivable* BGridLayout::Instantiate(BMessage *from)
\brief Instantiate the layout from the message \a from.
\since Haiku R1
*/