Eeschema: fix build error when using wxWidgets 2.8 and other minor fixes.
* Fix string concatenation for _( "Unit" ) + wxT( " " ). This failed compiling against wxWidgets 2.8 (thanks Cirilo Bernardo ). * Base the indentation on a measured observation with explanation (98%-ile of name-length found in library). The previously chosen 24 character indentation was too wide for most. * Don't use a #define spilling into the global namespace, but use a locally defined constant for COLUMN_DESCR_POS.
This commit is contained in:
parent
64da190e37
commit
df8b7c53fb
|
@ -167,16 +167,19 @@ void COMPONENT_TREE_SEARCH_CONTAINER::AddAliasList( const wxString& aNodeName,
|
||||||
{
|
{
|
||||||
// Preformatting. Unfortunately, the tree widget doesn't have columns
|
// Preformatting. Unfortunately, the tree widget doesn't have columns
|
||||||
// and using tabs does not work very well or does not work at all
|
// and using tabs does not work very well or does not work at all
|
||||||
// (depending on OS versions).
|
// (depending on OS versions). So indent with spaces in fixed-font width.
|
||||||
#define COLUMN_DESCR_POS 24
|
|
||||||
int len = a->GetName().length();
|
|
||||||
display_info.Clear();
|
|
||||||
|
|
||||||
if( len <= COLUMN_DESCR_POS )
|
// The 98%-ile of length of strings found in the standard library is 15
|
||||||
display_info.Append( ' ', COLUMN_DESCR_POS - len );
|
// characters. Use this as a reasonable cut-off point for aligned indentation.
|
||||||
|
// For the few component names longer than that, the description is indented a
|
||||||
display_info += wxString::Format( wxT( " [ %s ]" ),
|
// bit more.
|
||||||
GetChars( a->GetDescription() ) );
|
// The max found in the default lib would be 20 characters, but that creates too
|
||||||
|
// much visible whitespace for the less extreme component names.
|
||||||
|
const int COLUMN_DESCR_POS = 15;
|
||||||
|
const int indent_len = COLUMN_DESCR_POS - a->GetName().length();
|
||||||
|
display_info = wxString::Format( wxT( " %*s [ %s ]" ),
|
||||||
|
indent_len > 0 ? indent_len : 0, wxT( "" ),
|
||||||
|
GetChars( a->GetDescription() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
TREE_NODE* alias_node = new TREE_NODE( TREE_NODE::TYPE_ALIAS, lib_node,
|
TREE_NODE* alias_node = new TREE_NODE( TREE_NODE::TYPE_ALIAS, lib_node,
|
||||||
|
@ -185,14 +188,13 @@ void COMPONENT_TREE_SEARCH_CONTAINER::AddAliasList( const wxString& aNodeName,
|
||||||
|
|
||||||
if( a->GetComponent()->IsMulti() ) // Add all units as sub-nodes.
|
if( a->GetComponent()->IsMulti() ) // Add all units as sub-nodes.
|
||||||
{
|
{
|
||||||
wxString unitName;
|
|
||||||
|
|
||||||
for( int u = 1; u <= a->GetComponent()->GetPartCount(); ++u )
|
for( int u = 1; u <= a->GetComponent()->GetPartCount(); ++u )
|
||||||
{
|
{
|
||||||
unitName = LIB_COMPONENT::ReturnSubReference( u, false );
|
wxString unitName = _("Unit");
|
||||||
|
unitName += wxT( " " ) + LIB_COMPONENT::ReturnSubReference( u, false );
|
||||||
TREE_NODE* unit_node = new TREE_NODE( TREE_NODE::TYPE_UNIT,
|
TREE_NODE* unit_node = new TREE_NODE( TREE_NODE::TYPE_UNIT,
|
||||||
alias_node, a,
|
alias_node, a,
|
||||||
_("Unit") + wxT( " " ) + unitName,
|
unitName,
|
||||||
wxEmptyString, wxEmptyString );
|
wxEmptyString, wxEmptyString );
|
||||||
unit_node->Unit = u;
|
unit_node->Unit = u;
|
||||||
nodes.push_back( unit_node );
|
nodes.push_back( unit_node );
|
||||||
|
|
Loading…
Reference in New Issue