public TrackTreeViewContextMenu(TrackTreeView view) { _View = view; Skill.Editor.UI.MenuItem addItem = new Skill.Editor.UI.MenuItem("Add New Group"); addItem.Click += AddItem_Click; Add(addItem); }
public TrackItemContextMenu(TrackTreeView view) { _View = view; _DeleteItem = new Skill.Editor.UI.MenuItem("Delete"); _EditCurvesItem = new Skill.Editor.UI.MenuItem("Edit Curves"); Add(_DeleteItem); Add(_EditCurvesItem); _DeleteItem.Click += _DeleteItem_Click; _EditCurvesItem.Click += _EditCurvesItem_Click; }
public TrackGroupContextMenu(TrackTreeView view) { _View = view; Skill.Editor.UI.MenuItem newTrack = new Skill.Editor.UI.MenuItem("New Track"); var names = System.Enum.GetNames(typeof(TrackType)); var values = System.Enum.GetValues(typeof(TrackType)); int index = 0; foreach (var value in values) { Skill.Editor.UI.MenuItem item = new Skill.Editor.UI.MenuItem(names[index]) { UserData = value }; item.Click += AddTrack_Click; newTrack.Add(item); index++; } Skill.Editor.UI.MenuItem addGroup = new Skill.Editor.UI.MenuItem("Add New Group"); addGroup.Click += TrackGroupAdd_Click; Skill.Editor.UI.MenuItem deleteItem = new Skill.Editor.UI.MenuItem("Delete"); deleteItem.Click += TrackGroupDelete_Click; Skill.Editor.UI.MenuItem propertiesItem = new Skill.Editor.UI.MenuItem("Properties"); propertiesItem.Click += TrackGroupProperties_Click; Add(newTrack); AddSeparator(); Add(addGroup); Add(deleteItem); AddSeparator(); Add(propertiesItem); }
private void CreateUI() { _RefreshStyles = true; _Frame = new EditorFrame("Frame", this) { Location = Skill.Framework.UI.FrameLocation.Fill }; Skill.Framework.UI.DockPanel dockPanel = new Skill.Framework.UI.DockPanel() { LastChildFill = true }; _Frame.Controls.Add(dockPanel); CreateMenuBar(); CreateToolbar(); dockPanel.Controls.Add(_MenuBar); // add menu at top of window dockPanel.Controls.Add(_ToolbarPanel); // add toolbar at top of window under menu // grid for CurveEditor and Timeline _MainGrid = new Skill.Framework.UI.Grid(); _MainGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star), MinHeight = 30 }); // _TimeLine _MainGrid.ColumnDefinitions.Add(1, GridUnitType.Star); // _CurveTreeView, _TracksGrid _MainGrid.ColumnDefinitions.Add(4, GridUnitType.Pixel); // splitter _MainGrid.ColumnDefinitions.Add(2, GridUnitType.Star); // _TimeLine and _CurveEditor _CurveEditor = new Curve.CurveEditor() { Row = 0, Column = 2 }; _CurveEditor.TimeLine.TimeBar.ShowTimePosition = true; _CurveEditor.TimeLine.View.ShowTimePosition = true; //_CurveEditor.TimeLine.MinTime = -0.1f; _MainGrid.Controls.Add(_CurveEditor); _CurveTrackTreeView = new CurveTrackTreeView(_CurveEditor) { Row = 0, Column = 0, Margin = new Thickness(0, 0, 0, 0) }; _MainGrid.Controls.Add(_CurveTrackTreeView); _TimeLine = new TimeLine(new TrackBarView() { SideView = true }) { Row = 0, Column = 2 }; _TimeLine.TimePositionChanged += _TimeLine_TimePositionChanged; _TracksTreeView = new TrackTreeView(this) { Row = 0, Column = 0, Margin = new Thickness(0, 0, 0, 0) }; _MainGrid.Controls.Add(_TracksTreeView); // add splitter between (_TimeLine and _CurveEditor) and (_CurveTreeView, _TracksTreeView and _PropertyGrid) _VSplitter = new Skill.Editor.UI.GridSplitter() { Orientation = Orientation.Vertical, Row = 0, Column = 1, RowSpan = 3 }; _MainGrid.Controls.Add(_VSplitter); _MainGrid.Controls.Add(_TimeLine); // fill remaining area with mainGrid dockPanel.Controls.Add(_MainGrid); _CurveEditor.TimeLine.TimePositionChanged += CurveEditorTimeLine_PositionChanged; _CurveEditor.TimeLine.TimeBar.SnapTime = 0.001; _TimeLine.TimeBar.SnapTime = 0.001; _TimeLine.View.VerticalScrollChanged += View_VerticalScrollChanged; _TracksTreeView.TreeView.ScrollPositionChanged += TreeView_ScrollPositionChanged; SetLayout(0); }