예제 #1
0
        public FormBugListView(IBugService svc, ISingleBugViewPresenter sbPres, [Named("ViewSettings")] ISettingsOriginator viewSettings)
        {
            InitializeComponent();

            _presenter          = new BugListViewPresenter(this, svc);
            _singleBugPresenter = sbPres;
            _viewSettings       = viewSettings;
            SelectedBugs        = new ObservableCollection <IBug>();
            Projects            = new List <IProject>();
            CommandToApply      = new YouTrackCommand()
            {
                DisableNotifications = false
            };

            comboBoxProject.DataSource = bindingSourceProjects;

            //Set up grid
            dataGridViewBugs.Columns.Add(new DataGridViewCheckBoxColumn()
            {
                ReadOnly = false, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Resizable = DataGridViewTriState.False, Width = 20
            });
            dataGridViewBugs.Columns.Add(new DataGridViewTextBoxColumn()
            {
                DataPropertyName = "ID", ReadOnly = true, Resizable = DataGridViewTriState.True
            });
            dataGridViewBugs.Columns.Add(new DataGridViewTextBoxColumn()
            {
                DataPropertyName = "Summary", ReadOnly = true, Resizable = DataGridViewTriState.True
            });
            dataGridViewBugs.Columns.Add(new DataGridViewTextBoxColumn()
            {
                DataPropertyName = "Description", ReadOnly = true, Resizable = DataGridViewTriState.True, AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
            });
            _linkCol = new DataGridViewLinkColumn()
            {
                LinkBehavior = LinkBehavior.NeverUnderline, UseColumnTextForLinkValue = true, Text = "view", ReadOnly = true, Resizable = DataGridViewTriState.False, Width = 50, DefaultCellStyle = new DataGridViewCellStyle(dataGridViewBugs.DefaultCellStyle)
                {
                    Alignment = DataGridViewContentAlignment.MiddleCenter
                }
            };
            dataGridViewBugs.Columns.Add(_linkCol);

            dataGridViewBugs.CellContentClick    += new DataGridViewCellEventHandler(dataGridViewBugs_CellContentClick);
            bindingSourceProjects.CurrentChanged += (s, ea) => { if (!bindingSourceProjects.IsBindingSuspended)
                                                                 {
                                                                     SelectedProject = bindingSourceProjects.Current as IProject;
                                                                 }
            };
            comboBoxPage.SelectedIndexChanged += (s, ea) => UpdatePage();
            comboBoxPage.KeyUp += (s, ea) => { if (ea.KeyCode == Keys.Enter)
                                               {
                                                   UpdatePage();
                                               }
            };
            bindingSourceBugs.DataSourceChanged    += new EventHandler(bindingSourceBugs_DataSourceChanged);
            SelectedBugs.CollectionChanged         += (s, ea) => labelSelected.Text = String.Format("Selected: {0}", SelectedBugs.Count);
            checkBoxApplyCommand.CheckStateChanged += (s, ea) => { _applyCommand = checkBoxApplyCommand.Checked; };
            textBoxCommand.TextChanged             += (s, ea) => { _commandToApply.Command = textBoxCommand.Text; };
        }
예제 #2
0
        protected override void OnLoad(EventArgs e)
        {
            _settingsLoaded = false;

            try
            {
                _presenter.Initialize();

                //Load some view settings
                ISetting locationX  = _viewSettings.Get("LocationX");
                ISetting locationY  = _viewSettings.Get("LocationY");
                ISetting sizeWidth  = _viewSettings.Get("SizeWidth");
                ISetting sizeHeight = _viewSettings.Get("SizeHeight");
                ISetting projectID  = _viewSettings.Get("LastProjectID");
                ISetting command    = _viewSettings.Get("LastCommandText");
                ISetting useCommand = _viewSettings.Get("LastUseCommand");

                if (locationX != null && locationY != null)
                {
                    this.DesktopLocation = new Point(Convert.ToInt32(locationX.Value), Convert.ToInt32(locationY.Value));
                }
                else
                {
                    this.StartPosition = FormStartPosition.CenterParent;
                }

                if (sizeWidth != null && sizeHeight != null)
                {
                    this.Size = new Size(Convert.ToInt32(sizeWidth.Value), Convert.ToInt32(sizeHeight.Value));
                }

                if (projectID != null)
                {
                    IProject proj = Projects.FirstOrDefault(p => p.ID == projectID.Value);
                    if (proj != null)
                    {
                        bindingSourceProjects.Position = bindingSourceProjects.IndexOf(proj);
                    }
                }                //end if

                if (command != null)
                {
                    CommandToApply = new YouTrackCommand()
                    {
                        Command = command.Value, DisableNotifications = false
                    }
                }
                ;
                if (useCommand != null)
                {
                    try
                    {
                        ApplyCommand = bool.Parse(useCommand.Value);
                    }
                    catch { ApplyCommand = false; }
                }                //end if

                //Successfully loaded settings
                _settingsLoaded = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                throw;
            }            //end try

            base.OnLoad(e);
        }