[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 2922db9 44/46: Disallow single cell operation
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 2922db9 44/46: Disallow single cell operations when non-current row is selected |
Date: |
Wed, 22 Jul 2020 11:05:17 -0400 (EDT) |
branch: master
commit 2922db91a1f46af243cb068847bb775da54135cc
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Vadim Zeitlin <vadim@tt-solutions.com>
Disallow single cell operations when non-current row is selected
When a row different from the current one (as indicated by the grid
cursor) is selected, it can be unclear whether the various operations
applying to a single cell, such as "Edit cell" or "Run cell", apply to
the selected row or the current one.
Resolve this ambiguity by simply disallowing such operations in this
situation.
---
census_view.cpp | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/census_view.cpp b/census_view.cpp
index 0910b75..7f4b044 100644
--- a/census_view.cpp
+++ b/census_view.cpp
@@ -2469,13 +2469,20 @@ void
CensusGridView::UponUpdateSingleSelection(wxUpdateUIEvent& e)
{
// We consider that in absence of any selected rows, the current row is the
// selected/active one, so what we actually check for here is that we do
- // not have more than a single row selected.
- auto const sel_blocks = grid_window_->GetSelectedRowBlocks();
- bool const is_single_sel
- = sel_blocks.empty()
- || (sel_blocks.size() == 1
- && sel_blocks[0].GetTopRow() == sel_blocks[0].GetBottomRow())
- ;
+ // not have any rows other than, possibly, the current one, selected.
+ bool is_single_sel = true;
+ for(auto const& sel_block : grid_window_->GetSelectedRowBlocks())
+ {
+ auto const cursor_row = grid_window_->GetGridCursorRow();
+ if
+ ( sel_block.GetTopRow() != cursor_row
+ || sel_block.GetBottomRow() != cursor_row
+ )
+ {
+ is_single_sel = false;
+ break;
+ }
+ }
e.Enable(is_single_sel);
}
- [lmi-commits] [lmi] master 5423df7 25/46: Remove separate table_type_converter::type(), (continued)
- [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, 2020/07/22
- [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 <=
- [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
- [lmi-commits] [lmi] master b7944ba 38/46: Resize only columns, not rows, in update_visible_columns(), Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master b399a7d 40/46: Remove automatic column auto-sizing in wxGrid-based census view, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master d4ad57b 42/46: Disallow "Edit/Run" cell when multiple grid rows are selected, Greg Chicares, 2020/07/22
- [lmi-commits] [lmi] master d39ff1d 07/46: Use wxGridCellAttrPtr instead of manual reference counting, Greg Chicares, 2020/07/22