/// <summary>
        /// Set all controls to appropriate states for the current list selections.
        /// </summary>
        void EnableControls()
        {
            addButton.Enabled = optionsList.SelectedIndex >= 0;
            // We could use OkToRemove here, but we'd rather be able to display the message
            // if there is some reason not to.
            int listIndex = CurrentListIndex;

            removeButton.Enabled   = listIndex >= 0;           //Enhance: && m_choices.OkToRemove(listIndex);
            moveDownButton.Enabled = listIndex >= 0 && m_choices.OkToMoveDown(listIndex);
            moveUpButton.Enabled   = listIndex >= 0 && m_choices.OkToMoveUp(listIndex);
            UpdateWsComboValue();
            wsCombo.Enabled = listIndex >= 0 && m_choices.OkToChangeWritingSystem(listIndex);
        }
Ejemplo n.º 2
0
        public void MoveUp()
        {
            InterlinLineChoices choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis);

            // To make it less confusing, here we add them in an order that does not produce
            // reordering.
            MakeStandardState(choices);

            // lit trans can move up
            Assert.IsFalse(choices.OkToMoveUp(0));            // words line already at toop
            Assert.IsTrue(choices.OkToMoveUp(1));             // non-edit, morphemes can move up, group goes too.
            Assert.IsTrue(choices.OkToMoveUp(2));
            Assert.IsTrue(choices.OkToMoveUp(3));
            Assert.IsTrue(choices.OkToMoveUp(4));
            Assert.IsTrue(choices.OkToMoveUp(5));             // will move past whole morph bundle
            Assert.IsTrue(choices.OkToMoveUp(6));
            Assert.IsFalse(choices.OkToMoveUp(7));            // free can't go anywhere
            Assert.IsTrue(choices.OkToMoveUp(8));

            choices.MoveUp(1);
            // morphemes is now top
            Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[0].Flid);
            // Word moved down to position 4
            Assert.AreEqual(InterlinLineChoices.kflidWord, choices[4].Flid);
            // Lex Gloss (to pick just one) also moved up
            Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid);

            choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis);
            MakeStandardState(choices);
            choices.MoveUp(2);
            // nothing complicated, two items changed place.
            Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[1].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid);

            choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis);
            MakeStandardState(choices);
            choices.MoveUp(3);
            // nothing complicated, two items changed place.
            Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid);


            choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis);
            MakeStandardState(choices);
            choices.MoveUp(5);
            // Moves past whole morpheme bundle
            Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[1].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid);

            choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis);
            MakeStandardState(choices);
            choices.MoveUp(6);
            // nothing complicated, two items changed place.
            Assert.AreEqual(InterlinLineChoices.kflidWordPos, choices[5].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[6].Flid);

            choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis);
            MakeStandardState(choices);
            choices.MoveUp(8);
            // nothing complicated, two items changed place.
            Assert.AreEqual(InterlinLineChoices.kflidLitTrans, choices[7].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidFreeTrans, choices[8].Flid);
        }
Ejemplo n.º 3
0
		public void MoveUp()
		{
			InterlinLineChoices choices = new InterlinLineChoices(0, kwsAnalysis);
			// To make it less confusing, here we add them in an order that does not produce
			// reordering.
			MakeStandardState(choices);

			// lit trans can move up
			Assert.IsFalse(choices.OkToMoveUp(0)); // words line already at toop
			Assert.IsTrue(choices.OkToMoveUp(1)); // non-edit, morphemes can move up, group goes too.
			Assert.IsTrue(choices.OkToMoveUp(2));
			Assert.IsTrue(choices.OkToMoveUp(3));
			Assert.IsTrue(choices.OkToMoveUp(4));
			Assert.IsTrue(choices.OkToMoveUp(5)); // will move past whole morph bundle
			Assert.IsTrue(choices.OkToMoveUp(6));
			Assert.IsFalse(choices.OkToMoveUp(7)); // free can't go anywhere
			Assert.IsTrue(choices.OkToMoveUp(8));

			choices.MoveUp(1);
			// morphemes is now top
			Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[0].Flid);
			// Word moved down to position 4
			Assert.AreEqual(InterlinLineChoices.kflidWord, choices[4].Flid);
			// Lex Gloss (to pick just one) also moved up
			Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid);

			choices = new InterlinLineChoices(0, kwsAnalysis);
			MakeStandardState(choices);
			choices.MoveUp(2);
			// nothing complicated, two items changed place.
			Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[1].Flid);
			Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid);

			choices = new InterlinLineChoices(0, kwsAnalysis);
			MakeStandardState(choices);
			choices.MoveUp(3);
			// nothing complicated, two items changed place.
			Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid);
			Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid);


			choices = new InterlinLineChoices(0, kwsAnalysis);
			MakeStandardState(choices);
			choices.MoveUp(5);
			// Moves past whole morpheme bundle
			Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[1].Flid);
			Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid);
			Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid);

			choices = new InterlinLineChoices(0, kwsAnalysis);
			MakeStandardState(choices);
			choices.MoveUp(6);
			// nothing complicated, two items changed place.
			Assert.AreEqual(InterlinLineChoices.kflidWordPos, choices[5].Flid);
			Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[6].Flid);

			choices = new InterlinLineChoices(0, kwsAnalysis);
			MakeStandardState(choices);
			choices.MoveUp(8);
			// nothing complicated, two items changed place.
			Assert.AreEqual(InterlinLineChoices.kflidLitTrans, choices[7].Flid);
			Assert.AreEqual(InterlinLineChoices.kflidFreeTrans, choices[8].Flid);
		}