[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 041ccfc 30/46: Optimize changing grid columns
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 041ccfc 30/46: Optimize changing grid columns number too |
Date: |
Wed, 22 Jul 2020 11:05:14 -0400 (EDT) |
branch: master
commit 041ccfc246e94b2fb046d765974a5d71beac8285
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Vadim Zeitlin <vadim@tt-solutions.com>
Optimize changing grid columns number too
Although this is less important than for the rows (as there can be many
more rows than columns), it still seems useless to recreate all columns
when we can just adjust their number more precisely.
It also makes it unnecessary to call make_cell_number_column_read_only()
from update_visible_columns(), paving way for removing the former
entirely in the upcoming commit.
---
census_view.cpp | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/census_view.cpp b/census_view.cpp
index 17e784f..32b5206 100644
--- a/census_view.cpp
+++ b/census_view.cpp
@@ -2257,11 +2257,18 @@ void CensusGridView::update_visible_columns()
grid_table_->set_visible_columns(std::move(new_visible_columns));
- if(old_columns_count != new_columns_count)
+ // Bring the number of columns actually shown in the grid in sync with
+ // the number of columns in the table if necessary.
+ if(new_columns_count < old_columns_count)
{
- grid_window_->DeleteCols(0, old_columns_count);
- grid_window_->AppendCols(new_columns_count);
- grid_table_->make_cell_number_column_read_only();
+ grid_table_->DeleteCols
+ (new_columns_count
+ ,old_columns_count - new_columns_count
+ );
+ }
+ else if(old_columns_count < new_columns_count)
+ {
+ grid_table_->AppendCols(new_columns_count - old_columns_count);
}
grid_window_->SetGridCursor
- [lmi-commits] [lmi] master 395e268 41/46: Remove unnecessary calls to Update() when toggling autosize, (continued)
- [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
- [lmi-commits] [lmi] master 9f1cb2e 39/46: Only auto-size columns when they change, not after each update, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master b3ac65b 43/46: Allow wxGrid to compute census view column sizes more efficiently, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master ece93a0 17/46: Make check for Alt-Enter more obvious in the code, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master b57ed4a 18/46: Remove deleted DatumSequenceEditor copy-related methods, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 041ccfc 30/46: Optimize changing grid columns number too,
Greg Chicares <=
- [lmi-commits] [lmi] master 53a288a 33/46: Restore "delete_cells" update UI handler for CensusDVCView, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 3c3d0c0 36/46: Explain grid customizations in the function creating it, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 337d81f 37/46: Make UponDeleteCells() more efficient for large censuses, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 2922db9 44/46: Disallow single cell operations when non-current row is selected, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master d337a22 45/46: Upgrade wx, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master c679655 19/46: Replace table_type_converter::get_all() with register_all(), Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 7dc508e 35/46: Don't select the first row initially in the grid census view, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master 810de0a 26/46: Remove unnecessary wxGrid::IsCellEditControlEnabled() calls, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master adc4089 28/46: Optimize changing grid dimensions when pasting into the census, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master be4c2a4 32/46: Add a comment explaining why the first column is read-only, Greg Chicares, 2020/07/22