public FormEditProgram(CoreObjects.Program program)
        {
            InitializeComponent();

            _program = program;

            textEditMovieTitle.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            textEditMovieTitle.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            textEditMovieTitle.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            textEditName.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            textEditName.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            textEditName.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            textEditDistributor.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            textEditDistributor.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            textEditDistributor.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            textEditContractLength.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            textEditContractLength.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            textEditContractLength.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            memoEditCustomNote.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            memoEditCustomNote.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            memoEditCustomNote.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            timeEditStart.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            timeEditStart.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            timeEditStart.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            timeEditEnd.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            timeEditEnd.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            timeEditEnd.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            spinEditOccurenceNumber.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            spinEditOccurenceNumber.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            spinEditOccurenceNumber.Enter += new EventHandler(FormMain.Instance.Editor_Enter);
            spinEditWeeksNumber.MouseUp += new MouseEventHandler(FormMain.Instance.Editor_MouseUp);
            spinEditWeeksNumber.MouseDown += new MouseEventHandler(FormMain.Instance.Editor_MouseDown);
            spinEditWeeksNumber.Enter += new EventHandler(FormMain.Instance.Editor_Enter);

            FormMain.Instance.SetClickEventHandler(this);
        }
        private void gridViewPrograms_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            if (e.Clicks == 2)
            {
                CoreObjects.ProgramActivity programActivity = Controllers.StationManager.Instance.SelectedDay.ProgramActivities[gridViewPrograms.GetDataSourceRowIndex(e.RowHandle)];
                using (ToolForms.FormEditProgramActivity form = new ToolForms.FormEditProgramActivity(programActivity))
                {
                    DialogResult result = form.ShowDialog();
                    if (result == DialogResult.Retry)
                    {
                        CoreObjects.Program program = new CoreObjects.Program();
                        program.Name = programActivity.Program;
                        program.Type = programActivity.Type;
                        program.FCC = programActivity.FCC;
                        program.HouseNumber = programActivity.HouseNumber;
                        program.MovieTitle = programActivity.MovieTitle;
                        program.Distributor = programActivity.Distributor;
                        program.ContractLength = programActivity.ContractLength;
                        program.CustomNote = programActivity.CustomNote;

                        program.Date = programActivity.Date;
                        program.StartTime = programActivity.Time;
                        program.EndTime = program.StartTime.AddMinutes(30);
                        program.RecureEveryWeek = 1;
                        switch (program.Date.DayOfWeek)
                        {
                            case DayOfWeek.Monday:
                                program.RecureOnMonday = true;
                                break;
                            case DayOfWeek.Tuesday:
                                program.RecureOnTuesday = true;
                                break;
                            case DayOfWeek.Wednesday:
                                program.RecureOnWednesday = true;
                                break;
                            case DayOfWeek.Thursday:
                                program.RecureOnThursday = true;
                                break;
                            case DayOfWeek.Friday:
                                program.RecureOnFriday = true;
                                break;
                            case DayOfWeek.Saturday:
                                program.RecureOnSaturday = true;
                                break;
                            case DayOfWeek.Sunday:
                                program.RecureOnSunday = true;
                                break;
                        }
                        program.NoEndRecurence = true;

                        using (ToolForms.FormEditProgram formEditProgram = new ToolForms.FormEditProgram(program))
                        {
                            formEditProgram.Text = string.Format(form.Text, "Add");
                            if (formEditProgram.ShowDialog() == DialogResult.OK)
                            {
                                if (Controllers.AppManager.Instance.ShowWarningQuestion("You are about to save new Program Information in areas that already have programs scheduled...\nDo you want to continue?") == DialogResult.Yes)
                                {
                                    Controllers.StationManager.Instance.SelectedStation.AddProgram(formEditProgram.Program);
                                    LoadDay();
                                    this.DataNotSaved = true;
                                }
                            }
                        }
                    }
                    else if (result == DialogResult.OK)
                    {
                        gridViewPrograms.RefreshData();
                        this.DataNotSaved = true;
                    }
                }
            }
        }