Esempio n. 1
0
 nfloat ISpreadsheetViewDataSource.WidthForColumn(SpreadsheetView spreadsheetView, nint column)
 {
     if (0 == column)
     {
         return(70f);
     }
     return(120f);
 }
        public void TestGetContents3()
        {
            Spreadsheet     ss         = new Spreadsheet();
            SpreadsheetView view       = new SpreadsheetView();
            Controller      controller = new Controller(view, ss);

            ss.SetContentsOfCell("a1", "15003");
            ss.SetContentsOfCell("a1", "1777");
            Assert.AreEqual(ss.GetCellContents("a1"), 1777.0);
        }
        public void TestGetValue2()
        {
            Spreadsheet     ss         = new Spreadsheet();
            SpreadsheetView view       = new SpreadsheetView();
            Controller      controller = new Controller(view, ss);

            ss.SetContentsOfCell("a1", "15003");
            ss.SetContentsOfCell("a2", "299");
            ss.SetContentsOfCell("a3", "=a1 + a2");
            Assert.AreEqual(ss.GetCellValue("a3"), 15302.0);
        }
        public void TestGetContents2()
        {
            Spreadsheet     ss         = new Spreadsheet();
            SpreadsheetView view       = new SpreadsheetView();
            Controller      controller = new Controller(view, ss);

            ss.SetContentsOfCell("a1", "15003");
            ss.SetContentsOfCell("a2", "299");
            ss.SetContentsOfCell("a3", "=a1 + a2");
            Assert.AreEqual(ss.GetCellContents("a3").ToString(), "A1 + A2");
        }
Esempio n. 5
0
 nfloat ISpreadsheetViewDataSource.HeightForRow(SpreadsheetView spreadsheetView, nint row)
 {
     if (0 == row)
     {
         return(24f);
     }
     if (1 == row)
     {
         return(32f);
     }
     return(40f);
 }
Esempio n. 6
0
        public void EditRecordCommandTests()
        {
            // arrange
            var vm = new CellBase(null, null);

            var view = new SpreadsheetView();
            Mock.Arrange(() => view.KeyNavigationByDemand(Key.Enter, false)).MustBeCalled();
            Mock.Arrange(() => vm.Owner).Returns(view);

            // act
            vm.EditRecordCommand.Execute(null);

            // assert
            Mock.Assert(view);
        }
Esempio n. 7
0
        public void AddNewItemsCommandTests()
        {
            // arrange
            var vm = new CellBase(null, null);

            var view = new SpreadsheetView();
            Mock.Arrange(() => view.KeyNavigationByDemand(Key.Insert, true)).MustBeCalled();
            Mock.Arrange(() => vm.Owner).Returns(view);

            // act
            vm.AddNewItemsCommand.Execute(null);

            // assert
            Mock.Assert(view);
        }
Esempio n. 8
0
        public void RemoveSelectedItemsCommandAllowedTests()
        {
            // arrange
            var vm = new CellBase(null, null);

            var view = new SpreadsheetView();
            Mock.Arrange(() => view.KeyNavigationByDemand(Key.Delete, false)).MustBeCalled();
            Mock.Arrange(() => vm.ContainedValue).Returns("abc");
            Mock.Arrange(() => vm.Owner).Returns(view);

            // act
            vm.RemoveSelectedItemsCommand.Execute(null);

            // assert
            Mock.Assert(view);
        }
Esempio n. 9
0
        private void SetupViews()
        {
            _spreadsheetView = new SpreadsheetView
            {
                AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
            };

            _spreadsheetView.DataSource = this;
            _spreadsheetView.Delegate   = this;


            _spreadsheetView.RegisterClassForCellReuse(typeof(HeaderCell), new NSString(nameof(HeaderCell)));
            _spreadsheetView.RegisterClassForCellReuse(typeof(TextCell), new NSString(nameof(TextCell)));


            Add(_spreadsheetView);
        }
        public void TestGetNames1()
        {
            Spreadsheet     ss         = new Spreadsheet();
            SpreadsheetView view       = new SpreadsheetView();
            Controller      controller = new Controller(view, ss);

            ss.SetContentsOfCell("a1", "15003");
            ss.SetContentsOfCell("a1", "1777");
            ss.SetContentsOfCell("a2", "24");
            HashSet <string> comparison = new HashSet <string>();

            comparison.Add("A1");
            comparison.Add("A2");

            IEnumerable <string> en = ss.GetNamesOfAllNonemptyCells();

            foreach (string s in en)
            {
                Assert.IsTrue(comparison.Contains(s));
            }
        }
Esempio n. 11
0
        ZMJCell ISpreadsheetViewDataSource.CellForItemAt(SpreadsheetView spreadsheetView, NSIndexPath indexPath)
        {
            if (indexPath.Row == 0)
            {
                HeaderCell headeCell = (HeaderCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(HeaderCell), indexPath);
                headeCell.Label.Text = _header[indexPath.GetColumn()];

                if (indexPath.GetColumn() == _sortedColumn.Column)
                {
                    headeCell.SortArrow.Text = GetSymbol(_sortedColumn.Sorting);
                    return(headeCell);
                }

                headeCell.SortArrow.Text = "";
                return(headeCell);
            }


            TextCell cell = (TextCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(TextCell), indexPath);

            cell.Label.Text = _data[indexPath.Row - 1][indexPath.GetColumn()];
            return(cell);
        }
Esempio n. 12
0
        public void DidSelectItemAt(SpreadsheetView spreadsheetView, NSIndexPath indexPath)
        {
            if (indexPath.Row != 0)
            {
                return;
            }

            if (_sortedColumn.Column == indexPath.GetColumn())
            {
                SortedColumn sc = _sortedColumn;
                sc.Sorting = _sortedColumn.Sorting == ZMJSorting.ZMJAscending
                    ? ZMJSorting.ZMJDsescending
                    : ZMJSorting.ZMJAscending;

                _sortedColumn = sc;
            }
            else
            {
                _sortedColumn = new SortedColumn((int)indexPath.GetColumn(), ZMJSorting.ZMJAscending);
            }

            if (_sortedColumn.Sorting == ZMJSorting.ZMJAscending)
            {
                _data = _data
                        .OrderBy(r => r[_sortedColumn.Column])
                        .ToList();
            }
            else
            {
                _data = _data
                        .OrderByDescending(r => r[_sortedColumn.Column])
                        .ToList();
            }

            spreadsheetView.ReloadData();
        }
Esempio n. 13
0
        private void SetupViews()
        {
            _spreadsheetView = new SpreadsheetView
            {
                AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
            };

            _spreadsheetView.DataSource = this;
            _spreadsheetView.Delegate   = this;

            _spreadsheetView.SetContentInset(new UIEdgeInsets(4, 0, 4, 0));

            _spreadsheetView.IntercellSpacing = new CGSize(4, 1);
            _spreadsheetView.GridStyle        = GridStyle.BorderStyleNone;


            _spreadsheetView.RegisterClassForCellReuse(typeof(DateCell), new NSString(nameof(DateCell)));
            _spreadsheetView.RegisterClassForCellReuse(typeof(TimeTitleCell), new NSString(nameof(TimeTitleCell)));
            _spreadsheetView.RegisterClassForCellReuse(typeof(TimeCell), new NSString(nameof(TimeCell)));
            _spreadsheetView.RegisterClassForCellReuse(typeof(DayTitleCell), new NSString(nameof(DayTitleCell)));
            _spreadsheetView.RegisterClassForCellReuse(typeof(ScheduleCell), new NSString(nameof(ScheduleCell)));

            Add(_spreadsheetView);
        }
Esempio n. 14
0
        public void SelectParentCellDisallowedTests()
        {
            // arrange
            var vm = new CellBase(null, null);

            var view = new SpreadsheetView();
            Mock.Arrange(() => view.KeyNavigationByDemand(Key.P, false)).OccursNever();
            Mock.Arrange(() => vm.Owner).Returns(view);

            // act
            vm.SelectParentCell.Execute(null);

            // assert
            Mock.Assert(view);
        }
Esempio n. 15
0
        ZMJCell ISpreadsheetViewDataSource.CellForItemAt(SpreadsheetView spreadsheetView, NSIndexPath indexPath)
        {
            nint column = indexPath.GetColumn();

            if (column >= 1 &&
                indexPath.Row <= _dates.Length + 1 &&
                indexPath.Row == 0)
            {
                DateCell cell = (DateCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(DateCell), indexPath);
                cell.Label.Text = _dates[column - 1];
                return(cell);
            }

            if (column >= 1 &&
                column <= _days.Length + 1 &&
                indexPath.Row == 1)
            {
                DayTitleCell cell = (DayTitleCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(DayTitleCell), indexPath);
                cell.Label.Text      = _days[column - 1];
                cell.Label.TextColor = _dayColors[column - 1];
                return(cell);
            }

            if (column == 0 &&
                indexPath.Row == 1)
            {
                TimeTitleCell cell = (TimeTitleCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(TimeTitleCell), indexPath);
                cell.Label.Text = "TIME";
                return(cell);
            }

            if (column == 0 &&
                indexPath.Row >= 2 &&
                indexPath.Row <= _hours.Length + 2)
            {
                TimeCell cell = (TimeCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(TimeCell), indexPath);

                cell.Label.Text      = _hours[indexPath.Row - 2];
                cell.BackgroundColor = indexPath.Row % 2 == 0
                    ? _evenRowColor
                    : _oddRowColor;
                return(cell);
            }

            if (column >= 1 &&
                column <= _days.Length + 1 &&
                indexPath.Row >= 2 &&
                indexPath.Row <= _hours.Length + 2)
            {
                ScheduleCell cell = (ScheduleCell)spreadsheetView.DequeueReusableCellWithReuseIdentifier(nameof(ScheduleCell), indexPath);

                String text = _data[column - 1][indexPath.Row - 2];
                if (!String.IsNullOrWhiteSpace(text))
                {
                    cell.Label.Text = text;
                    UIColor color = _dayColors[column - 1];
                    cell.Label.TextColor = color;
                    cell.Color           = color.ColorWithAlpha(0.2f);
                    cell.Borders.Top     = new BorderStyle(BorderStyleType.Solid, 2f, color);
                    cell.Borders.Bottom  = new BorderStyle(BorderStyleType.Solid, 2f, color);
                }
                else
                {
                    cell.Label.Text = null;
                    cell.Color      = indexPath.Row % 2 == 0
                        ? _evenRowColor
                        : _oddRowColor;
                    cell.Borders.Top    = BorderStyle.BorderStyleNone;
                    cell.Borders.Bottom = BorderStyle.BorderStyleNone;
                }
                return(cell);
            }

            return(null);
        }
Esempio n. 16
0
 nint ISpreadsheetViewDataSource.NumberOfColumns(SpreadsheetView spreadsheetView)
 {
     return(_days.Length + 1);
 }
Esempio n. 17
0
 nfloat ISpreadsheetViewDataSource.HeightForRow(SpreadsheetView spreadsheetView, nint row) => row == 0 ? 60f : 40f;
Esempio n. 18
0
 nfloat ISpreadsheetViewDataSource.WidthForColumn(SpreadsheetView spreadsheetView, nint column) => 140f;
Esempio n. 19
0
 nint ISpreadsheetViewDataSource.NumberOfRows(SpreadsheetView spreadsheetView) => _data.Count + 1;
Esempio n. 20
0
 nint ISpreadsheetViewDataSource.NumberOfColumns(SpreadsheetView spreadsheetView) => _header.Length;
Esempio n. 21
0
 nint ISpreadsheetViewDataSource.NumberOfRows(SpreadsheetView spreadsheetView)
 {
     return(_hours.Length + 2);
 }
Esempio n. 22
0
 public void DidSelectItemAt(SpreadsheetView spreadsheetView, NSIndexPath indexPath)
 {
     Console.WriteLine($"Row: {indexPath.Row}, Column: {indexPath.GetColumn()}");
 }
Esempio n. 23
0
 ZMJCellRange[] ISpreadsheetViewDataSource.MergedCells(SpreadsheetView spreadsheetView) => ZMJCellRange.None;
Esempio n. 24
0
 nint ISpreadsheetViewDataSource.FrozenRows(SpreadsheetView spreadsheetView) => 1;
Esempio n. 25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RowIndicatorColumn"/> class.
 /// </summary>
 /// <param name="owner">The owner.</param>
 public RowIndicatorColumn(SpreadsheetView owner) : base(owner)
 {
     InitializeDefaultConstructor();
 }
Esempio n. 26
0
 nint ISpreadsheetViewDataSource.FrozenColumns(SpreadsheetView spreadsheetView) => 0;