Inheritance: MonoBehaviour
 void ReleaseDesignerOutlets()
 {
     if (StartButton != null)
     {
         StartButton.Dispose();
         StartButton = null;
     }
     if (StopButton != null)
     {
         StopButton.Dispose();
         StopButton = null;
     }
     if (xLabel != null)
     {
         xLabel.Dispose();
         xLabel = null;
     }
     if (yLabel != null)
     {
         yLabel.Dispose();
         yLabel = null;
     }
     if (zLabel != null)
     {
         zLabel.Dispose();
         zLabel = null;
     }
 }
Ejemplo n.º 2
0
 // кнопка для продоження роботи таймера
 private void ContinueButton_Click(object sender, EventArgs e)
 {
     // запускає (продовжує) роботу таймера, кнопка для очистки таблиці стає не активною
     timer1.Start();
     ClearButton.Enabled = false;
     // переносимо кнопку StopButton_Click вперед
     StopButton.BringToFront();
 }
Ejemplo n.º 3
0
 private void runningstate()
 {
     progressLBL.Invoke((MethodInvoker)(() => progressLBL.Visible = true));
     ScanButton.Invoke((MethodInvoker)(() => ScanButton.Enabled = false));
     ScanButton.Invoke((MethodInvoker)(() => ScanButton.Visible = true));
     StopButton.Invoke((MethodInvoker)(() => StopButton.Enabled = true));
     StopButton.Invoke((MethodInvoker)(() => StopButton.Visible = true));
 }
Ejemplo n.º 4
0
 // кнопка для зупинки таймера
 private void StopButton_Click(object sender, EventArgs e)
 {
     // зупиняє таймер, кнопка для очистки таблиці стає активною
     timer1.Stop();
     ClearButton.Enabled = true;
     // переносимо кнопку StopButton_Click назад
     StopButton.SendToBack();
 }
Ejemplo n.º 5
0
        public DateCorrectForm(ref Form tTopForm, int DayEventType)
        {
            InitializeComponent();

            TopForm = tTopForm;

            if (DayEventType == dBreakDay)
            {
                label2.Text = "Пойти на перерыв";
                BreakButton.BringToFront();
                BreakButtonChanged.BringToFront();

                if (LightWorkDay.IsDayOverdued(Security.CurrentUserID, ref OverduedDateTime))
                {
                    xtraTabPage1.PageEnabled  = false;
                    OverduedDateLabel.Visible = true;
                    OverduedDateLabel.Text    = OverduedDateTime.ToString("dd.MM.yyyy");
                    IsOverdued = true;
                }
            }
            if (DayEventType == dContinueDay)
            {
                label2.Text = "Продолжить рабочий день";
                ContinueButton.BringToFront();
                ContinueButtonChanged.BringToFront();

                if (LightWorkDay.IsDayOverdued(Security.CurrentUserID, ref OverduedDateTime))
                {
                    xtraTabPage1.PageEnabled  = false;
                    OverduedDateLabel.Visible = true;
                    OverduedDateLabel.Text    = OverduedDateTime.ToString("dd.MM.yyyy");
                    IsOverdued = true;
                }
            }
            if (DayEventType == dStartDay)
            {
                label2.Text = "Начать рабочий день";
                StartButton.BringToFront();
                StartButtonChanged.BringToFront();
            }
            if (DayEventType == dEndDay)
            {
                label2.Text = "Завершить рабочий день";
                StopButton.BringToFront();
                StopButtonChanged.BringToFront();

                if (LightWorkDay.IsDayOverdued(Security.CurrentUserID, ref OverduedDateTime))
                {
                    xtraTabPage1.PageEnabled  = false;
                    OverduedDateLabel.Visible = true;
                    OverduedDateLabel.Text    = OverduedDateTime.ToString("dd.MM.yyyy");
                    IsOverdued = true;
                }
            }

            label1.Text         = Security.GetCurrentDate().ToString("HH:mm");
            timeEdit1.EditValue = Security.GetCurrentDate();
        }
 private void SetBindings()
 {
     MainGrid.SetBinding(BackgroundProperty, new Binding("CurrentBackground"));
     SetGridBindings(DetailsGrid);
     SetGridBindings(ActionsGrid);
     SetGridBindings(SettingsGrid);
     UpdateButton.SetBinding(ForegroundProperty, new Binding("CurrentForeground"));
     StopButton.SetBinding(ForegroundProperty, new Binding("CurrentForeground"));
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Append buffered output to displayed log (and possibly to a log file).
        /// </summary>
        private void UpdateLog(object sender, EventArgs eventArgs)
        {
            if (_scrolling)
            {
                return;
            }

            // Get buffered log output.
            string logLines;

            lock (_logBuffer)
            {
                if (_logBuffer.Length == 0)
                {
                    return;
                }
                logLines = _logBuffer.ToString();
                _logBuffer.Clear();
                _logEmpty = false;
            }

            // Add to log file.
            if (!string.IsNullOrEmpty(LogFile))
            {
                lock (LogLock)
                {
                    File.AppendAllText(LogFile, logLines);
                }
            }
            if (VisibleLogFile == null || !VisibleLogFile.Equals(LogFile))
            {
                return;
            }
            // Scroll if text box is already scrolled to bottom.
            int  previousLength = Math.Max(0, TextLength - 1);
            var  point          = GetPositionFromCharIndex(previousLength);
            bool autoScroll     = (ClientRectangle.Bottom >= point.Y);

            if (Focused)
            {
                StopButton.Focus(); // text box scrolls if it has focus!
            }
            var addLines = logLines.Replace("\r", "");

            if (addLines.EndsWith("\n"))
            {
                addLines = addLines.Substring(0, addLines.Length - 1);
            }
            AddLines(addLines.Split('\n'));

            if (autoScroll)
            {
                Select(Text.Length - 1, 0);
                ScrollToCaret();
            }
        }
Ejemplo n.º 8
0
        private void StopButton_Click(object sender, EventArgs e)
        {
            _taskOnline = false;
            StopButton.Hide();
            ProgramStatusLabel.Text = @"Program status: Stopped";
            StartButton.Show();

            ClearTextBoxes();
            ClearChart();
        }
Ejemplo n.º 9
0
    void Start()
    {
        StopButton stopButton = GetComponent <StopButton>();

        stopButton.signalOnClick.AddListener(this.showSettings);
        stopButton.signalOnClick2.AddListener(this.destroySettings);
        stopButton.sound.AddListener(this.buttonSound);
        stopButton.music.AddListener(this.buttonMusic);
        soundOff = GameObject.Find("SoundOff");
        musicOff = GameObject.Find("MusicOff");
    }
Ejemplo n.º 10
0
 /// <summary>
 /// Function called when firing clicker hotkey.
 /// </summary>
 public void StartPauseEvent(object sender, KeyPressedEventArgs e)
 {
     if (IsClickerStarted)
     {
         StopButton.Invoke(new Action(() => StopButton_Click(null, null)));
     }
     else
     {
         StartButton.Invoke(new Action(() => StartButton_Click(null, null)));
     }
 }
Ejemplo n.º 11
0
 public void OnStopClick()
 {
     IsStart = false;
     //StopCoroutine ("TakePhoto");
     //StopCoroutine ("ReadPosition");
     //StopCoroutine ("RoomReservationInfo");
     StopAllCoroutines();
     StartButton.SetActive(true);
     StopButton.SetActive(false);
     //GameObject.Find ("Canvas/Panel/Text").GetComponent<Text> ().text = "Take a photo for localization";
 }
Ejemplo n.º 12
0
 private void defaultstate(bool state)
 {
     exportButton.Invoke((MethodInvoker)(() => exportButton.Visible = true));
     exportButton.Invoke((MethodInvoker)(() => exportButton.Enabled = true));
     progressLBL.Invoke((MethodInvoker)(() => progressLBL.Visible = false));
     progressLBL.Invoke((MethodInvoker)(() => progressLBL.Text = ""));
     progressLBL.Invoke((MethodInvoker)(() => progressLBL.Visible = state));
     ScanButton.Invoke((MethodInvoker)(() => ScanButton.Enabled = true));
     ScanButton.Invoke((MethodInvoker)(() => ScanButton.Visible = true));
     StopButton.Invoke((MethodInvoker)(() => StopButton.Enabled = false));
     StopButton.Invoke((MethodInvoker)(() => StopButton.Visible = false));
 }
Ejemplo n.º 13
0
 private void RunReceiver()
 {
     //StopButton.BeginInvoke(new setButtonEnable(setButton), new object[] {StopButton, true });
     try {
         try {
             Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Raw, System.Net.Sockets.ProtocolType.IP);
             try {
                 Socket.Bind(new System.Net.IPEndPoint(System.Net.IPAddress.Parse(selectip), 0));
                 Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.IP, System.Net.Sockets.SocketOptionName.HeaderIncluded, 1);
                 Socket.IOControl(unchecked ((int)0x98000001), new byte[4] {
                     1, 0, 0, 0
                 }, new byte[4]);
                 while (StopButton.Enabled)
                 {
                     System.IAsyncResult ar = Socket.BeginReceive(PacketBuffer, 0, PacketBufferSize, System.Net.Sockets.SocketFlags.None, new System.AsyncCallback(CallReceive), this);
                     while (Socket.Available == 0)
                     {
                         System.Threading.Thread.Sleep(1);
                         if (!StopButton.Enabled)
                         {
                             break;
                         }
                     }
                     if (!StopButton.Enabled)
                     {
                         break;
                     }
                     int Size = Socket.EndReceive(ar);
                     if (!LooseQueue.Checked)
                     {
                         ExtractBuffer();
                     }
                 }
             } finally {
                 if (Socket != null)
                 {
                     Socket.Shutdown(System.Net.Sockets.SocketShutdown.Both);
                     Socket.Close();
                 }
             }
         } finally {
             //StopButton.Enabled = false;
             //StartButton.Enabled = true;
             StartButton.BeginInvoke(new setButtonEnable(setButton), new object[] { StartButton, true });
             StopButton.BeginInvoke(new setButtonEnable(setButton), new object[] { StopButton, true });
         }
     } catch (System.Threading.ThreadAbortException) {
     } catch (System.Exception E) {
         System.Windows.Forms.MessageBox.Show(E.ToString());
     }
     //StartButton.BeginInvoke(new setButtonEnable(setButton), new object[] { StartButton, true });
     //StartButton.Enabled = true;
 }
Ejemplo n.º 14
0
    // Update is called once per frame
    void Update()
    {
        if (!isAlive)
        {
            //Time.timeScale=0;

            SetScore(leaderboardID, Score.curentScore);
            Achievement(firstRunAchievementID, 100);
            Time.timeScale = 0;
            StopButton.TrigerDie();
            //StartCoroutine(PopCountDown(2));
        }


        if (totalAffectTime > 0 && startCount)
        {
            totalAffectTime -= Time.deltaTime;
        }
        else
        {
            transform.Find("powerup").gameObject.SetActive(false);
            startCount = false;
        }

        if (transform.position.y < -0.5f)
        {
            isAlive = false;
        }

        if (doResetPosition)
        {
            transform.position = RevivePosition;
            doResetPosition    = false;
            isAlive            = true;
            transform.FindChild("fly").gameObject.SetActive(true);
            Physics.gravity = new Vector3(0, 0, 0);
            OnFly           = true;
        }

        if (OnFly && Time.timeScale != 0)
        {
            //swing
            GetComponent <Rigidbody>().velocity = Vector3.zero;
            float DelteY = Mathf.Sin(Time.time * swingSpeed) * swingDistance;
            float x      = transform.position.x;
            transform.position = new Vector3(x, transform.position.y + DelteY, transform.position.z);
        }
        else
        {
            Physics.gravity = Ogravity;
            transform.FindChild("fly").gameObject.SetActive(false);
        }
    }
        private void StartButton_Click(object sender, EventArgs e)
        {
            // Parse and store the number of replays to be played
            string inputText     = numReplays.Text;
            int    ReplaysToPlay = 1;

            if (!string.IsNullOrEmpty(inputText))
            {
                int.TryParse(inputText, out ReplaysToPlay);
                if (ReplaysToPlay < 1)
                {
                    ReplaysToPlay = 1;
                }
            }

            // Parse and store the hotkeys for recording/stopping
            RecordHotkey = ParseKeys(InputRecordHotkey.Text);
            StopHotkey   = ParseKeys(InputStopHotkey.Text);

            // Toggle the button states
            StartButton.Enabled       = false;
            StopButton.Enabled        = true;
            numReplays.Text           = ReplaysToPlay.ToString();
            numReplays.Enabled        = false;
            InputRecordHotkey.Enabled = false;
            InputStopHotkey.Enabled   = false;
            menuStrip.Enabled         = false;
            SGSettings.Enabled        = false;
            BBTagSettings.Enabled     = false;
            GGXrdSettings.Enabled     = false;

            // Start main loop
            switch (currentGame)
            {
            default:
                viewSG.StartLoop(ReplaysToPlay, SGLP, SGLK, SGMP, SGRight, RecordHotkey, StopHotkey, DisplayHitboxes.Checked, DisplayInputs.Checked, DisplayAttackData.Checked);
                break;

            case "Rivals of Aether":
                viewROA.StartLoop(ReplaysToPlay, ROAStart, ROAL, RecordHotkey, StopHotkey);
                break;

            case "BBTag":
                viewBBTag.StartLoop(ReplaysToPlay, BBTagUp, BBTagConfirm, BBTagGauge, BBTagWindow, RecordHotkey, StopHotkey, BBTagHideGauge.Checked, BBTagHideWindow.Checked);
                break;

            case "Guilty Gear Xrd Rev 2":
                viewGGXrd.StartLoop(ReplaysToPlay, GGXrdConfirm, GGXrdHUD, GGXrdWindow, GGXrdInputs, RecordHotkey, StopHotkey, GGXrdHideHUD.Checked, GGXrdHideWindow.Checked, GGXrdHideInputs.Checked);
                break;
            }

            StopButton.Focus();
        }
Ejemplo n.º 16
0
 /// <summary>
 /// This method handles the key bind presses
 /// NOTE: This might trigger anti-virus software
 /// as this is a popular method used in keyloggers
 /// </summary>
 private void GKS_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == startKey)
     {
         PlayButton.PerformClick();
     }
     else if (e.KeyCode == stopKey)
     {
         StopButton.PerformClick();
     }
     e.Handled = true;
 }
Ejemplo n.º 17
0
 private void ResetUI(object sender, EventArgs e)
 {
     this.BeginInvoke((Action) delegate() { this.Enabled = true; this.Focus(); });
     StartButton.BeginInvoke((Action) delegate() { StartButton.Enabled = true; StartButton.Focus(); });
     StopButton.BeginInvoke((Action) delegate() { StopButton.Enabled = false; });
     numReplays.BeginInvoke((Action) delegate() { numReplays.Enabled = true; });
     InputRecordHotkey.BeginInvoke((Action) delegate() { InputRecordHotkey.Enabled = true; });
     InputStopHotkey.BeginInvoke((Action) delegate() { InputStopHotkey.Enabled = true; });
     DisplayHitboxes.BeginInvoke((Action) delegate() { DisplayHitboxes.Enabled = true; });
     DisplayInputs.BeginInvoke((Action) delegate() { DisplayInputs.Enabled = true; });
     DisplayAttackData.BeginInvoke((Action) delegate() { DisplayAttackData.Enabled = true; });
     menuStrip.BeginInvoke((Action) delegate() { menuStrip.Enabled = true; });
 }
 private void ResetUI(object sender, EventArgs e)
 {
     this.BeginInvoke((Action) delegate() { this.Enabled = true; this.Focus(); });
     StartButton.BeginInvoke((Action) delegate() { StartButton.Enabled = true; StartButton.Focus(); });
     StopButton.BeginInvoke((Action) delegate() { StopButton.Enabled = false; });
     numReplays.BeginInvoke((Action) delegate() { numReplays.Enabled = true; });
     InputRecordHotkey.BeginInvoke((Action) delegate() { InputRecordHotkey.Enabled = true; });
     InputStopHotkey.BeginInvoke((Action) delegate() { InputStopHotkey.Enabled = true; });
     menuStrip.BeginInvoke((Action) delegate() { menuStrip.Enabled = true; });
     SGSettings.BeginInvoke((Action) delegate() { SGSettings.Enabled = true; });
     BBTagSettings.BeginInvoke((Action) delegate() { BBTagSettings.Enabled = true; });
     GGXrdSettings.BeginInvoke((Action) delegate() { GGXrdSettings.Enabled = true; });
 }
        void ReleaseDesignerOutlets()
        {
            if (ConstMaxSpeed != null)
            {
                ConstMaxSpeed.Dispose();
                ConstMaxSpeed = null;
            }

            if (ConstMinSpeed != null)
            {
                ConstMinSpeed.Dispose();
                ConstMinSpeed = null;
            }

            if (DigitalSpeed != null)
            {
                DigitalSpeed.Dispose();
                DigitalSpeed = null;
            }

            if (MainView != null)
            {
                MainView.Dispose();
                MainView = null;
            }

            if (PlayButton != null)
            {
                PlayButton.Dispose();
                PlayButton = null;
            }

            if (StopButton != null)
            {
                StopButton.Dispose();
                StopButton = null;
            }

            if (TopSpeedDigitalLabel != null)
            {
                TopSpeedDigitalLabel.Dispose();
                TopSpeedDigitalLabel = null;
            }

            if (TopSpeedLabel != null)
            {
                TopSpeedLabel.Dispose();
                TopSpeedLabel = null;
            }
        }
 void ReleaseDesignerOutlets()
 {
     if (MyPlayer != null)
     {
         MyPlayer.Dispose();
         MyPlayer = null;
     }
     if (PauseButton != null)
     {
         PauseButton.Dispose();
         PauseButton = null;
     }
     if (PlayButton != null)
     {
         PlayButton.Dispose();
         PlayButton = null;
     }
     if (PlayerStatus != null)
     {
         PlayerStatus.Dispose();
         PlayerStatus = null;
     }
     if (PlayListIdButton != null)
     {
         PlayListIdButton.Dispose();
         PlayListIdButton = null;
     }
     if (SeekToButton != null)
     {
         SeekToButton.Dispose();
         SeekToButton = null;
     }
     if (SeekToText != null)
     {
         SeekToText.Dispose();
         SeekToText = null;
     }
     if (StopButton != null)
     {
         StopButton.Dispose();
         StopButton = null;
     }
     if (TextPlayListId != null)
     {
         TextPlayListId.Dispose();
         TextPlayListId = null;
     }
 }
Ejemplo n.º 21
0
        /// <summary>
        /// Start button.
        /// </summary>
        private void StartButton_Click(object sender, EventArgs e)
        {
            StopButton.HoverColor      = Color.RoyalBlue;
            StopButton.HoverColorLeave = Color.RoyalBlue;
            StopButton.BackColor       = Color.RoyalBlue;
            StopButton.Enabled         = true;
            StopButton.Invalidate();

            StartButton.HoverColor      = Color.DimGray;
            StartButton.HoverColorLeave = Color.DimGray;
            StartButton.BackColor       = Color.DimGray;
            StartButton.Enabled         = false;
            StartButton.Invalidate();

            ClickerTask();
        }
Ejemplo n.º 22
0
        private async void StartButton_Click(object sender, EventArgs e)
        {
            _winFormsQueries.AddComputerDetail();
            _taskOnline = true;

            FillTextBoxes(_winFormsQueries.ComputerSummary);
            AddChartSeries();
            StartButton.Hide();
            StopButton.Show();

            ProgramStatusLabel.Text = @"Program status: Running";
            while (_taskOnline)
            {
                await UpdateDataAsync();
            }
        }
Ejemplo n.º 23
0
        private void DisbleRunButtons()
        {
            StopButton.IsEnabled = true;
            StopButton.Refresh();
            RunActionButton.IsEnabled   = false;
            RunActivityButton.IsEnabled = false;
            RunButton.IsEnabled         = false;

            StatusImageControl.ImageType = eImageType.Processing;

            if (mStopwatch == null)
            {
                mStopwatch = new System.Diagnostics.Stopwatch();
            }
            mStopwatch.Reset();
            mStopwatch.Start();
        }
Ejemplo n.º 24
0
        private void StartButton_Click(object sender, EventArgs e)
        {
            // Parse and store the number of replays to be played
            string inputText     = numReplays.Text;
            int    ReplaysToPlay = 1;

            if (!string.IsNullOrEmpty(inputText))
            {
                int.TryParse(inputText, out ReplaysToPlay);
                if (ReplaysToPlay < 1)
                {
                    ReplaysToPlay = 1;
                }
            }

            // Parse and store the hotkeys for recording/stopping
            RecordHotkey = ParseKeys(InputRecordHotkey.Text);
            StopHotkey   = ParseKeys(InputStopHotkey.Text);

            // Toggle the button states
            StartButton.Enabled       = false;
            StopButton.Enabled        = true;
            numReplays.Text           = ReplaysToPlay.ToString();
            numReplays.Enabled        = false;
            InputRecordHotkey.Enabled = false;
            InputStopHotkey.Enabled   = false;
            DisplayHitboxes.Enabled   = false;
            DisplayInputs.Enabled     = false;
            DisplayAttackData.Enabled = false;
            menuStrip.Enabled         = false;

            // Start main loop
            switch (currentGame)
            {
            default:
                viewSG.StartLoop(ReplaysToPlay, SGLP, SGLK, SGMP, SGRight, RecordHotkey, StopHotkey, DisplayHitboxes.Checked, DisplayInputs.Checked, DisplayAttackData.Checked);
                break;

            case "Rivals of Aether":
                viewROA.StartLoop(ReplaysToPlay, ROAUp, ROADown, ROALeft, ROARight, ROAStart, ROAL, RecordHotkey, StopHotkey);
                break;
            }

            StopButton.Focus();
        }
        void ReleaseDesignerOutlets()
        {
            if (StartButton != null)
            {
                StartButton.Dispose();
                StartButton = null;
            }

            if (StopButton != null)
            {
                StopButton.Dispose();
                StopButton = null;
            }

            if (Table != null)
            {
                Table.Dispose();
                Table = null;
            }
        }
        void ReleaseDesignerOutlets()
        {
            if (DownButton != null)
            {
                DownButton.Dispose();
                DownButton = null;
            }

            if (StopButton != null)
            {
                StopButton.Dispose();
                StopButton = null;
            }

            if (UpButton != null)
            {
                UpButton.Dispose();
                UpButton = null;
            }
        }
        void ReleaseDesignerOutlets()
        {
            if (LapButton != null)
            {
                LapButton.Dispose();
                LapButton = null;
            }

            if (LapsTable != null)
            {
                LapsTable.Dispose();
                LapsTable = null;
            }

            if (ResetButton != null)
            {
                ResetButton.Dispose();
                ResetButton = null;
            }

            if (StartButton != null)
            {
                StartButton.Dispose();
                StartButton = null;
            }

            if (StopButton != null)
            {
                StopButton.Dispose();
                StopButton = null;
            }

            if (TimerDisplay != null)
            {
                TimerDisplay.Dispose();
                TimerDisplay = null;
            }
        }
Ejemplo n.º 28
0
    public void StopPlotting()
    {
        s1.StopRealTimeUpdate();
        s2.StopRealTimeUpdate();

        s3.StopRealTimeUpdate();
        s4.StopRealTimeUpdate();

        StartButton.SetActive(false);
        StopButton.SetActive(false);
        NewSessionButton.SetActive(true);
        TopPlotPanel.SetActive(false);
        BottomPlotPanel.SetActive(false);
        TopPostPlotPanel.SetActive(true);
        BottomPostPlotPanel.SetActive(true);
        PlayPostButton.SetActive(true);
        PausePostButton.SetActive(false);
        StopPostButton.SetActive(true);
        CheckNodesButton.SetActive(false);
        PostPlotResults();
        post_plotting = true;
        frame         = 0;
    }
Ejemplo n.º 29
0
        protected override void WndProc(ref Message m)
        {
            //Check for key down press
            if (m.Msg == WM_HOTKEY)
            {
                //Switch over the ID assigned
                switch (m.WParam.ToInt32())
                {
                case F6HOTKEYID:
                    if (ClickerEnabled == true)
                    {
                        StopButton.PerformClick();
                    }
                    else if (ClickerEnabled == false)
                    {
                        StartButton.PerformClick();
                    }
                    break;

                case F7HOTKEYID:
                    if (ClickerEnabled == false && SetPosRadio.Checked)
                    {
                        this.Cursor      = new Cursor(Cursor.Current.Handle);
                        this.CursorPoint = new Point(Cursor.Position.X, Cursor.Position.Y);

                        this.XPosition = Cursor.Position.X;
                        this.YPosition = Cursor.Position.Y;

                        this.XPos.Text = Cursor.Position.X.ToString();
                        this.YPos.Text = Cursor.Position.Y.ToString();
                    }
                    break;
                }
            }

            base.WndProc(ref m);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            projectTaskClientToAttributedString = new ProjectTaskClientToAttributedString(
                ProjectTaskClientLabel.Font.CapHeight,
                Colors.EditTimeEntry.ClientText.ToNativeColor());

            tagsListToAttributedString = new TagsListToAttributedString(TagsTextView);

            localizeLabels();
            prepareViews();
            prepareOnboarding();

            contentSizeChangedDisposable = ScrollViewContent.AddObserver(boundsKey, NSKeyValueObservingOptions.New, onContentSizeChanged);

            DescriptionTextView.Text = ViewModel.Description.Value;

            ViewModel.Preferences
            .Select(preferences => preferences.DurationFormat)
            .Select(format => ViewModel.GroupDuration.ToFormattedString(format))
            .Subscribe(GroupDuration.Rx().Text())
            .DisposedBy(DisposeBag);

            CloseButton.Rx().Tap()
            .Subscribe(ViewModel.CloseWithDefaultResult)
            .DisposedBy(DisposeBag);

            ConfirmButton.Rx()
            .BindAction(ViewModel.Save)
            .DisposedBy(DisposeBag);

            DescriptionTextView.TextObservable
            .Subscribe(ViewModel.Description.Accept)
            .DisposedBy(DisposeBag);

            DescriptionTextView.SizeChangedObservable
            .Subscribe(adjustHeight)
            .DisposedBy(DisposeBag);

            ViewModel.SyncErrorMessage
            .Subscribe(ErrorMessageLabel.Rx().Text())
            .DisposedBy(DisposeBag);

            ViewModel.IsSyncErrorMessageVisible
            .Subscribe(ErrorView.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            ErrorView.Rx().Tap()
            .Subscribe(ViewModel.DismissSyncErrorMessage.Inputs)
            .DisposedBy(DisposeBag);

            ViewModel.ProjectClientTask
            .Select(info => projectTaskClientToAttributedString.Convert(
                        info.Project,
                        info.Task,
                        info.Client,
                        new Color(info.ProjectColor).ToNativeColor()))
            .Subscribe(ProjectTaskClientLabel.Rx().AttributedText())
            .DisposedBy(DisposeBag);

            ViewModel.ProjectClientTask
            .Select(info => info.HasProject)
            .Subscribe(ProjectTaskClientLabel.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            ViewModel.ProjectClientTask
            .Select(info => !info.HasProject)
            .Subscribe(AddProjectAndTaskView.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            SelectProject.Rx()
            .BindAction(ViewModel.SelectProject)
            .DisposedBy(DisposeBag);

            TagsTextView.Rx()
            .BindAction(ViewModel.SelectTags)
            .DisposedBy(DisposeBag);

            AddTagsView.Rx()
            .BindAction(ViewModel.SelectTags)
            .DisposedBy(DisposeBag);

            var containsTags = ViewModel.Tags
                               .Select(tags => tags.Any());

            containsTags
            .Invert()
            .Subscribe(AddTagsView.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            containsTags
            .Subscribe(TagsTextView.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            ViewModel.IsBillable
            .Subscribe(BillableSwitch.Rx().CheckedObserver())
            .DisposedBy(DisposeBag);

            BillableSwitch.Rx().Changed()
            .Subscribe(ViewModel.ToggleBillable.Inputs)
            .DisposedBy(DisposeBag);

            ViewModel.IsBillableAvailable
            .Subscribe(BillableView.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            ViewModel.IsInaccessible
            .Subscribe(adjustUIForInaccessibleTimeEntry)
            .DisposedBy(DisposeBag);

            ViewModel.StartTime
            .WithLatestFrom(ViewModel.Preferences,
                            (startTime, preferences) => DateTimeToFormattedString.Convert(
                                startTime,
                                preferences.TimeOfDayFormat.Format))
            .Subscribe(StartTimeLabel.Rx().Text())
            .DisposedBy(DisposeBag);

            ViewModel.StartTime
            .WithLatestFrom(ViewModel.Preferences,
                            (startTime, preferences) => DateTimeToFormattedString.Convert(
                                startTime,
                                preferences.DateFormat.Short))
            .Subscribe(StartDateLabel.Rx().Text())
            .DisposedBy(DisposeBag);

            StartTimeView.Rx().Tap()
            .SelectValue(EditViewTapSource.StartTime)
            .Subscribe(ViewModel.EditTimes.Inputs)
            .DisposedBy(DisposeBag);

            StartDateView.Rx().Tap()
            .Subscribe(ViewModel.SelectStartDate.Inputs)
            .DisposedBy(DisposeBag);

            ViewModel.IsTimeEntryRunning
            .Subscribe(StopButton.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            ViewModel.IsTimeEntryRunning
            .Select(CommonFunctions.Invert)
            .Subscribe(EndTimeLabel.Rx().IsVisible())
            .DisposedBy(DisposeBag);

            ViewModel.StopTime
            .Where(stopTime => stopTime.HasValue)
            .Select(stopTime => stopTime.Value)
            .WithLatestFrom(ViewModel.Preferences,
                            (stopTime, preferences) => DateTimeToFormattedString.Convert(
                                stopTime,
                                preferences.TimeOfDayFormat.Format))
            .Subscribe(EndTimeLabel.Rx().Text())
            .DisposedBy(DisposeBag);

            EndTimeView.Rx().Tap()
            .SelectLatestFrom(ViewModel.IsTimeEntryRunning)
            .Invert()
            .Where(CommonFunctions.Identity)
            .SelectValue(EditViewTapSource.StopTime)
            .Subscribe(ViewModel.EditTimes.Inputs)
            .DisposedBy(DisposeBag);

            EndTimeView.Rx().Tap()
            .Merge(StopButton.Rx().Tap())
            .SelectLatestFrom(ViewModel.IsTimeEntryRunning)
            .Where(CommonFunctions.Identity)
            .SelectUnit()
            .Subscribe(ViewModel.StopTimeEntry.Inputs)
            .DisposedBy(DisposeBag);

            ViewModel.Duration
            .WithLatestFrom(ViewModel.Preferences,
                            (duration, preferences) => duration.ToFormattedString(preferences.DurationFormat))
            .Subscribe(DurationLabel.Rx().Text())
            .DisposedBy(DisposeBag);

            DurationView.Rx().Tap()
            .SelectValue(EditViewTapSource.Duration)
            .Subscribe(ViewModel.EditTimes.Inputs)
            .DisposedBy(DisposeBag);

            DeleteButton.Rx()
            .BindAction(ViewModel.Delete)
            .DisposedBy(DisposeBag);
        }