4 Image* primaryImage,
const String& buttonText, Justification justification,
5 float headerFontSize,
float descriptionFontSize)
6 : Component(headerText), m_header(headerText +
"Header", headerText), m_numberOfHeaderLines(numOfHeaderLines),
7 m_description(headerText +
"Description", descriptionText), m_button(buttonText),
8 m_justification(justification), m_headerFontSize(headerFontSize), m_descriptionFontSize(descriptionFontSize)
13 if (primaryImage !=
nullptr)
14 m_image.setImage(*primaryImage, RectanglePlacement::fillDestination);
29 m_header.setColour(Label::textColourId, Colour(204, 204, 204));
30 m_description.setColour(Label::textColourId, Colour(178, 178, 178));
32 m_closePopupButton = std::make_unique<DrawableButton>(
"Close", DrawableButton::ButtonStyle::ImageStretched);
35 KrotosBinaryData::ClosePopup_Default_svgSize);
37 KrotosBinaryData::ClosePopup_Hover_svgSize);
39 KrotosBinaryData::ClosePopup_Clicked_svgSize);
47 if (findParentComponentOfClass<CallOutBox>() !=
nullptr)
49 findParentComponentOfClass<CallOutBox>()->exitModalState(0);
51 else if (findParentComponentOfClass<KDialogWindow>() !=
nullptr)
53 getCurrentlyModalComponent()->exitModalState(0);
54 static_cast<KDialogWindow*
>(getParentComponent())->removeFromDesktop();
56 else if (findParentComponentOfClass<TopLevelWindow>() !=
nullptr)
58 findParentComponentOfClass<TopLevelWindow>()->exitModalState(1234);
59 findParentComponentOfClass<TopLevelWindow>()->setVisible(
false);
71 auto bounds = getLocalBounds();
78 auto image = bounds.removeFromTop(
static_cast<int>(imageHeight));
84 Rectangle<int> headerBar;
88 headerBar = bounds.removeFromTop(
m_headerSize.getHeight() * 2);
92 headerBar = bounds.removeFromTop(
m_headerSize.getHeight());
107 descriptionBar.removeFromRight(
m_headerSize.getWidth());