private void CreateUI() { _Frame = new EditorFrame("Frame", this); _Frame.Grid.ColumnDefinitions.Add(224, Skill.Framework.UI.GridUnitType.Pixel); // _PnlLeft _Frame.Grid.ColumnDefinitions[0].MinWidth = 224; _Frame.Grid.ColumnDefinitions.Add(2, Skill.Framework.UI.GridUnitType.Pixel); // _GridSplitter _Frame.Grid.ColumnDefinitions.Add(5, Skill.Framework.UI.GridUnitType.Star); // _CurveEditor _PnlLeft = new Skill.Framework.UI.Grid() { Row = 0, Column = 0 }; _PnlLeft.RowDefinitions.Add(24, Skill.Framework.UI.GridUnitType.Pixel); // _ObjectField _PnlLeft.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); // _CurveTreeView _PnlLeft.RowDefinitions.Add(26, Skill.Framework.UI.GridUnitType.Pixel); // _PresetPanel _ObjectField = new ObjectField <GameObject>() { Row = 0, Column = 0, VerticalAlignment = Skill.Framework.UI.VerticalAlignment.Center }; _CurveTreeView = new TreeView() { Row = 1, Column = 0 }; _CurveTreeView.DisableFocusable(); _PresetPanel = new CurvePresetLibrary() { Row = 2, Column = 0 }; _PnlLeft.Controls.Add(_ObjectField); _PnlLeft.Controls.Add(_CurveTreeView); _PnlLeft.Controls.Add(_PresetPanel); _GridSplitter = new Skill.Editor.UI.GridSplitter() { Row = 0, Column = 1, Orientation = Skill.Framework.UI.Orientation.Vertical }; _CurveEditor = new CurveEditor() { Row = 0, Column = 2 }; _Frame.Controls.Add(_PnlLeft); _Frame.Controls.Add(_GridSplitter); _Frame.Controls.Add(_CurveEditor); _ObjectField.ObjectChanged += _ObjectField_ObjectChanged; _PresetPanel.PresetSelected += _PresetPanel_PresetSelected; }
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); }