class ffw::GuiList

Class List > ffw :: GuiList

Create a vertical list widget. More...

Inherits the following classes: ffw::GuiScrollableLayout

Classes

Type Name
class Item
struct Style
class Value

Public Functions

Type Name
GuiList (GuiWindow * context)
virtual ~GuiList () = default
GuiList::Item * addItem (const std::string & label)
GuiList::Item * addItem (GuiList::Item * item)
void deleteAllItems ()
bool deleteItem (const GuiList::Item * item)
void setSelectedIndex (int index)
void resetSelected ()
void setSelected (const GuiList::Item * item)
GuiList::Item * getSelectedItem () const
int getSelectedIndex () const
void setStyle (const GuiList::Style * style, bool defaults = false)
GuiList::Value * getGroup ()
const GuiList::Value * getGroup () const

Detailed Description

auto gui = ffw::GuiWindowNanoVG(nvg);
auto root = gui.getLayout();

auto list = new ffw::GuiList(&gui);
list->setSize(ffw::guiPercent(100.0f), ffw::guiPercent(50.0f));
ffw::GuiList::Item* second = nullptr;
for (auto i = 0; i < 30; i++) {
    const auto item = list->addItem("List Item number #" + std::to_string(i));
    if (i == 1) second = item;

    item->addEventCallback([=](ffw::GuiEvent e) {
        std::cout << "callback from item index: " << i << std::endl;
    }, ffw::GuiEventType::ACTION);
}
list->setSelected(second);
list->addEventCallback([=](ffw::GuiEvent e) {
    std::cout << "callback from list index: " << e.data.action.value << std::endl;
}, ffw::GuiEventType::ACTION);

root->addWidget(list);
// Do not free the created widgets! They will be deleted by the gui window!

while(true){
    // Render the gui
}

Public Functions Documentation

function GuiList

ffw::GuiList::GuiList (
    GuiWindow * context
)

function ~GuiList

virtual ffw::GuiList::~GuiList () = default

function addItem (1/2)

GuiList::Item * ffw::GuiList::addItem (
    const std::string & label
)

function addItem (2/2)

GuiList::Item * ffw::GuiList::addItem (
    GuiList::Item * item
)

function deleteAllItems

void ffw::GuiList::deleteAllItems ()

function deleteItem

bool ffw::GuiList::deleteItem (
    const GuiList::Item * item
)

function setSelectedIndex

void ffw::GuiList::setSelectedIndex (
    int index
)

function resetSelected

void ffw::GuiList::resetSelected ()

function setSelected

void ffw::GuiList::setSelected (
    const GuiList::Item * item
)

function getSelectedItem

GuiList::Item * ffw::GuiList::getSelectedItem () const

function getSelectedIndex

int ffw::GuiList::getSelectedIndex () const

function setStyle

void ffw::GuiList::setStyle (
    const GuiList::Style * style,
    bool defaults = false
)

function getGroup (1/2)

GuiList::Value * ffw::GuiList::getGroup ()

function getGroup (2/2)

const GuiList::Value * ffw::GuiList::getGroup () const

The documentation for this class was generated from the following file: include/ffw/gui/guilist.h