//============================================================ // <T>删除一个组件。</T> // // @param component 组件 //============================================================ public virtual void Remove(FUiComponent component) { if (_components != null) { _components.Remove(component); } }
//============================================================ // <T>将来源组件插入到目标组件之后。</T> // // @param sourceComponent 组件 // @param targetComponent 组件 //============================================================ public virtual void InsertAfter(FUiComponent sourceComponent, FUiComponent targetComponent) { if (sourceComponent != null) { sourceComponent.Parent = this; } Components.InsertAfter(sourceComponent, targetComponent); ComponentResource.InsertAfter(sourceComponent.ComponentResource, targetComponent.ComponentResource); }
//============================================================ // <T>增加一个子组件。</T> // // @param componment 子组件 //============================================================ public override void Push(FUiComponent componment) { base.Push(componment); FUiControl control = componment as FUiControl; if (control != null) { control.Context = _context; } }
//============================================================ // <T>在父对象中删除自己。</T> //============================================================ public void RemoveFromParent() { // 资源删除 ComponentResource.RemoveFromParent(); // 控件删除 FUiComponent parent = _parent as FUiComponent; if (parent != null) { parent.Remove(this); } }
//============================================================ // <T>在父对象中激活自己。</T> // // @param component 组件 //============================================================ protected void ActiveFromParent(FUiComponent component) { if (component != null) { FUiComponent parent = component.Parent as FUiComponent; if (parent != null) { parent.ActiveChildren(component); ActiveFromParent(parent); } } }
//============================================================ // <T>加载配置信息。</T> // // @param xconfig 配置节点 //============================================================ public override void LoadResource(FRcObject resource) { base.LoadResource(resource); FRcComponent componentResource = resource as FRcComponent; if (componentResource.HasComponment()) { // 创建所有子节点 foreach (FRcComponent childResource in componentResource.Components) { FUiComponent child = _console.CreateComponent(childResource.TypeName); if (child != null) { // 增加为子节点 child.Parent = this; Push(child); // 加载配置信息 child.LoadResource(childResource); } } } }
//============================================================ // <T>增加一个子组件。</T> // // @param componment 子组件 //============================================================ public virtual void Push(FUiComponent component) { component.Parent = this; Components.Push(component); }
//============================================================ // <T>测试是否可以放入父控件内。</T> // // @param parent 父组件 // @return 是否可以放入 //============================================================ public virtual bool TestParent(FUiComponent parent) { return(true); }
//============================================================ // <T>激活子节点处理。</T> // // @param component 组件 //============================================================ public virtual void ActiveChildren(FUiComponent component) { }