Example #1
0
        /// <summary>
        /// On resize of the window, we want to show as many as possible phone numbers
        /// </summary>
        private void CreateGridBasedOnSize()
        {
            //maybe we should not redraw everything all the time. If tab switching is slow, remake this
            GridContentArea grid = this.DrawArea;

            grid.ClearContent();

            //get the number of rows and columns this grid should have
            int CellsFitInWidth  = grid.GetCellsInWidth();
            int CellsFitInHeight = grid.GetCellsInHeight();

            //generate new grid content based on the size of the window
            for (int cols = 0; cols < (int)CellsFitInWidth; cols++)
            {
                for (int rows = 0; rows < (int)CellsFitInHeight; rows++)
                {
                    PhoneNumberAdd(cols, rows);
                }
            }
        }
Example #2
0
        private void DoDemoUpdate()
        {
            //find this random cell and color it
            this.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() =>
            {
                MainWindow MainObject = (MainWindow)App.Current.MainWindow;

                if (MainObject == null)
                {
                    return;
                }

                GridContentArea grid = this.DrawArea;

                int Rows = grid.GetCellsInHeight();
                int Cols = grid.GetCellsInWidth();

                //get a random cell
                Random rnd = new Random();
                int RandRow = rnd.Next(0, Rows);
                int RandCol = rnd.Next(0, Cols);

                PhoneNumber RandomElement = RandomElement = grid.PaintArea.Children.Cast <PhoneNumber>().FirstOrDefault(e => Grid.GetRow(e) == RandRow && Grid.GetColumn(e) == RandCol);
                if (RandomElement != null)
                {
                    //try to set random look between simple extension and range

                    /*  if (rnd.Next(0, 10) < 5)
                     *    RandomElement.SetIsRange(true);
                     * else
                     *    RandomElement.SetIsRange(false);*/

                    //set a random status color
                    int RandStatus = rnd.Next(0, (int)PhoneStatusCodes.NumberOfStatusCodes);
                    if (RandomElement.IsSubscriberRange() == false)
                    {
                        RandomElement.SetStatus((PhoneStatusCodes)RandStatus);
                    }
                    else
                    {
                        RandomElement.SetStatus((PhoneStatusCodes)RandStatus, rnd.Next(0, 9).ToString());
                    }

                    //set a random extension
                    RandomElement.SetExtension(rnd.Next(0, 9999).ToString());
                    RandomElement.SetName("Name" + RandomElement.GetExtension().ToString());

                    //can we see name properly ?
                    if (rnd.Next(0, 10) < 5)
                    {
                        RandomElement.OnToggleShowName();
                    }

                    //note can be seen in the tooltip
                    RandomElement.SetNote("Topcomment" + RandomElement.GetExtension().ToString());

                    //absence status can be seen in the tooltip
                    if (rnd.Next(0, 10) < 5)
                    {
                        RandomElement.OnAbsenceStatusUpdate(false);
                    }
                    else
                    {
                        RandomElement.OnAbsenceStatusUpdate(true);
                    }

                    //can we see prefix ?
                    RandomElement.SetPrefix(rnd.Next(0, 9999).ToString());
                    if (rnd.Next(0, 10) < 5)
                    {
                        RandomElement.OnToggleShowCanonical();
                    }

                    //try to set random forwarding status
                    ForwardStatusStore fss = new ForwardStatusStore(RandomElement.GetExtension());
                    if (rnd.Next(0, 10) < 5)
                    {
                        fss.ForwardType = CallForwardingTypes.CallForwardDestination;
                    }
                    else
                    {
                        fss.ForwardType = CallForwardingTypes.CallForwardNone;
                    }
                    RandomElement.OnForwardingChange(fss);
                }
            }));
        }