public UniqueRoutesActivityDetailPage(IDailyActivityView view)
 {
     this.m_view = view;
     m_prevViewId = view.Id;
     view.SelectionProvider.SelectedItemsChanged += new EventHandler(OnViewSelectedItemsChanged);
     Plugin.GetApplication().PropertyChanged += new PropertyChangedEventHandler(Application_PropertyChanged);
 }
예제 #2
0
 public ActivityDetailPage(IDailyActivityView view)
 {
     this.m_view  = view;
     m_prevViewId = view.Id;
     view.SelectionProvider.SelectedItemsChanged += new EventHandler(OnViewSelectedItemsChanged);
     Plugin.GetApplication().PropertyChanged += new PropertyChangedEventHandler(Application_PropertyChanged);
 }
예제 #3
0
        /// <summary>
        /// Get activities from current view
        /// </summary>
        /// <param name="all">Get All activities if True, or just selected activities if False.
        /// NOTE: This only applies to Reports View.</param>
        /// <returns>Activities from this page's associated view (defined in constructor)</returns>
        internal IEnumerable <IActivity> GetActivities(bool all)
        {
            IList <IActivity> activities = new List <IActivity>();

            // Prevent null ref error during startup
            if (PluginMain.GetApplication().Logbook == null ||
                PluginMain.GetApplication().ActiveView == null)
            {
                return(activities);
            }

            IView view = PluginMain.GetApplication().ActiveView;

            if (view != null && IsDailyActivityView)
            {
                IDailyActivityView activityView = view as IDailyActivityView;
                activities = CollectionUtils.GetAllContainedItemsOfType <IActivity>(activityView.SelectionProvider.SelectedItems);
            }
            else if (view != null && IsReportView)
            {
                IActivityReportsView reportsView = view as IActivityReportsView;

                if (all)
                {
                    activities = reportsView.ActiveReport.Activities;
                }
                else
                {
                    activities = CollectionUtils.GetAllContainedItemsOfType <IActivity>(reportsView.SelectionProvider.SelectedItems);
                }
            }

            return(activities);
        }
예제 #4
0
 //popup dialog
 internal HighScoreViewer(IDailyActivityView view)
     : this(true)
 {
     m_view = view;
     m_layer = TrailPointsLayer.Instance((IView)view);
     this.ShowPage("");
 }
예제 #5
0
        public IList <IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
        {
            IList <IDetailPage> list = new List <IDetailPage>();

            list.Add(new DetailPage.QuadrantAnalysis(view));

            return(list);
        }
 public IList<IAction> GetActions(IDailyActivityView view,
                                          ExtendViewActions.Location location)
 {
     if (location == ExtendViewActions.Location.AnalyzeMenu)
     {
         return new IAction[] { new PerformancePredictorAction(view) };
     }
     else return new IAction[0];
 }
 //Analyze popup dialog
 internal PerformancePredictorControl(IDailyActivityView view)
     : this(true)
 {
     m_view = view;
     m_layer = TrailPointsLayer.Instance((IView)view);
     this.predictorView.InitControls(m_DetailPage, m_view, m_layer, this);
     this.trainingView.InitControls(m_DetailPage, m_view, m_layer, this);
     this.extrapolateView.InitControls(m_DetailPage, m_view, m_layer, this);
 }
 public IList<IAction> GetActions(IDailyActivityView view,
                                          ExtendViewActions.Location location)
 {
     if (location == ExtendViewActions.Location.AnalyzeMenu)
     {
         return new IAction[] { new AccumulatedSummaryAction(view) };
     }
     else return new IAction[0];
 }
예제 #9
0
        public IList<IAction> GetActions(IDailyActivityView view, ExtendViewActions.Location location)
        {
            if (location == ExtendViewActions.Location.EditMenu)
            {
                return new IAction[] { new CalculateFieldsAction(view), new ClearFieldsAction(view) };
            }

            return new IAction[0];
        }
예제 #10
0
 public IList<IAction> GetActions(IDailyActivityView view,
                                          ExtendViewActions.Location location)
 {
     if (location == ExtendViewActions.Location.ExportMenu)
     {
         return new IAction[] { new TransferActivity(view) };
     }
     else return new IAction[0];
 }
예제 #11
0
 public DailyActivityController(IEFRepository repository, IDailyActivityView view)
     : base(repository, view)
 {
     this._helper          = DateHelper.GetInstance();
     this._dayActivityView = view;
     this._dayActivityView.View_GetPresetActivityData    = GetPresetActivityData;
     this._dayActivityView.View_GetDailyActivityData     = GetDailyActivityData;
     this._dayActivityView.View_GetDatesForCurrentPeriod = GetDatesForCurrentPeriod;
     this._dayActivityView.View_ViewReady = ViewReady;
 }
예제 #12
0
 public IList <IAction> GetActions(IDailyActivityView view,
                                   ExtendViewActions.Location location)
 {
     //if (location == ExtendViewActions.Location.AnalyzeMenu)
     //{
     //    return new IAction[] { new UI.Actions.Action(view) };
     //}
     //else
     return(new IAction[0]);
 }
예제 #13
0
 public IList <IAction> GetActions(IDailyActivityView view,
                                   ExtendViewActions.Location location)
 {
     if (location == ExtendViewActions.Location.AnalyzeMenu)
     {
         return(new IAction[] { new TrailsAction(view) });
     }
     else
     {
         return(new IAction[0]);
     }
 }
 //Activity page
 internal PerformancePredictorControl(IDetailPage detailPage, IDailyActivityView view)
     : this()
 {
     m_DetailPage = detailPage;
     m_view = view;
     m_layer = TrailPointsLayer.Instance(m_view);
     if (m_DetailPage != null)
     {
         //expandButton.Visible = true;
     }
     this.predictorView.InitControls(m_DetailPage, m_view, m_layer, this);
     this.trainingView.InitControls(m_DetailPage, m_view, m_layer, this);
     this.extrapolateView.InitControls(m_DetailPage, m_view, m_layer, this);
 }
예제 #15
0
        public void SetControl(ActivityDetailPageControl page, IDailyActivityView view)
        {
            m_view = view;
#endif
            m_page = page;
            foreach (TrailLineChart t in m_lineCharts)
            {
                t.SetControl(m_page, this);
            }
            if (this.m_page.IsPopup)
            {
                this.btnExpand.Visible = false;
            }
        }
예제 #16
0
        public void InitControls(IDetailPage detailPage, IDailyActivityView view, TrailPointsLayer layer, PerformancePredictorControl ppControl)
        {
#if !ST_2_1
            //m_DetailPage = detailPage;
            m_view = view;
            m_layer = layer;
#endif
            m_ppcontrol = ppControl;

            copyTableMenuItem.Image = ZoneFiveSoftware.Common.Visuals.CommonResources.Images.DocumentCopy16;
            summaryList.NumHeaderRows = TreeList.HeaderRows.Two;
            summaryList.LabelProvider = new ResultLabelProvider();
            IAxis axis = new RightVerticalAxis(chart);
            chart.YAxisRight.Add(axis);
        }
예제 #17
0
        public void ShowPage(string bookmark)
        {
            CreatePageControl();

            // This requires use of the constructor view (as opposed to ActiveView)
            if (view != null && Id == GUIDs.MeanMaxDetail)
            {
                IDailyActivityView activityView = view as IDailyActivityView;
                activityView.SelectionProvider.SelectedItemsChanged += OnViewSelectedItemsChanged;
            }

            control.IsVisible = true;
            control.Maximize += new EventHandler(control_Maximize);
            OnViewSelectedItemsChanged(null, null);
        }
예제 #18
0
        public void InitControls(IDetailPage detailPage, IDailyActivityView view, TrailPointsLayer layer, PerformancePredictorControl ppControl)
        {
#if !ST_2_1
            m_DetailPage = detailPage;
            m_view = view;
            m_layer = layer;
#endif
            m_ppcontrol = ppControl;

            //Set in user code rather than generated code, to make GUI editing possible
            this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;

            copyTableMenuItem.Image = ZoneFiveSoftware.Common.Visuals.CommonResources.Images.DocumentCopy16;

            temperatureList.LabelProvider = new TemperatureLabelProvider();
            weightList.LabelProvider = new WeightLabelProvider();
            shoeList.LabelProvider = new ShoeLabelProvider();
            ageList.LabelProvider = new AgeLabelProvider();
        }
예제 #19
0
 //Activity page
 public HighScoreViewer(IDetailPage detailPage, IDailyActivityView view)
    : this()
 {
     m_DetailPage = detailPage;
     m_view = view;
     m_layer = TrailPointsLayer.Instance(m_view);
     if (m_DetailPage != null)
     {
         //expandButton.Visible = true;
     }
     if (Settings.ShowTrailsHint)
     {
         String oneTimeMessage = "The Trails plugin can be used as viewer for High Scores. Trails provides many more features, for instance graphs and top lists. Just select the HighScore trail. See the HighScore or Trails documentation for more information. This message will not be shown again.";
         DialogResult r = MessageDialog.Show(oneTimeMessage, "Trails Plugin", MessageBoxButtons.OK, MessageBoxIcon.Information);
         if (r == DialogResult.OK)
         {
             Settings.ShowTrailsHint = false;
         }
     }
 }
예제 #20
0
파일: EditTrail.cs 프로젝트: tsofron/trails
        public EditTrail(ITheme visualTheme, System.Globalization.CultureInfo culture, ActivityDetailPageControl page,
                         IDailyActivityView view, TrailPointsLayer layer, bool addMode, bool copy, TrailResult tr)
#endif
            : this(addMode, copy)
        {
#if !ST_2_1
            this.m_page              = page;
            this.m_view              = view;
            this.m_layer             = layer;
            this.m_layer.TrailPoints = m_TrailToEdit.TrailLocations;
#endif
            this.m_trailResult = tr;
            //It is possible that the trail result is not for the trail to edit (if more than one is selected)
            if (tr != null && tr.Trail != Controller.TrailController.Instance.PrimaryCurrentActivityTrail.Trail)
            {
                this.m_trailResult = null;
            }

            ThemeChanged(visualTheme);
            UICultureChanged(culture);
        }
예제 #21
0
        public bool HidePage()
        {
            // Active view has changed by the time this is called so we need to use the view
            //  that is assigned to us via the constructor.
            if (view != null && Id == GUIDs.MeanMaxDetail)
            {
                IDailyActivityView activityView = view as IDailyActivityView;
                activityView.SelectionProvider.SelectedItemsChanged -= OnViewSelectedItemsChanged;
            }
            else if (view != null && Id == GUIDs.MeanMaxReport)
            {
                IActivityReportsView reportsView = view as IActivityReportsView;
                reportsView.SelectionProvider.SelectedItemsChanged -= OnViewSelectedItemsChanged;
                reportsView.PropertyChanged -= ActiveReport_PropertyChanged;
            }

            CreatePageControl();
            control.Maximize -= control_Maximize;

            control.IsVisible = false;
            return(true);
        }
        public UniqueRoutesActivityDetailView(IDetailPage detailPage, IDailyActivityView view)
            : this()
        {
            m_DetailPage = detailPage;
            m_view = view;
            if (this.m_layer != null)
            {
                m_layer = TrailPointsLayer.Instance(m_view);
            }
            if (m_DetailPage != null)
            {
                //expandButton.Visible = true;
            }

            if (Settings.ShowTrailsHint)
            {
                String oneTimeMessage = "The Trails plugin can be used as viewer for Unique Routes to get more features, for instance graphs. Just select the UniqueRoutes trail in Trails. See the UniqueRoutes or Trails documentation for more information. This message will not be shown again.";
                DialogResult r = MessageDialog.Show(oneTimeMessage, "Trails Plugin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (r == DialogResult.OK)
                {
                    Settings.ShowTrailsHint = false;
                }
            }
        }
예제 #23
0
        public void InitControls(IDetailPage detailPage, IDailyActivityView view, TrailPointsLayer layer, PerformancePredictorControl ppControl)
        {
#if !ST_2_1
            m_DetailPage = detailPage;
            m_view = view;
            m_layer = layer;
#endif
            m_ppcontrol = ppControl;

            //Set in user code rather than generated code, to make GUI editing possible
            this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;

            copyTableMenuItem.Image = ZoneFiveSoftware.Common.Visuals.CommonResources.Images.DocumentCopy16;

            trainingList.LabelProvider = new TrainingLabelProvider();
            paceTempoList.LabelProvider = new PaceTempoLabelProvider();
            intervalList.LabelProvider = new IntervalLabelProvider();
            trainingList.Columns.Clear();
            foreach (string id in ResultColumnIds.TrainingColumns)
            {
                foreach (IListColumnDefinition columnDef in ResultColumnIds.ColumnDefs())
                {
                    if (columnDef.Id == id)
                    {
                        TreeList.Column column = new TreeList.Column(
                            columnDef.Id,
                            columnDef.Text(columnDef.Id),
                            columnDef.Width,
                            columnDef.Align
                        );
                        trainingList.Columns.Add(column);
                        break;
                    }
                }
            }
            paceTempoList.Columns.Clear();
            foreach (string id in ResultColumnIds.PaceTempoColumns)
            {
                foreach (IListColumnDefinition columnDef in ResultColumnIds.ColumnDefs())
                {
                    if (columnDef.Id == id)
                    {
                        TreeList.Column column = new TreeList.Column(
                            columnDef.Id,
                            columnDef.Text(columnDef.Id),
                            columnDef.Width,
                            columnDef.Align
                        );
                        paceTempoList.Columns.Add(column);
                        break;
                    }
                }
            }
            intervalList.Columns.Clear();
            foreach (string id in ResultColumnIds.IntervallColumns)
            {
                foreach (IListColumnDefinition columnDef in ResultColumnIds.ColumnDefs())
                {
                    if (columnDef.Id == id)
                    {
                        TreeList.Column column = new TreeList.Column(
                            columnDef.Id,
                            columnDef.Text(columnDef.Id),
                            columnDef.Width,
                            columnDef.Align
                        );
                        intervalList.Columns.Add(column);
                        break;
                    }
                }
            }
        }
예제 #24
0
 public IList <IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
 {
     return(new List <IDetailPage> {
         new GearChartPage(view)
     });
 }
 public PerformancePredictorAction(IDailyActivityView view)
 {
     this.m_dailyView = view;
 }
예제 #26
0
 public TRIMPAction(IDailyActivityView view)
 {
     this.dailyView = view;
 }
예제 #27
0
 internal GearChartPage(IDailyActivityView view)
 {
     GearChartPage.view = view;
     view.SelectionProvider.SelectedItemsChanged += new EventHandler(SelectionProvider_SelectedItemsChanged);
 }
 public TRIMPActivityDetailPage(IDailyActivityView view)
 {
     this.view = view;
     view.SelectionProvider.SelectedItemsChanged += new EventHandler(OnViewSelectedItemsChanged);
 }
 public  IList<IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
 {
     return new IDetailPage[] { new UniqueRoutesActivityDetailPage(view) };
 }
예제 #30
0
 //UniqueRoutes sendto
 public HighScoreViewer(IList<IActivity> activities, IDailyActivityView view)
     : this(view)
 {
     this.Activities = activities;
 }
예제 #31
0
 public IList<IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
 {
     //IActivity activity = CollectionUtils.GetSingleItemOfType<IActivity>(view.SelectionProvider.SelectedItems);
     return new IDetailPage[] { new ST2FunbeatDetailsPage(view) };
 }
예제 #32
0
 public ST2FunbeatDetailsPage(IDailyActivityView view)
 {
     view.SelectionProvider.SelectedItemsChanged += new EventHandler(OnViewSelectedItemsChanged);
     this.view = view;
 }
예제 #33
0
 //Trails analyze
 public HighScoreViewer(IList<IActivity> activities, IList<IValueRangeSeries<DateTime>> pauses, IDailyActivityView view, System.Windows.Forms.ProgressBar progressBar)
     : this(view)
 {
     this.progressBar = progressBar;
     this.m_pauses = pauses;
     this.Activities = activities;
 }
 //UniqueRoutes sendto
 public AccumulatedSummaryView(IList<IActivity> activities, IDailyActivityView view)
     : this(activities)
 {
     //m_layer = TrailPointsLayer.Instance((IView)view);
 }
예제 #35
0
 public static void HighScorePopup(IList<IActivity> activities, IList<IValueRangeSeries<DateTime>> pauses, IDailyActivityView view, System.Windows.Forms.ProgressBar progressBar)
 {
     new HighScoreViewer(activities, pauses, view, progressBar);
 }
예제 #36
0
 public HighScoreAction(IDailyActivityView view)
 {
     this.m_dailyView = view;
 }
예제 #37
0
        public static void PerformancePredictorPopup(IList <TrailsItemTrackSelectionInfo> selections, IDailyActivityView view, System.Windows.Forms.ProgressBar progressBar)
        {
            try
            {
                if (GetPerformancePredictor != null)
                {
                    IList <IItemTrackSelectionInfo> sels = TrailsItemTrackSelectionInfo.SetAndAdjustFromSelectionToST(selections);
                    IList <IActivity> activities         = new List <IActivity>();
                    foreach (TrailsItemTrackSelectionInfo t in selections)
                    {
                        //Should not matter if activities are added in order,
                        //but activity is "lost" as string in IItemTrackSelectionInfo, supply possible activities
                        activities.Add(t.Activity);
                    }
                    MethodInfo methodInfo       = GetPerformancePredictor.GetMethod(_PerformancePredictorPopup);
                    object     resultFromPlugIn = methodInfo.Invoke(null, new object[] { activities, sels, view, progressBar });
                }
            }
            catch (Exception e)
            {
                // Log error?
                throw new Exception(string.Format(IntegrationUtility.OtherPluginExceptionText,
                                                  PerformancePredictorPlugin + ".dll", PerformancePredictorPluginName) + Environment.NewLine, e);
            }

            if (GetPerformancePredictor == null)
            {
                throw new Exception(string.Format(IntegrationUtility.OtherPluginExceptionText,
                                                  PerformancePredictorPlugin + ".dll", PerformancePredictorPluginName) + Environment.NewLine);
            }
        }
예제 #38
0
파일: HighScore.cs 프로젝트: tsofron/trails
        public static void HighScorePopup(IList <IActivity> activities, IList <IValueRangeSeries <DateTime> > pauses, IDailyActivityView view, System.Windows.Forms.ProgressBar progressBar)
        {
            try
            {
                if (GetHighScore != null)
                {
                    MethodInfo methodInfo       = GetHighScore.GetMethod(_HighScorePopup);
                    object     resultFromPlugIn = methodInfo.Invoke(null, new object[] { activities, pauses, view, progressBar });
                }
            }
            catch (Exception e)
            {
                // Log error?
                throw new Exception(string.Format(IntegrationUtility.OtherPluginExceptionText,
                                                  HighScorePlugin + ".dll", HighScorePluginName) + Environment.NewLine, e);
            }

            if (GetHighScore == null)
            {
                throw new Exception(string.Format(IntegrationUtility.OtherPluginExceptionText,
                                                  HighScorePlugin + ".dll", HighScorePluginName) + Environment.NewLine);
            }
        }
예제 #39
0
 public ActivityComparerDetail(IDailyActivityView view)
 {
     this.activityView = view;
     view.SelectionProvider.SelectedItemsChanged += new EventHandler(OnViewSelectedItemsChanged);
     instance = this;
 }
 //UniqueRoutes sendto
 public PerformancePredictorControl(IList<IActivity> activities, IDailyActivityView view)
     : this(view)
 {
     this.Activities = activities;
     ShowPage("");
 }
 //Trails sendto
 internal PerformancePredictorControl(IList<IActivity> activities, IList<IItemTrackSelectionInfo> selections, IDailyActivityView view, System.Windows.Forms.ProgressBar progressBar)
     : this(view)
 {
     this.m_insertedSources = true;
     this.Activities = activities;
     IList<IItemTrackSelectionInfo> sels = TrailsItemTrackSelectionInfo.SetAndAdjustFromSelectionFromST(selections, activities);
     IList<TimePredictionSource> source = new List<TimePredictionSource>();
     foreach(IItemTrackSelectionInfo t in sels)
     {
         source.Add(new TimePredictionSource(t));
     }
     this.predictorView.SetCalculation(source);
     //Set the time / distance displayed
     this.predictorView.setData();
     ShowPage("");
 }
예제 #42
0
 internal HillsDetail(IDailyActivityView view)
 {
     this.view = view;
 }
예제 #43
0
 public MeanMaxDetail(IDailyActivityView view)
 {
     this.view = view;
     id        = GUIDs.MeanMaxDetail;
 }
 public AccumulatedSummaryAction(IDailyActivityView view)
 {
     this.m_dailyView = view;
 }
예제 #45
0
 internal QuadrantAnalysis(IDailyActivityView view)
 {
     this.view = view;
 }
예제 #46
0
 /// <summary>
 /// Popup from time/distance. Activities included for meta data.
 /// </summary>
 /// <param name="activities"></param>
 /// <param name="view"></param>
 /// <param name="progressBar"></param>
 public static void PerformancePredictorPopup(IList<IActivity> activities, IList<IItemTrackSelectionInfo> selections, IDailyActivityView view, System.Windows.Forms.ProgressBar progressBar)
 {
     new PerformancePredictorControl(activities, selections, view, progressBar);
 }
예제 #47
0
 public TrailsAction(IDailyActivityView view)
 {
     this.m_dailyView = view;
 }
예제 #48
0
 public IList <IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
 {
     return(new IDetailPage[] { new ActivityDetailPage(view) });
 }
 public IList<IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
 {
     return new IDetailPage[] { new HighScoreActivityDetailPage(view) };
 }
 public IList<IDetailPage> GetDetailPages(IDailyActivityView view, ExtendViewDetailPages.Location location)
 {
     return new IDetailPage[] { new PerformancePredictorActivityDetailPage(view) };
 }