[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 1dacd5c 22/46: Move register_all() to table_c
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 1dacd5c 22/46: Move register_all() to table_custom_type_converter |
Date: |
Wed, 22 Jul 2020 11:05:12 -0400 (EDT) |
branch: master
commit 1dacd5cc89314969060a4a014eb952df59f19a82
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Vadim Zeitlin <vadim@tt-solutions.com>
Move register_all() to table_custom_type_converter
This allows to make register_data_type() non-virtual and private
(together with create_renderer() and create_editor(), which could have
already been private before) and remove table_standard_type_converter
class entirely, this simplifying things a little.
---
census_view.cpp | 40 ++++++++++++++++------------------------
1 file changed, 16 insertions(+), 24 deletions(-)
diff --git a/census_view.cpp b/census_view.cpp
index 519c8b1..ccc6815 100644
--- a/census_view.cpp
+++ b/census_view.cpp
@@ -1175,9 +1175,6 @@ class table_type_converter
return type();
}
- virtual void register_data_type(wxGrid* grid) const = 0;
-
- static void register_all(wxGrid* grid);
static table_type_converter const& get(any_member<Input> const& value);
private:
@@ -1190,7 +1187,10 @@ class table_type_converter
class table_custom_type_converter : public table_type_converter
{
public:
- void register_data_type(wxGrid* grid) const override
+ static void register_all(wxGrid* grid);
+
+ private:
+ void register_data_type(wxGrid* grid) const
{
grid->RegisterDataType
(type()
@@ -1201,23 +1201,12 @@ class table_custom_type_converter : public
table_type_converter
virtual wxGridCellRenderer* create_renderer() const = 0;
virtual wxGridCellEditor* create_editor() const = 0;
-};
-
-// The base class for table type convertors which uses standard types
-// and don't need type registration.
-class table_standard_type_converter : public table_type_converter
-{
- public:
- void register_data_type(wxGrid*) const override
- {
- // Standard data types don't need to be registered, so nothing to do
here.
- }
};
// class table_bool_converter
-class table_bool_converter : public table_standard_type_converter
+class table_bool_converter : public table_type_converter
{
public:
table_bool_converter()
@@ -1238,7 +1227,7 @@ class table_bool_converter : public
table_standard_type_converter
// class table_enum_converter
-class table_enum_converter : public table_standard_type_converter
+class table_enum_converter : public table_type_converter
{
public:
char const* type() const override
@@ -1274,6 +1263,7 @@ class table_sequence_converter : public
table_custom_type_converter
return typeid(table_sequence_converter).name();
}
+ private:
wxGridCellRenderer* create_renderer() const override
{
return new(wx) wxGridCellStringRenderer();
@@ -1287,7 +1277,7 @@ class table_sequence_converter : public
table_custom_type_converter
// class table_int_range_converter
-class table_int_range_converter : public table_standard_type_converter
+class table_int_range_converter : public table_type_converter
{
public:
char const* type() const override
@@ -1318,6 +1308,7 @@ class table_double_range_converter : public
table_custom_type_converter
return typeid(table_double_range_converter).name();
}
+ private:
wxGridCellRenderer* create_renderer() const override
{
// Use wxGridCellStringRenderer instead of wxGridCellFloatRenderer to
@@ -1356,6 +1347,7 @@ class table_date_converter : public
table_custom_type_converter
return typeid(table_date_converter).name();
}
+ private:
wxGridCellRenderer* create_renderer() const override
{
return new(wx) wxGridCellDateRenderer();
@@ -1369,7 +1361,7 @@ class table_date_converter : public
table_custom_type_converter
// class table_string_converter
-class table_string_converter : public table_standard_type_converter
+class table_string_converter : public table_type_converter
{
public:
char const* type() const override
@@ -1384,11 +1376,11 @@ class table_string_converter : public
table_standard_type_converter
};
void
-table_type_converter::register_all(wxGrid* grid)
+table_custom_type_converter::register_all(wxGrid* grid)
{
- get_impl<table_sequence_converter>().register_data_type(grid);
- get_impl<table_double_range_converter>().register_data_type(grid);
- get_impl<table_date_converter>().register_data_type(grid);
+ table_sequence_converter{}.register_data_type(grid);
+ table_double_range_converter{}.register_data_type(grid);
+ table_date_converter{}.register_data_type(grid);
}
table_type_converter const&
@@ -2021,7 +2013,7 @@ wxWindow* CensusGridView::CreateChildWindow()
grid_window_->DisableDragRowSize();
grid_window_->SelectRow(0);
- table_type_converter::register_all(grid_window_);
+ table_custom_type_converter::register_all(grid_window_);
// Show headers.
document().Modify(false);
- [lmi-commits] [lmi] master 5ee4b04 13/46: Improve comments in DatumSequenceEditorEvtHandler, (continued)
- [lmi-commits] [lmi] master 5ee4b04 13/46: Improve comments in DatumSequenceEditorEvtHandler, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 03d33ab 14/46: Make DatumSequenceEditorEvtHandler::entry_ const, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 0e2a694 16/46: Replace DatumSequenceEditorEvtHandler with a lambda, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 3e9f8af 02/46: Add census_view variant with wxGrid, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 804111d 04/46: Remove unnecessary use of std::swap(), Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 25a989e 10/46: Make table_type_converter::get_all() map const, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 12940dc 09/46: Define static map in more compact way, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master e1fdb77 12/46: Use Bind() in DatumSequenceEditorEvtHandler, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 7e048d0 15/46: Remove apparently unnecessary wxEVT_CHAR handler, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 7b62d49 21/46: Rename table_type_converter::get_by_value() to just get(), Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 1dacd5c 22/46: Move register_all() to table_custom_type_converter,
Greg Chicares <=
- [lmi-commits] [lmi] master a43eb0f 23/46: Add a comment explaining register_all() approach, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 4dcae52 34/46: Don't change default wxGrid lines colour, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 342b9f5 27/46: Always resize columns in CensusGridView::update_visible_columns(), Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master f217203 29/46: Rename "columns_count" to "old_columns_count" for consistency, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 395e268 41/46: Remove unnecessary calls to Update() when toggling autosize, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 713d56f 46/46: Fix defect introduced 20200608T2219Z: warning not suppressed, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 6281a6d 20/46: Make object returned by table_type_converter::get_impl() const, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master b85da3e 24/46: Clarify the comment about CensusViewDataViewModel wrappers, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 5423df7 25/46: Remove separate table_type_converter::type(), Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master f82b136 31/46: Remove unnecessary make_cell_number_column_read_only() function, Greg Chicares, 2020/07/22