class List: virtual public Widget, private Container
{
public:
+ enum ViewMode
+ {
+ LIST,
+ GRID
+ };
+
class Loader: public DataFile::DerivedObjectLoader<List, Widget::Loader>
{
public:
};
public:
- class Item: public Container
+ class Item: virtual public Widget, protected Container
{
+ protected:
+ Item();
+
public:
virtual const char *get_class() const { return "listitem"; }
class SimpleItem: public Item
{
- private:
+ protected:
+ SimpleItem() { }
+
virtual void on_style_change();
};
class MultiColumnItem: public Item
{
protected:
+ MultiColumnItem() { }
+
virtual void check_widths(std::vector<unsigned> &) const;
virtual void set_widths(const std::vector<unsigned> &);
- private:
virtual void on_style_change();
};
bool own_data;
DataObserver *observer;
ItemFactory *item_factory;
+ ViewMode view_mode;
int sel_index;
int focus_index;
unsigned first_row;
unsigned max_scroll;
unsigned view_rows;
+ unsigned view_columns;
const Part *items_part;
bool ignore_slider_change;
bool dragging;
Item *create_item(unsigned);
public:
+ void set_view_mode(ViewMode);
void set_view_size(unsigned);
+ void set_view_size(unsigned, unsigned);
void set_view_all();
void set_selected_index(int);
static void adjust_index(int &, int, int);
};
+void operator>>(const LexicalConverter &, List::ViewMode &);
+
} // namespace GLtk
} // namespace Msp