11class InfoFrame:
public Gtk::Frame{
14 Gtk::Box* contentsBox;
16 std::vector<std::shared_ptr<InfoItem>> itemList;
19 InfoFrame(std::string frameName);
20 void addItem(std::string itemName);
21 void removeItem(std::string itemName);
22 void removeAllItems();
23 void addWidget(Gtk::Widget& widget);
25 void setItem(std::string itemName, T itemValue) {
26 for (std::shared_ptr<InfoItem> infoItem : itemList) {
27 if (infoItem->getName() == itemName) {
28 infoItem->setValue(itemValue);
33 if (!itemList.empty() && itemList.back()->getName() == itemName) {
34 itemList.back()->setValue(itemValue);
36 for (std::shared_ptr<InfoItem> infoItem : itemList) {
37 if (infoItem->getName() == itemName) {
38 infoItem->setValue(itemValue);
45 void setBackground(std::string itemName, std::string color);
46 void setTextColor(std::string itemName, std::string color,
bool bold);