public ViewExplorer(IViewFolder viewFolder, string viewPath) { _viewLoader = new ViewLoader { ViewFolder = viewFolder, SyntaxProvider = new DefaultSyntaxProvider(new ParserSettings()) }; _viewPath = viewPath; }
protected override void beforeEach() { const string viewPath = "/_Package1_/Handlers/Models/SerieSL.spark"; var appRoot = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Templates"); var packageRoot = Path.Combine(appRoot, "App", "fubu-packages", "Package1", "WebContent"); var binding1 = new Template(Path.Combine(packageRoot, "Handlers", "Shared", "bindings.xml"), packageRoot, "Package1"); var binding2 = new Template(Path.Combine(appRoot, "Shared", "bindings.xml"), appRoot, TemplateConstants.HostOrigin); var viewPathPolicy = new ViewPathPolicy <ITemplate>(); viewPathPolicy.Apply(binding1); viewPathPolicy.Apply(binding2); _viewFolder = MockFor <IViewFolder>(); _viewFolder.Expect(x => x.GetViewSource(binding1.ViewPath)).Return(new FileSystemViewFile(binding1.FilePath)); _viewFolder.Expect(x => x.GetViewSource(binding2.ViewPath)).Return(new FileSystemViewFile(binding2.FilePath)); _request = new BindingRequest(_viewFolder) { ViewPath = viewPath }; _templateRegistry = MockFor <ISparkTemplateRegistry>(); _templateRegistry.Expect(x => x.BindingsForView(viewPath)).Return(new[] { binding1, binding2 }); }
public static void ForEachViewFolder(IViewFolder parentFolder, Game game, ViewFolderProcessing proc) { foreach (ViewFolder subFolder in parentFolder.SubFolders) { proc(subFolder, game); } }
public ThemedViewFactory() { var container = SparkEngineStarter.CreateContainer(); _defaultViewFolder = container.GetService <IViewFolder>(); _defaultEngine = container.GetService <IViewEngine>(); }
public static void SetRootViewFolder(Game game, IViewFolder folder) { ViewFolder default_folder = (ViewFolder)folder; if (default_folder != null) { game.RootViewFolder = default_folder; } }
private static LocateResult Result(IViewFolder viewFolder, string path) { return(new LocateResult { Path = path, ViewFile = viewFolder.GetViewSource(path) }); }
private static LocateResult Result(IViewFolder viewFolder, string path) { return new LocateResult { Path = path, ViewFile = viewFolder.GetViewSource(path) }; }
private static string ReadContents(IViewFolder adapter, string path) { Assert.That(adapter.HasView(path), Is.True); var source = adapter.GetViewSource(path); var stream = source.OpenViewStream(); var reader = new StreamReader(stream); return(reader.ReadToEnd()); }
static string ReadToEnd(IViewFolder viewFolder, string path) { using (var stream = viewFolder.GetViewSource(path).OpenViewStream()) { using (var reader = new StreamReader(stream)) { return(reader.ReadToEnd()); } } }
// end-workaround public ThemedViewFactory() { var container = SparkEngineStarter.CreateContainer(); _defaultViewFolder = container.GetService<IViewFolder>(); _defaultEngine = container.GetService<IViewEngine>(); // workaround _defaultViews = CompiledViewHolder.Current; // end-workaround }
private ISparkView CreateView(IViewFolder viewFolder, string template) { var settings = new SparkSettings().SetPageBaseType(typeof(StubSparkView)); var engine = new SparkViewEngine(settings) { ViewFolder = viewFolder }; return(engine.CreateInstance(new SparkViewDescriptor().AddTemplate(template))); }
} public View CreateNewView(IViewFolder createInFolder) { if (createInFolder == null) { createInFolder = _views.RootFolder; } View newView = new View(); newView.ID = FindAndAllocateAvailableViewID(); newView.Name = "View" + newView.ID; createInFolder.Views.Add(newView); NotifyClientsViewsUpdated();
public void should_be_able_to_change_view_source_folder_on_the_fly() { var replacement = MockRepository.GenerateStub <IViewFolder>(); IViewFolder existing = _factory.ViewFolder; existing.ShouldNotBeTheSameAs(replacement); existing.ShouldBeTheSameAs(_factory.ViewFolder); _factory.ViewFolder = replacement; replacement.ShouldBeTheSameAs(_factory.ViewFolder); existing.ShouldNotBeTheSameAs(_factory.ViewFolder); }
public override IEnumerable<Binding> GetBindings(IViewFolder viewFolder) { if (viewFolder.HasView("bindings.xml") == false) return new Binding[0]; var file = viewFolder.GetViewSource("bindings.xml"); using (var stream = file.OpenViewStream()) { using (var reader = new StreamReader(stream)) { return LoadStandardMarkup(reader); } } }
public LocateResult LocateMasterFile(IViewFolder viewFolder, string masterName) { var currentFolder = Path.GetDirectoryName(Path.Combine(_rootPath, _virtualPath.TrimStart('\\'))); var masterPath = Path.Combine(currentFolder, masterName); if (!File.Exists(masterPath)) { masterPath = Path.Combine(_rootPath, masterName); } return new LocateResult() { Path = masterPath.Replace(_rootPath, "").TrimStart('\\') }; }
public void Init() { viewFolder = MockRepository.GenerateMock <IViewFolder>(); viewFolder.Stub(x => x.ListViews("home")).Return(new[] { "file.spark", "other.spark", "_comment.spark" }); viewFolder.Stub(x => x.ListViews("Home")).Return(new[] { "file.spark", "other.spark", "_comment.spark" }); viewFolder.Stub(x => x.ListViews("Account")).Return(new[] { "index.spark" }); viewFolder.Stub(x => x.ListViews("Shared")).Return(new[] { "layout.spark", "_header.spark", "default.spark", "_footer.spark" }); viewFolder.Stub(x => x.ListViews("")).IgnoreArguments().Return(new string[0]); syntaxProvider = MockRepository.GenerateMock <ISparkSyntaxProvider>(); loader = new ViewLoader { ViewFolder = viewFolder, SyntaxProvider = syntaxProvider }; }
private void SetViewFolder(IViewFolder value) { IViewFolder viewFolder = value; foreach (IViewFolderSettings settings in this.Settings.ViewFolders) { IViewFolder folder2 = this.ActivateViewFolder(settings); if (!string.IsNullOrEmpty(settings.Subfolder)) { folder2 = new SubViewFolder(folder2, settings.Subfolder); } viewFolder = viewFolder.Append(folder2); } this._viewFolder = viewFolder; }
private static string DetectLayout(string template, IViewFolder viewFolder) { var possibleLayouts = new[] { Configuration.Configure.Views.Layout ?? string.Empty, "layouts/application.spark", "views/layouts/application.spark", "views/application.spark", "views/application.spark", Path.Combine(Path.GetDirectoryName(template), "layouts/application.spark"), Path.Combine(Path.GetDirectoryName(template), "application.spark") }; return(possibleLayouts.First(x => viewFolder.HasView(x))); }
private void SetViewFolder(IViewFolder value) { var aggregateViewFolder = value; foreach (var viewFolderSettings in Settings.ViewFolders) { IViewFolder viewFolder = ActivateViewFolder(viewFolderSettings); if (!string.IsNullOrEmpty(viewFolderSettings.Subfolder)) { viewFolder = new SubViewFolder(viewFolder, viewFolderSettings.Subfolder); } aggregateViewFolder = aggregateViewFolder.Append(viewFolder); } _viewFolder = aggregateViewFolder; }
public override IEnumerable <Binding> GetBindings(IViewFolder viewFolder) { if (viewFolder.HasView("bindings.xml") == false) { return(new Binding[0]); } var file = viewFolder.GetViewSource("bindings.xml"); using (var stream = file.OpenViewStream()) { using (var reader = new StreamReader(stream)) { return(LoadStandardMarkup(reader)); } } }
public LocateResult LocateMasterFile(IViewFolder viewFolder, string masterName) { if (viewFolder.HasView("Layouts\\" + masterName + ".spark")) { return Result(viewFolder, "Layouts\\" + masterName + ".spark"); } if (viewFolder.HasView("Shared\\" + masterName + ".spark")) { return Result(viewFolder, "Shared\\" + masterName + ".spark"); } return new LocateResult { SearchedLocations = new[] { "Layouts\\" + masterName + ".spark", "Shared\\" + masterName + ".spark" } }; }
protected SourceContext CreateSourceContext(string viewPath, IViewFolder viewFolder) { var viewSource = viewFolder.GetViewSource(viewPath); if (viewSource == null) throw new FileNotFoundException("View file not found", viewPath); using (var stream = viewSource.OpenViewStream()) { string fileName = viewPath; if (stream is FileStream) fileName = ((FileStream) stream).Name; using (TextReader reader = new StreamReader(stream)) { return new SourceContext(reader.ReadToEnd(), viewSource.LastModified, fileName); } } }
public LocateResult LocateMasterFile(IViewFolder viewFolder, string masterName) { string str = masterName + Constants.DotSpark; string path = Path.Combine(Constants.Layouts, str); if (viewFolder.HasView(path)) { return(Result(viewFolder, path)); } string str3 = Path.Combine(Constants.Shared, str); if (viewFolder.HasView(str3)) { return(Result(viewFolder, str3)); } return(new LocateResult { SearchedLocations = new string[] { path, str3 } }); }
public IList<string> FindPartialFiles(string viewPath, IViewFolder viewFolder) { var results = new List<string>(); string controllerPath = Path.GetDirectoryName(viewPath); foreach (var view in viewFolder.ListViews(controllerPath)) { string baseName = Path.GetFileNameWithoutExtension(view); if (baseName.StartsWith("_")) results.Add(baseName.Substring(1)); } foreach (var view in viewFolder.ListViews("Shared")) { string baseName = Path.GetFileNameWithoutExtension(view); if (baseName.StartsWith("_")) results.Add(baseName.Substring(1)); } return results; }
public LocateResult LocateMasterFile(IViewFolder viewFolder, string masterName) { if (viewFolder.HasView("Layouts\\" + masterName + ".spark")) { return(Result(viewFolder, "Layouts\\" + masterName + ".spark")); } if (viewFolder.HasView("Shared\\" + masterName + ".spark")) { return(Result(viewFolder, "Shared\\" + masterName + ".spark")); } return(new LocateResult { SearchedLocations = new[] { "Layouts\\" + masterName + ".spark", "Shared\\" + masterName + ".spark" } }); }
// Copied from AGS.Native public static int CountViews(IViewFolder folder) { int highestViewNumber = 0; foreach (ViewFolder subFolder in folder.SubFolders) { int folderView = CountViews(subFolder); if (folderView > highestViewNumber) { highestViewNumber = folderView; } } foreach (View view in folder.Views) { if (view.ID > highestViewNumber) { highestViewNumber = view.ID; } } return highestViewNumber; }
public LocateResult LocateMasterFile(IViewFolder viewFolder, string masterName) { var masterFile = masterName + Constants.DotSpark; var layoutsMaster = Path.Combine(Constants.Layouts, masterFile); if (viewFolder.HasView(layoutsMaster)) { return Result(viewFolder, layoutsMaster); } var sharedMaster = Path.Combine(Constants.Shared, masterFile); if (viewFolder.HasView(sharedMaster)) { return Result(viewFolder, sharedMaster); } return new LocateResult { SearchedLocations = new[] { layoutsMaster, sharedMaster } }; }
// Copied from AGS.Native public static int CountViews(IViewFolder folder) { int highestViewNumber = 0; foreach (ViewFolder subFolder in folder.SubFolders) { int folderView = CountViews(subFolder); if (folderView > highestViewNumber) { highestViewNumber = folderView; } } foreach (View view in folder.Views) { if (view.ID > highestViewNumber) { highestViewNumber = view.ID; } } return(highestViewNumber); }
public static SourceContext CreateSourceContext(string viewPath, IViewFolder viewFolder) { SourceContext context; IViewFile viewSource = viewFolder.GetViewSource(viewPath); if (viewSource == null) { throw new FileNotFoundException("View file not found", viewPath); } using (Stream stream = viewSource.OpenViewStream()) { string fileName = viewPath; if (stream is FileStream) { fileName = ((FileStream)stream).Name; } using (TextReader reader = new StreamReader(stream)) { context = new SourceContext(reader.ReadToEnd(), viewSource.LastModified, fileName); } } return(context); }
public LocateResult LocateMasterFile(IViewFolder viewFolder, string masterName) { var masterFile = masterName + Constants.DotSpark; var layoutsMaster = Path.Combine(Constants.Layouts, masterFile); if (viewFolder.HasView(layoutsMaster)) { return(Result(viewFolder, layoutsMaster)); } var sharedMaster = Path.Combine(Constants.Shared, masterFile); if (viewFolder.HasView(sharedMaster)) { return(Result(viewFolder, sharedMaster)); } return(new LocateResult { SearchedLocations = new[] { layoutsMaster, sharedMaster } }); }
public static IViewFolder Append(this IViewFolder viewFolder, IViewFolder additional) { return new CombinedViewFolder(viewFolder, additional); }
private ISparkView CreateView(IViewFolder viewFolder, string template) { CompiledViewHolder.Current = new CompiledViewHolder(); var settings = new SparkSettings().SetPageBaseType(typeof(StubSparkView)); var engine = new SparkViewEngine(settings) { ViewFolder = viewFolder }; return engine.CreateInstance(new SparkViewDescriptor().AddTemplate(template)); }
static string ReadToEnd(IViewFolder viewFolder, string path) { using (var stream = viewFolder.GetViewSource(path).OpenViewStream()) { using (var reader = new StreamReader(stream)) { return reader.ReadToEnd(); } } }
private void SetViewFolder(IViewFolder value) { var aggregateViewFolder = value; foreach (var viewFolderSettings in Settings.ViewFolders) { IViewFolder viewFolder = ActivateViewFolder(viewFolderSettings); if (!string.IsNullOrEmpty(viewFolderSettings.Subfolder)) viewFolder = new SubViewFolder(viewFolder, viewFolderSettings.Subfolder); aggregateViewFolder = aggregateViewFolder.Append(viewFolder); } _viewFolder = aggregateViewFolder; }
public static IViewFolder AddLayoutsPath(this IViewFolder viewFolder, string virtualPath) { SubViewFolder additional = new SubViewFolder(new VirtualPathProviderViewFolder(virtualPath), "Layouts"); return(viewFolder.Append(additional)); }
public static IViewFolder Append(this IViewFolder viewFolder, IViewFolder additional) { return(new CombinedViewFolder(viewFolder, additional)); }
public ThemedViewFactory() { var container = SparkEngineStarter.CreateContainer(); _defaultViewFolder = container.GetService<IViewFolder>(); _defaultEngine = container.GetService<IViewEngine>(); }
public SubViewFolder(IViewFolder viewFolder, string subFolder) { _viewFolder = viewFolder; _subFolder = subFolder.Replace('/', '\\'); }
public bool WriteViews(IViewFolder folder, Game game, CompileMessages errors) { if (writer == null) { errors.Add(new CompileError("Could not write views: Invalid stream (NULL)")); return false; } foreach (View view in views) { // views are not always sequential, so we may have some null entries; // but even in that case we must write number of loops (0) to conform // to the data format short numLoops = (short)(view != null ? view.Loops.Count : 0); writer.Write(numLoops); for (int i = 0; i < numLoops; ++i) { short numFrames = (short)view.Loops[i].Frames.Count; writer.Write(numFrames); writer.Write(view.Loops[i].RunNextLoop ? NativeConstants.LOOPFLAG_RUNNEXTLOOP : 0); for (int j = 0; j < numFrames; ++j) { ViewFrame frame = view.Loops[i].Frames[j]; writer.Write(frame.Image); writer.Write((short)0); // unused x-offset writer.Write((short)0); // unused y-offset writer.Write((short)frame.Delay); writer.Write((short)0); // struct alignment padding writer.Write(frame.Flipped ? NativeConstants.VFLG_FLIPSPRITE : 0); writer.Write(frame.Sound > 0 ? game.GetAudioArrayIndexFromAudioClipIndex(frame.Sound) : -1); writer.Write(0); // unused reservedForFuture[0] writer.Write(0); // unused reservedForFuture[1] } } } return true; }
public VirtualPathCompatableViewFolder(string basePath) { _base = new FileSystemViewFolder(basePath); }
public void Init() { viewFolder = MockRepository.GenerateMock<IViewFolder>(); viewFolder.Stub(x => x.ListViews("home")).Return(new[] { "file.spark", "other.spark", "_comment.spark" }); viewFolder.Stub(x => x.ListViews("Home")).Return(new[] { "file.spark", "other.spark", "_comment.spark" }); viewFolder.Stub(x => x.ListViews("Account")).Return(new[] { "index.spark" }); viewFolder.Stub(x => x.ListViews("Shared")).Return(new[] { "layout.spark", "_header.spark", "default.spark", "_footer.spark" }); viewFolder.Stub(x => x.ListViews("")).IgnoreArguments().Return(new string[0]); syntaxProvider = MockRepository.GenerateMock<ISparkSyntaxProvider>(); loader = new ViewLoader { ViewFolder = viewFolder, SyntaxProvider = syntaxProvider }; }
public abstract IEnumerable<Binding> GetBindings(IViewFolder viewFolder);
public CombinedViewFolder(IViewFolder first, IViewFolder second) { _first = first; _second = second; }
public Folder(IViewFolder viewFolder) { _viewFolder = viewFolder; }
public void PopulateViews(IViewFolder folder, Game game) { FolderHelper.ForEachViewFolder(folder, game, new FolderHelper.ViewFolderProcessing(PopulateViews)); foreach (View view in folder.Views) { views[view.ID - 1] = view; } }
private static string ReadContents(IViewFolder adapter, string path) { Assert.That(adapter.HasView(path), Is.True); var source = adapter.GetViewSource(path); var stream = source.OpenViewStream(); var reader = new StreamReader(stream); return reader.ReadToEnd(); }
public BindingRequest(IViewFolder viewFolder) { ViewFolder = viewFolder; ViewPath = string.Empty; }
public static IViewFolder ApplySettings(this IViewFolder viewFolder, ISparkSettings settings) { return(viewFolder); }
public View CreateNewView(IViewFolder createInFolder) { if (createInFolder == null) { createInFolder = _views; } View newView = new View(); newView.ID = FindAndAllocateAvailableViewID(); newView.Name = "View" + newView.ID; createInFolder.Views.Add(newView); NotifyClientsViewsUpdated(); return newView; }
public abstract IEnumerable <Binding> GetBindings(IViewFolder viewFolder);
public CombinedViewFolder(IViewFolder first, IViewFolder second) { this._first = first; this._second = second; }
public SubViewFolder(IViewFolder viewFolder, string subFolder) { _viewFolder = viewFolder; _subFolder = subFolder.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); }