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;
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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()));
        }
Exemple #5
0
 // 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;
         }
     }
 }
Exemple #6
0
        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);
        }
Exemple #7
0
        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)
			    {
			       //
			    }
				
			}
		}
Exemple #9
0
        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);
        }
Exemple #10
0
        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));
            }
        }
Exemple #12
0
 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);
        }
Exemple #16
0
 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());
 }
Exemple #17
0
        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)));
        }
Exemple #18
0
 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);
 }
Exemple #19
0
        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));
     }
 }
Exemple #21
0
        /// <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);
        }
Exemple #24
0
        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>()
            };
        }
Exemple #25
0
        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>>());
        }
Exemple #26
0
 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);
        }
Exemple #30
0
        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>()
            };
        }
Exemple #33
0
 // 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));
        }
Exemple #35
0
 // 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);
        }
Exemple #38
0
        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>());
        }
Exemple #39
0
 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();
        }
Exemple #41
0
 protected ViewState(ViewState parent, ViewDescriptor descriptor)
 {
     this.parent = parent;
     this.gridState = parent.gridState;
     this.descriptor = descriptor;
 }
Exemple #42
0
 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;
			}
		}
Exemple #44
0
 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());
        }
Exemple #48
0
 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);
     }
 }