[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 3c3d0c0 36/46: Explain grid customizations in
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 3c3d0c0 36/46: Explain grid customizations in the function creating it |
Date: |
Wed, 22 Jul 2020 11:05:15 -0400 (EDT) |
branch: master
commit 3c3d0c0c69f26b06f2075730798f7feaea56c805
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Vadim Zeitlin <vadim@tt-solutions.com>
Explain grid customizations in the function creating it
Also group all the methods configuring wxGrid together instead of
calling some of them before creating the grid table and some of them
after doing it.
---
census_view.cpp | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/census_view.cpp b/census_view.cpp
index e88802c..c213144 100644
--- a/census_view.cpp
+++ b/census_view.cpp
@@ -1965,21 +1965,28 @@ wxWindow* CensusDVCView::CreateChildWindow()
wxWindow* CensusGridView::CreateChildWindow()
{
+ // Create and customize the grid window: we want to hide its row labels
+ // because we show our own row number column, tweak its alignment slightly
+ // and, importantly, use ellipsis in the overlong cell values rather than
+ // silently truncating them. We also prefer to use the native column header
+ // for a better appearance under MSW and disable the operations which are
+ // either not supported or are not useful.
grid_window_ = new(wx) wxGrid(GetFrame(), wxID_ANY);
grid_window_->HideRowLabels();
grid_window_->SetColLabelAlignment(wxALIGN_LEFT, wxALIGN_CENTRE);
grid_window_->SetDefaultCellAlignment(wxALIGN_LEFT, wxALIGN_CENTRE);
grid_window_->SetDefaultCellFitMode(wxGridFitMode::Ellipsize(wxELLIPSIZE_MIDDLE));
-
- // Grid must be already created when we create the table because we use
- // the default cell background color to determine the alternating color.
- grid_table_ = new(wx) CensusViewGridTable(*this);
- grid_window_->AssignTable(grid_table_, wxGrid::wxGridSelectRows);
-
grid_window_->UseNativeColHeader();
grid_window_->DisableHidingColumns();
grid_window_->DisableDragRowSize();
+ // Create the table, providing the grid window with its data, now: notice
+ // that it must be done after creating the grid, as the table attribute
+ // provider uses the default grid cell background color to determine the
+ // alternating rows color.
+ grid_table_ = new(wx) CensusViewGridTable(*this);
+ grid_window_->AssignTable(grid_table_, wxGrid::wxGridSelectRows);
+
// We could implement some kind of automatic registration, but it doesn't
// seem to be worth it for now, as we only have a few custom converters,
// all of which defined in this single file, so it's simpler to just list
- [lmi-commits] [lmi] master 6281a6d 20/46: Make object returned by table_type_converter::get_impl() const, (continued)
- [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, 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 <=
- [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
- [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