/usr/include/Wt/WStringListModel is in libwt-dev 3.3.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | // This may look like C code, but it's really -*- C++ -*-
/*
* Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
*
* See the LICENSE file for terms of use.
*/
#ifndef WSTRING_LIST_MODEL_H_
#define WSTRING_LIST_MODEL_H_
#include <Wt/WAbstractListModel>
namespace Wt {
/*! \class WStringListModel Wt/WStringListModel Wt/WStringListModel
* \brief An model that manages a list of strings.
*
* This model only manages a unidimensional list of items and is
* optimized for usage by view widgets such as combo-boxes.
*
* It supports all features of a typical item model, including data
* for multiple roles, editing and addition and removal of data rows.
*
* You can populate the model by passing a list of strings to its
* consructor, or by using the setStringList() method. You can set or
* retrieve data using the setData() and data() methods, and add or
* remove data using the insertRows() and removeRows() methods.
*
* \if cpp
* \sa WComboBox, WSelectionBox, Ext::ComboBox
* \elseif java
* \sa WComboBox, WSelectionBox
* \endif
*
* \ingroup modelview
*/
class WT_API WStringListModel : public WAbstractListModel
{
public:
/*! \brief Creates a new empty string list model.
*/
WStringListModel(WObject *parent = 0);
/*! \brief Creates a new string list model.
*/
WStringListModel(const std::vector<WString>& strings, WObject *parent = 0);
/*! \brief Destructor.
*/
~WStringListModel();
/*! \brief Sets a new string list.
*
* Replaces the current string list with a new list.
*
* \sa dataChanged()
* \sa addString()
*/
void setStringList(const std::vector<WString>& strings);
/*! \brief Inserts a string.
*
* \sa setStringList()
*/
void insertString(int row, const WString& string);
/*! \brief Adds a string.
*
* \sa setStringList()
*/
void addString(const WString& string);
/*! \brief Returns the string list.
*
* \sa setStringList()
*/
const std::vector<WString>& stringList() const { return displayData_; }
/*! \brief Returns the flags for an item.
*
* This method is reimplemented to return \link Wt::ItemIsSelectable
* ItemIsSelectable\endlink | \link Wt::ItemIsEditable
* ItemIsEditable\endlink.
*
* \sa Wt::ItemFlag
*/
virtual WFlags<ItemFlag> flags(const WModelIndex& index) const;
using WAbstractListModel::setData;
virtual bool setData(const WModelIndex& index, const boost::any& value,
int role = EditRole);
virtual boost::any data(const WModelIndex& index, int role = DisplayRole)
const;
virtual int rowCount(const WModelIndex& parent = WModelIndex()) const;
virtual bool insertRows(int row, int count,
const WModelIndex& parent = WModelIndex());
virtual bool removeRows(int row, int count,
const WModelIndex& parent = WModelIndex());
virtual void sort(int column, SortOrder order = AscendingOrder);
private:
#ifndef WT_TARGET_JAVA
typedef std::map<int, boost::any> DataMap;
#else
typedef std::treemap<int, boost::any> DataMap;
#endif
std::vector<WString> displayData_;
std::vector<DataMap> *otherData_;
};
}
#endif // WSTRING_LIST_MODEL_H_
|