6#include "../lout/misc.hh"
454 void apportion2 (
int totalWidth,
int firstCol,
int lastCol,
void unhighlight(int direction, core::HighlightLayer layer)
Shrink highlighted region to no longer contain the current content.
void highlight(int start, int end, core::HighlightLayer layer)
Extend highlighted region to contain part of the current content.
lout::object::Object * clone()
Return an exact copy of the object.
void getContentInFlow(int index, core::Content *content)
A Widget for rendering tables.
AlignedTableCell * getCellRef()
void drawLevel(core::View *view, core::Rectangle *area, int level, core::DrawingContext *context)
static void setAdjustTableMinWidth(bool adjustTableMinWidth)
int getExtreme(core::Extremes *extremes, ExtrMod mod)
void setCumHeight(int row, int value)
lout::misc::SimpleVector< core::style::Style * > * rowStyle
int calcAvailWidthForDescendant(Widget *child)
void calcAdjustmentWidthSpanMultiCols(int col, int cs, core::Extremes *cellExtremes)
int getColExtreme(int col, ExtrMod mod, void *data)
lout::misc::SimpleVector< int > * baseline
void calcExtremesSpanMultiCols(int col, int cs, core::Extremes *cellExtremes, ExtrMod minExtrMod, ExtrMod maxExtrMod, void *extrData)
void forceCalcColumnExtremes()
Fills dw::Table::colExtremes in all cases.
void calcCellSizes(bool calcHeights)
void forceCalcCellSizes(bool calcHeights)
lout::misc::SimpleVector< int > * colWidths
The widths of all columns.
int applyPerWidth(int containerWidth, core::style::Length perWidth)
int getAvailWidthOfChild(Widget *child, bool forceValue)
void resizeDrawImpl()
Called after sizeAllocateImpl() to redraw necessary areas.
bool affectsSizeChangeContainerChild(Widget *child)
void addCell(Widget *widget, int colspan, int rowspan)
void getExtremesSimpl(core::Extremes *extremes)
Simple variant, to be implemented by widgets with extremes not depending on positions.
void containerSizeChangedForChildren()
void addRow(core::style::Style *style)
bool usesAvailWidth()
Must be implemengted by a method returning true, when getAvailWidth() is called.
lout::misc::SimpleVector< core::Extremes > * colExtremes
The extremes of all columns.
lout::misc::SimpleVector< int > * rowSpanCells
If a Cell has rowspan > 1, it goes into this array.
lout::misc::SimpleVector< Child * > * children
void actuallyCalcCellSizes(bool calcHeights)
void sizeAllocateImpl(core::Allocation *allocation)
See Sizes of Dillo Widgets.
bool colWidthsUpToDateWidthColExtremes
void sizeRequestSimpl(core::Requisition *requisition)
Simple variant, to be implemented by widgets with sizes not depending on positions.
void removeChild(Widget *child)
int numColWidthPercentage
core::Iterator * iterator(core::Content::Type mask, bool atEnd)
Return an iterator for this widget.
void setColExtreme(int col, ExtrMod mod, void *data, int value)
static bool getAdjustTableMinWidth()
lout::misc::SimpleVector< int > * cumHeight
Row cumulative height array: cumHeight->size() is numRows + 1, cumHeight->get(0) is 0,...
void setExtreme(core::Extremes *extremes, ExtrMod mod, int value)
lout::misc::SimpleVector< bool > * colWidthPercentage
Wether the column itself (in the future?) or at least one cell in this column or spanning over this c...
void reallocChildren(int newNumCols, int newNumRows)
void apportion2(int totalWidth, int firstCol, int lastCol, ExtrMod minExtrMod, ExtrMod maxExtrMod, void *extrData, lout::misc::SimpleVector< int > *dest, int destOffset)
Actual apportionment function.
int applyPerHeight(int containerHeight, core::style::Length perHeight)
Widget * getWidgetAtPointLevel(int x, int y, int level, core::GettingWidgetAtPointContext *context)
lout::misc::SimpleVector< bool > * colWidthSpecified
Wether the column itself (in the future?) or at least one cell in this column or spanning over this c...
static bool adjustTableMinWidth
const char * getExtrModName(ExtrMod mod)
Set at the top when drawing.
Set at the top when getting the widget at the point.
Iterators are used to iterate through the contents of a widget.
dw::core::Shape implemtation for simple rectangles.
An interface to encapsulate platform dependent drawing.
Simple (simpler than container::untyped::Vector and container::typed::Vector) template based vector.
void set(int i, T t)
Store an object in the vector.
T get(int i) const
Return the one element, explicitly.
This is the base class for many other classes, which defines very common virtual methods.
int Length
Type for representing all lengths within dw::core::style.
Dw is in this namespace, or sub namespaces of this one.
struct SpanSpace spanSpace
enum dw::Table::Child::@22 type
Represents the allocation, i.e.