FifeGUI 0.2.0
A C++ GUI library designed for games.
listmodel.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause
2// SPDX-FileCopyrightText: 2004 - 2008 Olof Naessén and Per Larsson
3// SPDX-FileCopyrightText: 2013 - 2026 Fifengine contributors
4
5#ifndef INCLUDE_FIFECHAN_LISTMODEL_HPP_
6#define INCLUDE_FIFECHAN_LISTMODEL_HPP_
7
8#include <string>
9
10#include "fifechan/platform.hpp"
11
12namespace fcn
13{
23 class FIFEGUI_API ListModel
24 {
25
26 public:
27 virtual ~ListModel() = default;
28
30 ListModel(ListModel const &) = default;
32 ListModel& operator=(ListModel const &) = default;
34 ListModel(ListModel&&) = default;
37
43 virtual int getNumberOfElements() = 0;
44
51 virtual std::string getElementAt(int i) = 0;
52
53 protected:
54 ListModel() = default;
55 };
56} // namespace fcn
57
58#endif // INCLUDE_FIFECHAN_LISTMODEL_HPP_
ListModel(ListModel &&)=default
Move constructor.
virtual int getNumberOfElements()=0
Gets the number of elements in the list.
ListModel & operator=(ListModel &&)=default
Move assignment operator.
ListModel & operator=(ListModel const &)=default
Copy assignment operator.
ListModel(ListModel const &)=default
Copy constructor.
virtual std::string getElementAt(int i)=0
Gets an element at a certain index in the list.