public override void TestSetup()
		{
			base.TestSetup();

			m_hfSets = Cache.LanguageProject.LexDbOA.HeaderFooterSetsOC;
			IPublication pub = CreateFakeHFSets();
			m_dlg = new DummyHeaderFooterSetupDlg(Cache, pub, Cache.LanguageProject.LexDbOA);
			m_pageInfo = new HFDialogsPageInfo(true);
			m_vc = new DummyHFSetupDlgVC(m_pageInfo, Cache.DefaultVernWs, DateTime.Now, Cache);
		}
		public override void TestTearDown()
		{
			if (m_dlg != null)
			{
				m_dlg.Dispose();
				m_dlg = null;
			}
			m_hfSets = null;
			m_pageInfo = null;

			base.TestTearDown();
		}
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Creates a header/footer set view for the given information.
		/// </summary>
		/// <param name="pnl"></param>
		/// <param name="toDisplay"></param>
		/// <param name="pageNum"></param>
		/// ------------------------------------------------------------------------------------
		private HFSetView MakeHFSetView(Panel pnl, IPubHeader toDisplay, int pageNum)
		{
			HFDialogsPageInfo info = new HFDialogsPageInfo(m_pub.IsLeftBound);
			info.PageNumber = pageNum;
			HFSetupDlgVC vc = new HFSetupDlgVC(info,
				m_cache.DefaultVernWs, DateTime.Now, m_cache);
			HFSetView view = new HFSetView(m_cache.DomainDataByFlid, vc, toDisplay.Hvo);
			view.Dock = DockStyle.Fill;
			pnl.Controls.Add(view);
			return view;
		}
		public override void Exit()
		{
			CheckDisposed();
			try
			{
				if (m_dlg != null)
				{
					m_dlg.Dispose();
					m_dlg = null;
				}
				if (m_vc != null)
				{
					m_vc.Dispose();
					m_vc = null;
				}
				m_hfSets = null;
				m_pageInfo = null;
			}
			finally
			{
				base.Exit();
			}
		}
		public override void Initialize()
		{
			CheckDisposed();
			base.Initialize();

			m_inMemoryCache.InitializeLexDb();
			m_hfSets = Cache.LangProject.LexDbOA.HeaderFooterSetsOC;
			IPublication pub = CreateFakeHFSets();
			m_dlg = new DummyHeaderFooterSetupDlg(Cache, pub, (CmMajorObject)Cache.LangProject.LexDbOA);
			m_pageInfo = new HFDialogsPageInfo(true);
			m_vc = new DummyHFSetupDlgVC(m_pageInfo, Cache.DefaultVernWs, DateTime.Now, Cache);
		}
		/// <summary>
		/// Executes in two distinct scenarios.
		///
		/// 1. If disposing is true, the method has been called directly
		/// or indirectly by a user's code via the Dispose method.
		/// Both managed and unmanaged resources can be disposed.
		///
		/// 2. If disposing is false, the method has been called by the
		/// runtime from inside the finalizer and you should not reference (access)
		/// other managed objects, as they already have been garbage collected.
		/// Only unmanaged resources can be disposed.
		/// </summary>
		/// <param name="disposing"></param>
		/// <remarks>
		/// If any exceptions are thrown, that is fine.
		/// If the method is being done in a finalizer, it will be ignored.
		/// If it is thrown by client code calling Dispose,
		/// it needs to be handled by fixing the bug.
		///
		/// If subclasses override this method, they should call the base implementation.
		/// </remarks>
		protected override void Dispose(bool disposing)
		{
			//Debug.WriteLineIf(!disposing, "****************** " + GetType().Name + " 'disposing' is false. ******************");
			// Must not be run more than once.
			if (IsDisposed)
				return;

			if (disposing)
			{
				// Dispose managed resources here.
				if (m_dlg != null)
					m_dlg.Dispose();
				if (m_vc != null)
					m_vc.Dispose();
			}

			// Dispose unmanaged resources here, whether disposing is true or false.
			m_dlg = null;
			m_vc = null;
			m_pageInfo = null;
			m_hfSets = null;;

			base.Dispose(disposing);
		}
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Changes a header/footer panel to be a HFSetView with the correct info
		/// </summary>
		/// <param name="pan"></param>
		/// <param name="hvoToDisplay"></param>
		/// ------------------------------------------------------------------------------------
		private HFSetView ChangePanelToView(Panel pan, int hvoToDisplay)
		{
			HFDialogsPageInfo info = new HFDialogsPageInfo(m_pub.IsLeftBound);
			info.PageNumber = 1;
			HFModifyDlgVC vc = new HFModifyDlgVC(info,
				m_caches.MainCache.DefaultVernWs,
				DateTime.Now, m_caches.MainCache);
			HFSetView view = new HFSetView(m_caches.DataAccess, vc, hvoToDisplay);
			view.MakeRoot();
			view.Dock = DockStyle.Fill;
			view.LostFocus += new EventHandler(view_LostFocus);
			pan.Controls.Add(view);
			return view;
		}