Exemple #1
0
        private void CreateButtons()
        {
            buttons = new NumberButton[4, 4];

            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    buttons[i, j]         = new NumberButton();
                    buttons[i, j].Left    = 100 * j;
                    buttons[i, j].Top     = 100 * i;
                    buttons[i, j].Enabled = false;
                    //buttons[i, j].Text = "i= " + i + ", j= " + j;
                    this.Controls.Add(buttons[i, j]);
                }
            }

            #region test button colors
            //buttons[0, 0].Text = "2";
            //buttons[0, 1].Text = "4";
            //buttons[0, 2].Text = "8";
            //buttons[0, 3].Text = "16";
            //buttons[1, 0].Text = "32";
            //buttons[1, 1].Text = "64";
            //buttons[1, 2].Text = "128";
            //buttons[1, 3].Text = "256";
            //buttons[2, 0].Text = "512";
            //buttons[2, 1].Text = "1024";
            //buttons[2, 2].Text = "2048";
            #endregion
        }
Exemple #2
0
        public void MarkNumber(PrimesBigInteger number, Brush color)
        {
            try
            {
                if (!m_MarkedNumbers.ContainsKey(number))
                {
                    m_MarkedNumbers.Add(number, color);
                }
                else
                {
                    m_MarkedNumbers[number] = color;
                }

                UIElementCollection buttons =
                    ControlHandler.GetPropertyValue(numbergrid, "Children") as UIElementCollection;
                int i = (int)ControlHandler.GetPropertyValue(buttons, "Count");

                NumberButton first = (buttons[Columns + Rows - 2] as NumberButton);
                if (first.BINumber.Add(number).CompareTo(PrimesBigInteger.ValueOf(Columns * Rows)) < 0)
                {
                    int          index = number.Subtract(first.BINumber).IntValue + Columns + Rows - 2;
                    NumberButton btn   = buttons[index] as NumberButton;
                    ControlHandler.SetPropertyValue(btn, "Background", color);
                }
            }
            catch (Exception e)
            {
            }
        }
Exemple #3
0
        private void DoScrollGrid(PrimesBigInteger amount)
        {
            bool keepColor = true;
            int  counter   = 0;

            for (int i = 0; i < this.Rows; i++)
            {
                for (int j = 0; j < this.Columns; j++)
                {
                    NumberButton btn = GetNumberButton(this.Rows + this.Columns - 2 + counter);
                    if (btn != null)
                    {
                        PrimesBigInteger newVal = btn.BINumber.Add(amount);
                        btn.BINumber = newVal;
                        if (newVal.CompareTo(m_Limit) > 0 || newVal.CompareTo(PrimesBigInteger.One) < 0)
                        {
                            if (m_Limit.CompareTo(PrimesBigInteger.ValueOf(Rows * Columns)) < 0)
                            {
                                return;
                            }
                            ControlHandler.SetButtonVisibility(btn, Visibility.Hidden);
                        }
                        else
                        {
                            // Color the Buttons
                            if (m_ButtonColor != null)
                            {
                                ControlHandler.SetPropertyValue(btn, "Background", m_ButtonColor);
                            }
                            else
                            {
                                if (!keepColor)
                                {
                                    btn.Background = Brushes.White;
                                }
                            }
                            bool isMultipleOfRemovedNumbers = !m_Sieved[btn.BINumber.LongValue];
                            if (
                                isMultipleOfRemovedNumbers ||
                                m_RemovedNumbers.Contains(btn.BINumber))
                            {
                                ControlHandler.SetButtonVisibility(btn, Visibility.Hidden);
                            }
                            else
                            {
                                if (m_MarkedNumbers.ContainsKey(newVal))
                                {
                                    ControlHandler.SetPropertyValue(btn, "Background", m_MarkedNumbers[newVal]);
                                }
                                ControlHandler.SetButtonVisibility(btn, Visibility.Visible);
                            }
                        }
                    }
                    counter++;
                }
            }

            SetButtonStatus();
        }
Exemple #4
0
        partial void OnButtonPressEight()
        {
            NumberButton button = new NumberButton {
                Symbol = "8", Button = btnEight
            };

            OnButtonPress(button);
        }
Exemple #5
0
        partial void OnButtonPressNine()
        {
            NumberButton button = new NumberButton {
                Symbol = "9", Button = btnNine
            };

            OnButtonPress(button);
        }
Exemple #6
0
        partial void OnButtonPressPeriod()
        {
            NumberButton button = new NumberButton {
                Symbol = ".", Button = btnPeriod
            };

            OnButtonPress(button);
        }
Exemple #7
0
 private void MarkNumber(NumberButton nb)
 {
     if (!markedNumbers.Contains(nb))
     {
         markedNumbers.Add(nb);
     }
     ControlHandler.SetPropertyValue(nb, "Background", Brushes.Red);
 }
Exemple #8
0
        partial void OnButtonPressSix()
        {
            NumberButton button = new NumberButton {
                Symbol = "6", Button = btnSix
            };

            OnButtonPress(button);
        }
Exemple #9
0
        partial void OnButtonPressFive()
        {
            NumberButton button = new NumberButton {
                Symbol = "5", Button = btnFive
            };

            OnButtonPress(button);
        }
Exemple #10
0
        partial void OnButtonPressThree()
        {
            NumberButton button = new NumberButton {
                Symbol = "3", Button = btnThree
            };

            OnButtonPress(button);
        }
Exemple #11
0
        public StartForm()
        {
            KeyPreview = true;

            InitializeComponent();
            CreateButtons();
            NumberButton.Spawn(buttons);
        }
Exemple #12
0
        partial void OnButtonPressFour()
        {
            NumberButton button = new NumberButton {
                Symbol = "4", Button = btnFour
            };

            OnButtonPress(button);
        }
Exemple #13
0
        partial void OnButtonPressTwo()
        {
            NumberButton button = new NumberButton {
                Symbol = "2", Button = btnTwo
            };

            OnButtonPress(button);
        }
Exemple #14
0
        partial void OnButtonPressOne()
        {
            NumberButton button = new NumberButton {
                Symbol = "1", Button = btnOne
            };

            OnButtonPress(button);
        }
Exemple #15
0
        partial void OnButtonPressZero()
        {
            NumberButton button = new NumberButton {
                Symbol = "0", Button = btnZero
            };

            OnButtonPress(button);
        }
Exemple #16
0
        partial void OnButtonPressSeven()
        {
            NumberButton button = new NumberButton {
                Symbol = "7", Button = btnSeven
            };

            OnButtonPress(button);
        }
Exemple #17
0
        public ATMButton getButton(string identifier)
        {
            ATMButton b = null;

            switch (identifier)
            {
            case "Enter":
            {
                FunctionButton b1 = new FunctionButton();

                b1.Text = identifier;
                b1.setColour("Lime");
                b1.Location = new System.Drawing.Point(385, 359);
                b1.Name     = identifier;
                b1.Size     = new System.Drawing.Size(75, 45);
                b1.TabIndex = 11;
                //

                b = b1;
                break;
            }

            case "Cancel": {
                FunctionButton b1 = new FunctionButton();

                b1.Text = identifier;
                b1.setColour("Red");
                b1.Location = new System.Drawing.Point(385, 257);
                b1.Name     = "button10";
                b1.Size     = new System.Drawing.Size(75, 45);
                b1.TabIndex = 9;
                b           = b1;
                break;
            }

            case "Clear": {
                FunctionButton b1 = new FunctionButton();

                b1.Text = identifier;
                b1.setColour("Yellow");
                b1.Location = new System.Drawing.Point(385, 308);
                b1.Name     = identifier;
                b1.Size     = new System.Drawing.Size(75, 45);
                b1.TabIndex = 10;
                b           = b1;
                break;
            }

            default:
            {
                b = new NumberButton(identifier); break;
            }
            }

            return(b);
        }
 // Start is called before the first frame update
 void Start()
 {
     numberButton       = GameObject.Find("NumberButton");
     animator           = GetComponent <Animator>();
     numberButtonScript = numberButton.GetComponent <NumberButton>();
     target             = new Vector3(Random.Range(-width / 2, width / 2), Random.Range(-height / 2, height / 2) + 3, 0);
     transform.position = new Vector3(Random.Range(-width / 2, width / 2), Random.Range(-height / 2, height / 2) + 3, 0);
     spriteRenderer     = GetComponentInChildren <SpriteRenderer>();
     GetComponent <Animator>().speed = Random.Range(0.5f, 1f);
 }
Exemple #19
0
 private void SetPointerActualNumber(PrimesBigInteger value)
 {
     if (m_ButtonsDict.ContainsKey(value))
     {
         NumberButton btn  = m_ButtonsDict[value];
         double       left = Canvas.GetLeft(btn) + (btn.Width - POINTERWIDTH) / 2;
         Canvas.SetLeft(pActualNumber, left);
         SetInfoActualNumber(value);
     }
 }
Exemple #20
0
 private void SetEdgeButtonColor()
 {
     if (m_Buttons != null && m_Buttons.Count > 0)
     {
         NumberButton nbFirst = m_Buttons[0];
         NumberButton nbLast  = m_Buttons[m_Buttons.Count - 1];
         ControlHandler.SetPropertyValue(nbFirst, "Background", Brushes.Blue);
         ControlHandler.SetPropertyValue(nbLast, "Background", Brushes.Violet);
     }
 }
Exemple #21
0
    // Start is called before the first frame update
    void Start()
    {
        numberButtonScript = numberButton.GetComponent <NumberButton>();

        foreach (Transform child in transform)
        {
            //if (child.name == "Text(TMP)")
            //{
            child.GetComponent <TextMeshProUGUI>().text = buttonNumber.ToString();
            //}
        }
    }
Exemple #22
0
        private PrimesBigInteger GetMinVisibleValue()
        {
            NumberButton nb = GetNumberButton(this.Rows + this.Columns - 2);

            if (nb != null)
            {
                return(nb.BINumber);
            }
            else
            {
                return(PrimesBigInteger.Zero);
            }
        }
Exemple #23
0
        private void SetButtonColor(NumberButton btn)
        {
            PrimesBigInteger number = ControlHandler.GetPropertyValue(btn, "BINumber") as PrimesBigInteger;

            if (number.IsProbablePrime(10))
            {
                ControlHandler.SetPropertyValue(btn, "Background", Brushes.LightBlue);
            }
            else
            {
                ControlHandler.SetPropertyValue(btn, "Background", Brushes.Black);
            }
        }
Exemple #24
0
        protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
        {
            base.OnRenderSizeChanged(sizeInfo);
            DrawButtons();

            Canvas.SetLeft(pFromNumber, 5);
            PrimesBigInteger key = m_Start.Add(PrimesBigInteger.ValueOf(m_ButtonsDict.Count - 1));

            if (m_ButtonsDict.ContainsKey(key))
            {
                NumberButton nb = m_ButtonsDict[key];
                Canvas.SetLeft(pToNumber, Canvas.GetLeft(nb) - 5);
            }
        }
 // text entries (including spin buttons) invoke Activate on enter key hit
 protected void OnActivated(object sender, System.EventArgs e)
 {
     if (sender.GetType() == typeof(Gtk.SpinButton))
     {
         ScrapeButton.Click();
     }
     else if (sender.GetType() == typeof(Gtk.Entry))
     {
         NumberButton.GrabFocus();
     }
     else
     {
         // pass
     }
 }
Exemple #26
0
        private void DrawButtons()
        {
            double x1 = 0;
            double x2 = 8;

            if (m_Buttons.Count > 0)
            {
                x1 = (double)ControlHandler.ExecuteMethod(PaintArea, "GetLeft", new object[] { m_Buttons[0] });
                x2 = (double)ControlHandler.ExecuteMethod(PaintArea, "GetLeft", new object[] { m_Buttons[1] });
            }

            UIElementCollection children = ControlHandler.GetPropertyValue(PaintArea, "Children") as UIElementCollection;

            ControlHandler.ExecuteMethod(children, "Clear");
            m_Buttons.Clear();
            m_ButtonsDict.Clear();

            double width = (double)ControlHandler.GetPropertyValue(LineArea, "ActualWidth");
            double len   = width - (PADDINGLEFT + PADDINGRIGHT);

            if (len < 0)
            {
                len = 100;
            }
            m_UnitSize = len / (m_ButtonScale - 1);

            ControlHandler.ExecuteMethod(LineArea, "SetLeft", new object[] { numberline, PADDINGLEFT });
            ControlHandler.SetPropertyValue(numberline, "Width", len);

            double y = (double)ControlHandler.ExecuteMethod(LineArea, "GetTop", new object[] { numberline }) + numberline.Height / 2;

            int buttonsize = Math.Max(3, Math.Min(20, (int)(len / m_ButtonScale)));

            for (int i = 0; i < m_ButtonScale; i++)
            {
                double x = i * m_UnitSize + PADDINGLEFT;
                DrawNumberButton(m_Start.Add(PrimesBigInteger.ValueOf(i)), x, y, buttonsize, buttonsize);
            }

            if (m_Buttons != null && m_Buttons.Count > 0)
            {
                NumberButton nb = m_Buttons[m_Buttons.Count - 1];
                Canvas.SetLeft(pToNumber, Canvas.GetLeft(nb) - 6);
                lblCountPoints.Text = m_Buttons.Count.ToString();
                SetEdgeButtonColor();
            }
        }
Exemple #27
0
        private void InitButtons()
        {
            btnBack.Visibility    = btnCompleteBack.Visibility = Visibility.Visible;
            btnForward.Visibility = btnCompleteForward.Visibility = Visibility.Visible;

            if (numbergrid.RowDefinitions.Count >= MIN)
            {
                this.numbergrid.Children.Clear();
                DrawGrid();
            }

            PrimesBigInteger counter = 1;

            for (int i = 0; i < this.Rows; i++)
            {
                for (int j = 0; j < this.Columns; j++)
                {
                    NumberButton btn = new NumberButton();
                    btn.NumberButtonStyle = Primes.WpfControls.Components.NumberButtonStyle.Button.ToString();

                    btn.ShowContent = true;
                    btn.Number      = (counter).ToString();
                    btn.Click      += new RoutedEventHandler(NumberButton_Click);
                    Grid.SetColumn(btn, 2 * j);
                    Grid.SetRow(btn, 2 * i);

                    btn.Background = Brushes.White;

                    this.numbergrid.Children.Add(btn);
                    if (counter.CompareTo(this.m_Limit) > 0)
                    {
                        btn.Visibility = Visibility.Hidden;
                    }
                    if (m_RemovedNumbers.Contains(btn.BINumber))
                    {
                        btn.Visibility = Visibility.Hidden;
                    }

                    counter = counter.Add(PrimesBigInteger.ValueOf(1));
                }
            }

            SetButtonStatus();
        }
Exemple #28
0
        private void MarkNumberWithOutThreads(PrimesBigInteger value)
        {
            NumberButton sender = null;

            try { sender = m_ButtonsDict[value]; }
            catch { }
            if (sender != null)
            {
                ControlHandler.SetPropertyValue((sender as NumberButton), "Background", Brushes.Yellow);
            }
            m_ActualNumber = value;
            HideInfoPanels();
            SetPointerActualNumber(value);
            SetInfoActualNumber(value);
            SetNeighborPrimes(value);
            SetTwinPrimes(value);
            SetSextupletPrimes(value);
            SetQuadrupletPrimes(value);
            SetEdgeButtonColor();
        }
Exemple #29
0
        private void DrawNumberButton(PrimesBigInteger value, double x, double y, double width, double height)
        {
            NumberButton nb = ControlHandler.CreateObject(typeof(NumberButton)) as NumberButton;

            nb.MouseEnter += new MouseEventHandler(nb_MouseMove);
            //nb.MouseLeave += new MouseEventHandler(nb_MouseLeave);
            nb.Cursor = Cursors.Hand;
            ControlHandler.SetPropertyValue(nb, "NumberButtonStyle", NumberButtonStyle.Ellipse.ToString());
            ControlHandler.SetPropertyValue(nb, "BINumber", value);
            ControlHandler.SetPropertyValue(nb, "Width", width);
            ControlHandler.SetPropertyValue(nb, "Height", height);
            ControlHandler.SetPropertyValue(nb, "BorderBrush", Brushes.Black);
            SetButtonColor(nb);

            ControlHandler.ExecuteMethod(PaintArea, "SetTop", new object[] { nb, y - height / 2 });
            ControlHandler.ExecuteMethod(PaintArea, "SetLeft", new object[] { nb, x - width / 2 });
            ControlHandler.AddChild(nb, PaintArea);
            m_Buttons.Add(nb);
            m_ButtonsDict.Add(value, nb);
        }
Exemple #30
0
        // **********************************
        // *** number button press (0 - 9, .)
        // **********************************
        private void OnButtonPress(NumberButton button)
        {
            WKInterfaceDevice.CurrentDevice.PlayHaptic(WKHapticType.Click);

            try
            {
                WriteTextToScreen(button.Symbol, true);
                calculator.Operand1 = null;
            }
            catch (Exception)
            {
                WriteTextToScreen("Number Error");
            }
            finally
            {
                SetButtonColors();
                //button.Button.SetBackgroundColor(button.PressedColor);
                button.Button.SetBackgroundColor(UIColor.Gray);
            }
        }
		public CalcView ()
		{

			Grid calcGrid = new Grid {
				HorizontalOptions = LayoutOptions.FillAndExpand,
				VerticalOptions = LayoutOptions.FillAndExpand,
				RowDefinitions = {
					new RowDefinition { Height = new GridLength (2, GridUnitType.Star) },
					new RowDefinition { Height = new GridLength (1, GridUnitType.Star) },
					new RowDefinition { Height = new GridLength (1, GridUnitType.Star) },
					new RowDefinition { Height = new GridLength (1, GridUnitType.Star) },
					new RowDefinition { Height = new GridLength (1, GridUnitType.Star) },
					new RowDefinition { Height = new GridLength (1, GridUnitType.Star) },
				},
				ColumnDefinitions = {
					new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
					new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
					new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
					new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
				},
				BackgroundColor = Color.White,
				RowSpacing = 2,
				ColumnSpacing = 2,
			};

			Frame frame = new Frame {
				Content = calcGrid,
				VerticalOptions = LayoutOptions.FillAndExpand,
				HorizontalOptions = LayoutOptions.FillAndExpand,
				Padding = new Thickness(5),
				BackgroundColor = Color.White
			};

			Content = frame;
			Padding = new Thickness (5, Device.OnPlatform (20, 0, 0), 5, 5);

			Label viewLabel = new Label {
				Text = "",
				FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
				HorizontalOptions = LayoutOptions.FillAndExpand,
				BackgroundColor = Color.FromRgb(0.99, 0.99, 0.99),
				TextColor = Color.Black
			};

			Button buttonAC = new Button {
				Text = "AC",
				FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Button)),
				BackgroundColor = Color.FromHex("BA0030"),
				TextColor = Color.White,
				FontAttributes = FontAttributes.Bold,
//				BorderRadius = 1,
//				BorderWidth = 1,
			};
			NumberButton button0 = new NumberButton ("0", viewLabel);
			NumberButton button1 = new NumberButton ("1", viewLabel);
			NumberButton button2 = new NumberButton ("2", viewLabel);
			NumberButton button3 = new NumberButton ("3", viewLabel);
			NumberButton button4 = new NumberButton ("4", viewLabel);
			NumberButton button5 = new NumberButton ("5", viewLabel);
			NumberButton button6 = new NumberButton ("6", viewLabel);
			NumberButton button7 = new NumberButton ("7", viewLabel);
			NumberButton button8 = new NumberButton ("8", viewLabel);
			NumberButton button9 = new NumberButton ("9", viewLabel);
			NumberButton buttonDot = new NumberButton (".", viewLabel);
			NumberButton buttonParen1 = new NumberButton ("(", viewLabel);
			NumberButton buttonParen2 = new NumberButton (")", viewLabel);

			OperatorButton buttonPlus = new OperatorButton ("+", viewLabel);
			OperatorButton buttonMinus = new OperatorButton ("-", viewLabel);
			OperatorButton buttonMult = new OperatorButton ("x", viewLabel);
			OperatorButton buttonDiv = new OperatorButton ("/", viewLabel);
			OperatorButton buttonEq = new OperatorButton ("=", viewLabel);

			buttonEq.Clicked += (sender, e) => {
				string expr = viewLabel.Text;
				InfixConverter converter = new InfixConverter(expr);
				PostfixCalculator calc = new PostfixCalculator(converter.postfixString);
//				viewLabel.Text = calc.answer;
				viewLabel.Text += "\n" + calc.answer;
			};

			buttonAC.Clicked += (sender, e) =>  {
				viewLabel.Text = "";
			};


			// numbers
			calcGrid.Children.Add (button9, 2, 2);
			calcGrid.Children.Add (button8, 1, 2);
			calcGrid.Children.Add (button7, 0, 2);
			calcGrid.Children.Add (button6, 2, 3);
			calcGrid.Children.Add (button5, 1, 3);
			calcGrid.Children.Add (button4, 0, 3);
			calcGrid.Children.Add (button3, 2, 4);
			calcGrid.Children.Add (button2, 1, 4);
			calcGrid.Children.Add (button1, 0, 4);
			calcGrid.Children.Add (button0, 0, 2, 5, 6);
			calcGrid.Children.Add (buttonDot, 2, 5);

			// operators 
			calcGrid.Children.Add (buttonPlus, 3, 1);
			calcGrid.Children.Add (buttonMinus, 3, 2);
			calcGrid.Children.Add (buttonMult, 3, 3);
			calcGrid.Children.Add (buttonDiv, 3, 4);
			calcGrid.Children.Add (buttonEq, 3, 5);
		
			// misc
			calcGrid.Children.Add (buttonAC, 0, 1);
			calcGrid.Children.Add (buttonParen1, 1, 1);
			calcGrid.Children.Add (buttonParen2, 2, 1);
			calcGrid.Children.Add (viewLabel, 0, 4, 0, 1);

		}