public void SetGoodPlayerControl(IViewControl control) { goodPlayer = (UserControl)control; this.Controls.Add(goodPlayer); goodPlayer.Dock = DockStyle.Fill; goodPlayer.SendToBack(); }
public void SetSettingsControl(IViewControl control) { Control c = (Control)control; settingsPage.Controls.Add(c); c.Dock = DockStyle.Fill; }
public void SetSourceListControl(IViewControl control) { Control c = (Control)control; sourcesPage.Controls.Add(c); c.Dock = DockStyle.Fill; }
public void SetModifySourceControl(IViewControl control) { UserControl _editSource = (UserControl)control; this.Controls.Add(_editSource); _editSource.Dock = DockStyle.Fill; _editSource.BringToFront(); }
public void SetPlayerControlControl(IViewControl control) { controlPlayer = (UserControl)control; this.Controls.Add(controlPlayer); controlPlayer.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right))); controlPlayer.Visible = false; controlPlayer.MouseMove += (sender, args) => Invoke(MouseMoved); controlPlayer.BringToFront(); }
public void SetGridControl(IViewControl control) { Control c = (Control)control; this.Controls.Add(c); c.Dock = DockStyle.Fill; c.BringToFront(); c.ContextMenuStrip = gridMenu; splitLabel.BringToFront(); }
public override void AddLiveControl(IViewControl control) { if (control.PlatformSpecificObject is Control) { base.AddLiveControl(control); } else { this.silverlightImageHost.AddLiveControl(control); } }
public void SetBadPlayerControl(IViewControl control) { badPlayer = (UserControl)control; this.Controls.Add(badPlayer); badPlayer.Dock = DockStyle.Fill; badPlayer.SendToBack(); if (goodPlayer != null) { goodPlayer.SendToBack(); } }
public SkiaSharpRenderer(IViewControl viewControl, IWorkspace workspace) { ViewControl = viewControl; Workspace = workspace; InitializeComponent(); DashedLines = SKPathEffect.CreateDash(new[] { 4.0f, 4.0f }, 0.0f); // TODO: tune these Workspace.CommandExecuted += (o, args) => Invalidate(); Workspace.CommandExecuting += (o, args) => Invalidate(); Workspace.RubberBandGeneratorChanged += (o, args) => Invalidate(); Workspace.SelectedEntities.CollectionChanged += (o, args) => Invalidate(); Workspace.SettingsService.SettingChanged += (o, args) => Invalidate(); Workspace.WorkspaceChanged += (o, args) => Invalidate(); }
public void Initialize(IWorkspace workspace, IViewControl viewControl) { this.Workspace = workspace; this.ViewControl = viewControl; viewModel.SelectedEntities = workspace.SelectedEntities; DataContext = viewModel; Workspace.WorkspaceChanged += Workspace_WorkspaceChanged; Workspace.SettingsService.SettingChanged += Workspace_SettingChanged; Workspace.SelectedEntities.CollectionChanged += SelectedEntities_CollectionChanged; Workspace.RubberBandGeneratorChanged += Workspace_RubberBandGeneratorChanged; this.Loaded += (_, __) => { SetBackgroundColor(); Workspace_WorkspaceChanged(Workspace, WorkspaceChangeEventArgs.Reset()); }; }
/// <summary> /// 创建一个mvc模块 /// </summary> /// <param name="viewControl"></param> /// <param name="view"></param> static public MvcWarpper Create(string name, IViewControl viewControl, IView view) { ViewAutoSet(view); BindEvnet(viewControl, view); // viewControl.BindModel(); view.BindData(); // var bind = new MvcWarpper() { Name = name, ViewControl = viewControl, View = view }; // return(bind); }
public void View_Change(IViewControl viewable) { if (panel_view.Controls.Count > 0) { if (panel_view.Controls[0] is IViewControl) { (panel_view.Controls[0] as IViewControl).View_OnUnLoad(); } } UserControl view = viewable as UserControl; panel_view.Controls.Clear(); view.Dock = DockStyle.Fill; view.BackColor = Color.OldLace; panel_view.Controls.Add(view); viewable.View_OnLoad(); }
/// <summary> /// 创建一个mvc模块 /// </summary> /// <param name="viewControl"></param> /// <param name="view"></param> static public MvcWarpper Create(string name, IViewControl viewControl, IView view) { //1.自动设置节点 ViewAutoSet(view); //2.绑定数据model viewControl.BindModel(); view.BindModel(); //3.自动绑定事件 BindEvnet(viewControl, view); // var bind = new MvcWarpper() { Name = name, ViewControl = viewControl, View = view }; // return(bind); }
/// <summary> /// VC进行数据绑定 /// </summary> /// <param name="viewControl"></param> /// <param name="view"></param> static private void BindEvnet(IViewControl viewControl, IView view) { //开始反射所有的UI组件,自动注册Ctrl下面 OnEvent_+ 字段名 var viewType = view.GetType(); var controlType = viewControl.GetType(); var vfields = viewType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public); foreach (var f in vfields) { if (!f.FieldType.IsSubclassOf(typeof(UnityEngine.Object))) { continue; } //所有ui组件 if (f.FieldType == typeof(Button))//主动注册OnClick、 { // var fClick = controlType.GetMethod(string.Format("OnClick_{0}", f.Name), BindingFlags.Instance | BindingFlags.NonPublic); if (fClick != null) { var o = f.GetValue(view) as Button; o.onClick.AddListener(() => { fClick.Invoke(viewControl, new object[] {}); }); } else { BDebug.Log(string.Format("ui事件未实现:{0} - {1}", viewType.FullName, f.Name), "yellow"); } } else if (f.FieldType == typeof(Scrollbar))//主动注册OnValueChange { var o = f.GetValue(view) as Scrollbar; var fValueChange = controlType.GetMethod(string.Format("OnValueChange_{0}", f.Name), BindingFlags.Instance | BindingFlags.NonPublic); if (fValueChange != null) { o.onValueChanged.AddListener((value) => { fValueChange.Invoke(viewControl, new object[] { value }); }); } else { BDebug.Log(string.Format("ui事件未实现:{0} - {1}", viewType.FullName, f.Name), "yellow"); } } else if (f.FieldType == typeof(Slider)) //自动注册OnValueChange { var o = f.GetValue(view) as Slider; var fValueChange = controlType.GetMethod(string.Format("OnValueChange_{0}", f.Name), BindingFlags.Instance | BindingFlags.NonPublic); if (fValueChange != null) { o.onValueChanged.AddListener((value) => { fValueChange.Invoke(viewControl, new object[] { value }); }); } else { BDebug.Log(string.Format("ui事件未实现:{0} - {1}", viewType.FullName, f.Name), "yellow"); } } } }
public abstract void RemoveLiveControl(IViewControl control);
public abstract void AddLiveControl(IViewControl control);
public AbstractCadRenderer CreateRenderer(IViewControl viewControl, IWorkspace workspace) { return(new XamlRenderer(viewControl, workspace)); }
public XamlRenderer(IViewControl viewControl, IWorkspace workspace) : this() { Initialize(workspace, viewControl); ViewControl = viewControl; }
public virtual void RemoveLiveControl(IViewControl control) { this.liveControlLayer.Children.Remove((UIElement)control.PlatformSpecificObject); }
private void Rebuild() { if (this.EditingProperty == null) { return; } this.EditingProperty.Recache(); this.states.Clear(); if (this.EditingProperty.ObjectSet.IsHomogenous && this.EditingProperty.ObjectSet.Count > 0) { BehaviorTargetedTriggerActionNode triggerActionNode = this.EditingProperty.SceneNodeObjectSet.Objects[0] as BehaviorTargetedTriggerActionNode; if (triggerActionNode == null || triggerActionNode.TargetObject == null && string.IsNullOrEmpty(triggerActionNode.TargetName)) { SceneNode editingContainer = this.viewModel.ActiveEditingContainer; SceneNode hostNode = VisualStateManagerSceneNode.GetHostNode(this.viewModel.ActiveEditingContainer); if (hostNode != null) { foreach (VisualStateGroupSceneNode stateGroupSceneNode in (IEnumerable <VisualStateGroupSceneNode>)VisualStateManagerSceneNode.GetStateGroups(hostNode)) { foreach (SceneNode sceneNode in (IEnumerable <VisualStateSceneNode>)stateGroupSceneNode.States) { this.states.Add(new StateInfo(sceneNode.Name, stateGroupSceneNode.Name)); } } } ControlTemplateElement controlTemplateElement = this.viewModel.ActiveEditingContainer as ControlTemplateElement; if (controlTemplateElement != null) { IType type = this.viewModel.ProjectContext.ResolveType(controlTemplateElement.ControlTemplateTargetTypeId); foreach (DefaultStateRecord defaultStateRecord in ProjectAttributeHelper.GetDefaultStateRecords(type, (ITypeResolver)(this.viewModel.ProjectContext as ProjectContext))) { this.AddStateInfoIfNeeded(defaultStateRecord.StateName, defaultStateRecord.GroupName, type); } } } else if (triggerActionNode.TargetNode != null && triggerActionNode.TargetNode.IsViewObjectValid) { IViewControl viewControl = triggerActionNode.TargetNode.ViewObject as IViewControl; if (viewControl != null) { object stateManagerHost = viewControl.VisualStateManagerHost; if (stateManagerHost != null) { foreach (object group in (IEnumerable)StatePickerEditor.GetVisualStateGroups(stateManagerHost, (ITypeResolver)triggerActionNode.ProjectContext)) { string stateGroupName = this.GetStateGroupName(group); foreach (object state in (IEnumerable)this.GetStates(group)) { this.states.Add(new StateInfo(this.GetStateName(state), stateGroupName)); } } } IType type = triggerActionNode.TargetNode.ProjectContext.GetType(triggerActionNode.TargetNode.TargetType); foreach (DefaultStateRecord defaultStateRecord in ProjectAttributeHelper.GetDefaultStateRecords(triggerActionNode.TargetNode.Type, (ITypeResolver)(this.viewModel.ProjectContext as ProjectContext))) { this.AddStateInfoIfNeeded(defaultStateRecord.StateName, defaultStateRecord.GroupName, type); } } } } this.states.RemoveAll((Predicate <StateInfo>)(stateInfo => { if (!string.IsNullOrEmpty(stateInfo.GroupName) && !string.IsNullOrEmpty(stateInfo.StateName) && !stateInfo.GroupName.StartsWith(VisualStateManagerSceneNode.SketchFlowAnimationXamlDelimiter, StringComparison.Ordinal)) { return(stateInfo.StateName.StartsWith("_BlendEditTimeState-", StringComparison.Ordinal)); } return(true); })); this.statesView = CollectionViewSource.GetDefaultView(this.states); PropertyGroupDescription groupDescription = new PropertyGroupDescription(); groupDescription.PropertyName = "GroupName"; this.statesView.GroupDescriptions.Clear(); this.statesView.GroupDescriptions.Add((GroupDescription)groupDescription); this.OnPropertyChanged("CurrentState"); this.OnPropertyChanged("States"); }