private static void MainWindowModelTimelineFocusRequested(TimelineFocusRequest req) { var ccolumn = Columns[CurrentFocusColumnIndex]; if (ccolumn.Tabs.Count == 0) { return; // not available } switch (req) { case TimelineFocusRequest.LeftColumn: var left = CurrentFocusColumnIndex - 1; CurrentFocusColumnIndex = left < 0 ? Columns.Count - 1 : left; break; case TimelineFocusRequest.RightColumn: var right = CurrentFocusColumnIndex + 1; CurrentFocusColumnIndex = right >= Columns.Count ? 0 : right; break; case TimelineFocusRequest.LeftTab: var ltab = ccolumn.CurrentFocusTabIndex - 1; if (ltab < 0) { // move left column var lcol = CurrentFocusColumnIndex - 1; CurrentFocusColumnIndex = lcol < 0 ? Columns.Count - 1 : lcol; ccolumn = Columns[CurrentFocusColumnIndex]; ltab = ccolumn.Tabs.Count - 1; } ccolumn.CurrentFocusTabIndex = ltab; break; case TimelineFocusRequest.RightTab: var rtab = ccolumn.CurrentFocusTabIndex + 1; if (rtab >= ccolumn.Tabs.Count) { var rcol = CurrentFocusColumnIndex + 1; CurrentFocusColumnIndex = rcol >= Columns.Count ? 0 : rcol; ccolumn = Columns[CurrentFocusColumnIndex]; rtab = 0; } ccolumn.CurrentFocusTabIndex = rtab; break; } }
void MainWindowModelTimelineFocusRequested(TimelineFocusRequest req) { switch (req) { case TimelineFocusRequest.TopOfTimeline: ExecuteTimelineAction(tlvm => tlvm.FocusTop()); break; case TimelineFocusRequest.BottomOfTimeline: ExecuteTimelineAction(tlvm => tlvm.FocusBottom()); break; case TimelineFocusRequest.AboveStatus: ExecuteTimelineAction(tlvm => tlvm.FocusUp()); break; case TimelineFocusRequest.BelowStatus: ExecuteTimelineAction(tlvm => tlvm.FocusDown()); break; } }
void MainWindowModelTimelineFocusRequested(TimelineFocusRequest req) { switch (req) { case TimelineFocusRequest.TopOfTimeline: ExecuteTimelineAction(tlvm => { if (tlvm.Timeline.Count >= 0) { tlvm.FocusedStatus = tlvm.Timeline[0]; } }); break; case TimelineFocusRequest.BottomOfTimeline: ExecuteTimelineAction(tlvm => { if (tlvm.Timeline.Count >= 0) { tlvm.FocusedStatus = tlvm.Timeline[tlvm.Timeline.Count - 1]; } }); break; case TimelineFocusRequest.AboveStatus: ExecuteTimelineAction(tlvm => { if (tlvm.Timeline.Count == 0 || tlvm.FocusedStatus == null) return; var index = tlvm.Timeline.IndexOf(tlvm.FocusedStatus) - 1; tlvm.FocusedStatus = index < 0 ? null : tlvm.Timeline[index]; }); break; case TimelineFocusRequest.BelowStatus: ExecuteTimelineAction(tlvm => { if (tlvm.Timeline.Count == 0 || tlvm.FocusedStatus == null) return; var index = tlvm.Timeline.IndexOf(tlvm.FocusedStatus) + 1; if (index < tlvm.Timeline.Count) { tlvm.FocusedStatus = tlvm.Timeline[index]; } }); break; } }
private static void MainWindowModelTimelineFocusRequested(TimelineFocusRequest req) { var ccolumn = Columns[CurrentFocusColumnIndex]; if (ccolumn.Tabs.Count == 0) return; // not available switch (req) { case TimelineFocusRequest.LeftColumn: var left = CurrentFocusColumnIndex - 1; CurrentFocusColumnIndex = left < 0 ? Columns.Count - 1 : left; break; case TimelineFocusRequest.RightColumn: var right = CurrentFocusColumnIndex + 1; CurrentFocusColumnIndex = right >= Columns.Count ? 0 : right; break; case TimelineFocusRequest.LeftTab: var ltab = ccolumn.CurrentFocusTabIndex - 1; ccolumn.CurrentFocusTabIndex = ltab < 0 ? ccolumn.Tabs.Count - 1 : ltab; break; case TimelineFocusRequest.RightTab: var rtab = ccolumn.CurrentFocusTabIndex + 1; ccolumn.CurrentFocusTabIndex = rtab >= ccolumn.Tabs.Count ? 0 : rtab; break; } }
public static void SetTimelineFocusTo(TimelineFocusRequest req) { TimelineFocusRequested.SafeInvoke(req); }
public static void SetTimelineFocusTo(TimelineFocusRequest req) { var handler = TimelineFocusRequested; if (handler != null) handler(req); }