Inheritance: ComplexConcLeafNode
Ejemplo n.º 1
0
        public bool OnPatternNodeSetCriteria(object args)
        {
            CheckDisposed();
            ComplexConcPatternNode[] nodes = CurrentNodes;

            ComplexConcWordNode wordNode = nodes[0] as ComplexConcWordNode;
            var xwindow = m_propertyTable.GetValue <XWindow>("window");

            if (wordNode != null)
            {
                using (ComplexConcWordDlg dlg = new ComplexConcWordDlg())
                {
                    dlg.SetDlgInfo(m_cache, m_mediator, m_propertyTable, wordNode);
                    if (dlg.ShowDialog(xwindow) == DialogResult.Cancel)
                    {
                        return(true);
                    }
                }
            }
            else
            {
                ComplexConcMorphNode morphNode = nodes[0] as ComplexConcMorphNode;
                if (morphNode != null)
                {
                    using (ComplexConcMorphDlg dlg = new ComplexConcMorphDlg())
                    {
                        dlg.SetDlgInfo(m_cache, m_mediator, m_propertyTable, morphNode);
                        if (dlg.ShowDialog(xwindow) == DialogResult.Cancel)
                        {
                            return(true);
                        }
                    }
                }
                else
                {
                    ComplexConcTagNode tagNode = nodes[0] as ComplexConcTagNode;
                    if (tagNode != null)
                    {
                        using (ComplexConcTagDlg dlg = new ComplexConcTagDlg())
                        {
                            dlg.SetDlgInfo(m_cache, m_mediator, m_propertyTable, tagNode);
                            if (dlg.ShowDialog(xwindow) == DialogResult.Cancel)
                            {
                                return(true);
                            }
                        }
                    }
                }
            }

            ReconstructView(nodes[0], false);
            return(true);
        }
Ejemplo n.º 2
0
		public void SetDlgInfo(FdoCache cache, Mediator mediator, ComplexConcTagNode node)
		{
			m_cache = cache;
			m_mediator = mediator;
			m_node = node;

			m_tagComboBox.WritingSystemFactory = m_cache.LanguageWritingSystemFactoryAccessor;

			m_posPopupTreeManager = new PossibilityComboController(m_tagComboBox,
									m_cache,
									m_cache.LanguageProject.TextMarkupTagsOA,
									m_cache.ServiceLocator.WritingSystems.DefaultAnalysisWritingSystem.Handle,
									false,
									m_mediator,
									(Form) m_mediator.PropertyTable.GetValue("window"));

			m_posPopupTreeManager.LoadPopupTree(m_node.Tag != null ? m_node.Tag.Hvo : 0);

			m_helpTopicProvider = m_mediator.HelpTopicProvider;

			m_helpProvider.HelpNamespace = m_helpTopicProvider.HelpFile;
			m_helpProvider.SetHelpKeyword(this, m_helpTopicProvider.GetHelpString(s_helpTopic));
			m_helpProvider.SetHelpNavigator(this, HelpNavigator.Topic);
		}
Ejemplo n.º 3
0
        public void SetDlgInfo(LcmCache cache, Mediator mediator, PropertyTable propertyTable, ComplexConcTagNode node)
        {
            m_cache = cache;
            m_node  = node;

            m_tagComboBox.WritingSystemFactory = m_cache.LanguageWritingSystemFactoryAccessor;

            m_posPopupTreeManager = new PossibilityComboController(m_tagComboBox,
                                                                   m_cache,
                                                                   m_cache.LanguageProject.TextMarkupTagsOA,
                                                                   m_cache.ServiceLocator.WritingSystems.DefaultAnalysisWritingSystem.Handle,
                                                                   false,
                                                                   mediator,
                                                                   propertyTable,
                                                                   propertyTable.GetValue <Form>("window"));

            m_posPopupTreeManager.LoadPopupTree(m_node.Tag != null ? m_node.Tag.Hvo : 0);

            m_helpTopicProvider = propertyTable.GetValue <IHelpTopicProvider>("HelpTopicProvider");

            m_helpProvider.HelpNamespace = m_helpTopicProvider.HelpFile;
            m_helpProvider.SetHelpKeyword(this, m_helpTopicProvider.GetHelpString(s_helpTopic));
            m_helpProvider.SetHelpNavigator(this, HelpNavigator.Topic);
        }
Ejemplo n.º 4
0
		private void m_insertControl_Insert(object sender, InsertEventArgs e)
		{
			ComplexConcPatternNode node = null;
			switch (((InsertOption) e.Option).Type)
			{
				case ComplexConcordanceInsertType.Morph:
					using (ComplexConcMorphDlg dlg = new ComplexConcMorphDlg())
					{
						ComplexConcMorphNode morphNode = new ComplexConcMorphNode();
						dlg.SetDlgInfo(m_cache, m_mediator, morphNode);
						if (dlg.ShowDialog((XWindow) m_mediator.PropertyTable.GetValue("window")) == DialogResult.OK)
							node = morphNode;
					}
					break;

				case ComplexConcordanceInsertType.Word:
					using (ComplexConcWordDlg dlg = new ComplexConcWordDlg())
					{
						ComplexConcWordNode wordNode = new ComplexConcWordNode();
						dlg.SetDlgInfo(m_cache, m_mediator, wordNode);
						if (dlg.ShowDialog((XWindow) m_mediator.PropertyTable.GetValue("window")) == DialogResult.OK)
							node = wordNode;
					}
					break;

				case ComplexConcordanceInsertType.TextTag:
					using (ComplexConcTagDlg dlg = new ComplexConcTagDlg())
					{
						ComplexConcTagNode tagNode = new ComplexConcTagNode();
						dlg.SetDlgInfo(m_cache, m_mediator, tagNode);
						if (dlg.ShowDialog((XWindow) m_mediator.PropertyTable.GetValue("window")) == DialogResult.OK)
							node = tagNode;
					}
					break;

				case ComplexConcordanceInsertType.Or:
					node = new ComplexConcOrNode();
					break;

				case ComplexConcordanceInsertType.WordBoundary:
					node = new ComplexConcWordBdryNode();
					break;
			}

			m_view.Select();

			if (node == null)
				return;

			SelectionHelper sel = SelectionHelper.Create(m_view);

			ComplexConcPatternNode parent;
			int index;
			GetInsertionIndex(sel, out parent, out index);
			// if the current selection is a range remove the items we are overwriting
			if (sel.IsRange)
			{
				foreach (ComplexConcPatternNode n in CurrentNodes)
					n.Parent.Children.Remove(n);
			}

			parent.Children.Insert(index, node);
			ReconstructView(parent, index, false);
		}
Ejemplo n.º 5
0
        private void m_insertControl_Insert(object sender, InsertEventArgs e)
        {
            ComplexConcPatternNode node = null;

            switch (((InsertOption)e.Option).Type)
            {
            case ComplexConcordanceInsertType.Morph:
                using (ComplexConcMorphDlg dlg = new ComplexConcMorphDlg())
                {
                    ComplexConcMorphNode morphNode = new ComplexConcMorphNode();
                    dlg.SetDlgInfo(m_cache, m_mediator, morphNode);
                    if (dlg.ShowDialog((XWindow)m_mediator.PropertyTable.GetValue("window")) == DialogResult.OK)
                    {
                        node = morphNode;
                    }
                }
                break;

            case ComplexConcordanceInsertType.Word:
                using (ComplexConcWordDlg dlg = new ComplexConcWordDlg())
                {
                    ComplexConcWordNode wordNode = new ComplexConcWordNode();
                    dlg.SetDlgInfo(m_cache, m_mediator, wordNode);
                    if (dlg.ShowDialog((XWindow)m_mediator.PropertyTable.GetValue("window")) == DialogResult.OK)
                    {
                        node = wordNode;
                    }
                }
                break;

            case ComplexConcordanceInsertType.TextTag:
                using (ComplexConcTagDlg dlg = new ComplexConcTagDlg())
                {
                    ComplexConcTagNode tagNode = new ComplexConcTagNode();
                    dlg.SetDlgInfo(m_cache, m_mediator, tagNode);
                    if (dlg.ShowDialog((XWindow)m_mediator.PropertyTable.GetValue("window")) == DialogResult.OK)
                    {
                        node = tagNode;
                    }
                }
                break;

            case ComplexConcordanceInsertType.Or:
                node = new ComplexConcOrNode();
                break;

            case ComplexConcordanceInsertType.WordBoundary:
                node = new ComplexConcWordBdryNode();
                break;
            }

            m_view.Select();

            if (node == null)
            {
                return;
            }

            SelectionHelper sel = SelectionHelper.Create(m_view);

            ComplexConcPatternNode parent;
            int index;

            GetInsertionIndex(sel, out parent, out index);
            // if the current selection is a range remove the items we are overwriting
            if (sel.IsRange)
            {
                foreach (ComplexConcPatternNode n in CurrentNodes)
                {
                    n.Parent.Children.Remove(n);
                }
            }

            parent.Children.Insert(index, node);
            ReconstructView(parent, index, false);
        }