public AudioStateGraphEditor(AudioControllerEditorWindow editor) { this._Editor = editor; this.Selection = new Skill.Editor.UI.SelectableCollection <Skill.Editor.UI.ISelectable>(); this.Selection.SelectionChanged += Selection_SelectionChanged; _Background = new Box() { Row = 0 }; this.Controls.Add(_Background); _ConnectionHost = new AudioConnectionHost(this) { Row = 0 }; this.Controls.Add(_ConnectionHost); _Panel = new Skill.Editor.UI.ZoomPanel() { Row = 0, MinZoomFactor = 0.6f, MaxZoomFactor = 1.0f }; this.Controls.Add(_Panel); this._MultiSelector = new Skill.Editor.UI.MultiSelector <Skill.Editor.UI.ISelectable>(this, Selection) { Row = 1 }; this.Controls.Add(_MultiSelector); this.WantsMouseEvents = true; this.ContextMenu = new GraphContextMenu(this); }
public MultiSelector(IEnumerable <T> host, Skill.Editor.UI.SelectableCollection <T> selection) { this._SelectableHost = host; this._Selection = selection; IsInScrollView = true; WantsMouseEvents = true; _RemoveKeys = new List <T>(); _KeepKeysSelected = new List <T>(); }
public GraphEditor(AnimationTreeEditorWindow editor) { this._Editor = editor; this.Selection = new UI.SelectableCollection <AnimNodeItem>(); this.Selection.SelectionChanged += Selection_SelectionChanged; this._MainPanel = new Grid(); this._MainPanel.RowDefinitions.Add(20, GridUnitType.Pixel); this._MainPanel.RowDefinitions.Add(1, GridUnitType.Star); this.Controls.Add(_MainPanel); _Background = new Box() { Row = 1 }; this._MainPanel.Controls.Add(_Background); _Panel = new UI.ZoomPanel() { Row = 1 }; this._MainPanel.Controls.Add(_Panel); this._MultiSelector = new UI.MultiSelector <AnimNodeItem>(this, Selection) { Row = 1 }; this._MainPanel.Controls.Add(_MultiSelector); this.WantsMouseEvents = true; this._MainPanel.ContextMenu = new GraphContextMenu(this); _ToolbarPanel = new Grid() { Row = 0 }; _ToolbarPanel.ColumnDefinitions.Add(180, GridUnitType.Pixel); _ToolbarPanel.ColumnDefinitions.Add(1, GridUnitType.Star); this._MainPanel.Controls.Add(_ToolbarPanel); _ToolbarBg = new Box() { Column = 1 }; this._ToolbarPanel.Controls.Add(_ToolbarBg); _ToolbarAlignButtons = new UniformGrid() { Rows = 1, Columns = 6 }; this._ToolbarPanel.Controls.Add(_ToolbarAlignButtons); _BtnAlignLeft = new Button() { Column = 0 }; _BtnAlignRight = new Button() { Column = 1 }; _BtnAlignTop = new Button() { Column = 2 }; _BtnAlignBottom = new Button() { Column = 3 }; _BtnAlignCenteredHorizontal = new Button() { Column = 4 }; _BtnAlignCenteredVertical = new Button() { Column = 5 }; _BtnAlignLeft.Content.tooltip = "align nodes top"; _BtnAlignRight.Content.tooltip = "align nodes bottom"; _BtnAlignTop.Content.tooltip = "align nodes left"; _BtnAlignBottom.Content.tooltip = "align nodes right"; _BtnAlignCenteredHorizontal.Content.tooltip = "align nodes centered horizontal"; _BtnAlignCenteredVertical.Content.tooltip = "align nodes centered vertical"; _ToolbarAlignButtons.Controls.Add(_BtnAlignLeft); _ToolbarAlignButtons.Controls.Add(_BtnAlignRight); _ToolbarAlignButtons.Controls.Add(_BtnAlignTop); _ToolbarAlignButtons.Controls.Add(_BtnAlignBottom); _ToolbarAlignButtons.Controls.Add(_BtnAlignCenteredHorizontal); _ToolbarAlignButtons.Controls.Add(_BtnAlignCenteredVertical); _BtnAlignLeft.Click += _BtnAlignLeft_Click; _BtnAlignRight.Click += _BtnAlignRight_Click; _BtnAlignTop.Click += _BtnAlignTop_Click; _BtnAlignBottom.Click += _BtnAlignBottom_Click; _BtnAlignCenteredHorizontal.Click += _BtnAlignCenteredHorizontal_Click; _BtnAlignCenteredVertical.Click += _BtnAlignCenteredVertical_Click; EnableToolbar(); }