/// ------------------------------------------------------------------------------------
		/// <summary>
		/// constructor for use with adding a new value (and stylesheet)
		/// </summary>
		/// <param name="persistProvider">The persist provider.</param>
		/// <param name="labels">The labels.</param>
		/// <param name="fieldName">the user-readable name of the field that is being edited</param>
		/// <param name="stylesheet">for getting right height for text</param>
		/// ------------------------------------------------------------------------------------
		public ReallySimpleListChooser(IPersistenceProvider persistProvider,
			ObjectLabelCollection labels, string fieldName, IVwStylesheet stylesheet)
		{
			m_stylesheet = stylesheet;
			m_persistProvider = persistProvider;
			m_fieldName = fieldName;
			if (labels.Count > 0 && labels.IsFlatList())
				m_fFlatList = true;
			InitializeComponent();

			if (m_persistProvider != null)
				m_persistProvider.RestoreWindowSettings("SimpleListChooser", this);

			SetForDefaultExtras();

			// It's easier to localize a format string than code that pieces together a string.
			this.Text = String.Format(XMLViewsStrings.ksChooseX, fieldName);

			LoadTree(labels, 0, false);

			InitHelp();
		}
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// constructor intended only for use by subclasses which need to initialize something
		/// before calling LoadTree (e.g., LeafChooser).
		/// </summary>
		/// <param name="persistProvider">optional, if you want to preserve the size and
		/// location</param>
		/// <param name="fieldName">the user-readable name of the field that is being edited</param>
		/// <param name="cache">The cache.</param>
		/// <param name="rghvoChosen">use null or int[0] if empty</param>
		/// ------------------------------------------------------------------------------------
		protected ReallySimpleListChooser(IPersistenceProvider persistProvider,
			string fieldName, FdoCache cache, int[] rghvoChosen)
		{
			m_cache = cache;
			m_persistProvider = persistProvider;
			m_fieldName = fieldName;
			InitializeComponent();

			if (m_persistProvider!= null)
				m_persistProvider.RestoreWindowSettings("SimpleListChooser", this);

			SetForDefaultExtras();

			// It's easier to localize a format string than code that pieces together a string.
			this.Text = String.Format(XMLViewsStrings.ksChooseX, fieldName);

			m_labelsTreeView.CheckBoxes = true;
			m_labelsTreeView.AfterCheck += new TreeViewEventHandler(m_labelsTreeView_AfterCheck);
			// We have to allow selections in order to allow keyboard support.  See LT-3068.
			//m_labelsTreeView.BeforeSelect += new TreeViewCancelEventHandler(m_labelsTreeView_BeforeSelect);
			if (rghvoChosen != null)
			{
				m_rghvoChosen = new List<int>(rghvoChosen.Length);
				for (int i = 0; i < rghvoChosen.Length; ++i)
					m_rghvoChosen.Add(rghvoChosen[i]);
				m_rghvoChosen.Sort();
			}
		}
		/// -----------------------------------------------------------------------------------
		/// <summary>
		/// Initializes a new instance of the <see cref="ReallySimpleListChooser"/> class.
		/// </summary>
		/// -----------------------------------------------------------------------------------
		private void Init(FdoCache cache, IPersistenceProvider persistProvider,
			string fieldName, ObjectLabelCollection labels, int currentHvo,string nullLabel, IVwStylesheet stylesheet)
		{
			m_stylesheet = stylesheet;
			m_nullLabel.DisplayName = nullLabel;
			m_nullLabel.Cache = cache;
			m_cache = cache;
			m_persistProvider = persistProvider;
			m_fieldName = fieldName;
			if (labels.Count > 0 && labels.IsFlatList())
				m_fFlatList = true;
			InitializeComponent();

			if (m_persistProvider!= null)
				m_persistProvider.RestoreWindowSettings("SimpleListChooser", this);

			SetForDefaultExtras();

			// It's easier to localize a format string than code that pieces together a string.
			this.Text = String.Format(XMLViewsStrings.ksChooseX, fieldName);

			LoadTree(labels, currentHvo, true);

			InitHelp();
		}