Example #1
0
        private void FrmReplaceBox_Shown(object sender, EventArgs e)
        {
            ac.Document.GetSelection(out int st, out int ed);
            searchAnchorIndex = st;
            select.Begin      = st;
            select.End        = ed;

            if (ed != st)
            {
                ac.Document.Mark(st, ed, 3);
            }
            ac.SetSelection(st, st);
        }
Example #2
0
        private void AzukiControl_DragOver(object sender, DragEventArgs e)
        {
            //ドラッグされているデータがfileか調べる
            if (!e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.None;
                return;
            }

            string[] source = (string[])e.Data.GetData(DataFormats.FileDrop);

            if (!CanMoveFiles(source))
            {
                e.Effect = DragDropEffects.None;
                return;
            }

            DragDropEffects efc = DragDropEffects.Move;

            //shift または ctrl が押されている場合はmove
            if ((e.KeyState & (8 + 4)) != 0)
            {
                if (CanDropFilesToEditor(source))
                {
                    efc = DragDropEffects.Copy;
                    int index = azukiControl.GetIndexFromPosition(azukiControl.PointToClient(new Point(e.X, e.Y)));
                    //int lin;
                    //int col;
                    //azukiControl.GetLineColumnIndexFromCharIndex(index,out lin,out col);
                    azukiControl.SetSelection(index, index);
                    //Console.WriteLine("{0} Line:{1} Column:{2}", index,lin,col);
                }
                else
                {
                    efc = DragDropEffects.None;
                }
            }

            e.Effect = efc;
        }
Example #3
0
        public void Right()
        {
            var view = _Azuki.View as IViewInternal;

            // EOL
            _Azuki.Text = "a\rb\nc\r\nd";
            _Azuki.SetSelection(0, 0);
            Assert.AreEqual(1, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(1, 1);
            Assert.AreEqual(2, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(2, 2);
            Assert.AreEqual(3, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(3, 3);
            Assert.AreEqual(4, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(4, 4);
            Assert.AreEqual(5, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(5, 5);
            Assert.AreEqual(7, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(7, 7);
            Assert.AreEqual(8, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(8, 8);
            Assert.AreEqual(8, CaretMoveLogic.Calc_Right(view));

            // surrogate pair
            _Azuki.Text = "_\xd85a\xdd51_";
            _Azuki.SetSelection(0, 0);
            Assert.AreEqual(1, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(1, 1);
            Assert.AreEqual(3, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(3, 3);
            Assert.AreEqual(4, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(4, 4);
            Assert.AreEqual(4, CaretMoveLogic.Calc_Right(view));

            // combined character sequence
            _Azuki.Text = "_a\x0300_";
            _Azuki.SetSelection(0, 0);
            Assert.AreEqual(1, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(1, 1);
            Assert.AreEqual(3, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(3, 3);
            Assert.AreEqual(4, CaretMoveLogic.Calc_Right(view));
            _Azuki.SetSelection(4, 4);
            Assert.AreEqual(4, CaretMoveLogic.Calc_Right(view));
        }
        static void Test_Right()
        {
            // EOL
            _Azuki.Text = "a\rb\nc\r\nd";
            _Azuki.SetSelection(0, 0);
            TestUtl.AssertEquals(1, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(1, 1);
            TestUtl.AssertEquals(2, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(2, 2);
            TestUtl.AssertEquals(3, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(3, 3);
            TestUtl.AssertEquals(4, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(4, 4);
            TestUtl.AssertEquals(5, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(5, 5);
            TestUtl.AssertEquals(7, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(7, 7);
            TestUtl.AssertEquals(8, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(8, 8);
            TestUtl.AssertEquals(8, CaretMoveLogic.Calc_Right(_Azuki.View));

            // surrogate pair
            _Azuki.Text = "_\xd85a\xdd51_";
            _Azuki.SetSelection(0, 0);
            TestUtl.AssertEquals(1, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(1, 1);
            TestUtl.AssertEquals(3, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(3, 3);
            TestUtl.AssertEquals(4, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(4, 4);
            TestUtl.AssertEquals(4, CaretMoveLogic.Calc_Right(_Azuki.View));

            // combined character sequence
            _Azuki.Text = "_a\x0300_";
            _Azuki.SetSelection(0, 0);
            TestUtl.AssertEquals(1, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(1, 1);
            TestUtl.AssertEquals(3, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(3, 3);
            TestUtl.AssertEquals(4, CaretMoveLogic.Calc_Right(_Azuki.View));
            _Azuki.SetSelection(4, 4);
            TestUtl.AssertEquals(4, CaretMoveLogic.Calc_Right(_Azuki.View));
        }