neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
list_view.hpp
Go to the documentation of this file.
1// list_view.hpp
2/*
3 neogfx C++ App/Game Engine
4 Copyright (c) 2015, 2020 Leigh Johnston. All Rights Reserved.
5
6 This program is free software: you can redistribute it and / or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#pragma once
21
22#include <neogfx/neogfx.hpp>
26
27namespace neogfx
28{
29 class list_view : public item_view
30 {
32 public:
33 list_view(bool aCreateDefaultModels = true, frame_style aFrameStyle = frame_style::SolidFrame, neogfx::scrollbar_style aScrollbarStyle = neogfx::scrollbar_style::Normal);
34 list_view(i_widget& aParent, bool aCreateDefaultModels = true, frame_style aFrameStyle = frame_style::SolidFrame, neogfx::scrollbar_style aScrollbarStyle = neogfx::scrollbar_style::Normal);
35 list_view(i_layout& aLayout, bool aCreateDefaultModels = true, frame_style aFrameStyle = frame_style::SolidFrame, neogfx::scrollbar_style aScrollbarStyle = neogfx::scrollbar_style::Normal);
36 ~list_view();
37 public:
38 bool is_managing_layout() const;
39 protected:
40 void model_changed() override;
42 void selection_model_changed() override;
43 void tree_changed() override;
44 protected:
45 rect item_display_rect(bool aIntersectItemArea = false) const override;
46 size total_item_area(i_units_context const& aUnitsContext) const override;
47 dimension column_width(uint32_t aColumn) const override;
48 protected:
50 private:
51 vertical_layout iLayout;
52 vertical_spacer iSpacer;
53 };
54}
neogfx::scrolling_disposition scrolling_disposition(const i_widget &aChildWidget) const override
void presentation_model_changed() override
void model_changed() override
bool is_managing_layout() const
rect item_display_rect(bool aIntersectItemArea=false) const override
void selection_model_changed() override
dimension column_width(uint32_t aColumn) const override
void tree_changed() override
size total_item_area(i_units_context const &aUnitsContext) const override
default_geometry_value_type dimension
#define meta_object(...)
Definition i_object.hpp:28