Esempio n. 1
0
      public MainPresenter(MainGridModel mainGridModel, IMainView view, IMessagesView messagesView, IViewFactory viewFactory,
                           IMessageBoxView messageBoxView, UserStatsDataModel userStatsDataModel, IPresenterFactory presenterFactory,
                           IClientConfiguration clientConfiguration, IProteinService proteinService, IUpdateLogic updateLogic,
                           RetrievalModel retrievalModel, IExternalProcessStarter processStarter,
                           IPreferenceSet prefs, IClientSettingsManager settingsManager)
      {
         _gridModel = mainGridModel;
         //_gridModel.BeforeResetBindings += delegate { _view.DataGridView.FreezeSelectionChanged = true; };
         _gridModel.AfterResetBindings += delegate
                                          {
                                             //_view.DataGridView.FreezeSelectionChanged = false;
                                             DisplaySelectedSlotData();
                                             _view.RefreshControlsWithTotalsData(_gridModel.SlotTotals);
                                          };
         _gridModel.SelectedSlotChanged += (sender, e) =>
                                           {
                                              if (e.Index >= 0 && e.Index < _view.DataGridView.Rows.Count)
                                              {
                                                 _view.DataGridView.Rows[e.Index].Selected = true;
                                                 DisplaySelectedSlotData();
                                              }
                                           };
         _userStatsDataModel = userStatsDataModel;

         // Views
         _view = view;
         _messagesView = messagesView;
         _messageBoxView = messageBoxView;
         //
         _viewFactory = viewFactory;
         _presenterFactory = presenterFactory;
         // Collections
         _clientConfiguration = clientConfiguration;
         _proteinService = proteinService;
         // Logic Services
         _updateLogic = updateLogic;
         _updateLogic.Owner = _view;
         _retrievalModel = retrievalModel;
         _processStarter = processStarter;
         // Data Services
         _prefs = prefs;
         _settingsManager = settingsManager;

         _clientConfiguration.DictionaryChanged += delegate { AutoSaveConfig(); };
      }
Esempio n. 2
0
        /// <summary>
        /// Main Form Constructor
        /// </summary>
        public MainForm(IPreferenceSet prefs, UserStatsDataModel userStatsDataModel)
        {
            _prefs = prefs;
             _userStatsDataModel = userStatsDataModel;

             // This call is Required by the Windows Form Designer
             InitializeComponent();

             // Set Main Form Text
            #if BETA
             base.Text = String.Format("HFM.NET v{0} - Beta", Core.Application.Version);
            #else
             base.Text = String.Format("HFM.NET v{0}", Core.Application.Version);
            #endif
        }
Esempio n. 3
0
      private void BindToUserStatsDataModel(UserStatsDataModel userStatsDataModel)
      {
         statusUserTeamRank.DataBindings.Add("Text", userStatsDataModel, "Rank", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserProjectRank.DataBindings.Add("Text", userStatsDataModel, "OverallRank", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUser24hr.DataBindings.Add("Text", userStatsDataModel, "TwentyFourHourAvgerage", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserToday.DataBindings.Add("Text", userStatsDataModel, "PointsToday", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserWeek.DataBindings.Add("Text", userStatsDataModel, "PointsWeek", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserTotal.DataBindings.Add("Text", userStatsDataModel, "PointsTotal", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserWUs.DataBindings.Add("Text", userStatsDataModel, "WorkUnitsTotal", false, DataSourceUpdateMode.OnPropertyChanged);

         statusUserTeamRank.DataBindings.Add("Visible", userStatsDataModel, "ControlsVisible", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserProjectRank.DataBindings.Add("Visible", userStatsDataModel, "OverallRankVisible", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUser24hr.DataBindings.Add("Visible", userStatsDataModel, "ControlsVisible", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserToday.DataBindings.Add("Visible", userStatsDataModel, "ControlsVisible", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserWeek.DataBindings.Add("Visible", userStatsDataModel, "ControlsVisible", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserTotal.DataBindings.Add("Visible", userStatsDataModel, "ControlsVisible", false, DataSourceUpdateMode.OnPropertyChanged);
         statusUserWUs.DataBindings.Add("Visible", userStatsDataModel, "ControlsVisible", false, DataSourceUpdateMode.OnPropertyChanged);

         if (Core.Application.IsRunningOnMono)
         {
            userStatsDataModel.PropertyChanged += (s, e) => UserStatsDataModelPropertyChangedForMono(userStatsDataModel);
         }
      }
Esempio n. 4
0
      private void UserStatsDataModelPropertyChangedForMono(UserStatsDataModel userStatsDataModel)
      {
         statusUserTeamRank.Text = userStatsDataModel.Rank;
         statusUserProjectRank.Text = userStatsDataModel.OverallRank;
         statusUser24hr.Text = userStatsDataModel.TwentyFourHourAvgerage;
         statusUserToday.Text = userStatsDataModel.PointsToday;
         statusUserWeek.Text = userStatsDataModel.PointsWeek;
         statusUserTotal.Text = userStatsDataModel.PointsTotal;
         statusUserWUs.Text = userStatsDataModel.WorkUnitsTotal;

         statusUserTeamRank.Visible = userStatsDataModel.ControlsVisible;
         statusUserProjectRank.Visible = userStatsDataModel.OverallRankVisible;
         statusUser24hr.Visible = userStatsDataModel.ControlsVisible;
         statusUserToday.Visible = userStatsDataModel.ControlsVisible;
         statusUserWeek.Visible = userStatsDataModel.ControlsVisible;
         statusUserTotal.Visible = userStatsDataModel.ControlsVisible;
         statusUserWUs.Visible = userStatsDataModel.ControlsVisible;
      }
Esempio n. 5
0
      public void Initialize(MainPresenter presenter, IProteinService service, UserStatsDataModel userStatsDataModel)
      {
         _presenter = presenter;
         // Resize can be invoked when InitializeComponent() is called
         // if the DPI is not set to Normal (96 DPI).  The MainFormResize
         // method depends on _presenter HAVING A VALUE.  Wait to hook
         // up this event until after _presenter has been set (above).
         Resize += MainFormResize;

         #region Initialize Controls

         // Manually Create the Columns - Issue 41
         dataGridView1.AutoGenerateColumns = false;
         SetupDataGridViewColumns(dataGridView1);
         // Add Column Selector
         new DataGridViewColumnSelector(dataGridView1);
         // Give the Queue Control access to the Protein Collection
         queueControl.SetProteinService(service);

         #endregion

         // Initialize the Presenter
         _presenter.Initialize();

         BindToUserStatsDataModel(userStatsDataModel);
         // Hook-up Status Label Event Handlers
         SubscribeToStatsLabelEvents();

         #region Hook-up DataGridView Event Handlers for Mono

         // If Mono, use the RowEnter Event (which was what 0.3.0 and prior used)
         // to set the CurrentInstance selection.  Obviously Mono doesn't fire the
         // DataGridView.SelectionChanged Event.
         if (Core.Application.IsRunningOnMono)
         {
            //dataGridView1.RowEnter += delegate
            //{
            //   _presenter.SetSelectedInstance(GetSelectedRowInstanceName(dataGridView1.SelectedRows));
            //};
            //// Use RowLeave to clear data grid when selecting New file under Mono
            //dataGridView1.RowLeave += delegate
            //{
            //   _presenter.SetSelectedInstance(GetSelectedRowInstanceName(dataGridView1.SelectedRows));
            //};
         }

         #endregion
      }