class ui.InformationGrid

class InformationGrid {
    // methods

    void addItem(
        ui.InformationItem* item,
        ui.InformationItem* beforeItem = null
    );

    void removeItem(ui.InformationItem* item);

    ui.InformationGroup* createGroup(
        ui.InformationItem* parentItem = null,
        ui.InformationItem* beforeItem = null,
        string_t name,
        string_t toolTip = null
    );

    ui.InformationGroup* createGroup(
        string_t name,
        string_t toolTip = null
    );

    ui.InformationValue* createValue(
        ui.InformationItem* parentItem = null,
        ui.InformationItem* beforeItem = null,
        bool isSelectionDependent = false,
        string_t name,
        string_t toolTip = null
    );

    ui.InformationValue* createValue(
        string_t name,
        string_t toolTip = null
    );

    ui.InformationStatValue* createStatValue(
        ui.InformationItem* parentItem = null,
        ui.InformationItem* beforeItem = null,
        bool isSelectionDependent = false,
        string_t name,
        string_t toolTip = null
    );

    ui.InformationStatValue* createStatValue(
        string_t name,
        string_t toolTip = null
    );

    void resizeNameColumnToContents();
};