Mini Kabibi Habibi
using System;
using System.Windows;
using DevExpress.Xpf.Core.Native;
using DevExpress.Xpf.DemoBase.DemoTesting;
using DevExpress.Xpf.Docking;
using DevExpress.Xpf.Layout.Core;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Bars;
namespace DockingDemo.Tests {
#region DockingDemoModulesAccessor
public class DockingDemoModulesAccessor : DemoModulesAccessor<DockingDemoModule> {
public DockingDemoModulesAccessor(BaseDemoTestingFixture fixture)
: base(fixture) {
}
DockLayoutManager manager;
public DockLayoutManager DockLayoutManager {
get {
if(manager == null)
manager = LayoutHelper.FindElement(DemoModule, Criteria) as DockLayoutManager;
return manager;
}
}
bool Criteria(FrameworkElement element) {
return element is DevExpress.Xpf.Docking.DockLayoutManager;
}
public void ResetDockLayoutManager() {
manager = null;
}
public IDEComplexLayout IDEComplexLayoutModule { get { return DemoModule as IDEComplexLayout; } }
public RowColumnLayout RowColumnLayoutModule { get { return DemoModule as RowColumnLayout; } }
}
#endregion DockingDemoModulesAccessor
public abstract class BaseDockingDemoTestingFixture : BaseDemoTestingFixture {
readonly DockingDemoModulesAccessor modulesAccessor;
public BaseDockingDemoTestingFixture() {
modulesAccessor = new DockingDemoModulesAccessor(this);
}
public DockLayoutManager DockLayoutManager { get { return modulesAccessor.DockLayoutManager; } }
protected void ResetDockLayoutManager() {
modulesAccessor.ResetDockLayoutManager();
}
public IDEComplexLayout IDEComplexLayoutModule { get { return modulesAccessor.IDEComplexLayoutModule; } }
public RowColumnLayout RowColumnLayoutModule { get { return modulesAccessor.RowColumnLayoutModule; } }
}
public class DockingCheckAllDemosFixture :
CheckAllDemosFixture {
Type[] skipMemoryLeaksCheckModules = new Type[] {
typeof(IDEComplexLayout),
typeof(VS2010Docking),
};
protected override bool CheckMemoryLeaks(Type moduleTyle) {
return true;
}
protected override void CreateSwitchAllThemesActions() {
base.CreateSwitchAllThemesActions();
}
}
}