Пример #1
0
        /// <summary>
        /// Create one and set the browse view it belongs to.
        /// </summary>
        /// <param name="bv"></param>
        public DhListView(BrowseViewer bv)
        {
            m_bv = bv;

            m_imgList                  = new ImageList();
            m_imgList.ImageSize        = new Size(kHalfArrowSize * 2, kHalfArrowSize * 2);
            m_imgList.TransparentColor = Color.FromKnownColor(KnownColor.ControlLight);

            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Large));                         // Add ascending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Medium));                        // Add ascending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Small));                         // Add ascending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Large));                        // Add descending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Medium));                       // Add descending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Small));                        // Add descending arrow

            ColumnWidthChanged += ListView_ColumnWidthChanged;
            if (Platform.IsMono)
            {
                // FWNX-224
                ColumnClick += HandleColumnClick;
            }

            ColumnWidthChanging += ListView_ColumnWidthChanging;
            ColumnReordered     += HandleColumnReordered;
        }
Пример #2
0
        private void BuildInitialBrowseView(XCore.Mediator mediator)
        {
            XmlNode configurationParameters =
                (XmlNode)mediator.PropertyTable.GetValue("WindowConfiguration");
            XmlNode toolNode = configurationParameters.SelectSingleNode(
                "controls/parameters/guicontrol[@id='PhonologicalFeaturesFlatList']/parameters");

            m_listPanel.SuspendLayout();
            m_fakeFlid = FdoCache.DummyFlid;
            IVwCacheDa cda = m_cache.MainCacheAccessor as IVwCacheDa;

            int[] featureHvos = m_cache.LangProject.PhFeatureSystemOA.FeaturesOC.HvoArray;
            cda.CacheVecProp(m_cache.LangProject.Hvo, m_fakeFlid, featureHvos, featureHvos.Length);
            m_bvList = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, m_fakeFlid, m_cache, mediator, null);
            m_bvList.SelectionChanged       += new FwSelectionChangedEventHandler(m_bvList_SelectionChanged);
            m_bvList.ScrollBar.ValueChanged += new EventHandler(ScrollBar_ValueChanged);
            m_bvList.Scroller.Scroll        += new ScrollEventHandler(ScrollBar_Scroll);
            m_bvList.ColumnsChanged         += new EventHandler(BrowseViewer_ColumnsChanged);
            m_bvList.Resize    += new EventHandler(m_bvList_Resize);
            m_bvList.TabStop    = true;
            m_bvList.StyleSheet = FontHeightAdjuster.StyleSheetFromMediator(mediator);
            m_bvList.Dock       = DockStyle.Fill;
            m_bvList.BackColor  = SystemColors.Window;
            m_listPanel.Controls.Add(m_bvList);
            m_listPanel.ResumeLayout(false);
        }
Пример #3
0
		/// <summary>
		/// Create one and set the browse view it belongs to.
		/// </summary>
		/// <param name="bv"></param>
		public DhListView(BrowseViewer bv) : base()
		{
			m_bv = bv;

			m_imgList = new ImageList();
			m_imgList.ImageSize = new Size(kHalfArrowSize * 2, kHalfArrowSize * 2);
			m_imgList.TransparentColor = Color.FromKnownColor(KnownColor.ControlLight);

			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Large));		// Add ascending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Medium));		// Add ascending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Small));		// Add ascending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Large));		// Add descending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Medium));		// Add descending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Small));		// Add descending arrow

			m_checkMarkButton = new Button();
			m_checkMarkButton.Click += new EventHandler(m_checkMarkButton_Click);
			m_checkMarkButton.Image = ResourceHelper.CheckMarkHeader;
			m_checkMarkButton.Width = m_checkMarkButton.Image.Width + 4;
			m_checkMarkButton.FlatStyle = FlatStyle.Flat;
			m_checkMarkButton.BackColor = Color.FromKnownColor(KnownColor.ControlLight);
			m_checkMarkButton.ForeColor = Color.FromKnownColor(KnownColor.ControlLight);
			m_checkMarkButton.Top = 0;
			m_checkMarkButton.Left = -1;
		}
Пример #4
0
        /// <summary>
        /// Create one and set the browse view it belongs to.
        /// </summary>
        /// <param name="bv"></param>
        public DhListView(BrowseViewer bv) : base()
        {
            m_bv = bv;

            m_imgList                  = new ImageList();
            m_imgList.ImageSize        = new Size(kHalfArrowSize * 2, kHalfArrowSize * 2);
            m_imgList.TransparentColor = Color.FromKnownColor(KnownColor.ControlLight);

            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Large));                         // Add ascending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Medium));                        // Add ascending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Small));                         // Add ascending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Large));                        // Add descending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Medium));                       // Add descending arrow
            m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Small));                        // Add descending arrow

            m_checkMarkButton           = new Button();
            m_checkMarkButton.Click    += new EventHandler(m_checkMarkButton_Click);
            m_checkMarkButton.Image     = ResourceHelper.CheckMarkHeader;
            m_checkMarkButton.Width     = m_checkMarkButton.Image.Width + 4;
            m_checkMarkButton.FlatStyle = FlatStyle.Flat;
            m_checkMarkButton.BackColor = Color.FromKnownColor(KnownColor.ControlLight);
            m_checkMarkButton.ForeColor = Color.FromKnownColor(KnownColor.ControlLight);
            m_checkMarkButton.Top       = 0;
            m_checkMarkButton.Left      = -1;
        }
Пример #5
0
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose(bool disposing)
        {
            System.Diagnostics.Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType().Name + ". ****** ");
            // Must not be run more than once.
            if (IsDisposed)
            {
                return;
            }

            if (disposing)
            {
                if (m_helpProvider != null)
                {
                    m_helpProvider.Dispose();
                }
            }
            m_cache       = null;
            m_fs          = null;
            m_mediator    = null;
            m_cache       = null;
            m_bvList      = null;
            m_valuesCombo = null;

            base.Dispose(disposing);
        }
        private void BuildInitialBrowseView(Mediator mediator)
        {
            var     configurationParameters = (XmlNode)mediator.PropertyTable.GetValue("WindowConfiguration");
            XmlNode toolNode = configurationParameters.SelectSingleNode(
                "controls/parameters/guicontrol[@id='PhonologicalFeaturesFlatList']/parameters");

            m_listPanel.SuspendLayout();
            var sortedFeatureHvos = from s in m_cache.LangProject.PhFeatureSystemOA.FeaturesOC
                                    orderby s.Name.BestAnalysisAlternative.Text
                                    select s.Hvo;

            int[] featureHvos = sortedFeatureHvos.ToArray();
            m_sda.CacheVecProp(m_cache.LangProject.Hvo, featureHvos);
            m_bvList = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, PhonologicalFeaturePublisher.ListFlid, m_cache, mediator, null, m_sda);
            m_bvList.SelectionChanged       += m_bvList_SelectionChanged;
            m_bvList.ScrollBar.ValueChanged += ScrollBar_ValueChanged;
            m_bvList.Scroller.Scroll        += ScrollBar_Scroll;
            m_bvList.ColumnsChanged         += BrowseViewer_ColumnsChanged;
            m_bvList.Resize    += m_bvList_Resize;
            m_bvList.TabStop    = true;
            m_bvList.StyleSheet = FontHeightAdjuster.StyleSheetFromMediator(mediator);
            m_bvList.Dock       = DockStyle.Fill;
            m_bvList.BackColor  = SystemColors.Window;
            m_listPanel.Controls.Add(m_bvList);
            m_listPanel.ResumeLayout(false);
        }
Пример #7
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Releases the unmanaged resources used by the <see cref="T:System.Windows.Forms.ListView"/> and optionally releases the managed resources.
        /// </summary>
        /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        /// ------------------------------------------------------------------------------------
        protected override void Dispose(bool disposing)
        {
            Debug.WriteLineIf(!disposing, "****************** Missing Dispose() call for " + GetType().Name + ". ******************");
            // Must not be run more than once.
            if (IsDisposed)
            {
                return;
            }

            if (disposing)
            {
                if (m_imgList != null)
                {
                    m_imgList.Dispose();
                }
                if (m_timer != null)
                {
                    m_timer.Dispose();
                    m_timer = null;
                }
                if (m_tooltip != null)
                {
                    m_tooltip.Dispose();
                    m_tooltip = null;
                }
            }
            m_imgList = null;
            m_bv      = null;

            base.Dispose(disposing);
        }
Пример #8
0
        /// <summary>
        /// Create and initialize the browse view, storing the data it will display.
        /// </summary>
        /// <param name="cache">The cache.</param>
        /// <param name="stylesheet">The stylesheet.</param>
        /// <param name="mediator">The mediator.</param>
        /// <param name="xnConfig">The config node.</param>
        /// <param name="objs">The objs.</param>
        public void Initialize(FdoCache cache, IVwStylesheet stylesheet, Mediator mediator,
                               XmlNode xnConfig, IEnumerable <ICmObject> objs)
        {
            CheckDisposed();
            m_cache      = cache;
            m_stylesheet = stylesheet;
            m_mediator   = mediator;
            m_configNode = xnConfig;
            SuspendLayout();
            m_listPublisher = new ObjectListPublisher(cache.DomainDataByFlid as ISilDataAccessManaged, ObjectListFlid);

            StoreData(objs);
            m_bvList = new BrowseViewer(m_configNode, m_cache.LanguageProject.Hvo, ObjectListFlid, m_cache, m_mediator,
                                        null, m_listPublisher);
            m_bvList.Location = new Point(0, 0);
            m_bvList.Anchor   = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom |
                                AnchorStyles.Right;
            m_bvList.Name              = "m_bvList";
            m_bvList.Sorter            = null;
            m_bvList.TabStop           = true;
            m_bvList.StyleSheet        = m_stylesheet;
            m_bvList.Dock              = DockStyle.Fill;
            m_bvList.SelectionChanged += m_bvList_SelectionChanged;
            Controls.Add(m_bvList);
            ResumeLayout(false);
        }
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        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)
            {
                if (m_helpProvider != null)
                {
                    m_helpProvider.Dispose();
                }
            }
            if (m_cache != null)
            {
                IVwCacheDa cda = m_cache.MainCacheAccessor as IVwCacheDa;
                cda.CacheVecProp(m_cache.LangProject.Hvo, m_fakeFlid, null, 0);
                cda     = null;
                m_cache = null;
            }
            m_ctxt        = null;
            m_mediator    = null;
            m_bvList      = null;
            m_valuesCombo = null;

            base.Dispose(disposing);
        }
Пример #10
0
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        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)
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            m_cache       = null;
            m_fs          = null;
            m_mediator    = null;
            m_cache       = null;
            m_bvList      = null;
            m_valuesCombo = null;

            base.Dispose(disposing);
        }
Пример #11
0
		/// <summary>
		/// Create and initialize the browse view, storing the data it will display.
		/// </summary>
		/// <param name="cache">The cache.</param>
		/// <param name="stylesheet">The stylesheet.</param>
		/// <param name="mediator">The mediator.</param>
		/// <param name="xnConfig">The config node.</param>
		/// <param name="objs">The objs.</param>
		public void Initialize(FdoCache cache, IVwStylesheet stylesheet, Mediator mediator,
			XmlNode xnConfig, IEnumerable<ICmObject> objs)
		{
			CheckDisposed();
			m_cache = cache;
			m_stylesheet = stylesheet;
			m_mediator = mediator;
			m_configNode = xnConfig;
			SuspendLayout();
			m_listPublisher = new ObjectListPublisher(cache.DomainDataByFlid as ISilDataAccessManaged, ObjectListFlid);

			StoreData(objs);
			m_bvList = new BrowseViewer(m_configNode, m_cache.LanguageProject.Hvo, ObjectListFlid, m_cache, m_mediator,
				null, m_listPublisher);
			m_bvList.Location = new Point(0, 0);
			m_bvList.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom |
				AnchorStyles.Right;
			m_bvList.Name = "m_bvList";
			m_bvList.Sorter = null;
			m_bvList.TabStop = true;
			m_bvList.StyleSheet = m_stylesheet;
			m_bvList.Dock = DockStyle.Fill;
			m_bvList.SelectionChanged += m_bvList_SelectionChanged;
			Controls.Add(m_bvList);
			ResumeLayout(false);
		}
Пример #12
0
 /// ------------------------------------------------------------------------------------
 /// <summary>
 /// Create one
 /// </summary>
 /// <param name="bv">The BrowseViewer that it is part of.</param>
 /// <param name="spec">The parameters element of the BV, containing the
 /// 'columns' elements that specify the BE bar (among other things).</param>
 /// <param name="mediator">The mediator.</param>
 /// <param name="propertyTable"></param>
 /// <param name="cache">The cache.</param>
 /// ------------------------------------------------------------------------------------
 public BulkEditBarPhonologicalFeatures(BrowseViewer bv, XmlNode spec, Mediator mediator, PropertyTable propertyTable, LcmCache cache) :
     base(bv, spec, mediator, propertyTable, cache)
 {
     m_operationsTabControl.Controls.Remove(BulkCopyTab);
     m_operationsTabControl.Controls.Remove(ClickCopyTab);
     m_operationsTabControl.Controls.Remove(FindReplaceTab);
     m_operationsTabControl.Controls.Remove(TransduceTab);
     m_operationsTabControl.Controls.Remove(DeleteTab);
     if (m_listChoiceControl != null)
     {
         m_listChoiceControl.Text = "";
     }
     EnablePreviewApplyForListChoice();
 }
 private void CreateBrowseViewer(int hvoIndex)
 {
     m_fakeFlid  = Clerk.VirtualFlid;
     m_bvMatches = new SIL.FieldWorks.Common.Controls.BrowseViewer(m_configNode,
                                                                   hvoIndex, m_fakeFlid, m_cache, m_mediator, Clerk.SortItemProvider);
     m_bvMatches.SuspendLayout();
     m_bvMatches.Location          = new Point(0, 0);
     m_bvMatches.Anchor            = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
     m_bvMatches.Name              = "m_bv";
     m_bvMatches.Sorter            = null;
     m_bvMatches.TabStop           = false;
     m_bvMatches.StyleSheet        = m_stylesheet;
     m_bvMatches.Dock              = DockStyle.Fill;
     m_bvMatches.SelectionChanged += new FwSelectionChangedEventHandler(m_bvMatches_SelectionChanged);
     m_bvMatches.SelectionMade    += new FwSelectionChangedEventHandler(m_bvMatches_SelectionMade);
     this.Controls.Add(m_bvMatches);
     m_bvMatches.ResumeLayout();
 }
Пример #14
0
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose(bool disposing)
        {
            // Must not be run more than once.
            if (IsDisposed)
            {
                return;
            }

            if (disposing)
            {
                // NO. The simple Clerk property guarantees is will not be null.
                //if (Clerk != null)
                //	Clerk.FilterChangedByClerk -= new FilterChangeHandler(Clerk_FilterChangedByClerk);
                if (ExistingClerk != null)
                {
                    PersistSortSequence();
                    ExistingClerk.FilterChangedByClerk -= Clerk_FilterChangedByClerk;
                }
                if (m_browseViewer != null)
                {
                    m_browseViewer.SelectionChanged     -= OnSelectionChanged;
                    m_browseViewer.SelectedIndexChanged -= m_browseViewer_SelectedIndexChanged;
                    m_browseViewer.FilterChanged        -= FilterChangedHandler;
                    m_browseViewer.SorterChanged        -= SortChangedHandler;
                    if (m_browseViewer.BulkEditBar != null)
                    {
                        m_browseViewer.BulkEditBar.TargetComboSelectedIndexChanged -= TargetColumnChanged;
                    }
                    m_browseViewer.BrowseView.RightMouseClickedEvent -= OnFwRightMouseClick;
                    m_browseViewer.ListModificationInProgressChanged -= m_browseViewer_ListModificationInProgressChanged;
                    m_browseViewer.SelectionDrawingFailure           -= OnBrowseSelectionDrawingFailed;
                    m_browseViewer.CheckBoxChanged   -= OnCheckBoxChanged;
                    m_browseViewer.SortersCompatible -= Clerk.AreSortersCompatible;
                }
                if (components != null)
                {
                    components.Dispose();
                }
            }
            m_browseViewer = null;
            // m_mediator = null; // No, or the superclass call will crash.

            base.Dispose(disposing);
        }
Пример #15
0
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        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)
            {
                // NO. The simple Clerk property guarantees is will not be null.
                //if (Clerk != null)
                //	Clerk.FilterChangedByClerk -= new FilterChangeHandler(Clerk_FilterChangedByClerk);
                if (ExistingClerk != null)
                {
                    ExistingClerk.FilterChangedByClerk -= new FilterChangeHandler(Clerk_FilterChangedByClerk);
                }
                if (m_browseViewer != null)
                {
                    m_browseViewer.SelectionChanged     -= new FwSelectionChangedEventHandler(OnSelectionChanged);
                    m_browseViewer.SelectedIndexChanged -= new EventHandler(m_browseViewer_SelectedIndexChanged);
                    m_browseViewer.FilterChanged        -= new FilterChangeHandler(FilterChangedHandler);
                    m_browseViewer.SorterChanged        -= new EventHandler(SortChangedHandler);
                    if (m_browseViewer.BulkEditBar != null)
                    {
                        m_browseViewer.BulkEditBar.TargetComboSelectedIndexChanged -= new TargetColumnChangedHandler(TargetColumnChanged);
                    }
                    m_browseViewer.BrowseView.RightMouseClickedEvent -= new FwRightMouseClickEventHandler(OnFwRightMouseClick);
                    m_browseViewer.ListModificationInProgressChanged -= new EventHandler(m_browseViewer_ListModificationInProgressChanged);
                    m_browseViewer.SelectionDrawingFailure           -= new EventHandler(OnBrowseSelectionDrawingFailed);
                    m_browseViewer.CheckBoxChanged -= new CheckBoxChangedEventHandler(OnCheckBoxChanged);
                }
                if (components != null)
                {
                    components.Dispose();
                }
            }
            m_browseViewer = null;
            // m_mediator = null; // No, or the superclass call will crash.

            base.Dispose(disposing);
        }
Пример #16
0
		/// <summary>
		/// Create one and set the browse view it belongs to.
		/// </summary>
		/// <param name="bv"></param>
		public DhListView(BrowseViewer bv)
		{
			m_bv = bv;

			m_imgList = new ImageList();
			m_imgList.ImageSize = new Size(kHalfArrowSize * 2, kHalfArrowSize * 2);
			m_imgList.TransparentColor = Color.FromKnownColor(KnownColor.ControlLight);

			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Large));		// Add ascending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Medium));		// Add ascending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Ascending, ArrowSize.Small));		// Add ascending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Large));		// Add descending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Medium));		// Add descending arrow
			m_imgList.Images.Add(GetArrowBitmap(ArrowType.Descending, ArrowSize.Small));		// Add descending arrow

			ColumnWidthChanged += ListView_ColumnWidthChanged;
#if __MonoCS__ // FWNX-224
			ColumnClick += HandleColumnClick;
#endif
			ColumnWidthChanging += ListView_ColumnWidthChanging;
			ColumnReordered += HandleColumnReordered;
		}
Пример #17
0
        private void InitBrowseView(string guiControl, List <DummyCmObject> mergeCandidates)
        {
            XmlNode configurationParameters = (XmlNode)m_mediator.PropertyTable.GetValue("WindowConfiguration");
            XmlNode toolNode = configurationParameters.SelectSingleNode("controls/parameters/guicontrol[@id='" + guiControl + "']/parameters");

            m_fakeFlid = FdoCache.DummyFlid;
            IVwCacheDa cda = m_cache.MainCacheAccessor as IVwCacheDa;

            int[] hvos = new int[mergeCandidates.Count];
            for (int i = 0; i < mergeCandidates.Count; i++)
            {
                hvos[i] = mergeCandidates[i].Hvo;
                m_candidates[mergeCandidates[i].Hvo] = mergeCandidates[i];
            }

            cda.CacheVecProp(m_cache.LangProject.Hvo, m_fakeFlid, hvos, hvos.Length);
            m_bvMergeOptions                       = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, m_fakeFlid, m_cache, m_mediator, null);
            m_bvMergeOptions.StyleSheet            = SIL.FieldWorks.Common.Widgets.FontHeightAdjuster.StyleSheetFromMediator(m_mediator);
            m_bvMergeOptions.SelectedIndexChanged += new System.EventHandler(this.m_bvMergeOptions_SelectedIndexChanged);
            m_bvMergeOptions.Dock                  = DockStyle.Fill;
            m_bvPanel.Controls.Add(m_bvMergeOptions);
        }
Пример #18
0
        private void InitBrowseView(string guiControl, List <DummyCmObject> mergeCandidates)
        {
            XmlNode configurationParameters = (XmlNode)m_mediator.PropertyTable.GetValue("WindowConfiguration");
            XmlNode toolNode = configurationParameters.SelectSingleNode("controls/parameters/guicontrol[@id='" + guiControl + "']/parameters");

            const int           kfakeFlid = 8999958;
            ObjectListPublisher sda       = new ObjectListPublisher((ISilDataAccessManaged)m_cache.DomainDataByFlid, kfakeFlid);

            int[] hvos = (from obj in mergeCandidates select obj.Hvo).ToArray();
            for (int i = 0; i < mergeCandidates.Count; i++)
            {
                m_candidates[mergeCandidates[i].Hvo] = mergeCandidates[i];
            }
            sda.SetOwningPropInfo(WfiWordformTags.kClassId, "LangProject", "Options");
            sda.SetOwningPropValue(hvos);

            m_bvMergeOptions                       = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, ObjectListPublisher.OwningFlid, m_cache, m_mediator, null, sda);
            m_bvMergeOptions.StyleSheet            = Common.Widgets.FontHeightAdjuster.StyleSheetFromMediator(m_mediator);
            m_bvMergeOptions.SelectedIndexChanged += m_bvMergeOptions_SelectedIndexChanged;
            m_bvMergeOptions.Dock                  = DockStyle.Fill;
            m_bvPanel.Controls.Add(m_bvMergeOptions);
        }
Пример #19
0
 private void CreateBrowseViewer(XmlNode configNode, IWritingSystem reversalWs)
 {
     m_listPublisher = new ObjectListPublisher(m_cache.DomainDataByFlid as ISilDataAccessManaged, ListFlid);
     m_bvMatches     = new BrowseViewer(configNode, m_cache.LanguageProject.LexDbOA.Hvo, ListFlid, m_cache, m_mediator,
                                        null, m_listPublisher);
     m_bvMatches.SuspendLayout();
     m_bvMatches.Location   = new Point(0, 0);
     m_bvMatches.Anchor     = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
     m_bvMatches.Name       = "m_bvMatches";
     m_bvMatches.Sorter     = null;
     m_bvMatches.TabStop    = false;
     m_bvMatches.StyleSheet = m_stylesheet;
     m_bvMatches.Dock       = DockStyle.Fill;
     if (reversalWs != null)
     {
         m_bvMatches.BrowseView.Vc.ReversalWs = reversalWs.Handle;
     }
     m_bvMatches.SelectionChanged += m_bvMatches_SelectionChanged;
     m_bvMatches.SelectionMade    += m_bvMatches_SelectionMade;
     Controls.Add(m_bvMatches);
     m_bvMatches.ResumeLayout();
 }
        private void BuildInitialBrowseView(XCore.Mediator mediator, IEnumerable <IFsFeatDefn> features)
        {
            XmlNode configurationParameters = (XmlNode)mediator.PropertyTable.GetValue("WindowConfiguration");
            XmlNode toolNode = configurationParameters.SelectSingleNode("controls/parameters/guicontrol[@id='FeatureConstraintFlatList']/parameters");

            m_listPanel.SuspendLayout();
            var hvos = (from feat in features
                        select feat.Hvo).ToArray();

            m_sda.CacheVecProp(m_cache.LangProject.Hvo, hvos);
            m_bvList = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, FeatureConstraintPublisher.ListFlid, m_cache, mediator, null, m_sda);
            m_bvList.SelectionChanged       += new FwSelectionChangedEventHandler(m_bvList_SelectionChanged);
            m_bvList.ScrollBar.ValueChanged += new EventHandler(ScrollBar_ValueChanged);
            m_bvList.Scroller.Scroll        += new ScrollEventHandler(Scroller_Scroll);
            m_bvList.ColumnsChanged         += new EventHandler(m_bvList_ColumnsChanged);
            m_bvList.Resize    += new EventHandler(m_bvList_Resize);
            m_bvList.TabStop    = true;
            m_bvList.StyleSheet = FontHeightAdjuster.StyleSheetFromMediator(mediator);
            m_bvList.Dock       = DockStyle.Fill;
            m_bvList.BackColor  = SystemColors.Window;
            m_listPanel.Controls.Add(m_bvList);
            m_listPanel.ResumeLayout(false);
        }
Пример #21
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Releases the unmanaged resources used by the <see cref="T:System.Windows.Forms.ListView"/> and optionally releases the managed resources.
        /// </summary>
        /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        /// ------------------------------------------------------------------------------------
        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)
            {
                if (m_configDisplayTimer != null)
                {
                    m_configDisplayTimer.Stop();
                    m_configDisplayTimer.Tick -= new EventHandler(m_configDisplayTimer_Tick);
                    m_configDisplayTimer.Dispose();
                }
                if (m_checkMarkButton != null)
                {
                    m_checkMarkButton.Click -= new EventHandler(m_checkMarkButton_Click);
                    if (!Controls.Contains(m_checkMarkButton))
                    {
                        m_checkMarkButton.Dispose();
                    }
                }
                if (m_imgList != null)
                {
                    m_imgList.Dispose();
                }
            }
            m_configDisplayTimer = null;
            m_imgList            = null;
            m_checkMarkButton    = null;
            m_bv = null;

            base.Dispose(disposing);
        }
Пример #22
0
 /// <summary>
 /// Create and initialize the browse view, storing the data it will display.
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="stylesheet"></param>
 /// <param name="mediator"></param>
 /// <param name="xnConfig"></param>
 /// <param name="rghvo"></param>
 public void Initialize(FdoCache cache, IVwStylesheet stylesheet, Mediator mediator,
                        XmlNode xnConfig, List <int> rghvo)
 {
     CheckDisposed();
     m_cache      = cache;
     m_stylesheet = stylesheet;
     m_mediator   = mediator;
     m_configNode = xnConfig;
     this.SuspendLayout();
     m_flidFake = FdoCache.DummyFlid;
     StoreData(rghvo);
     m_bvList = new SIL.FieldWorks.Common.Controls.BrowseViewer(m_configNode,
                                                                m_cache.LangProject.Hvo, m_flidFake, m_cache, m_mediator, null);
     m_bvList.Location = new Point(0, 0);
     m_bvList.Anchor   = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom |
                         AnchorStyles.Right;
     m_bvList.Name       = "m_bv";
     m_bvList.Sorter     = null;
     m_bvList.TabStop    = true;
     m_bvList.StyleSheet = m_stylesheet;
     m_bvList.Dock       = DockStyle.Fill;
     this.Controls.Add(m_bvList);
     this.ResumeLayout(false);
 }
Пример #23
0
		/// <summary>
		/// Create and initialize the browse view, storing the data it will display.
		/// </summary>
		/// <param name="cache"></param>
		/// <param name="stylesheet"></param>
		/// <param name="mediator"></param>
		/// <param name="xnConfig"></param>
		/// <param name="rghvo"></param>
		public void Initialize(FdoCache cache, IVwStylesheet stylesheet, Mediator mediator,
			XmlNode xnConfig, List<int> rghvo)
		{
			CheckDisposed();
			m_cache = cache;
			m_stylesheet = stylesheet;
			m_mediator = mediator;
			m_configNode = xnConfig;
			this.SuspendLayout();
			m_flidFake = FdoCache.DummyFlid;
			StoreData(rghvo);
			m_bvList = new SIL.FieldWorks.Common.Controls.BrowseViewer(m_configNode,
				m_cache.LangProject.Hvo, m_flidFake, m_cache, m_mediator, null);
			m_bvList.Location = new Point(0, 0);
			m_bvList.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom |
				AnchorStyles.Right;
			m_bvList.Name = "m_bv";
			m_bvList.Sorter = null;
			m_bvList.TabStop = true;
			m_bvList.StyleSheet = m_stylesheet;
			m_bvList.Dock = DockStyle.Fill;
			this.Controls.Add(m_bvList);
			this.ResumeLayout(false);
		}
Пример #24
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Initializes a new instance of the <see cref="T:FindComboItem"/> class.
		/// </summary>
		/// <param name="tssName">Name of the TSS.</param>
		/// <param name="fsi">The fsi.</param>
		/// <param name="ws">The ws.</param>
		/// <param name="combo">The combo.</param>
		/// <param name="bv">The bv.</param>
		/// ------------------------------------------------------------------------------------
		public FindComboItem(ITsString tssName, FilterSortItem fsi, int ws, FwComboBox combo, BrowseViewer bv)
			: base(tssName, null, fsi)
		{
			m_ws = ws;
			m_combo = combo;
			m_bv = bv;
		}
Пример #25
0
		private void InitBrowseView(string guiControl, List<DummyCmObject> mergeCandidates)
		{
			XmlNode configurationParameters = (XmlNode)m_mediator.PropertyTable.GetValue("WindowConfiguration");
			XmlNode toolNode = configurationParameters.SelectSingleNode("controls/parameters/guicontrol[@id='" + guiControl + "']/parameters");

			const int kfakeFlid = 8999958;
			ObjectListPublisher sda = new ObjectListPublisher((ISilDataAccessManaged)m_cache.DomainDataByFlid , kfakeFlid);

			int[] hvos = (from obj in mergeCandidates select obj.Hvo).ToArray();
			for (int i = 0; i < mergeCandidates.Count; i++)
				m_candidates[mergeCandidates[i].Hvo] = mergeCandidates[i];
			sda.SetOwningPropInfo(WfiWordformTags.kClassId, "LangProject", "Options");
			sda.SetOwningPropValue(hvos);

			m_bvMergeOptions = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, ObjectListPublisher.OwningFlid, m_cache, m_mediator, null, sda);
			m_bvMergeOptions.StyleSheet = Common.Widgets.FontHeightAdjuster.StyleSheetFromMediator(m_mediator);
			m_bvMergeOptions.SelectedIndexChanged += m_bvMergeOptions_SelectedIndexChanged;
			m_bvMergeOptions.Dock = DockStyle.Fill;
			m_bvPanel.Controls.Add(m_bvMergeOptions);
		}
Пример #26
0
 ///  <summary>
 ///
 ///  </summary>
 ///  <param name="bv"></param>
 ///  <param name="spec"></param>
 ///  <param name="mediator"></param>
 /// <param name="propertyTable"></param>
 /// <param name="cache"></param>
 ///  <returns></returns>
 protected override BulkEditBar CreateBulkEditBar(BrowseViewer bv, XmlNode spec, Mediator mediator, PropertyTable propertyTable, LcmCache cache)
 {
     return(new BulkEditBarPhonologicalFeatures(bv, spec, mediator, propertyTable, cache));
 }
Пример #27
0
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType().Name + ". ****** ");
			// Must not be run more than once.
			if (IsDisposed)
				return;

			if ( disposing )
			{
				if (components != null)
				{
					components.Dispose();
				}
				m_listChoiceTargetCombo.SelectedIndexChanged -= new EventHandler(m_listChoiceTargetCombo_SelectedIndexChanged);
				m_previewButton.Click -= new EventHandler(m_previewButton_Click);
				m_ApplyButton.Click -= new EventHandler(m_ApplyButton_Click);
				m_closeButton.Click -= new EventHandler(m_closeButton_Click);
				m_operationsTabControl.Deselecting -= new TabControlCancelEventHandler(m_operationsTabControl_Deselecting);
				m_operationsTabControl.SelectedIndexChanged -= new EventHandler(m_operationsTabControl_SelectedIndexChanged);
				DisposeBulkEditItems();
			}
			m_beItems = null;
			m_mediator = null;
			m_bv = null;
			m_cache = null;

			base.Dispose( disposing );
		}
Пример #28
0
		public ManyOnePathSortItemReadWriter(FdoCache cache, XmlNode colSpec, BrowseViewer bv, IApp app)
			: base(cache.DomainDataByFlid)
		{
			m_cache = cache;
			m_colSpec = colSpec;
			m_bv = bv;
			m_app = app;
			EnsureFinder();
		}
Пример #29
0
		/// <summary/>
		public FakeXmlBrowseViewBase(BrowseViewer bv)
		{
			m_bv = bv;
			m_rootb = new FakeRootBox();
			((FakeRootBox)m_rootb).m_xmlBrowseViewBase = this;
		}
Пример #30
0
        protected override void SetupDataContext()
        {
            base.SetupDataContext();
            // Make sure our persisted sorter/filters are up to date so browse viewer
            // has the latest set for configuring/activating the filterBar
            bool fNeedReload = Clerk.UpdateFiltersAndSortersIfNeeded();
            // This is mainly to handle the possibility that one of our objects in a virtual
            // property has been deleted, either by some other tool, or by another client altogether.
            // Enhance: it would be very nice not to do this any time we can be sure it isn't needed.

            // The second 'true' here is to make it skip the sort.  The sort has to be skipped at this
            // point because our VC has been disposed, and we haven't made a new one yet.  The sort
            // will happen later in the sequence of Init when InitSorter is called

            int hvo = 0;

            if (Clerk.OwningObject != null)
            {
                hvo = Clerk.OwningObject.Hvo;
            }
            // We must update the list if needed BEFORE we create the actual view, otherwise, if it is trying
            // to display an out-of-date list containing deleted objects, all kinds of things may go wrong.
            if (XmlUtils.GetOptionalBooleanAttributeValue(m_configurationParameters, "forceReloadListOnInitOrChangeRoot", false))
            {
                m_propertyTable.SetProperty(Clerk.Id + "_AlwaysRecomputeVirtualOnReloadList", true, true);
                // (EricP) when called by RecordView.InitBase() in the context of ListUpdateHelper.ClearBrowseListUntilReload
                // the list does not get reloaded until ListUpdateHelper is disposed, but the views property
                // will get cleared to prevent these views from accessing invalid objects.
                Clerk.UpdateList(false, true);
            }

            m_browseViewer = CreateBrowseViewer(m_configurationParameters, hvo, m_fakeFlid, Cache,
                                                m_mediator, m_propertyTable,
                                                Clerk.SortItemProvider, Clerk.VirtualListPublisher);
            m_browseViewer.SortersCompatible += Clerk.AreSortersCompatible;
            // If possible make it use the style sheet appropriate for its main window.
            m_browseViewer.SuspendLayout();
            SetStyleSheet();
            m_browseViewer.Dock = DockStyle.Fill;
            RecordFilter linkFilter = m_browseViewer.FilterFromLink();

            SetupLinkScripture();
            if (linkFilter != null)
            {
                Clerk.OnChangeFilter(new FilterChangeEventArgs(linkFilter, Clerk.Filter));
            }
            if (Clerk.Filter != null && !Clerk.Filter.IsValid)
            {
                Clerk.ResetFilterToDefault();
            }
            m_browseViewer.UpdateFilterBar(Clerk.Filter);
            bool fSortChanged = m_browseViewer.InitSorter(Clerk.Sorter);             // true if we had to change sorter

            // Do this AFTER we init the sorter and filter, so if any changes are made to the
            // sorter or filter as we install, we still get the right load.
            if (fSortChanged)
            {
                HandleSortChange();
                // Keep the current index -- see LT-8755.
            }
            else
            {
                List <int> sortedCols = m_browseViewer.SortedColumns;
                Clerk.IsDefaultSort = sortedCols.Count > 0 && sortedCols[0] == m_browseViewer.DefaultSortColumn;
                // This won't actually load if in the context of UpdateListHelper()
                Clerk.UpdateList(true, fNeedReload);
            }
            // Do this very late, it can't display properly until its record list has been built and sorted.
            Controls.Add(m_browseViewer);
            m_browseViewer.BringToFront();
            m_browseViewer.ResumeLayout();
        }
Пример #31
0
		private void InitBrowseView(string guiControl, List<DummyCmObject> mergeCandidates)
		{
			XmlNode configurationParameters = (XmlNode)m_mediator.PropertyTable.GetValue("WindowConfiguration");
			XmlNode toolNode = configurationParameters.SelectSingleNode("controls/parameters/guicontrol[@id='" + guiControl + "']/parameters");

			m_fakeFlid = FdoCache.DummyFlid;
			IVwCacheDa cda = m_cache.MainCacheAccessor as IVwCacheDa;

			int[] hvos = new int[mergeCandidates.Count];
			for (int i = 0; i < mergeCandidates.Count; i++)
			{
				hvos[i] = mergeCandidates[i].Hvo;
				m_candidates[mergeCandidates[i].Hvo] = mergeCandidates[i];
			}

			cda.CacheVecProp(m_cache.LangProject.Hvo, m_fakeFlid, hvos, hvos.Length);
			m_bvMergeOptions = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, m_fakeFlid, m_cache, m_mediator, null);
			m_bvMergeOptions.StyleSheet = SIL.FieldWorks.Common.Widgets.FontHeightAdjuster.StyleSheetFromMediator(m_mediator);
			m_bvMergeOptions.SelectedIndexChanged += new System.EventHandler(this.m_bvMergeOptions_SelectedIndexChanged);
			m_bvMergeOptions.Dock = DockStyle.Fill;
			m_bvPanel.Controls.Add(m_bvMergeOptions);
		}
Пример #32
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Inits the specified node spec.
		/// </summary>
		/// <param name="nodeSpec">The node spec.</param>
		/// <param name="hvoRoot">The hvo root.</param>
		/// <param name="fakeFlid">The fake flid.</param>
		/// <param name="cache">The cache.</param>
		/// <param name="mediator">The mediator.</param>
		/// <param name="bv">The bv.</param>
		/// ------------------------------------------------------------------------------------
		public override void Init(XmlNode nodeSpec, int hvoRoot, int fakeFlid,
			FdoCache cache, Mediator mediator, BrowseViewer bv)
		{
			CheckDisposed();

			// Use the ones in fakeFlid, and any we create.
			base.Init(nodeSpec, hvoRoot, fakeFlid, cache, mediator, bv);
		}
		private void BuildInitialBrowseView(XCore.Mediator mediator)
		{

			XmlNode configurationParameters =
				(XmlNode)mediator.PropertyTable.GetValue("WindowConfiguration");
			XmlNode toolNode = configurationParameters.SelectSingleNode(
				"controls/parameters/guicontrol[@id='PhonologicalFeaturesFlatList']/parameters");
			m_listPanel.SuspendLayout();
			m_fakeFlid = FdoCache.DummyFlid;
			IVwCacheDa cda = m_cache.MainCacheAccessor as IVwCacheDa;
			int[] featureHvos = m_cache.LangProject.PhFeatureSystemOA.FeaturesOC.HvoArray;
			cda.CacheVecProp(m_cache.LangProject.Hvo, m_fakeFlid, featureHvos, featureHvos.Length);
			m_bvList = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, m_fakeFlid, m_cache, mediator, null);
			m_bvList.SelectionChanged += new FwSelectionChangedEventHandler(m_bvList_SelectionChanged);
			m_bvList.ScrollBar.ValueChanged += new EventHandler(ScrollBar_ValueChanged);
			m_bvList.Scroller.Scroll += new ScrollEventHandler(ScrollBar_Scroll);
			m_bvList.ColumnsChanged += new EventHandler(BrowseViewer_ColumnsChanged);
			m_bvList.Resize += new EventHandler(m_bvList_Resize);
			m_bvList.TabStop = true;
			m_bvList.StyleSheet = FontHeightAdjuster.StyleSheetFromMediator(mediator);
			m_bvList.Dock = DockStyle.Fill;
			m_bvList.BackColor = SystemColors.Window;
			m_listPanel.Controls.Add(m_bvList);
			m_listPanel.ResumeLayout(false);
		}
Пример #34
0
 /// <summary/>
 public FakeXmlBrowseViewBase(BrowseViewer bv)
 {
     m_bv    = bv;
     m_rootb = new FakeRootBox();
     ((FakeRootBox)m_rootb).m_xmlBrowseViewBase = this;
 }
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		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 )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			m_cache = null;
			m_fs = null;
			m_mediator = null;
			m_cache = null;
			m_bvList = null;
			m_valuesCombo = null;

			base.Dispose( disposing );
		}
Пример #36
0
		public ManyOnePathSortItemReadWriter(FdoCache cache, XmlNode colSpec, BrowseViewer bv)
			: base (cache.MainCacheAccessor)
		{
			m_cache = cache;
			m_colSpec = colSpec;
			m_bv = bv;
			EnsureFinder();
		}
Пример #37
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Initializes a new instance of the <see cref="T:FilterBar"/> class.
		/// </summary>
		/// <param name="bv">The bv.</param>
		/// <param name="spec">The spec.</param>
		/// ------------------------------------------------------------------------------------
		public FilterBar(BrowseViewer bv, XmlNode spec)
		{
			m_bv = bv;
			m_columns = m_bv.ColumnSpecs;

			m_cache = bv.Cache;
			m_mdc = m_cache.MetaDataCacheAccessor;
			m_sda = m_cache.MainCacheAccessor;
			m_wsf = m_sda.WritingSystemFactory;
			m_userWs = m_cache.DefaultUserWs;

			// Store the standard font height for use in SetStyleSheet
			Font tempFont = new Font("Times New Roman", (float)10.0);
			m_stdFontHeight = tempFont.Height;

			// This light grey background shows through for any columns where we don't have a combo
			// because we can't figure a IStringFinder from the XmlParameters.
			this.BackColor = Color.FromKnownColor(KnownColor.ControlLight);
			MakeItems();
			this.AccessibilityObject.Name = "FilterBar";
		}
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Create one
		/// </summary>
		/// <param name="bv">The BrowseViewer that it is part of.</param>
		/// <param name="spec">The parameters element of the BV, containing the
		/// 'columns' elements that specify the BE bar (among other things).</param>
		/// <param name="mediator">The mediator.</param>
		/// <param name="cache">The cache.</param>
		/// ------------------------------------------------------------------------------------
		public BulkEditBarPhonologicalFeatures(BrowseViewer bv, XmlNode spec, Mediator mediator, FdoCache cache) :
			base(bv, spec, mediator, cache)
		{
			m_operationsTabControl.Controls.Remove(BulkCopyTab);
			m_operationsTabControl.Controls.Remove(ClickCopyTab);
			m_operationsTabControl.Controls.Remove(FindReplaceTab);
			m_operationsTabControl.Controls.Remove(TransduceTab);
			m_operationsTabControl.Controls.Remove(DeleteTab);
			if (m_listChoiceControl != null)
				m_listChoiceControl.Text = "";
			EnablePreviewApplyForListChoice();
		}
		private void BuildInitialBrowseView(Mediator mediator)
		{
			var configurationParameters = (XmlNode)mediator.PropertyTable.GetValue("WindowConfiguration");
			XmlNode toolNode = configurationParameters.SelectSingleNode(
				"controls/parameters/guicontrol[@id='PhonologicalFeaturesFlatList']/parameters");

			m_listPanel.SuspendLayout();
			var sortedFeatureHvos = from s in m_cache.LangProject.PhFeatureSystemOA.FeaturesOC
								 orderby s.Name.BestAnalysisAlternative.Text
								 select s.Hvo;
			int[] featureHvos = sortedFeatureHvos.ToArray();
			m_sda.CacheVecProp(m_cache.LangProject.Hvo, featureHvos);
			m_bvList = new BrowseViewer(toolNode, m_cache.LangProject.Hvo, PhonologicalFeaturePublisher.ListFlid, m_cache, mediator, null, m_sda);
			m_bvList.SelectionChanged += m_bvList_SelectionChanged;
			m_bvList.ScrollBar.ValueChanged += ScrollBar_ValueChanged;
			m_bvList.Scroller.Scroll += ScrollBar_Scroll;
			m_bvList.ColumnsChanged += BrowseViewer_ColumnsChanged;
			m_bvList.Resize += m_bvList_Resize;
			m_bvList.TabStop = true;
			m_bvList.StyleSheet = FontHeightAdjuster.StyleSheetFromMediator(mediator);
			m_bvList.Dock = DockStyle.Fill;
			m_bvList.BackColor = SystemColors.Window;
			m_listPanel.Controls.Add(m_bvList);
			m_listPanel.ResumeLayout(false);
		}
		/// <summary>
		///
		/// </summary>
		/// <param name="bv"></param>
		/// <param name="spec"></param>
		/// <param name="mediator"></param>
		/// <param name="cache"></param>
		/// <returns></returns>
		protected override BulkEditBar CreateBulkEditBar(BrowseViewer bv, XmlNode spec, Mediator mediator, FdoCache cache)
		{
			return new BulkEditBarPhonologicalFeatures(bv, spec, mediator, cache);
		}
Пример #41
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Inits the specified node spec.
		/// </summary>
		/// <param name="nodeSpec">The node spec.</param>
		/// <param name="hvoRoot">The hvo root.</param>
		/// <param name="fakeFlid">The fake flid.</param>
		/// <param name="cache">The cache.</param>
		/// <param name="mediator">The mediator.</param>
		/// <param name="bv">The bv. Also used to set SortItemProvider</param>
		/// ------------------------------------------------------------------------------------
		public virtual void Init(XmlNode nodeSpec, int hvoRoot, int fakeFlid,
			FdoCache cache, Mediator mediator, BrowseViewer bv)
		{
			CheckDisposed();

			Debug.Assert((m_selectedIndex == -1), "Cannot set the index to less than zero before initializing.");
			Debug.Assert(m_nodeSpec == null || m_nodeSpec == nodeSpec, "XmlBrowseViewBase.Init: Mismatched configuration parameters.");

			m_hvoRoot = hvoRoot;
			m_fakeFlid = fakeFlid;
			if (m_nodeSpec == null)
				m_nodeSpec = nodeSpec;
			m_bv = bv;
			StringTbl = mediator.StringTbl;
			m_mediator = mediator;
			m_fdoCache = cache;
			m_sda = m_bv.SpecialCache;
			// This is usually done in MakeRoot, but we need it to exist right from the start
			// because right after we make this window we use info from the VC to help make
			// the column headers.
			if (bv != null)
				m_sortItemProvider = bv.SortItemProvider;
			m_xbvvc = Vc;
			string sDefaultCursor = XmlUtils.GetOptionalAttributeValue(nodeSpec,
				"defaultCursor", null);
			// Set a default cursor for a ReadOnly view, if none is given.
			if (sDefaultCursor == null && ReadOnlySelect)
				sDefaultCursor = "Arrow";
			if (sDefaultCursor != null)
			{
				switch (sDefaultCursor)
				{
					case "IBeam":
						EditingHelper.DefaultCursor = Cursors.IBeam;
						break;
					case "Hand":
						EditingHelper.DefaultCursor = Cursors.Hand;
						break;
					case "Arrow":
						EditingHelper.DefaultCursor = Cursors.Arrow;
						break;
					case "Cross":
						EditingHelper.DefaultCursor = Cursors.Cross;
						break;
				}
			}
		}
Пример #42
0
			internal BulkEditBarForTests(BrowseViewer bv, XmlNode spec, Mediator mediator, FdoCache cache)
				: base(bv, spec, mediator, cache)
			{
				Form mainWindow = (Form)mediator.PropertyTable.GetValue("window") as Form;
				m_wnd = mainWindow as MockFwXWindow;
			}
Пример #43
0
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		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)
			{
				if (m_bv != null && !m_bv.IsDisposed && m_bv.SpecialCache != null)
					m_bv.SpecialCache.RemoveNotification(this);
			}

			base.Dispose(disposing);

			if( disposing )
			{
				if (components != null)
				{
					components.Dispose();
				}
				if (m_bv != null && !m_bv.IsDisposed)
					m_bv.Dispose();
			}
			m_xbvvc = null;
			m_nodeSpec = null;
			m_stringTable = null;
			m_bv = null;
		}
Пример #44
0
		//public const int kDoitHeight = 20;

		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Create one
		/// </summary>
		/// <param name="bv">The BrowseViewer that it is part of.</param>
		/// <param name="spec">The parameters element of the BV, containing the
		/// 'columns' elements that specify the BE bar (among other things).</param>
		/// <param name="mediator">The mediator.</param>
		/// <param name="cache">The cache.</param>
		/// ------------------------------------------------------------------------------------
		public BulkEditBar(BrowseViewer bv, XmlNode spec, Mediator mediator, FdoCache cache)
			: this()
		{
			m_mediator = mediator;
			m_bv = bv;
			m_bv.FilterChanged += BrowseViewFilterChanged;
			m_bv.RefreshCompleted += BrowseViewSorterChanged;
			m_cache = cache;
			m_configurationNode = spec;
			// (EricP) we should probably try find someway to get these classes from the RecordClerk/List
			string bulkEditListItemsClassesValue = XmlUtils.GetManditoryAttributeValue(spec, "bulkEditListItemsClasses");
			string[] bulkEditListItemsClasses = bulkEditListItemsClassesValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
			foreach (string className in bulkEditListItemsClasses)
			{
				int classId = cache.MetaDataCacheAccessor.GetClassId(className);
				m_bulkEditListItemsClasses.Add((int)classId);
			}
			// get any fields that have ghosts we may want to edit (see also "ghostListField" in columnSpecs)
			string bulkEditListItemsGhostFieldsValue = XmlUtils.GetOptionalAttributeValue(spec, "bulkEditListItemsGhostFields");
			if (!String.IsNullOrEmpty(bulkEditListItemsGhostFieldsValue))
			{
				string[] bulkEditListItemsGhostFields = bulkEditListItemsGhostFieldsValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
				foreach (string classAndField in bulkEditListItemsGhostFields)
					m_bulkEditListItemsGhostFields.Add(GhostParentHelper.Create(m_cache.ServiceLocator, classAndField));
			}
			MakeItems();

			m_sBulkDeleteIfZero = XmlUtils.GetOptionalAttributeValue(spec, "bulkDeleteIfZero");
			this.AccessibilityObject.Name = "BulkEditBar";

			m_listChoiceTargetCombo.SelectedIndexChanged += new EventHandler(m_listChoiceTargetCombo_SelectedIndexChanged);

			// Finish init of the FwTextBox
			m_clickCopySepBox.WritingSystemFactory = m_cache.WritingSystemFactory;
			m_clickCopySepBox.WritingSystemCode = m_cache.ServiceLocator.WritingSystems.DefaultAnalysisWritingSystem.Handle;
			m_clickCopySepBox.Text = " "; // default (maybe should persist?)
			m_clickCopySepBox.GotFocus += new EventHandler(m_clickCopySepBox_GotFocus);

			// Add NonBlankTargetControl as needed.
			m_bcNonEmptyTargetControl = new NonEmptyTargetControl();
			m_bcNonEmptyTargetControl.WritingSystemFactory = m_cache.WritingSystemFactory;
			m_bcNonEmptyTargetControl.Separator = " "; // persist?
			// Set WritingSystemCode when destination field is set
			m_bcNonEmptyTargetControl.Location = new Point(170, 50);
			m_bcNonEmptyTargetControl.Name = "m_bcNonEmptyTargetControl";
			// Its size should be correctly preset.
			// todo: give it a tab stop.
			m_bulkCopyTab.Controls.Add(m_bcNonEmptyTargetControl);
			m_bulkCopyTargetCombo.SelectedIndexChanged += new EventHandler(m_bulkCopyTargetCombo_SelectedIndexChanged);

			// And for the transduce tab...  (Process Tab)
			m_trdNonEmptyTargetControl = new NonEmptyTargetControl();
			m_trdNonEmptyTargetControl.WritingSystemFactory = m_cache.WritingSystemFactory;
			m_trdNonEmptyTargetControl.Separator = " "; // persist?
			// Set WritingSystemCode when destination field is set
			m_trdNonEmptyTargetControl.Location = new Point(170, 50);
			m_trdNonEmptyTargetControl.Name = "m_trdNonEmptyTargetControl";
			// Its size should be correctly preset.
			// todo: give it a tab stop.
			m_transduceTab.Controls.Add(m_trdNonEmptyTargetControl);
			m_transduceTargetCombo.SelectedIndexChanged += new EventHandler(m_transduceTargetCombo_SelectedIndexChanged);
			m_enableBulkEditTabsNode = XmlUtils.FindNode(spec, "enableBulkEditTabs");
			if (m_enableBulkEditTabsNode != null)
			{
				m_bulkCopyTab.Enabled = XmlUtils.GetOptionalBooleanAttributeValue(m_enableBulkEditTabsNode, "enableBEBulkCopy", true);
				m_clickCopyTab.Enabled = XmlUtils.GetOptionalBooleanAttributeValue(m_enableBulkEditTabsNode, "enableBEClickCopy", true);
				m_transduceTab.Enabled = XmlUtils.GetOptionalBooleanAttributeValue(m_enableBulkEditTabsNode, "enableBEProcess", true);
				m_findReplaceTab.Enabled = XmlUtils.GetOptionalBooleanAttributeValue(m_enableBulkEditTabsNode, "enableBEFindReplace", true);
				m_deleteTab.Enabled = XmlUtils.GetOptionalBooleanAttributeValue(m_enableBulkEditTabsNode, "enableBEOther", true);
			}
			else
			{
				m_bulkCopyTab.Enabled =
					m_clickCopyTab.Enabled = m_transduceTab.Enabled =
					m_findReplaceTab.Enabled = m_deleteTab.Enabled = true;
			}

			m_operationsTabControl.SelectedIndexChanged += new EventHandler(m_operationsTabControl_SelectedIndexChanged);
			m_operationsTabControl.Deselecting += new TabControlCancelEventHandler(m_operationsTabControl_Deselecting);

			BulkCopyTabPageSettings.TrySwitchToLastSavedTab(this);
			// events like SelectedIndexChanged do not fire until after initialization,
			// so do it explicitly here now.
			m_operationsTabControl_SelectedIndexChanged(null, new EventArgs());
			m_setupOrRestoredBulkEditBarTab = true;

			m_previewButton.Click += new EventHandler(m_previewButton_Click);
			m_ApplyButton.Click += new EventHandler(m_ApplyButton_Click);
			m_closeButton.Click += new EventHandler(m_closeButton_Click);

			m_findReplaceSummaryLabel.WritingSystemFactory = m_cache.WritingSystemFactory;
		}
Пример #45
0
		private void CreateBrowseViewer(XmlNode configNode, IWritingSystem reversalWs)
		{
			m_listPublisher = new ObjectListPublisher(m_cache.DomainDataByFlid as ISilDataAccessManaged, ListFlid);
			m_bvMatches = new BrowseViewer(configNode, m_cache.LanguageProject.LexDbOA.Hvo, ListFlid, m_cache, m_mediator,
				null, m_listPublisher);
			m_bvMatches.SuspendLayout();
			m_bvMatches.Location = new Point(0, 0);
			m_bvMatches.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
			m_bvMatches.Name = "m_bvMatches";
			m_bvMatches.Sorter = null;
			m_bvMatches.TabStop = false;
			m_bvMatches.StyleSheet = m_stylesheet;
			m_bvMatches.Dock = DockStyle.Fill;
			if (reversalWs != null)
				m_bvMatches.BrowseView.Vc.ReversalWs = reversalWs.Handle;
			m_bvMatches.SelectionChanged += m_bvMatches_SelectionChanged;
			m_bvMatches.SelectionMade += m_bvMatches_SelectionMade;
			UpdateVisibleColumns();
			Controls.Add(m_bvMatches);
			m_bvMatches.ResumeLayout();
			m_bvMatches.ColumnsChanged += m_bvMatches_ColumnsChanged;
		}
Пример #46
0
		//int flidAtomicProp, int hvoList, int ws, bool useAbbr
		public MorphTypeChooserBEditControl(int flid, int subflid, int hvoList, int ws, BrowseViewer viewer)
			: base(subflid, hvoList, ws, false)
		{
			m_flidParent = flid;
			m_containingViewer = viewer;
		}
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType().Name + ". ****** ");
			// Must not be run more than once.
			if (IsDisposed)
				return;

			if (disposing)
			{
				if (m_helpProvider != null)
					m_helpProvider.Dispose();
			}
			m_cache = null;
			m_fs = null;
			m_ctxt = null;
			m_mediator = null;
			m_cache = null;
			m_bvList = null;
			m_valuesCombo = null;

			base.Dispose( disposing );
		}
Пример #48
0
		/// <summary/>
		protected virtual void Dispose(bool fDisposing)
		{
			Debug.WriteLineIf(!fDisposing, "****** Missing Dispose() call for " + GetType() + " *******");
			if (fDisposing && !IsDisposed)
			{
				// dispose managed and unmanaged objects
				var disposable = m_finder as IDisposable;
				if (disposable != null)
					disposable.Dispose();
			}
			m_finder = null;
			m_cache = null;
			m_colSpec = null;
			m_bv = null;
			m_app = null;
			IsDisposed = true;
		}
Пример #49
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Releases the unmanaged resources used by the <see cref="T:System.Windows.Forms.ListView"/> and optionally releases the managed resources.
		/// </summary>
		/// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
		/// ------------------------------------------------------------------------------------
		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)
			{
				if (m_configDisplayTimer != null)
				{
					m_configDisplayTimer.Stop();
					m_configDisplayTimer.Tick -= new EventHandler(m_configDisplayTimer_Tick);
					m_configDisplayTimer.Dispose();
				}
				if (m_checkMarkButton != null)
				{
					m_checkMarkButton.Click -= new EventHandler(m_checkMarkButton_Click);
					if (!Controls.Contains(m_checkMarkButton))
						m_checkMarkButton.Dispose();
				}
				if (m_imgList != null)
					m_imgList.Dispose();
			}
			m_configDisplayTimer = null;
			m_imgList = null;
			m_checkMarkButton = null;
			m_bv = null;

			base.Dispose (disposing);
		}
Пример #50
0
 /// <summary/>
 public FakeDhListView(BrowseViewer bv) : base(bv)
 {
 }
Пример #51
0
			/// <summary>
			///
			/// </summary>
			/// <param name="bv"></param>
			/// <param name="spec"></param>
			/// <param name="mediator"></param>
			/// <param name="cache"></param>
			/// <returns></returns>
			protected override BulkEditBar CreateBulkEditBar(BrowseViewer bv, XmlNode spec, Mediator mediator, FdoCache cache)
			{
				return new BulkEditBarForTests(bv, spec, mediator, cache);
			}
Пример #52
0
		/// <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.
				foreach (Control ctl in Controls)
				{
					if (ctl is FwComboBox)
					{
						FwComboBox combo = ctl as FwComboBox;
						combo.SelectedIndexChanged -= new EventHandler(Combo_SelectedIndexChanged);
						foreach (Object obj in combo.Items)
						{
							if (obj is IDisposable)
								(obj as IDisposable).Dispose();
						}
						combo.Items.Clear();
					}
				}
				foreach (FilterSortItem fsi in m_items)
				{
					fsi.FilterChanged -= new FilterChangeHandler(this.FilterChangedHandler);
					fsi.Dispose();
				}
			}

			// Dispose unmanaged resources here, whether disposing is true or false.
			m_bv = null; // Parent window.
			m_cache = null;
			m_columns = null; // Client needs to deal with the columns.
			m_items = null;
			m_mdc = null;
			m_sda = null;
			m_wsf = null;

			// This will handle any controls that are in the Controls property.
			base.Dispose(disposing);
		}
Пример #53
0
		private void CreateBrowseViewer()
		{
			m_fakeFlid = Clerk.VirtualFlid;
			m_bvMatches = new SIL.FieldWorks.Common.Controls.BrowseViewer(m_configNode,
				m_cache.LangProject.LexDbOAHvo, m_fakeFlid, m_cache, m_mediator, Clerk.SortItemProvider);
			m_bvMatches.SuspendLayout();
			m_bvMatches.Location = new Point(0, 0);
			m_bvMatches.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
			m_bvMatches.Name = "m_bv";
			m_bvMatches.Sorter = null;
			m_bvMatches.TabStop = false;
			m_bvMatches.StyleSheet = m_stylesheet;
			m_bvMatches.Dock = DockStyle.Fill;
			m_bvMatches.SelectionChanged += new FwSelectionChangedEventHandler(m_bvMatches_SelectionChanged);
			m_bvMatches.SelectionMade += new FwSelectionChangedEventHandler(m_bvMatches_SelectionMade);
			m_bvMatches.BrowseView.KeyDown += new KeyEventHandler(BrowseView_KeyDown);
			this.Controls.Add(m_bvMatches);
			m_bvMatches.ResumeLayout();
		}