MCPcopy Create free account
hub / github.com/MyGUI/mygui / updateMeasure

Method updateMeasure

UnitTests/UnitTest_HyperTextBox/Panel.cpp:30–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28 }
29
30 void Panel::updateMeasure(Widget* _widget, const IntSize& _sizeAvailable)
31 {
32 Panel* panel = _widget->castType<Panel>(false);
33 if (panel != nullptr)
34 {
35 panel->mDesiredSize = panel->overrideMeasure(_sizeAvailable);
36 }
37 else
38 {
39 TextBox* text = _widget->castType<TextBox>(false);
40 if (text != nullptr)
41 {
42 IntSize size = text->getSize() - text->getTextRegion().size() + text->getTextSize();
43 _widget->_setInternalData(size);
44 }
45 else
46 {
47 IntSize size = _widget->getSize();
48 _widget->_setInternalData(size);
49
50 // виджет оказался обычным, но у виджета нет overrideMeasure
51 // и нуна ручками спускаться вниз для обновления
52 /*if (_widget->getChildCount() != 0)
53 {
54 IntCoord coord = _widget->getClientCoord();
55 updateMeasure(_widget->getChildAt(0), coord.size());
56 }*/
57 }
58 }
59 }
60
61 void Panel::updateArrange(Widget* _widget, const IntCoord& _coordPlace)
62 {

Callers

nothing calls this directly

Calls 6

_setInternalDataMethod · 0.80
overrideMeasureMethod · 0.45
getSizeMethod · 0.45
sizeMethod · 0.45
getTextRegionMethod · 0.45
getTextSizeMethod · 0.45

Tested by

no test coverage detected