@@ -56,10 +56,7 @@ public class XmlBrowseViewBaseVc : XmlVc
5656 /// Specifications of columns to display
5757 /// </summary>
5858 protected List < XmlNode > m_columns = new List < XmlNode > ( ) ;
59- /// <summary>
60- /// Specs of columns that COULD be displayed, but which have not been selected.
61- /// </summary>
62- protected List < XmlNode > m_possibleColumns ;
59+
6360 /// <summary>// Top-level fake property for list of objects.</summary>
6461 protected int m_fakeFlid = 0 ;
6562 /// <summary>// Controls appearance of column for check boxes.</summary>
@@ -216,15 +213,15 @@ public XmlBrowseViewBaseVc(XmlNode xnSpec, int fakeFlid, XmlBrowseViewBase xbv)
216213 if ( doc == null ) // nothing saved, or saved info won't parse
217214 {
218215 // default: the columns that have 'width' specified.
219- foreach ( XmlNode node in m_possibleColumns )
216+ foreach ( XmlNode node in PossibleColumnSpecs )
220217 {
221218 if ( XmlUtils . GetOptionalAttributeValue ( node , "visibility" , "always" ) == "always" )
222219 m_columns . Add ( node ) ;
223220 }
224221 }
225222 else
226223 {
227- var newPossibleColumns = new List < XmlNode > ( m_possibleColumns ) ;
224+ var newPossibleColumns = new List < XmlNode > ( PossibleColumnSpecs ) ;
228225 foreach ( XmlNode node in doc . DocumentElement . SelectNodes ( "//column" ) )
229226 {
230227
@@ -550,9 +547,7 @@ public List<XmlNode> ComputePossibleColumns()
550547 XmlVc vc = null ;
551548 if ( ListItemsClass != 0 )
552549 vc = this ;
553- m_possibleColumns = PartGenerator . GetGeneratedChildren ( m_xnSpec . SelectSingleNode ( "columns" ) ,
554- m_xbv . Cache , vc , ( int ) ListItemsClass ) ;
555- return m_possibleColumns ;
550+ return PossibleColumnSpecs = PartGenerator . GetGeneratedChildren ( m_xnSpec . SelectSingleNode ( "columns" ) , m_xbv . Cache , vc , ( int ) ListItemsClass ) ;
556551 }
557552
558553 int m_listItemsClass = 0 ;
@@ -604,6 +599,7 @@ internal bool IsValidColumnSpec(XmlNode colSpec)
604599 return isValid ;
605600 }
606601 // In the simple case, `node`s label should match a label in PossibleColumnSpecs. There may be more complicated cases.
602+ // TODO (Hasso) 2025.11: 'layout' (madatory?) and 'field' (optional) would be better attributes to match.
607603 var label = XmlUtils . GetLocalizedAttributeValue ( colSpec , "label" , null ) ??
608604 XmlUtils . GetMandatoryAttributeValue ( colSpec , "label" ) ;
609605 var originalLabel = XmlUtils . GetLocalizedAttributeValue ( colSpec , "originalLabel" , null ) ??
@@ -763,13 +759,10 @@ internal virtual List<XmlNode> ColumnSpecs
763759 }
764760 }
765761
766- internal List < XmlNode > PossibleColumnSpecs
767- {
768- get
769- {
770- return m_possibleColumns ;
771- }
772- }
762+ /// <summary>
763+ /// Specs of columns that COULD be displayed, but which have not been selected.
764+ /// </summary>
765+ protected internal List < XmlNode > PossibleColumnSpecs { get ; set ; }
773766
774767 internal ISortItemProvider SortItemProvider
775768 {
0 commit comments