[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 9e1ac25 09/12: Fold a "ternary" conditional i
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 9e1ac25 09/12: Fold a "ternary" conditional into a switch |
Date: |
Tue, 22 May 2018 17:09:22 -0400 (EDT) |
branch: master
commit 9e1ac25ca5372ad4888208789e492f1f338bc543
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Fold a "ternary" conditional into a switch
The 'widest_text.empty()' condition has been replaced by the explicit
elastic-inelastic dichotomy. It is clearer to test the condition OAOO
and write one block for each set of conditionally-executed statements.
Wrote temporary assertions to ensure that the conditions are aligned
correctly. They'll be expunged without comment in the next commit.
---
wx_table_generator.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/wx_table_generator.cpp b/wx_table_generator.cpp
index f10f036..c3b12eb 100644
--- a/wx_table_generator.cpp
+++ b/wx_table_generator.cpp
@@ -307,9 +307,6 @@ void wx_table_generator::enroll_column(column_parameters
const& z)
header_font_setter.Set(get_header_font());
}
- // Set width to the special value of 0 for the elastic columns.
- width = z.widest_text.empty() ? 0 : dc_.GetTextExtent(z.widest_text).x;
-
wxCoord w, h, lh;
dc_.GetMultiLineTextExtent(z.header, &w, &h, &lh, &dc_.GetFont());
LMI_ASSERT(0 != lh);
@@ -326,6 +323,8 @@ LMI_ASSERT(std::size_t(h / lh) == 1u +
count_newlines(z.header));
{
case oe_inelastic:
{
+LMI_ASSERT(!z.widest_text.empty()); // To be removed in the next commit.
+ width = dc_.GetTextExtent(z.widest_text).x;
// Also increase the column width to be sufficiently wide to
fit
// this header line if it is inelastic.
increase_to_if_smaller(width, w);
@@ -334,6 +333,9 @@ LMI_ASSERT(std::size_t(h / lh) == 1u +
count_newlines(z.header));
break;
case oe_elastic:
{
+LMI_ASSERT(z.widest_text.empty()); // To be removed in the next commit.
+ // Set width to the special value of 0 for the elastic columns.
+ width = 0;
}
break;
}
- [lmi-commits] [lmi] master updated (a1f29ab -> 40a94aa), Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master b219dd9 01/12: Note a possible future return-type change, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master b725bcb 05/12: Reorder PDF column parameters, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master 2c95260 07/12: Prefer 'switch' to 'if' for a two-valued enum, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master bd86afe 04/12: Shorten an enumerator's name, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master 9e1ac25 09/12: Fold a "ternary" conditional into a switch,
Greg Chicares <=
- [lmi-commits] [lmi] master 40a94aa 12/12: Explain why width of an elastic column is initialized to zero, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master 6b93e91 11/12: Remove an unneeded auxiliary function, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master b232274 02/12: Make column elasticity enumerative rather than boolean, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master 7e64de5 03/12: Make column alignment enumerative rather than boolean, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master e2e4ad6 08/12: Remove a temporary assertion that is no longer useful, Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master 637d535 06/12: Rework PDF column formatting in terms of "elasticity", Greg Chicares, 2018/05/22
- [lmi-commits] [lmi] master 6076b33 10/12: Simplify code; rewrite documentation, Greg Chicares, 2018/05/22