private static DataTemplate CreateTemplate(ViewDescriptor visualDesc) { if (visualDesc == null) { return null; } if (Logging.Log.IsDebugEnabled) { Logging.Log.DebugFormat("Creating Template with {0}", visualDesc.ToString()); } Type t = Type.GetType(visualDesc.ControlTypeRef, true); DataTemplate result; #if !DONT_CACHE_TEMPLATE lock (templateCache) { if (!templateCache.ContainsKey(t)) { #endif result = new DataTemplate(); result.VisualTree = new FrameworkElementFactory(t); #if !DONT_CACHE_TEMPLATE templateCache[t] = result; } else { result = templateCache[t]; } } #endif return result; }
protected override void beforeEach() { var source = "<h1>hi</h1>"; var viewId = Guid.NewGuid(); _service = MockFor <IViewModifierService <IFubuRazorView> >(); _templateService = MockFor <ITemplateService>(); var fileSystem = MockFor <IFileSystem>(); fileSystem.Expect(x => x.ReadStringFromFile(null)).Return(source); var template = MockFor <IRazorTemplate>(); template.Expect(x => x.GeneratedViewId).Return(viewId); var descriptor = new ViewDescriptor <IRazorTemplate>(template); Services.Inject(descriptor); Services.Inject <IFubuTemplateService>(new FubuTemplateService(new TemplateRegistry <IRazorTemplate>(), _templateService, fileSystem)); _entryView = MockRepository.GenerateMock <StubView>(); _serviceView = MockRepository.GenerateMock <IFubuRazorView>(); _templateService.Expect(x => x.HasTemplate(Arg.Is(viewId.ToString()))).Return(false); _templateService.Expect(x => x.GetTemplate(Arg.Is(source), Arg.Is(viewId.ToString()))).Return(_entryView); _service.Expect(x => x.Modify(_entryView)).Return(_serviceView); }
private static DataTemplate CreateTemplate(ViewDescriptor visualDesc) { if (visualDesc == null) { return(null); } if (Logging.Log.IsDebugEnabled) { Logging.Log.DebugFormat("Creating Template with {0}", visualDesc.ToString()); } Type t = visualDesc.ControlRef.AsType(true); DataTemplate result; #if !DONT_CACHE_TEMPLATE lock (templateCache) { if (!templateCache.ContainsKey(t)) { #endif result = new DataTemplate(); result.VisualTree = new FrameworkElementFactory(t); #if !DONT_CACHE_TEMPLATE templateCache[t] = result; } else { result = templateCache[t]; } } #endif return(result); }
private string renderTemplate(IRazorTemplate template, params IRazorTemplate[] templates) { var descriptor = new ViewDescriptor <IRazorTemplate>(template); var current = descriptor; for (var i = 0; i < templates.Length; ++i) { var layoutTemplate = templates[i]; var layout = new ViewDescriptor <IRazorTemplate>(layoutTemplate); layoutTemplate.Descriptor = layout; current.Master = templates[i]; current = layout; } var modifier = new ViewModifierService <IFubuRazorView>(Enumerable.Empty <IViewModifier <IFubuRazorView> >()); var viewFactory = new ViewFactory(descriptor, _templateService, modifier); var view = (IFubuRazorView)viewFactory.GetView(); view.ServiceLocator = _serviceLocator; view.RenderPartialWith = name => { var partialTemplate = _sharedTemplateLocator.LocatePartial(name, view.OriginTemplate); partialTemplate.Descriptor = new ViewDescriptor <IRazorTemplate>(partialTemplate); var partialView = _templateService.GetView(partialTemplate.Descriptor.As <ViewDescriptor <IRazorTemplate> >()); var partialRendered = partialView.Run(new ExecuteContext()); return(new TemplateWriter(x => x.Write(partialRendered))); }; return(view.Run(new ExecuteContext())); }
// Token: 0x06001D65 RID: 7525 RVA: 0x000A9A78 File Offset: 0x000A7C78 private void Initialize(ViewDescriptor viewDescriptor) { for (int i = 0; i < viewDescriptor.ColumnCount; i++) { ColumnId column = viewDescriptor.GetColumn(i); if (column == this.columnIds[6] || column == this.columnIds[8] || column == this.columnIds[9]) { for (int j = 0; j < AddressBookMultiLineList2.phoneNumberColumns.Length; j++) { if (column == this.columnIds[(int)AddressBookMultiLineList2.phoneNumberColumns[j]]) { this.isPhoneNumberColumnPresent[j] = true; } } } else if (column == this.columnIds[2]) { this.isYomiNameColumnPresent = true; } else if (column == this.columnIds[4]) { this.isYomiAffiliationColumnPresent = true; } } }
protected override void beforeEach() { var source = "<h1>hi</h1>"; var viewId = Guid.NewGuid(); _service = MockFor <IViewModifierService <IFubuRazorView> >(); _templateFactory = MockFor <ITemplateFactory>(); var fileSystem = MockFor <IFileSystem>(); fileSystem.Expect(x => x.ReadStringFromFile(null)).Return(source); var template = MockFor <IRazorTemplate>(); template.Expect(x => x.GeneratedViewId).Return(viewId); var descriptor = new ViewDescriptor <IRazorTemplate>(template); Services.Inject(descriptor); Services.Inject(_templateFactory); _entryView = MockRepository.GenerateMock <StubView>(); _serviceView = MockRepository.GenerateMock <IFubuRazorView>(); _templateFactory.Expect(x => x.GetView(Arg.Is(descriptor))).Return(_entryView); _service.Expect(x => x.Modify(_entryView)).Return(_serviceView); }
protected override void beforeEach() { _templates = new List <ITemplate> { new Template("App/Shared/bindings.xml", "App", FubuSparkConstants.HostOrigin), new Template("App/bindings.xml", "App", FubuSparkConstants.HostOrigin), new Template("App/Views/binding.xml", "App", FubuSparkConstants.HostOrigin), new Template("App/Actions/binding.xml", "App", FubuSparkConstants.HostOrigin), new Template("App/Actions/Home/home.spark", "App", FubuSparkConstants.HostOrigin), new Template("App/Packages1/Views/Home/home.spark", "App/Package1", "Package1"), new Template("App/Packages1/Views/Products/list.spark", "App/Package1", "Package1"), new Template("App/Views/Home/home.spark", "App", FubuSparkConstants.HostOrigin) }; _bindings = new[] { _templates[0], _templates[1], _templates[2] }; var view = _templates.Last(); view.ViewPath = view.FilePath; var descriptor = new ViewDescriptor(view); _bindings.Each(descriptor.AddBinding); view.Descriptor = descriptor; Services.Inject(new TemplateRegistry(_templates)); }
/// <summary> /// Perform once-off startup processing. /// </summary> public void Start() { var viewTypes = _viewDiscoveryService.GetViewTypes(); foreach( var type in viewTypes ) { var typeInfo = type.GetTypeInfo(); var viewAttribute = typeInfo.GetCustomAttributes( typeof( ViewAttribute ), true ).Cast<ViewAttribute>().First(); var viewName = viewAttribute.Name ?? type.Name; var descriptor = new ViewDescriptor { Name = viewName, Type = type, RequiresAuthentication = typeInfo.GetCustomAttributes( typeof( ViewRequiresAuthenticationAttribute ), false ).Any(), PartOfAuthentication = typeInfo.GetCustomAttributes( typeof( ViewIsPartOfAuthenticationFlowAttribute ), false ).Any() }; try { _views.Add(viewName, descriptor); } catch (Exception) { // } } }
protected override void beforeEach() { var template = MockRepository.GenerateMock <ITemplate>(); var master = MockRepository.GenerateMock <ITemplate>(); template.Stub(x => x.ViewPath).Return("/Views/Home/index.spark"); master.Stub(x => x.ViewPath).Return("/Views/Shared/appplication.spark"); var descriptor = new ViewDescriptor(template) { Master = master }; var definition = descriptor.ToViewDefinition(); var resolver = MockFor <IViewDefinitionResolver>(); resolver.Stub(x => x.Resolve(descriptor)).Return(definition); _entry = MockRepository.GenerateMock <ISparkViewEntry>(); _partialEntry = MockRepository.GenerateMock <ISparkViewEntry>(); var provider = MockFor <IViewEntryProviderCache>(); provider .Stub(x => x.GetViewEntry(definition.ViewDescriptor)) .Return(_entry); provider .Stub(x => x.GetViewEntry(definition.PartialDescriptor)) .Return(_partialEntry); Services.Inject(descriptor); }
public static ViewDefinition ToViewDefinition(this ViewDescriptor viewDescriptor) { var normal = viewDescriptor.ToSparkViewDescriptor(); var partial = viewDescriptor.ToPartialSparkViewDescriptor(); return(new ViewDefinition(normal, partial)); }
public void TryReplace <T>(BehaviorGraph graph, string fileName) { var file = graph.Files.FindFiles(FileSet.Shallow(fileName)) .FirstOrDefault(x => x.Provenance.EqualsIgnoreCase("application")); if (file != null) { var template = new Template { FilePath = file.Path, RootPath = file.Path, ViewPath = Path.GetFileName(file.Path) }; var descriptor = new ViewDescriptor <Template>(template) { ViewModel = typeof(T) }; var sparkDescriptor = new SparkDescriptor(descriptor.Template) { ViewModel = typeof(T) }; var view = new SparkViewToken(sparkDescriptor); var chain = graph.Behaviors.Single(x => x.ResourceType() == typeof(T)); chain.Output.ClearAll(); chain.Output.Writers.AddToEnd(new SpecialView <T>(view)); } }
public GridCointrolState(ViewDescriptor[] views) { viewDescriptors = new Hashtable(); foreach (ViewDescriptor desc in views) { viewDescriptors.Add(desc.relationName, desc); } }
public static void ToString(ViewDescriptor obj, MethodReturnEventArgs<string> e) { e.Result = String.Format("{0}/{1}: {2}", obj.Toolkit, obj.ControlKind != null ? obj.ControlKind.Name : "(unknown kind)", obj.ControlRef == null ? "(none)" : obj.ControlRef.ToString()); }
public static void ToString(ViewDescriptor obj, MethodReturnEventArgs<string> e) { e.Result = String.Format("{0}/{1}: {2}", obj.Toolkit, obj.ControlKind != null ? obj.ControlKind.Name : "(unknown kind)", string.IsNullOrWhiteSpace(obj.ControlTypeRef) ? "(none)" : obj.ControlTypeRef); }
protected override void beforeEach() { _policies = Services.CreateMockArrayFor <IViewDefinitionPolicy>(5); _descriptor = new ViewDescriptor(MockRepository.GenerateMock <ITemplate>()); _policyDefinition = new ViewDefinition(null, null); _defaultDefinition = new ViewDefinition(null, null); MockFor <DefaultViewDefinitionPolicy>().Stub(x => x.Create(_descriptor)).Return(_defaultDefinition); }
public static void ToString(ViewDescriptor obj, MethodReturnEventArgs <string> e) { e.Result = String.Format("{0}/{1}: {2}", obj.Toolkit, obj.ControlKind != null ? obj.ControlKind.Name : "(unknown kind)", obj.ControlRef == null ? "(none)" : obj.ControlRef.ToString()); }
public IFubuRazorView GetView(ViewDescriptor <IRazorTemplate> descriptor) { var viewId = descriptor.Template.As <IRazorTemplate>().GeneratedViewId.ToString(); if (_inner.HasTemplate(viewId) && _lastModifiedCache[descriptor.Template.FilePath] == descriptor.Template.FilePath.LastModified()) { return(GetView(x => (IFubuRazorView)x.Resolve(viewId))); } return(GetView(x => (IFubuRazorView)x.GetTemplate(_fileSystem.ReadStringFromFile(descriptor.Template.FilePath), viewId))); }
public MessageListViewContents(ViewDescriptor viewDescriptor, ColumnId sortedColumn, SortOrder sortOrder, bool showFolderNameTooltip, UserContext userContext) : base(viewDescriptor, sortedColumn, sortOrder, showFolderNameTooltip, userContext) { base.AddProperty(MessageItemSchema.IsRead); base.AddProperty(MessageItemSchema.IsDraft); base.AddProperty(ItemSchema.IconIndex); base.AddProperty(MessageItemSchema.MessageInConflict); base.AddProperty(MessageItemSchema.HasBeenSubmitted); base.AddProperty(ItemSchema.Id); base.AddProperty(StoreObjectSchema.ItemClass); }
private static SparkViewDescriptor createSparkDescriptor(bool useMaster, ViewDescriptor viewDescriptor) { var sparkDescriptor = new SparkViewDescriptor().AddTemplate(viewDescriptor.ViewPath); if (useMaster && viewDescriptor.Master != null) { appendMasterPage(sparkDescriptor, viewDescriptor.Master); } return(sparkDescriptor); }
protected LegacyItemList(ViewDescriptor viewDescriptor, ColumnId sortedColumn, SortOrder sortOrder, UserContext userContext, SearchScope folderScope) : base(userContext) { this.viewDescriptor = viewDescriptor; this.sortedColumn = ListViewColumns.GetColumn(sortedColumn); this.sortOrder = sortOrder; this.folderScope = folderScope; for (int i = 0; i < viewDescriptor.PropertyCount; i++) { base.AddProperty(viewDescriptor.GetProperty(i)); } }
/// <summary> /// Ensures the view exists in the <see cref="ViewDescriptors"/> dictionary and returns the associated <see cref="ViewDescriptor"/>. /// </summary> /// <param name="view">The view to get the </param> /// <returns></returns> private ViewDescriptor EnsureViewExists(ColumnView view) { if (!ViewDescriptors.ContainsKey(view)) { //Creates a new view descriptor with the default key value. var descriptor = new ViewDescriptor(view.LevelName); ViewDescriptors.Add(view, descriptor); } return(ViewDescriptors[view]); }
protected override void beforeEach() { var template = new Template("view.spark", "root", "pak1"); var master = new Template("master.spark", "root", "pak1"); template.Descriptor = new ViewDescriptor(template) { Master = master }; _descriptor = new ViewDescriptor(template); _definition = ClassUnderTest.Create(_descriptor); }
public void SetUp() { new FileSystem().WriteStringToFile("test.spark", @" "); theDescriptor = new ViewDescriptor <Template>(new Template("test.spark".ToFullPath(), "folder1/folder2/test.spark", "bottle1")); theTopicFile = new SparkTopicFile(theDescriptor); }
protected override void beforeEach() { _template = new Template("", "", ""); _descriptor = new ViewDescriptor(_template); _template.Descriptor = _descriptor; _request = new BindRequest { Target = _template, ViewModelType = "FubuMVC.Spark.Tests.SparkModel.Binding.Baz", Types = typePool(), Logger = MockFor <ISparkLogger>() }; }
public void SetUp() { var root = AppDomain.CurrentDomain.BaseDirectory; _template = new Template(Path.Combine(root, "Views", "Home", "Home.cshtml"), root, TemplateConstants.HostOrigin); _descriptor = new ViewDescriptor<IRazorTemplate>(_template) { ViewModel = typeof (ProductModel) }; _template.Descriptor = _descriptor; _token = new RazorViewToken(_template.Descriptor.As<ViewDescriptor<IRazorTemplate>>()); }
public TaskSingleLineList(ViewDescriptor viewDescriptor, ColumnId sortedColumn, SortOrder sortOrder, UserContext userContext, SearchScope folderScope) : base(viewDescriptor, sortedColumn, sortOrder, userContext, folderScope) { base.AddProperty(ItemSchema.Id); base.AddProperty(StoreObjectSchema.ItemClass); base.AddProperty(ItemSchema.IsResponseRequested); base.AddProperty(TaskSchema.TaskType); base.AddProperty(TaskSchema.IsTaskRecurring); base.AddProperty(TaskSchema.RecurrenceType); base.AddProperty(ItemSchema.IconIndex); base.AddProperty(MessageItemSchema.IsRead); base.AddProperty(MessageItemSchema.ReceivedRepresentingEmailAddress); base.AddProperty(CalendarItemBaseSchema.OrganizerEmailAddress); base.AddProperty(StoreObjectSchema.IsRestricted); base.AddProperty(MessageItemSchema.DRMRights); }
public void SetUp() { var root = AppDomain.CurrentDomain.BaseDirectory; _template = new Template(Path.Combine(root, "Views", "Home", "Home.cshtml"), root, TemplateConstants.HostOrigin); _descriptor = new ViewDescriptor <IRazorTemplate>(_template) { ViewModel = typeof(ProductModel) }; _template.Descriptor = _descriptor; _token = new RazorViewToken(_template.Descriptor.As <ViewDescriptor <IRazorTemplate> >()); }
public GeneratorResults GenerateCode(ViewDescriptor<IRazorTemplate> descriptor, string className, RazorEngineHost host) { var engine = new RazorTemplateEngine(host); GeneratorResults results; using (var fileStream = new FileStream(descriptor.Template.FilePath, FileMode.Open, FileAccess.Read)) using (var reader = new StreamReader(fileStream)) { results = engine.GenerateCode(reader, className, host.DefaultNamespace, descriptor.ViewPath); } if (!results.Success) { throw CreateExceptionFromParserError(results.ParserErrors.Last(), descriptor.Name()); } return results; }
public void SetUp() { var root = AppDomain.CurrentDomain.BaseDirectory; _template = new Template(Path.Combine(root, "Views", "Home", "Home.spark"), root, FubuSparkConstants.HostOrigin); _descriptor = new ViewDescriptor(_template) { Namespace = String.Join(".", new[] { GetType().Name, "Views", "Home" }), ViewModel = typeof(ProductModel) }; _template.Descriptor = _descriptor; _token = new SparkViewToken(_descriptor); }
public GeneratorResults GenerateCode(ViewDescriptor <IRazorTemplate> descriptor, string className, RazorEngineHost host) { var engine = new RazorTemplateEngine(host); GeneratorResults results; using (var fileStream = new FileStream(descriptor.Template.FilePath, FileMode.Open, FileAccess.Read)) using (var reader = new StreamReader(fileStream)) { results = engine.GenerateCode(reader, className, host.DefaultNamespace, descriptor.ViewPath); } if (!results.Success) { throw CreateExceptionFromParserError(results.ParserErrors.Last(), descriptor.Name()); } return(results); }
public IFubuRazorView GetView(ViewDescriptor<IRazorTemplate> descriptor) { Type viewType; var filePath = descriptor.Template.FilePath; _cache.TryGetValue(filePath, out viewType); var lastModified = filePath.LastModified(); if (viewType == null || (_lastModifiedCache[filePath] != lastModified)) { viewType = getViewType(descriptor); lock (_cache) { _cache[filePath] = viewType; _lastModifiedCache[filePath] = lastModified; } } return Activator.CreateInstance(viewType).As<IFubuRazorView>(); }
protected override void beforeEach() { _template = new Template("", "", ""); _descriptor = new ViewDescriptor <IRazorTemplate>(_template); _template.Descriptor = _descriptor; _request = new BindRequest <IRazorTemplate> { Target = _template, Parsing = new Parsing { ViewModelType = "FubuMVC.Razor.Tests.RazorModel.Binding.Generic<FubuMVC.Razor.Tests.RazorModel.Binding.Baz>", }, Types = typePool(), Logger = MockFor <ITemplateLogger>() }; }
// Token: 0x06001D64 RID: 7524 RVA: 0x000A98E4 File Offset: 0x000A7AE4 public AddressBookMultiLineList2(ViewDescriptor viewDescriptor, bool isContactView, bool isPicker, ColumnId sortedColumn, SortOrder sortOrder, UserContext userContext, SearchScope folderScope, bool isPAA, bool isMobile) : base(viewDescriptor, sortedColumn, sortOrder, userContext, folderScope) { this.isPAA = isPAA; this.isMobile = isMobile; this.isPicker = isPicker; this.isContactView = isContactView; if (isContactView) { base.AddProperty(ItemSchema.Id); base.AddProperty(StoreObjectSchema.ItemClass); base.AddProperty(ContactSchema.Email1); base.AddProperty(ContactSchema.Email2); base.AddProperty(ContactSchema.Email3); base.AddProperty(ContactSchema.ContactBusinessFax); base.AddProperty(ContactSchema.ContactHomeFax); base.AddProperty(ContactSchema.ContactOtherFax); base.AddProperty(ContactSchema.IMAddress); base.AddProperty(ContactSchema.MobilePhone); Column column = ListViewColumns.GetColumn(sortedColumn); for (int i = 0; i < column.PropertyCount; i++) { base.AddProperty(column[i]); } this.columnIds = AddressBookMultiLineList2.contactColumnIds; } else { base.AddProperty(ADObjectSchema.ObjectCategory); base.AddProperty(ADObjectSchema.Guid); base.AddProperty(ADRecipientSchema.RecipientType); base.AddProperty(ADRecipientSchema.ResourceMetaData); base.AddProperty(ADRecipientSchema.RecipientDisplayType); base.AddProperty(ADRecipientSchema.PrimarySmtpAddress); base.AddProperty(ADRecipientSchema.LegacyExchangeDN); base.AddProperty(ADRecipientSchema.EmailAddresses); base.AddProperty(ADOrgPersonSchema.MobilePhone); Column column2 = ListViewColumns.GetColumn(ColumnId.OfficeAD); for (int j = 0; j < column2.PropertyCount; j++) { base.AddProperty(column2[j]); } this.columnIds = AddressBookMultiLineList2.directoryColumnIds; } this.Initialize(viewDescriptor); }
private IntPtr AllocateCell(out MfsCellId cellIdOut) { ushort blockId; ushort cellId; IntPtr lastBlock; MfsBlockHeader *header; if (_header->NextFreeBlock == 1) { // No blocks except for the FS header. Allocate one. lastBlock = this.AllocateBlock(out blockId); } else { blockId = (ushort)(_header->NextFreeBlock - 1); lastBlock = this.ReferenceBlock(blockId); } header = (MfsBlockHeader *)lastBlock; if (header->NextFreeCell == _cellCount) { // Block full. Allocate a new one. this.DereferenceBlock(lastBlock); // Fix up the cached reference. if (_cachedLastBlockView != null) { this.DereferenceBlock(_cachedLastBlockView.BlockId); _cachedLastBlockView = null; } lastBlock = this.AllocateBlock(out blockId); header = (MfsBlockHeader *)lastBlock; // Add a new cached reference. this.ReferenceBlock(blockId); _cachedLastBlockView = _views[blockId]; } cellId = header->NextFreeCell++; cellIdOut = new MfsCellId(blockId, cellId); return(lastBlock.Increment(cellId * _cellSize)); }
// Token: 0x06000122 RID: 290 RVA: 0x00009920 File Offset: 0x00007B20 public ContactsListViewContents(ViewDescriptor viewDescriptor, ColumnId sortedColumn, SortOrder sortOrder, bool showFolderNameTooltip, UserContext userContext) : base(viewDescriptor, sortedColumn, sortOrder, showFolderNameTooltip, userContext) { base.AddProperty(StoreObjectSchema.DisplayName); base.AddProperty(StoreObjectSchema.ItemClass); base.AddProperty(ContactSchema.SelectedPreferredPhoneNumber); if (Utilities.IsJapanese) { base.AddProperty(ContactSchema.YomiFirstName); base.AddProperty(ContactSchema.YomiLastName); } base.AddProperty(ContactSchema.BusinessPhoneNumber); base.AddProperty(ContactSchema.HomePhone); base.AddProperty(ContactSchema.MobilePhone); foreach (ContactPropertyInfo contactPropertyInfo in ContactUtilities.PhoneNumberProperties) { base.AddProperty(contactPropertyInfo.PropertyDefinition); } }
public StrategyResult Initialize(INavigationController controller) { if (all) { level = controller.ViewStack.Count - 1; } else { if ((level < 1) || (level > controller.ViewStack.Count - 1)) { throw new InvalidOperationException($"Pop level is invalid. level=[{level}], stacked=[{controller.ViewStack.Count}]"); } } descriptor = controller.ViewMapper.FindDescriptor(id); return(new StrategyResult(id, NavigationAttributes.None)); }
private Type getViewType(ViewDescriptor<IRazorTemplate> descriptor) { var className = ParserHelpers.SanitizeClassName(descriptor.ViewPath); var baseTemplateType = _razorEngineSettings.BaseTemplateType; var generatedClassContext = new GeneratedClassContext("Execute", "Write", "WriteLiteral", null, null, className, "DefineSection"); var codeLanguage = RazorCodeLanguageFactory.Create(descriptor.Template.FilePath.FileExtension()); var host = new RazorEngineHost(codeLanguage) { DefaultBaseClass = baseTemplateType.FullName, DefaultNamespace = "FubuMVC.Razor.GeneratedTemplates", GeneratedClassContext = generatedClassContext }; host.NamespaceImports.UnionWith(_commonViewNamespaces.Namespaces); var results = _templateGenerator.GenerateCode(descriptor, className, host); return _templateCompiler.Compile(className, results.GeneratedCode, host); }
public IFubuRazorView GetView(ViewDescriptor <IRazorTemplate> descriptor) { Type viewType; var filePath = descriptor.Template.FilePath; _cache.TryGetValue(filePath, out viewType); var lastModified = filePath.LastModified(); if (viewType == null || (_lastModifiedCache[filePath] != lastModified)) { viewType = getViewType(descriptor); lock (_cache) { _cache[filePath] = viewType; _lastModifiedCache[filePath] = lastModified; } } return(Activator.CreateInstance(viewType).As <IFubuRazorView>()); }
public MessageMultiLineList2(ViewDescriptor viewDescriptor, ColumnId sortedColumn, SortOrder sortOrder, UserContext userContext, SearchScope folderScope, bool renderLastModifiedTime) : base(viewDescriptor, sortedColumn, sortOrder, userContext, folderScope, renderLastModifiedTime) { base.AddProperty(ItemSchema.InstanceKey); base.AddProperty(ItemSchema.Id); base.AddProperty(StoreObjectSchema.ItemClass); base.AddProperty(MessageItemSchema.IsRead); base.AddProperty(MessageItemSchema.IsDraft); base.AddProperty(MessageItemSchema.HasBeenSubmitted); base.AddProperty(ItemSchema.IconIndex); base.AddProperty(MessageItemSchema.MessageInConflict); base.AddProperty(ItemSchema.IsResponseRequested); base.AddProperty(MessageItemSchema.ReceivedRepresentingEmailAddress); base.AddProperty(CalendarItemBaseSchema.OrganizerEmailAddress); base.AddProperty(ItemSchema.EdgePcl); base.AddProperty(ItemSchema.LinkEnabled); base.AddProperty(StoreObjectSchema.IsRestricted); base.AddProperty(MessageItemSchema.DRMRights); base.AddProperty(MessageItemSchema.RequireProtectedPlayOnPhone); }
private string renderTemplate(IRazorTemplate template, params IRazorTemplate[] templates) { var descriptor = new ViewDescriptor<IRazorTemplate>(template); var current = descriptor; for (var i = 0; i < templates.Length; ++i) { var layoutTemplate = templates[i]; var layout = new ViewDescriptor<IRazorTemplate>(layoutTemplate); layoutTemplate.Descriptor = layout; current.Master = templates[i]; current = layout; } var modifier = new ViewModifierService<IFubuRazorView>(Enumerable.Empty<IViewModifier<IFubuRazorView>>()); var viewFactory = new ViewFactory(descriptor, _templateFactory, modifier); var view = (IFubuRazorView)viewFactory.GetView(); view.ServiceLocator = _serviceLocator; view.As<IRenderableView>().Render(); return view.Result.ToString(); }
protected ViewState(ViewState parent, ViewDescriptor descriptor) { this.parent = parent; this.gridState = parent.gridState; this.descriptor = descriptor; }
protected ViewState(GridCointrolState gridState, ViewDescriptor descriptor) { this.gridState = gridState; this.descriptor = descriptor; this.parent = null; }
/// <summary> /// Perform once-off startup processing. /// </summary> public void Start() { var viewTypes = _viewDiscoveryService.GetViewTypes(); foreach( var type in viewTypes ) { var viewAttribute = type.GetTypeInfo().GetCustomAttributes( typeof( ViewAttribute ), true ).Cast<ViewAttribute>().First(); var viewName = viewAttribute.Name ?? type.Name; var descriptor = new ViewDescriptor { Name = viewName, Type = type, }; try { _views.Add(viewName, descriptor); } catch (Exception) { // } } var app = (WindowsRTApplication) Application.Current; if( app.RootFrame == null ) { Window.Current.Activated += Window_Activated; } else { app.RootFrame.Navigated += RootFrame_Navigated; } }
public RazorViewToken(ViewDescriptor<IRazorTemplate> viewDescriptor) { _descriptor = viewDescriptor; }
public MemoryFileSystem(string fileName, MfsOpenMode mode, bool readOnly, MfsParameters createParams) { FileCreationDispositionWin32 cdWin32; if (readOnly && mode != MfsOpenMode.Open) throw new ArgumentException("Invalid mode for read only access."); switch (mode) { case MfsOpenMode.Open: cdWin32 = FileCreationDispositionWin32.OpenExisting; break; default: case MfsOpenMode.OpenIf: cdWin32 = FileCreationDispositionWin32.OpenAlways; break; case MfsOpenMode.OverwriteIf: cdWin32 = FileCreationDispositionWin32.CreateAlways; break; } using (FileHandle fhandle = FileHandle.CreateWin32( fileName, FileAccess.GenericRead | (!readOnly ? FileAccess.GenericWrite : 0), FileShareMode.Read, cdWin32 )) { bool justCreated = false; _readOnly = readOnly; _protection = !readOnly ? MemoryProtection.ReadWrite : MemoryProtection.ReadOnly; if (fhandle.FileSize == 0) { if (readOnly) { throw new MfsInvalidFileSystemException(); } // File is too small. Make it 1 byte large and we'll deal with it soon. fhandle.SetEnd(1); } _section = new Section(fhandle, _protection); _blockSize = MfsBlockSizeBase; // fake block size to begin with; we'll fix it up later. if (fhandle.FileSize < _blockSize) { if (readOnly) { throw new MfsInvalidFileSystemException(); } // We're creating a new file system. We need the correct block size now. if (createParams != null) this._blockSize = createParams.BlockSize; else this._blockSize = MfsDefaultBlockSize; this._section.Extend(this._blockSize); using (SectionView view = this._section.MapView(0, this._blockSize, this._protection)) { this.InitializeFs((MfsFsHeader*)view.Memory, createParams); } justCreated = true; } _header = (MfsFsHeader*)this.ReferenceBlock(0); // Check the magic. if (_header->Magic != MfsMagic) throw new MfsInvalidFileSystemException(); // Set up the local constants. _blockSize = _header->BlockSize; _cellSize = _header->CellSize; // Backwards compatibility. if (_blockSize == 0) _blockSize = MfsDefaultBlockSize; if (_cellSize == 0) _cellSize = MfsDefaultCellSize; // Validate the parameters. this.ValidateFsParameters(_blockSize, _cellSize); _blockMask = _blockSize - 1; _cellCount = _blockSize / _cellSize; _dataCellDataMaxLength = _cellSize - MfsDataCell.DataOffset; // Remap block 0 with the correct block size. this.DereferenceBlock(0); // If we just created a new file system, fix the section size. if (justCreated) _section.Extend(_blockSize); _header = (MfsFsHeader*)this.ReferenceBlock(0); // Set up the root object. _rootObjectMo = new MemoryObject(this, _rootObjectCellId, true); if (_header->NextFreeBlock != 1 && !readOnly) { ushort lastBlockId = (ushort)(_header->NextFreeBlock - 1); this.ReferenceBlock(lastBlockId); _cachedLastBlockView = _views[lastBlockId]; } } }
private IntPtr AllocateCell(out MfsCellId cellIdOut) { ushort blockId; ushort cellId; IntPtr lastBlock; MfsBlockHeader* header; if (_header->NextFreeBlock == 1) { // No blocks except for the FS header. Allocate one. lastBlock = this.AllocateBlock(out blockId); } else { blockId = (ushort)(_header->NextFreeBlock - 1); lastBlock = this.ReferenceBlock(blockId); } header = (MfsBlockHeader*)lastBlock; if (header->NextFreeCell == _cellCount) { // Block full. Allocate a new one. this.DereferenceBlock(lastBlock); // Fix up the cached reference. if (_cachedLastBlockView != null) { this.DereferenceBlock(_cachedLastBlockView.BlockId); _cachedLastBlockView = null; } lastBlock = this.AllocateBlock(out blockId); header = (MfsBlockHeader*)lastBlock; // Add a new cached reference. this.ReferenceBlock(blockId); _cachedLastBlockView = _views[blockId]; } cellId = header->NextFreeCell++; cellIdOut = new MfsCellId(blockId, cellId); return lastBlock.Increment(cellId * _cellSize); }
private string renderTemplate(IRazorTemplate template, params IRazorTemplate[] templates) { var descriptor = new ViewDescriptor<IRazorTemplate>(template); var current = descriptor; for (var i = 0; i < templates.Length; ++i) { var layoutTemplate = templates[i]; var layout = new ViewDescriptor<IRazorTemplate>(layoutTemplate); layoutTemplate.Descriptor = layout; current.Master = templates[i]; current = layout; } var modifier = new ViewModifierService<IFubuRazorView>(Enumerable.Empty<IViewModifier<IFubuRazorView>>()); var viewFactory = new ViewFactory(descriptor, _templateService, modifier); var view = (IFubuRazorView)viewFactory.GetView(); view.ServiceLocator = _serviceLocator; view.RenderPartialWith = name => { var partialTemplate = _sharedTemplateLocator.LocatePartial(name, view.OriginTemplate); partialTemplate.Descriptor = new ViewDescriptor<IRazorTemplate>(partialTemplate); var partialView = _templateService.GetView(partialTemplate.Descriptor.As<ViewDescriptor<IRazorTemplate>>()); var partialRendered = partialView.Run(new ExecuteContext()); return new TemplateWriter(x => x.Write(partialRendered)); }; return view.Run(new ExecuteContext()); }
public ViewFactory(ViewDescriptor<IRazorTemplate> viewDescriptor, IFubuTemplateService templateService, IViewModifierService<IFubuRazorView> service) { _viewDescriptor = viewDescriptor; _templateService = templateService; _service = service; }
protected override object CreateView(ViewDescriptor vDesc) { var type = vDesc.ControlRef.AsType(true); var loc = (ControlLocation)type.GetCustomAttributes(typeof(ControlLocation), true).FirstOrDefault(); if (loc != null) { var page = HttpContext.Current.CurrentHandler as Page; if (page == null) throw new InvalidOperationException("Unable to create a View while not processing a System.Web.UI.Page"); return (IView)page.LoadControl(loc.VirtualPath); } else { return base.CreateView(vDesc); } }