neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
table_view.hpp
Go to the documentation of this file.
1// table_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 table_view : public item_view
30 {
32 public:
33 table_view(bool aCreateDefaultModels = true, frame_style aFrameStyle = frame_style::SolidFrame, neogfx::scrollbar_style aScrollbarStyle = neogfx::scrollbar_style::Normal);
34 table_view(i_widget& aParent, bool aCreateDefaultModels = true, frame_style aFrameStyle = frame_style::SolidFrame, neogfx::scrollbar_style aScrollbarStyle = neogfx::scrollbar_style::Normal);
35 table_view(i_layout& aLayout, bool aCreateDefaultModels = true, frame_style aFrameStyle = frame_style::SolidFrame, neogfx::scrollbar_style aScrollbarStyle = neogfx::scrollbar_style::Normal);
37 public:
38 bool is_managing_layout() const;
39 public:
40 const header_view& column_header() const;
42 protected:
43 void model_changed() override;
45 void selection_model_changed() override;
46 void tree_changed() override;
47 protected:
48 rect item_display_rect(bool aIntersectItemArea = false) const override;
49 size total_item_area(i_units_context const& aUnitsContext) const override;
50 dimension column_width(uint32_t aColumn) const override;
51 protected:
53 private:
55 header_view iColumnHeader;
56 vertical_spacer iSpacer;
57 };
58}
dimension column_width(uint32_t aColumn) const override
void presentation_model_changed() override
const header_view & column_header() const
rect item_display_rect(bool aIntersectItemArea=false) const override
size total_item_area(i_units_context const &aUnitsContext) const override
neogfx::scrolling_disposition scrolling_disposition(const i_widget &aChildWidget) const override
void tree_changed() override
bool is_managing_layout() const
header_view & column_header()
void selection_model_changed() override
void model_changed() override
default_geometry_value_type dimension
#define meta_object(...)
Definition i_object.hpp:28