public void TestMouseWheel()
        {
            var font  = SAEResources.GetAllFonts().First();
            var image = new CodedImage {
                Size = new Size(5, 5)
            };
            var symboler = new ImageSymbolsController(new ImageSymbolsManipulator(image), new[] { font }, font);

            using (symboler.SuspendCallManipulations())
            {
                symboler.IncludeLetters = true;
                symboler.IncludeNumbers = false;
                symboler.IncludeSymbols = false;
            }
            var visualSymbolsController = new VisualSymbolsController(symboler, new Size(100, 150));

            Assert.AreEqual(0, visualSymbolsController.VerticalShift);

            using (visualSymbolsController.SuspendUpdateVisualImage())
            {
                visualSymbolsController.OnMouseWheel(100);
                Assert.AreEqual(0, visualSymbolsController.VerticalShift, "Should not shift beyond top row.");

                visualSymbolsController.OnMouseWheel(-100);
                Assert.AreEqual(10, visualSymbolsController.VerticalShift);

                visualSymbolsController.OnMouseWheel(30);
                Assert.AreEqual(7, visualSymbolsController.VerticalShift);

                visualSymbolsController.OnMouseWheel(-30000);
                Assert.AreEqual(1098, visualSymbolsController.VerticalShift, "Should not shift beyond bottom row.");
            }
        }
        public void TestVisualSymbolsController()
        {
            var font  = SAEResources.GetAllFonts().First();
            var image = new CodedImage {
                Size = new Size(5, 5)
            };
            var symboler = new ImageSymbolsController(new ImageSymbolsManipulator(image), new[] { font }, font);

            using (symboler.SuspendCallManipulations())
            {
                symboler.IncludeLetters = true;
                symboler.IncludeNumbers = false;
                symboler.IncludeSymbols = false;
            }
            Assert.AreEqual(117, symboler.AvailableSymbols.Count, "Precondition");

            var visualSymbolsController = new VisualSymbolsController(symboler, new Size(100, 150));

            Assert.AreSame(symboler, visualSymbolsController.Controller);
            Assert.AreEqual(3, visualSymbolsController.ColumnsCount);
            Assert.AreEqual(39, visualSymbolsController.RowsCount);
            Assert.AreEqual(5, visualSymbolsController.VisibleRowsCount);
            Assert.IsTrue(visualSymbolsController.RequiresShift);

            Assert.AreEqual(new Size(96, 150), visualSymbolsController.VisualImage.Size);
        }
        public void TestClick()
        {
            var font  = SAEResources.GetAllFonts().First();
            var image = new CodedImage {
                Size = new Size(5, 5)
            };
            var symboler = new ImageSymbolsController(new ImageSymbolsManipulator(image), new[] { font }, font);

            using (symboler.SuspendCallManipulations())
            {
                symboler.IncludeLetters = true;
                symboler.IncludeNumbers = false;
                symboler.IncludeSymbols = false;
            }
            var visualSymbolsController = new VisualSymbolsController(symboler, new Size(100, 150));

            Assert.NotNull(visualSymbolsController.VisualImage);

            using (visualSymbolsController.SuspendUpdateVisualImage())
            {
                foreach (var c in symboler.SelectedSymbols.ToArray())
                {
                    symboler.SwitchSelection(c);
                }
                Assert.AreEqual(0, symboler.SelectedCount);

                visualSymbolsController.OnTouched(new Point(50, 20));                 // (1, 0) = #1 = A (#0 = ' ')
                visualSymbolsController.OnUntouched(new Point(50, 20));
                Assert.AreEqual(1, symboler.SelectedCount);
                Assert.Contains('A', symboler.SelectedSymbols.ToArray());

                visualSymbolsController.OnTouched(new Point(50, 100));                 // (1, 3) = #1 = J
                visualSymbolsController.OnUntouched(new Point(50, 100));
                Assert.AreEqual(2, symboler.SelectedCount);
                Assert.Contains('A', symboler.SelectedSymbols.ToArray());
                Assert.Contains('J', symboler.SelectedSymbols.ToArray());

                visualSymbolsController.OnTouched(new Point(50, 20));                 // (1, 0) = #1 = A
                visualSymbolsController.OnUntouched(new Point(50, 20));
                Assert.AreEqual(1, symboler.SelectedCount);
                Assert.Contains('J', symboler.SelectedSymbols.ToArray());
            }
        }
        public void TestHighlightedCell()
        {
            var font  = SAEResources.GetAllFonts().First();
            var image = new CodedImage {
                Size = new Size(5, 5)
            };
            var symboler = new ImageSymbolsController(new ImageSymbolsManipulator(image), new[] { font }, font);

            using (symboler.SuspendCallManipulations())
            {
                symboler.IncludeLetters = true;
                symboler.IncludeNumbers = false;
                symboler.IncludeSymbols = false;
            }
            var visualSymbolsController = new VisualSymbolsController(symboler, new Size(100, 150));

            visualSymbolsController.OnShift(new Point(50, 20));
            Assert.AreEqual(new Point(1, 0), visualSymbolsController.HighlightedCell);

            visualSymbolsController.OnShift(new Point(50, 100));
            Assert.AreEqual(new Point(1, 3), visualSymbolsController.HighlightedCell);
        }
Esempio n. 5
0
        void Initialize()
        {
            var image = new CodedImage {
                Size = new Size(1, 1)
            };

            image.CompletePalette();
            image.Palette.SymbolsFont = SymbolsFont.Name;
            var manipulator = new ImageSymbolsManipulator(image);

            symboler = new ImageSymbolsController(new ImageSymbolsManipulator(manipulator), new[] { SymbolsFont }, SymbolsFont);
            symboler.IncludeLetters     = true;
            symboler.IncludeNumbers     = true;
            symboler.IncludeSymbols     = true;
            symboler.MaxSelectedSymbols = 1;

            symboler.AvailableSymbols.RemoveAll(pair => usedSymbols.Contains(pair.Key));
            symboler.ClearAllSelection();

            scrollControlSymbols.Controller = new VisualSymbolsController(symboler, new Size(scrollControlSymbols.Width, scrollControlSymbols.Height));
            scrollControlSymbols.Controller.VisualImageChanged += Controller_VisualImageChanged;
        }