public Form1() { InitializeComponent(); FillResources(schedulerDataStorage1, 5); InitAppointments(); schedulerControl1.Start = DateTime.Now; schedulerControl1.ActiveViewType = SchedulerViewType.Timeline; schedulerControl1.Appearance.Appointment.ForeColor = Color.Gray; schedulerControl1.TimelineView.AppointmentDisplayOptions.SnapToCellsMode = AppointmentSnapToCellsMode.Never; schedulerControl1.TimelineView.AppointmentDisplayOptions.StatusDisplayType = AppointmentStatusDisplayType.Bounds; schedulerControl1.DayView.AppointmentDisplayOptions.SnapToCellsMode = AppointmentSnapToCellsMode.Never; schedulerControl1.DayView.AppointmentDisplayOptions.StatusDisplayType = AppointmentStatusDisplayType.Bounds; schedulerControl1.TimelineView.Scales.Clear(); schedulerControl1.TimelineView.Scales.Add(new TimeScaleDay()); schedulerControl1.TimelineView.Scales.Add(new TimeScaleHour()); schedulerControl1.TimelineView.Scales[1].Width = 100; TimelineView view = schedulerControl1.ActiveView as TimelineView; view.AppointmentDisplayOptions.AllowHtmlText = true; UpdateControls(); }
public ActionResult Index() { var sched = new DHXScheduler(this); var unit = new UnitsView("unit1", "section_id"); sched.Views.Add(unit); var timeline = new TimelineView("timeline", "section_id") { RenderMode = TimelineView.RenderModes.Bar, X_Unit = TimelineView.XScaleUnits.Day, X_Size = 7, X_Date = "%d" }; sched.Views.Add(timeline); var list_name = "sections"; unit.ServerList = list_name; timeline.ServerList = list_name; sched.Config.show_loading = true; // check LoadTimelineSections/Index.cshtml for a client-side settings sched.BeforeInit.Add("customEvents()"); sched.InitialView = timeline.Name; return(View(sched)); }
// GET: MVCFormInLightbox public ActionResult Index() { var sched = new DHXScheduler(this); sched.LoadData = true; sched.EnableDataprocessor = true; var timeline = new TimelineView("timeline", "room_id") { RenderMode = TimelineView.RenderModes.Bar }; sched.XY.scale_height = 40; timeline.X_Date = "%d<br>%D"; timeline.FitEvents = false; sched.Views.Add(timeline); timeline.AddOptions(new List <object> { new { key = 1, label = "first" }, new { key = 2, label = "second" }, new { key = 3, label = "third" }, new { key = 4, label = "fourth" } }); //view, width, height var box = sched.Lightbox.SetExternalLightbox("MVCFormInLightbox/LightboxControl", 420, 195); //css class to be applied to the form box.ClassName = "custom_lightbox"; sched.InitialDate = new DateTime(2011, 9, 5); //try in new skin //sched.Skin = DHXScheduler.Skins.Terrace; return(View(sched)); }
public void OneContextTwoNodes() { Gtk.Application.Init(); string context = "Context1"; TestModel model = new TestModel(); /*INode nodeA = */ model.CreateAddNode(10, context, new Size(80, 50)); /*INode nodeB = */ model.CreateAddNode(20, context, new Size(100, 40)); TimelineLayoutManager layout = new TimelineLayoutManager(model); layout.Update(); TestRenderer renderer = new TestRenderer(); TimelineView view = new TimelineView(model, renderer); Gtk.Widget[] children = view.Children; Assert.That(children.Length, Is.EqualTo(2)); Assert.That(children[0].Visible, Is.True); Assert.That(children[1].Visible, Is.True); int ax = (int)view.ChildGetProperty(children[0], "x").Val; int ay = (int)view.ChildGetProperty(children[0], "y").Val; int bx = (int)view.ChildGetProperty(children[1], "x").Val; int by = (int)view.ChildGetProperty(children[1], "y").Val; Assert.That(ay, Is.GreaterThan(0)); Assert.That(ay, Is.EqualTo(by)); Assert.That(ax, Is.GreaterThan(0)); Assert.That(bx, Is.GreaterThan(0)); Assert.That(ax, Is.Not.EqualTo(bx)); }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (!this.isLeftButtonDown || !this.IsSelected) { return; } Point position = e.MouseDevice.GetPosition((IInputElement)null); if (position == this.previousAbsoluteMousePosition) { return; } this.previousAbsoluteMousePosition = position; if (!this.haveMoved) { this.haveMoved = true; ValueEditorUtils.ExecuteCommand((ICommand)this.GetValue(TimelineSlider.SlideBeginCommandProperty), (IInputElement)this, (object)null); this.autoScrollTimer = TimelineView.CreateAutoScrollTimer(); this.autoScrollTimer.Tick += new EventHandler(this.AutoScrollTimer_Tick); this.autoScrollTimer.Start(); } this.Value = this.ComputeValueFromPosition(e.MouseDevice.GetPosition(this.GetReferenceElement())); ValueEditorUtils.ExecuteCommand((ICommand)this.GetValue(TimelineSlider.SlideCommandProperty), (IInputElement)this, (object)null); this.BringIntoView(this.viewRect); }
public TimeLineViewHolder(View itemView, int viewType) : base(itemView) { name = itemView.FindViewById <TextView>(Resource.Id.tx_name); mTimelineView = itemView.FindViewById <TimelineView>(Resource.Id.time_marker); mTimelineView.InitLine(viewType); }
private void UpdateCenter() { double num = TimelineView.PositionFromSeconds(this.timelineView.CurrentTime); this.wasCurrentTimeVisible = num >= this.ScrollBar.Value && num <= this.ScrollBar.Value + this.visibleWidth; this.centerTime = TimelineView.SecondsFromPosition(this.ScrollBar.Value + this.visibleWidth / 2.0); }
/// <summary> /// Add resources views - units and timeline /// </summary> /// <returns></returns> public ActionResult MultipleResources() { var scheduler = new DHXScheduler(this); scheduler.Skin = DHXScheduler.Skins.Terrace; var rooms = new DHXSchedulerModelsDataContext().Rooms.ToList(); scheduler.Views.Clear(); scheduler.Views.Add(new MonthView()); var unit = new UnitsView("unit", "room_id"); unit.AddOptions(rooms);//parse model objects scheduler.Views.Add(unit); var timeline = new TimelineView("timeline", "room_id"); timeline.RenderMode = TimelineView.RenderModes.Bar; timeline.FitEvents = false; timeline.AddOptions(rooms); scheduler.Views.Add(timeline); //show timeline view by default scheduler.InitialView = timeline.Name; scheduler.Lightbox.AddDefaults();//add default set of options - text and timepicker //add controls to the details form var select = new LightboxSelect("room_id", "Room id"); select.AddOptions(rooms); scheduler.Lightbox.Add(select); scheduler.LoadData = true; scheduler.InitialDate = new DateTime(2011, 9, 7); scheduler.EnableDataprocessor = true; return View(scheduler); }
void ReleaseDesignerOutlets() { if (CircleView != null) { CircleView.Dispose(); CircleView = null; } if (TimelineView != null) { TimelineView.Dispose(); TimelineView = null; } if (TitleLabel != null) { TitleLabel.Dispose(); TitleLabel = null; } if (TimeLineViewTopConstraint != null) { TimeLineViewTopConstraint.Dispose(); TimeLineViewTopConstraint = null; } if (TimeLineBottomConstraint != null) { TimeLineBottomConstraint.Dispose(); TimeLineBottomConstraint = null; } }
public ActionResult DragBetween() { //each scheduler must have unique name var scheduler = new DHXScheduler("sched1"); scheduler.Extensions.Add(SchedulerExtensions.Extension.DragBetween); scheduler.InitialView = scheduler.Views[scheduler.Views.Count - 1].Name; var scheduler2 = new DHXScheduler("sched2"); var timeline = new TimelineView("timeline", "room_id"); timeline.RenderMode = TimelineView.RenderModes.Bar; var rooms = new List <object>(); for (var i = 1; i < 10; i++) { rooms.Add(new { key = i, label = string.Format("Room #{0}", i) }); } timeline.FitEvents = false; scheduler2.Views.Add(timeline); timeline.AddOptions(rooms); timeline.X_Unit = TimelineView.XScaleUnits.Hour; timeline.X_Size = 18; timeline.AddSecondScale(TimelineView.XScaleUnits.Day, "%j, %M"); timeline.X_Step = 4; scheduler2.InitialView = timeline.Name; return(View(new mod() { sh1 = scheduler, sh2 = scheduler2 })); }
public TimelineViewSelectionEventArgs(TimelineView view, float begin, float end, float lastBegin, float lastEnd) : base(view) { this.beginTime = begin; this.endTime = end; this.lastBeginTime = lastBegin; this.lastEndTime = lastEnd; }
public static ContentView AsView(this PageType type) { ContentView view = null; switch (type) { case PageType.Analysis: view = new AnalysisView(); break; case PageType.Favorites: view = new FavoritesView(); break; case PageType.Gallery: view = new GalleryView(); break; case PageType.Home: view = new UploadView(); break; case PageType.Search: view = new SearchResultsView(); break; case PageType.Timeline: view = new TimelineView(); break; } return(view); }
public void OneContextTwoNodes() { Gtk.Application.Init (); string context = "Context1"; TestModel model = new TestModel(); /*INode nodeA = */model.CreateAddNode(10, context, new Size(80, 50)); /*INode nodeB = */model.CreateAddNode(20, context, new Size(100, 40)); TimelineLayoutManager layout = new TimelineLayoutManager(model); layout.Update(); TestRenderer renderer = new TestRenderer(); TimelineView view = new TimelineView(model, renderer); Gtk.Widget[] children = view.Children; Assert.That(children.Length, Is.EqualTo(2)); Assert.That(children[0].Visible, Is.True); Assert.That(children[1].Visible, Is.True); int ax = (int) view.ChildGetProperty(children[0], "x").Val; int ay = (int) view.ChildGetProperty(children[0], "y").Val; int bx = (int) view.ChildGetProperty(children[1], "x").Val; int by = (int) view.ChildGetProperty(children[1], "y").Val; Assert.That(ay, Is.GreaterThan(0)); Assert.That(ay, Is.EqualTo(by)); Assert.That(ax, Is.GreaterThan(0)); Assert.That(bx, Is.GreaterThan(0)); Assert.That(ax, Is.Not.EqualTo(bx)); }
protected void AddTimeline(TimelineView timelineView, IViewModel viewModel) { AddObject(timelineView); if (timelineView is EventTypeTimelineView) { viewModelToView [viewModel] = timelineView; } }
public TimelineEditorComponent(MyGUIViewHost viewHost, TimelineEditorView view, SaveableClipboard clipboard) : base("Medical.GUI.Editor.TimelineEditor.TimelineEditorComponent.layout", viewHost) { Widget window = this.widget; window.RootKeyChangeFocus += new MyGUIEvent(window_RootKeyChangeFocus); this.clipboard = clipboard; this.editorController = view.EditorController; this.propEditController = view.PropEditController; this.timelineController = view.TimelineController; timelineController.TimelinePlaybackStarted += timelineController_TimelinePlaybackStarted; timelineController.TimelinePlaybackStopped += timelineController_TimelinePlaybackStopped; timelineController.TimeTicked += timelineController_TimeTicked; window.KeyButtonReleased += new MyGUIEvent(window_KeyButtonReleased); //Play Button playButton = window.findWidget("PlayButton") as Button; playButton.MouseButtonClick += new MyGUIEvent(playButton_MouseButtonClick); fastForwardButton = window.findWidget("FastForward") as Button; fastForwardButton.MouseButtonClick += new MyGUIEvent(fastForwardButton_MouseButtonClick); rewindButton = window.findWidget("Rewind") as Button; rewindButton.MouseButtonClick += new MyGUIEvent(rewindButton_MouseButtonClick); //Timeline view ScrollView timelineViewScrollView = window.findWidget("ActionView") as ScrollView; timelineView = new TimelineView(timelineViewScrollView); timelineView.KeyReleased += new EventHandler <KeyEventArgs>(timelineView_KeyReleased); timelineView.ActiveDataChanging += new EventHandler <CancelEventArgs>(timelineView_ActiveDataChanging); timelineView.MarkerMoved += new EventDelegate <TimelineView, float>(timelineView_MarkerMoved); timelineView.ActiveDataChanged += new EventHandler(timelineView_ActiveDataChanged); //Track filter ScrollView trackFilterScrollView = window.findWidget("ActionFilter") as ScrollView; actionFilter = new TrackFilter(trackFilterScrollView, timelineView); actionFilter.AddTrackItem += new AddTrackItemCallback(actionFilter_AddTrackItem); numberLine = new NumberLine(window.findWidget("NumberLine") as ScrollView, timelineView); //Add tracks to timeline. buildTrackActions(); foreach (TimelineActionPrototype action in actionDataManager.Prototypes) { timelineView.addTrack(action.TypeName); } //Enabled = false; ViewHost.Context.getModel <EditMenuManager>(EditMenuManager.DefaultName).setMenuProvider(this); }
public ActionResult Index() { var locale = SchedulerLocalization.Localizations.English; var skin = DHXScheduler.Skins.Standart; var request_lang = this.Request.QueryString["language"]; var request_skin = this.Request.QueryString["skin"]; if (!string.IsNullOrEmpty(request_lang)) { locale = (SchedulerLocalization.Localizations)Enum.Parse(typeof(SchedulerLocalization.Localizations), request_lang); } if (!string.IsNullOrEmpty(request_skin)) { skin = (DHXScheduler.Skins)Enum.Parse(typeof(DHXScheduler.Skins), request_skin); } var scheduler = new DHXScheduler(this); scheduler.Skin = skin; scheduler.Localization.Set(locale); scheduler.InitialDate = new DateTime(2011, 11, 24); scheduler.XY.scroll_width = 0; scheduler.Config.first_hour = 8; scheduler.Config.last_hour = 19; scheduler.Config.time_step = 30; scheduler.Config.multi_day = true; scheduler.Config.limit_time_select = true; scheduler.Localization.Directory = "locale"; var rooms = Repository.Rooms.ToList(); var unit = new UnitsView("unit1", "room_id"); unit.AddOptions(rooms); scheduler.Views.Add(unit); var timeline = new TimelineView("timeline", "room_id"); timeline.RenderMode = TimelineView.RenderModes.Bar; timeline.FitEvents = false; timeline.AddOptions(rooms); scheduler.Views.Add(timeline); scheduler.EnableDataprocessor = true; scheduler.LoadData = true; scheduler.InitialDate = new DateTime(2011, 9, 19); return(View(new LocaleData(scheduler, locale.ToString(), skin.ToString()))); }
public OffsetSequenceEditor(SaveableClipboard clipboard, MyGUIViewHost viewHost, OffsetSequenceEditorView view, MedicalController medicalController) : base("Medical.GUI.OffsetSequence.OffsetSequenceEditor.layout", viewHost) { this.clipboard = clipboard; this.medicalController = medicalController; this.simObjectMover = view.SimObjectMover; widget.KeyButtonReleased += new MyGUIEvent(window_KeyButtonReleased); widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus); //Remove button Button removeButton = widget.findWidget("RemoveAction") as Button; removeButton.MouseButtonClick += new MyGUIEvent(removeButton_MouseButtonClick); //Timeline view ScrollView timelineViewScrollView = widget.findWidget("ActionView") as ScrollView; timelineView = new TimelineView(timelineViewScrollView); timelineView.Duration = Duration; timelineView.KeyReleased += new EventHandler <KeyEventArgs>(timelineView_KeyReleased); timelineView.ActiveDataChanged += timelineView_ActiveDataChanged; //Properties ScrollView timelinePropertiesScrollView = widget.findWidget("ActionPropertiesScrollView") as ScrollView; actionProperties = new TimelineDataProperties(timelinePropertiesScrollView, timelineView); actionProperties.Visible = false; actionProperties.addPanel("Offset Position", new OffsetKeyframeProperties(timelinePropertiesScrollView, this, view.UICallback)); //Timeline filter ScrollView timelineFilterScrollView = widget.findWidget("ActionFilter") as ScrollView; trackFilter = new TrackFilter(timelineFilterScrollView, timelineView); trackFilter.AddTrackItem += new AddTrackItemCallback(trackFilter_AddTrackItem); numberLine = new NumberLine(widget.findWidget("NumberLine") as ScrollView, timelineView); //Add tracks to timeline. timelineView.addTrack("Offset Position"); ViewHost.Context.getModel <EditMenuManager>(EditMenuManager.DefaultName).setMenuProvider(this); Button chooseTargetButton = (Button)widget.findWidget("ChooseTargetButton"); chooseTargetButton.MouseButtonClick += chooseTargetButton_MouseButtonClick; targetLabel = (TextBox)widget.findWidget("TargetLabel"); targetLabel.Caption = DefaultTargetLabelText; CurrentSequence = view.Sequence; }
protected override void ShowMenu(Point coords) { TimelineView timeline = GetTimeline(coords); if (timeline as PeriodsTimelineView != null) { ShowPeriodsMenu(coords); } else { base.ShowMenu(coords); } }
public SolutionProgressView( IAsyncJobScheduler scheduler, IImportJobRepository importJobRepository, PluginViewModel viewModel, TimelineView timeline) { InitializeComponent(); this.scheduler = scheduler ?? throw new System.ArgumentNullException(nameof(scheduler)); this.importJobRepository = importJobRepository ?? throw new System.ArgumentNullException(nameof(importJobRepository)); this.viewModel = viewModel; this.timeline = timeline; }
public bool Execute() { if (OnOption.IsPresent) { TimelineView.Show(); } if (OffOption.IsPresent) { TimelineView.Hide(); } if (StartPlayback.IsPresent) { if (!TimelineView.Timeline.IsBusy) { if (DoCommandWaitOnPlay) { DevCommandManager.Instance.StartWait(); TimelineView.PlayStopped += HandleTimelineViewPlayStopped; } TimelineView.Play(); } else { Debug.Log("Error: Choreography already in progress"); return(false); } } // Currently this option would only work if you started choreography with the UI button (which works fine), // because if you start it with the dev command we set the 'wait gate' on dev commands (above) if (StopPlayback.IsPresent) { TimelineView.Stop(); } if (InfoOption.IsPresent) { // NOTE: time does not accomodate for the eval var stepCount = TimelineView.Timeline.RecursiveStepCount; var duration = TimelineView.Timeline.RecursiveDuration; var estimated = TimelineView.Timeline.RecursiveDurationIsEstimated; Debug.Log("Total steps: " + stepCount + "; total time: " + duration + " seconds; estimated:" + estimated); } return(true); }
public void WorkWithTimelineView() { // ExStart // ExFor: TimelineView // ExFor: TimelineView.#ctor // ExFor: TimelineView.DateFormat // ExFor: TimelineView.DisplayOverlapped // ExFor: TimelineView.ShowDates // ExFor: TimelineView.ShowPanZoom // ExFor: TimelineView.ShowTimescale // ExFor: TimelineView.ShowToday // ExFor: TimelineView.TextLinesCount // ExSummary: Shows how to work with <see cref="Aspose.Tasks.TimelineView" />. var project = new Project(); // initialize a timeline view var view = new TimelineView(); // set a value indicating how to format dates on the Timeline view. view.DateFormat = DateFormat.DateDddDd; // set a value indicating whether to display overlapped tasks on multiple rows. view.DisplayOverlapped = true; // set a value indicating whether to show pan and zoom control. view.ShowPanZoom = true; // set a value indicating whether to show timescale. view.ShowTimescale = true; // set a value indicating whether to display a line representing today. view.ShowToday = true; // set a value indicating how many lines are used to display task in a timeline. view.TextLinesCount = 2; // gets a value indicating whether to display overlapped tasks on multiple rows. Console.WriteLine("Show Dates: " + view.ShowDates); // add the view to the project project.Views.Add(view); // add some test data to project var task1 = project.RootTask.Children.Add("Task 1"); task1.Set(Tsk.Start, new DateTime(2020, 4, 29, 8, 0, 0)); task1.Set(Tsk.Duration, task1.ParentProject.GetDuration(24, TimeUnitType.Hour)); var task2 = project.RootTask.Children.Add("Task 2"); task2.Set(Tsk.Start, new DateTime(2020, 4, 29, 8, 0, 0)); task2.Set(Tsk.Duration, task1.ParentProject.GetDuration(40, TimeUnitType.Hour)); project.Save(OutDir + "SetTimeScaleCount_out.pdf", SaveFileFormat.PDF); // ExEnd }
protected override void ShowMenu(Point coords) { TimelineView timeline = GetTimeline(coords); EventTypeTimelineView catTimeline = timeline as EventTypeTimelineView; if (catTimeline != null) { ShowPlaysMenu(coords, catTimeline); } else if (timeline as TimerTimelineView != null) { ShowTimersMenu(coords); } }
public StringTrackView(TLStringTrack track, TimelineView tv, RulerView rv) : base(track, tv, rv) { Keyframes = new EditableList<StringKeyframeView>(); KFSyncer = Keyframes.SyncWith(Model.Keyframes, kf => { var kv = new StringKeyframeView(kf, this); kf.NeighbourChanged += NeedsRebuild; var kfs = Model.Keyframes.ToList(); var prev = kfs.FindLastIndex(x => x.Time.Value < kf.Time.Value); kv.AddToSceneGraphAt(KeyframeGroup, Keyframes.Count - 1 - prev); return kv; }, kv => { kv.Dispose(); }); Background.Click += Background_MouseClick; KeyframeDefinition.StartX = 0; KeyframeDefinition.StartY = -25f; KeyframeDefinition.EndX = 0; KeyframeDefinition.EndY = 25f; KeyframeDefinition.ID = Model.GetID() + "_KF"; KeyframeDefinition.Transforms = new SvgTransformCollection(); KeyframeDefinition.Transforms.Add(new SvgScale(1, 1)); CollapsedKeyframeDefinition.ID = Model.GetID() + "_CKF"; CollapsedKeyframeDefinition.StartX = 0; CollapsedKeyframeDefinition.StartY = -25f; CollapsedKeyframeDefinition.EndX = 0; CollapsedKeyframeDefinition.EndY = 25f; CollapsedKeyframeDefinition.Transforms = new SvgTransformCollection(); CollapsedKeyframeDefinition.Transforms.Add(new SvgScale(1, 1)); KeyframeGroup.ID = "Keyframes"; CurrentValue.FontSize = 12; CurrentValue.X = 5; CurrentValue.CustomAttributes["class"] = "trackfont"; CurrentValue.CustomAttributes["pointer-events"] = "none"; CurrentValue.Y = 24; UpdateScene(); }
public override Task <ActionResult> Execute(object sender, EventArgs args, object obj) { if (HasParent <ScrollBar>(args)) { return(OK); } TimelineView view = sender as TimelineView; view.Append(new DetailView() { DataContext = ViewModel.SelectedTweet }); return(OK); }
public ActionResult Index() { var sched = new DHXScheduler(this); var unit = new UnitsView("unit1", "room_id"); sched.Views.Add(unit); //can add IEnumerable of objects, native units or dictionary var rooms = Repository.Rooms.ToList(); unit.AddOptions(rooms);//parse model objects sched.Config.details_on_create = true; sched.Config.details_on_dblclick = true; var timeline = new TimelineView("timeline", "room_id") { RenderMode = TimelineView.RenderModes.Bar }; sched.XY.scale_height = 40; timeline.X_Date = "%d<br>%D"; timeline.FitEvents = false; sched.Views.Add(timeline); timeline.AddOptions(rooms); var select = new LightboxSelect("color", "Priority"); select.AddOptions(new List <object> { new { key = "#ccc", label = "Low" }, new { key = "#76B007", label = "Medium" }, new { key = "#FE7510", label = "Hight" } }); sched.Lightbox.Add(select); select = new LightboxSelect("room_id", "Room id"); select.AddOptions(rooms); sched.Lightbox.Add(select); sched.LoadData = true; sched.EnableDataprocessor = true; sched.InitialDate = new DateTime(2011, 9, 5); return(View(sched)); }
// GET: CustomScale public ActionResult Index() { var sched = new DHXScheduler(this); sched.Config.first_hour = 8; sched.Config.last_hour = 18; sched.InitialDate = new DateTime(2011, 9, 19); var rooms = Repository.Rooms.ToList(); //new DHXSchedulerModelsDataContext().Rooms.ToList(); var timeline = new TimelineView("timeline", "room_id"); timeline.X_Unit = TimelineView.XScaleUnits.Hour; timeline.X_Size = 72; timeline.Scale.IgnoreRange(19, 23); timeline.Scale.IgnoreRange(0, 7); timeline.RenderMode = TimelineView.RenderModes.Bar; timeline.FitEvents = false; sched.TimeSpans.Add(new DHXMarkTime { FullWeek = true, Zones = new List <Zone> { new Zone(8 * 60 + 10, 19 * 60 - 10) }, CssClass = "day_split", InvertZones = true, Sections = new List <Section> { new Section(timeline.Name, rooms.Select(r => r.key.ToString()).ToList()) } }); timeline.AddOptions(rooms); sched.Views.Add(timeline); sched.InitialView = timeline.Name; var week = sched.Views[1]; week.Scale.Ignore((int)DayOfWeek.Saturday, (int)DayOfWeek.Sunday); sched.LoadData = true; return(View(sched)); }
public override void Render(StringBuilder builder, DHXScheduler par) { if (!this.HandleDifferentResources) { return; } List <SchedulerView> schedulerViewList = new List <SchedulerView>(); for (int index = 0; index < par.Views.Count; ++index) { if (par.Views[index] is UnitsView || par.Views[index] is TimelineView) { schedulerViewList.Add(par.Views[index]); } } if (schedulerViewList.Count == 0) { return; } List <string> stringList = new List <string>(); foreach (SchedulerView schedulerView in schedulerViewList) { UnitsView unitsView = schedulerView as UnitsView; if (unitsView != null) { stringList.Add(unitsView.Property); } else { TimelineView timelineView = schedulerView as TimelineView; if (timelineView != null) { stringList.Add(timelineView.Y_Property); } } } string[] strArray = new string[stringList.Count]; for (int index = 0; index < stringList.Count; ++index) { strArray[index] = string.Format("(ev.{0} == evs[i].{0})", (object)stringList[index]); } builder.Append(string.Format("\n\t{0}.attachEvent(\"onEventCollision\", function(ev, evs){{ var c = 0, l = {0}.config.collision_limit;for (var i=0; i<evs.length; i++) {{ if (", (object)par.Name)); builder.Append(string.Join("&&", strArray)); builder.Append("&& ev.id != evs[i].id) c++; } return !(c < l);});"); }
public ActionResult Index() { var sched = new DHXScheduler(this); sched.Skin = DHXScheduler.Skins.Terrace; var unit = new UnitsView("unit1", "room_id"); sched.Views.Add(unit); var context = new DHXSchedulerDataContext(); //can add IEnumerable of objects, native units or dictionary unit.AddOptions(context.Rooms);//parse model objects sched.Config.details_on_create = true; sched.Config.details_on_dblclick = true; var timeline = new TimelineView("timeline", "room_id"); var items = new List <object>(); timeline.FitEvents = false; sched.Views.Add(timeline); timeline.AddOptions(context.Rooms); var select = new LightboxSelect("textColor", "Priority"); items = new List <object>(); items.Add(new { key = "gray", label = "Low" }); items.Add(new { key = "blue", label = "Medium" }); items.Add(new { key = "red", label = "Hight" }); select.AddOptions(items); sched.Lightbox.Add(select); select = new LightboxSelect("room_id", "Room id"); select.AddOptions(context.Rooms); sched.Lightbox.Add(select); sched.LoadData = true; sched.EnableDataprocessor = true; sched.InitialDate = new DateTime(2011, 9, 5); return(View(sched)); }
protected void _ConfigureViews(DHXScheduler scheduler, IEnumerable cars) { var units = new TimelineView("Thue_Xes", "carid"); units.X_Step = 2; units.X_Length = 12; units.X_Size = 12; //width of the first column units.Dx = 180; //row height units.Dy = 90; //order bar height units.EventDy = units.Dy - 10; units.AddOptions(cars); units.RenderMode = TimelineView.RenderModes.Bar; scheduler.Views.Clear(); scheduler.Views.Add(units); scheduler.InitialView = scheduler.Views[0].Name; }
/// <summary> /// Add resources views - units and timeline /// </summary> /// <returns></returns> public ActionResult MultipleResources() { var scheduler = new DHXScheduler(this); scheduler.Skin = DHXScheduler.Skins.Terrace; var rooms = Repository.Rooms.ToList(); scheduler.Views.Clear(); scheduler.Views.Add(new MonthView()); var unit = new UnitsView("unit", "room_id"); unit.AddOptions(rooms);//parse model objects scheduler.Views.Add(unit); var timeline = new TimelineView("timeline", "room_id") { RenderMode = TimelineView.RenderModes.Bar, FitEvents = false }; timeline.AddOptions(rooms); scheduler.Views.Add(timeline); //show timeline view by default scheduler.InitialView = timeline.Name; scheduler.Lightbox.AddDefaults();//add default set of options - text and timepicker //add controls to the details form var select = new LightboxSelect("room_id", "Room id"); select.AddOptions(rooms); scheduler.Lightbox.Add(select); scheduler.LoadData = true; scheduler.InitialDate = new DateTime(2011, 9, 7); scheduler.EnableDataprocessor = true; return(View(scheduler)); }
public ActionResult Index() { ViewBag.Title = "Scheduler | Daily Timeline View"; ViewBag.SampleTitle = "Daily Timeline View"; ViewBag.ShortDescription = "Use days as sections of the Timeline view"; ViewBag.LongDescription = "A view can have any number of days"; var sched = new DHXScheduler(this); sched.Config.details_on_create = true; sched.Config.details_on_dblclick = true; var timeline = new TimelineView("timeline", "room_id") { RenderMode = TimelineView.RenderModes.Days, Days = 7 }; timeline.X_Date = "%H:%i"; timeline.FitEvents = false; sched.Views.Add(timeline); var select = new LightboxSelect("color", "Priority"); select.AddOptions(new List <object> { new { key = "#ccc", label = "Low" }, new { key = "#76B007", label = "Medium" }, new { key = "#FE7510", label = "Hight" } }); sched.Lightbox.Add(select); var rooms = Repository.Rooms.ToList(); select = new LightboxSelect("room_id", "Room id"); select.AddOptions(rooms); sched.Lightbox.Add(select); sched.LoadData = true; sched.EnableDataprocessor = true; sched.InitialView = timeline.Name; sched.InitialDate = new DateTime(2011, 9, 5); return(View(sched)); }
public override Task <ActionResult> Execute(object sender, EventArgs args, object obj) { DetailView detail = obj as DetailView; FrameworkElement ele = sender as FrameworkElement; while (!(ele is TimelineView)) { ele = ele.Parent as FrameworkElement; } if (ele != null) { TimelineView view = ele as TimelineView; view.Remove(detail); } return(OK); }
protected TimelineView GenericTimeline(string name, IEnumerable cars) { var timeline = new TimelineView(name, "section_id"); //width of the first column timeline.Dx = 149; timeline.AddOptions(cars); //row height timeline.Dy = 38; //rent boxes height timeline.EventDy = timeline.Dy - 5; timeline.FolderDy = 114; timeline.FolderEventsAvailable = false; timeline.ResizeEvents = false; timeline.SectionAutoheight = false; timeline.RenderMode = TimelineView.RenderModes.Tree; return(timeline); }
public Timeliner(TLContext context) { Context = context; TimelineModel = new TLDocument("", @"timeline.xml"); Shell.Instance.Root = TimelineModel; TimelineModel.CreateMapper(context.MappingRegistry); //only after mapper and root are set TimelineModel.Initialize(); var commandHistory = TimelineModel.Mapper.Map<ICommandHistory>(); TimelineView = new TimelineView(TimelineModel, commandHistory, Timer); TimelineModel.Tracks.Added += Timeline_Tracks_Added; TimelineModel.Tracks.Removed += Timeline_Tracks_Removed; TimelineModel.Tracks.OrderChanged += Timeline_Tracks_OrderChanged; TimelineView.Tracks.OrderChanged += TimelineView_Tracks_OrderChanged; }
// // GET: /CustomizeScale/ public ActionResult Index() { var sched = new DHXScheduler(this); sched.Config.first_hour = 8; sched.Config.last_hour = 18; sched.InitialDate = new DateTime(2011, 9, 19); var rooms = new DHXSchedulerModelsDataContext().Rooms.ToList(); var timeline = new TimelineView("timeline", "room_id"); timeline.X_Unit = TimelineView.XScaleUnits.Hour; timeline.X_Size = 72; timeline.Scale.IgnoreRange(19, 23); timeline.Scale.IgnoreRange(0, 7); timeline.RenderMode = TimelineView.RenderModes.Bar; timeline.FitEvents = false; sched.TimeSpans.Add(new DHXMarkTime { FullWeek = true, Zones = new List<Zone> { new Zone(8 * 60 + 10, 19 * 60 - 10) }, CssClass = "day_split", InvertZones = true, Sections = new List<Section>{ new Section(timeline.Name, rooms.Select(r => r.key.ToString()).ToList()) } }); timeline.AddOptions(rooms); sched.Views.Add(timeline); sched.InitialView = timeline.Name; var week = sched.Views[1]; week.Scale.Ignore((int)DayOfWeek.Saturday, (int)DayOfWeek.Sunday); sched.LoadData = true; return View(sched); }
public ActionResult Index() { var sched = new DHXScheduler(this); sched.Skin = DHXScheduler.Skins.Terrace; var unit = new UnitsView("unit1", "room_id"); sched.Views.Add(unit); var context = new DHXSchedulerDataContext(); //can add IEnumerable of objects, native units or dictionary unit.AddOptions(context.Rooms);//parse model objects sched.Config.details_on_create = true; sched.Config.details_on_dblclick = true; var timeline = new TimelineView("timeline", "room_id"); var items = new List<object>(); timeline.FitEvents = false; sched.Views.Add(timeline); timeline.AddOptions(context.Rooms); var select = new LightboxSelect("textColor", "Priority"); items = new List<object>(); items.Add(new { key = "gray", label = "Low" }); items.Add(new { key = "blue", label = "Medium" }); items.Add(new { key = "red", label = "Hight" }); select.AddOptions(items); sched.Lightbox.Add(select); select = new LightboxSelect("room_id", "Room id"); select.AddOptions(context.Rooms); sched.Lightbox.Add(select); sched.LoadData = true; sched.EnableDataprocessor = true; sched.InitialDate = new DateTime(2011, 9, 5); return View(sched); }
public ActionResult Index() { var sched = new DHXScheduler(this); var unit = new UnitsView("unit1", "room_id"); sched.Views.Add(unit); var context = new DHXSchedulerModelsDataContext(); //can add IEnumerable of objects, native units or dictionary unit.AddOptions(context.Rooms);//parse model objects sched.Config.details_on_create = true; sched.Config.details_on_dblclick = true; var timeline = new TimelineView("timeline", "room_id"); timeline.RenderMode = TimelineView.RenderModes.Bar; var rooms = context.Rooms.ToList(); timeline.FitEvents = false; sched.Views.Add(timeline); timeline.AddOptions(rooms); var select = new LightboxSelect("color", "Priority"); select.AddOptions(new List<object>{ new { key = "#ccc", label = "Low" }, new { key = "#76B007", label = "Medium" }, new { key = "#FE7510", label = "Hight" } }); sched.Lightbox.Add(select); select = new LightboxSelect("room_id", "Room id"); select.AddOptions(rooms); sched.Lightbox.Add(select); sched.LoadData = true; sched.EnableDataprocessor = true; sched.InitialDate = new DateTime(2011, 9, 5); return View(sched); }
public TrackView(TLTrackBase track, TimelineView tv, RulerView rv) : base(track, tv) { Model = track; Parent = tv; FRuler = rv; MainGroup.Transforms = new SvgTransformCollection(); MainGroup.Transforms.Add(new SvgTranslate(0, 0)); var width = new SvgUnit(SvgUnitType.Percentage, 100); Label.FontSize = 12; Label.X = 5; Label.Y = Label.FontSize; Label.Text = Model.Label.Value; Label.ID = "label"; Label.MouseDown += Background_MouseDown; Label.MouseUp += Background_MouseUp; Label.CustomAttributes["class"] = "trackfont"; SizeBarDragRect.FillOpacity = 0.3f; SizeBarDragRect.Visible = false; SizeBarDragRect.CustomAttributes["pointer-events"] = "none"; Background.Width = width; Background.Height = 1; // this is the value range, not the actual track size Background.ID ="bg"; ClipRect.Width = width; ClipRect.Height = Background.Height; ClipRect.ID = "ClipRect"; //document roots id is "svg". this is where the trackclips are added to TrackClipPath.ID = "svg_clip" + IDGenerator.NewID; TrackClipPath.Children.Add(ClipRect); TrackGroup.ID = "Clip"; TrackGroup.Transforms = new SvgTransformCollection(); TrackGroup.Transforms.Add(new SvgScale(1, 1)); var uri = new Uri("url(#" + TrackClipPath.ID + ")", UriKind.Relative); TrackGroup.ClipPath = uri; PanZoomGroup.ID = "PanZoom"; PanZoomGroup.Transforms = new SvgTransformCollection(); PanZoomGroup.Transforms.Add(FRuler.PanZoomMatrix); //pan/zoom PanZoomGroup.Transforms.Add(new SvgTranslate(0)); //min/max SizeBar.Width = width; SizeBar.Height = 3; SizeBar.ID = "SizeBar"; SizeBar.CustomAttributes["class"] = "sizebar"; SizeBar.Y = Background.Height.Value; //register event handlers Background.MouseDown += Background_MouseDown; Background.MouseUp += Background_MouseUp; Background.MouseMove += Background_MouseMove; SizeBar.MouseDown += Background_MouseDown; SizeBar.MouseMove += Background_MouseMove; SizeBar.MouseUp += Background_MouseUp; CreateTrackMenu(); CreateKeyframeMenu(); }
public ValueTrackView(TLValueTrack track, TimelineView tv, RulerView rv) : base(track, tv, rv) { Keyframes = new EditableList<ValueKeyframeView>(); KFSyncer = Keyframes.SyncWith(Model.Keyframes, kf => { var kv = new ValueKeyframeView(kf, this); kf.NeighbourChanged += NeedsRebuild; var kfs = Model.Keyframes.ToList(); var prev = kfs.FindLastIndex(x => x.Time.Value < kf.Time.Value); kv.AddToSceneGraphAt(KeyframeGroup, Keyframes.Count - 1 - prev); return kv; }, kv => { kv.Model.NeighbourChanged -= NeedsRebuild; kv.Dispose(); }); CurveSyncer = Curves.SyncWith(Model.Curves, cu => { var cv = new CurveView(cu, this); cv.AddToSceneGraphAt(CurveGroup); return cv; }, cv => { cv.Dispose(); } ); Background.Click += Background_MouseClick; KeyframeDefinition.CenterX = 0; KeyframeDefinition.CenterY = 0; KeyframeDefinition.Radius = 3; KeyframeDefinition.ID = Model.GetID() + "_KF"; KeyframeDefinition.Transforms = new SvgTransformCollection(); KeyframeDefinition.Transforms.Add(new SvgScale(1, 1)); EaseNoneDefinition.ID = Model.GetID() + "_NE"; EaseNoneDefinition.StartX = 0; EaseNoneDefinition.StartY = -25f; EaseNoneDefinition.EndX = 0; EaseNoneDefinition.EndY = 25f; EaseNoneDefinition.Transforms = new SvgTransformCollection(); EaseNoneDefinition.Transforms.Add(new SvgScale(1, 1)); var half = Model.CCollapsedHeight / 2f; EaseInDefinition.ID = Model.GetID() + "_EI"; EaseInDefinition.Points = new SvgUnitCollection(); AddPoint(EaseInDefinition, new PointF(0, -half)); AddPoint(EaseInDefinition, new PointF(-half, 0)); AddPoint(EaseInDefinition, new PointF(0, half)); EaseInDefinition.Transforms = new SvgTransformCollection(); EaseInDefinition.Transforms.Add(new SvgScale(1, 1)); EaseOutDefinition.ID = Model.GetID() + "_EO"; EaseOutDefinition.Points = new SvgUnitCollection(); AddPoint(EaseOutDefinition, new PointF(0, -half)); AddPoint(EaseOutDefinition, new PointF(half, 0)); AddPoint(EaseOutDefinition, new PointF(0, half)); EaseOutDefinition.Transforms = new SvgTransformCollection(); EaseOutDefinition.Transforms.Add(new SvgScale(1, 1)); EaseInOutDefinition.ID = Model.GetID() + "_EIO"; EaseInOutDefinition.Points = new SvgUnitCollection(); AddPoint(EaseInOutDefinition, new PointF(0, -half)); AddPoint(EaseInOutDefinition, new PointF(half, 0)); AddPoint(EaseInOutDefinition, new PointF(0, half)); AddPoint(EaseInOutDefinition, new PointF(-half, 0)); EaseInOutDefinition.Transforms = new SvgTransformCollection(); EaseInOutDefinition.Transforms.Add(new SvgScale(1, 1)); CurveGroup.ID = "Curves"; KeyframeGroup.ID = "Keyframes"; CurrentValue.FontSize = 12; CurrentValue.X = 5; CurrentValue.CustomAttributes["class"] = "trackfont"; CurrentValue.CustomAttributes["pointer-events"] = "none"; CurrentValue.Y = 24; UpdateScene(); }
public ActionResult Index() { SchedulerLocalization.Localizations lang; var language = this.Request.QueryString["language"]; var skn = this.Request.QueryString["skin"]; DHXScheduler.Skins skin; #region language switch (this.Request.QueryString["language"]) { case "ar": lang = SchedulerLocalization.Localizations.Arabic; break; case "be": lang = SchedulerLocalization.Localizations.Belarusian; break; case "ca": lang = SchedulerLocalization.Localizations.Catalan; break; case "cn": lang = SchedulerLocalization.Localizations.Chinese; break; case "cs": lang = SchedulerLocalization.Localizations.Czech; break; case "da": lang = SchedulerLocalization.Localizations.Danish; break; case "nl": lang = SchedulerLocalization.Localizations.Dutch; break; case "fi": lang = SchedulerLocalization.Localizations.Finnish; break; case "fr": lang = SchedulerLocalization.Localizations.French; break; case "de": lang = SchedulerLocalization.Localizations.German; break; case "el": lang = SchedulerLocalization.Localizations.Greek; break; case "he": lang = SchedulerLocalization.Localizations.Hebrew; break; case "hu": lang = SchedulerLocalization.Localizations.Hungarian; break; case "id": lang = SchedulerLocalization.Localizations.Indonesia; break; case "it": lang = SchedulerLocalization.Localizations.Italian; break; case "jp": lang = SchedulerLocalization.Localizations.Japanese; break; case "no": lang = SchedulerLocalization.Localizations.Norwegian; break; case "pl": lang = SchedulerLocalization.Localizations.Polish; break; case "pt": lang = SchedulerLocalization.Localizations.Portuguese; break; case "ro": lang = SchedulerLocalization.Localizations.Romanian; break; case "ru": lang = SchedulerLocalization.Localizations.Russian; break; case "si": lang = SchedulerLocalization.Localizations.Slovenian; break; case "es": lang = SchedulerLocalization.Localizations.Spanish; break; case "sv": lang = SchedulerLocalization.Localizations.Swedish; break; case "tr": lang = SchedulerLocalization.Localizations.Turkish; break; case "ua": lang = SchedulerLocalization.Localizations.Ukrainian; break; default: lang = SchedulerLocalization.Localizations.English; language = "en"; break; } #endregion #region skin switch (this.Request.QueryString["skin"]) { case "glossy": skin = DHXScheduler.Skins.Glossy; break; case "terrace": skin = DHXScheduler.Skins.Terrace; break; default: skin = DHXScheduler.Skins.Standart; skn = "classic"; break; } #endregion var scheduler = new DHXScheduler(this); scheduler.Skin = DHXScheduler.Skins.Terrace; scheduler.InitialDate = new DateTime(2011, 11, 24); scheduler.XY.scroll_width = 0; scheduler.Config.first_hour = 8; scheduler.Config.last_hour = 19; scheduler.Config.time_step = 30; scheduler.Config.multi_day = true; scheduler.Config.limit_time_select = true; scheduler.Skin = skin; scheduler.Localization.Directory = "locale"; scheduler.Localization.Set(lang, false); var rooms = new DHXSchedulerModelsDataContext().Rooms.ToList(); var unit = new UnitsView("unit1", "room_id"); unit.AddOptions(rooms);//parse model objects scheduler.Views.Add(unit); var timeline = new TimelineView("timeline", "room_id"); timeline.RenderMode = TimelineView.RenderModes.Bar; timeline.FitEvents = false; timeline.AddOptions(rooms); scheduler.Views.Add(timeline); scheduler.EnableDataprocessor = true; scheduler.LoadData = true; scheduler.InitialDate = new DateTime(2011, 9, 19); return View(new LocaleData(scheduler, language, skn)); }
public RulerView(TLRuler ruler, TimelineView tv) : base(ruler, tv) { Model = ruler; Parent = tv; PanZoomMatrix = new SvgMatrix(FView.Elements.ToList()); MainGroup.Transforms = new SvgTransformCollection(); MainGroup.Transforms.Add(new SvgTranslate(0, 0)); var width = new SvgUnit(SvgUnitType.Percentage, 100); Background.Width = width; Background.Height = 25; Background.ID = "bg"; Background.CustomAttributes["class"] = "ruler"; //register event handlers Background.MouseDown += Background_MouseDown; Background.MouseUp += Background_MouseUp; Background.MouseMove += Background_MouseMove; var caller = Parent.Document.Mapper.Map<ISvgEventCaller>(); PlayButton = SvgDocumentWidget.Load(Path.Combine(TimelineView.ResourcePath, "PlayButton.svg"), caller, 2); StopButton = SvgDocumentWidget.Load(Path.Combine(TimelineView.ResourcePath, "StopButton.svg"), caller, 1); StopButton.X = 25; PlayButton.Click += PlayButton_Click; StopButton.Click += StopButton_Click; TimeCodeLabelBackground.Width = CLeftOffset; TimeCodeLabelBackground.Height = Background.Height; TimeCodeLabelBackground.CustomAttributes["class"] = "ruler"; TimeCodeLabelBackground.MouseDown += Background_MouseDown; TimeCodeLabel.FontSize = 20; TimeCodeLabel.X = 55; TimeCodeLabel.Y = TimeCodeLabel.FontSize; TimeCodeLabel.CustomAttributes["class"] = "time"; TimeCodeLabel.ID = Model.GetID() + "_label"; TimeCodeLabel.Text = "00:00:00:000"; TimeCodeLabel.CustomAttributes["class"] = "time"; TimeCodeLabel.MouseDown += Background_MouseDown; SizeBar.Width = Background.Width; SizeBar.Height = 10; SizeBar.ID = "SizeBar"; SizeBar.Y = Background.Height; SizeBar.MouseDown += Background_MouseDown; SizeBar.MouseMove += Background_MouseMove; SizeBar.MouseUp += Background_MouseUp; MouseTimeLabel.ID = "MouseTimeLabel"; MouseTimeLabel.Y = Height; MouseTimeLabel.FontSize = 14; ClipRect.Width = width; ClipRect.Height = Height; ClipRect.ID = "ClipRect"; //document roots id is "svg". this is where the trackclips are added to RulerClipPath.ID = "svg_clip" + IDGenerator.NewID; RulerClipPath.Children.Add(ClipRect); var uri = new Uri("url(#" + RulerClipPath.ID + ")", UriKind.Relative); MainGroup.ClipPath = uri; NumberGroup.ID = "Ticks"; NumberGroup.Transforms = new SvgTransformCollection(); NumberGroup.Transforms.Add(PanZoomMatrix); PanZoomGroup.ID = "PanZoom"; PanZoomGroup.Transforms = new SvgTransformCollection(); PanZoomGroup.Transforms.Add(PanZoomMatrix); for (int i=0; i<70; i++) { var num = new SvgText(i.ToString()); num.FontSize = 20; num.Y = num.FontSize; num.CustomAttributes["class"] = "time hair"; num.Transforms = new SvgTransformCollection(); num.Transforms.Add(new SvgTranslate(i)); num.Transforms.Add(new SvgScale(1/Timer.PPS, 1)); NumberGroup.Children.Add(num); } LoopRegion.ID = "LoopRegion"; LoopRegion.Y = Background.Height / 4; LoopRegion.Height = Background.Height / 2; LoopRegion.FillOpacity = 0.7f; LoopRegion.CustomAttributes["pointer-events"] = "fill"; LoopRegion.CustomAttributes["class"] = "loop"; LoopRegion.MouseDown += Background_MouseDown; LoopRegion.MouseUp += Parent.Default_MouseUp; LoopRegion.MouseMove += Parent.Default_MouseMove; PanZoomGroup.Children.Add(LoopRegion); LoopStart.ID = "LoopStart"; LoopStart.Width = 1/Timer.PPS * CHandlerWidth; LoopStart.Height = Background.Height; PanZoomGroup.Children.Add(LoopStart); LoopStart.MouseDown += Background_MouseDown; LoopStart.MouseUp += Parent.Default_MouseUp; LoopStart.MouseMove += Parent.Default_MouseMove; LoopStart.CustomAttributes["pointer-events"] = "fill"; LoopStart.CustomAttributes["class"] = "loopcap"; LoopEnd.ID = "LoopEnd"; LoopEnd.Width = 1/Timer.PPS * CHandlerWidth; LoopEnd.Height = Background.Height; PanZoomGroup.Children.Add(LoopEnd); LoopEnd.MouseDown += Background_MouseDown; LoopEnd.MouseUp += Parent.Default_MouseUp; LoopEnd.MouseMove += Parent.Default_MouseMove; LoopEnd.CustomAttributes["pointer-events"] = "fill"; LoopEnd.CustomAttributes["class"] = "loopcap"; CreateMenu(); //init scalings PanZoom(0, 0, 0); UpdateScene(); }
/// <summary> /// Block time areas /// </summary> /// <returns></returns> public ActionResult Limit() { var sched = new DHXScheduler(this); sched.InitialDate = new DateTime(2011, 9, 19); // block specific date range sched.TimeSpans.Add(new DHXBlockTime() { StartDate = new DateTime(2011, 9, 14), EndDate = new DateTime(2011, 9, 17) }); // block each tuesday from 12AM to 15PM sched.TimeSpans.Add(new DHXBlockTime() { Day = DayOfWeek.Tuesday, Zones = new List<Zone>() { new Zone { Start = 0, End = 15 * 60 } } }); // block each sunday sched.TimeSpans.Add(new DHXBlockTime() { Day = DayOfWeek.Sunday }); // block each monday from 12am to 8am, and from 18pm to 12am of the next day sched.TimeSpans.Add(new DHXBlockTime() { Day = DayOfWeek.Monday, Zones = new List<Zone>() { new Zone { Start = 0, End = 8 * 60 }, new Zone { Start = 18 * 60, End = 24 * 60 } } }); #region add units and timeline var rooms = new DHXSchedulerDataContext().Rooms.ToList(); var unit = new UnitsView("unit", "room_id"); unit.AddOptions(rooms);//parse model objects sched.Views.Add(unit); var timeline = new TimelineView("timeline", "room_id"); timeline.RenderMode = TimelineView.RenderModes.Bar; timeline.FitEvents = false; timeline.AddOptions(rooms); sched.Views.Add(timeline); #endregion //block different sections in timeline and units view sched.TimeSpans.Add(new DHXBlockTime() { FullWeek = true, Sections = new List<Section>() { new Section(unit.Name, rooms.Take(2).Select(r => r.key.ToString()).ToArray()), new Section(timeline.Name, rooms.Skip(2).Select(r => r.key.ToString()).ToArray()) } }); sched.LoadData = true; sched.EnableDataprocessor = true; return View(sched); }