Example #1
0
        public override void WriteInitializationScript(TextWriter writer)
        {
            var objectWriter = ClientSideObjectWriterFactory.Create(Id, "tEditor", writer);

            objectWriter.Start();

            ClientEvents.SerializeTo(objectWriter);

            DefaultToolGroup.Tools.OfType <IEditorListTool>().Each(tool =>
            {
                if (!tool.Items.SequenceEqual(EditorDefaultOptions.Get(tool.Identifier)))
                {
                    objectWriter.AppendCollection(tool.Identifier, tool.Items);
                }
            });

            var urlBuilder = new EditorUrlBuilder(urlGenerator, ViewContext);

            FileBrowserSettings.SerializeTo("fileBrowser", objectWriter, urlBuilder);

            if (Encode.HasValue && !Encode.Value)
            {
                objectWriter.Append("encoded", Encode.Value);
            }

            if (StyleSheets.Items.Any())
            {
                var isSecured   = ViewContext.HttpContext.Request.IsSecureConnection;
                var canCompress = ViewContext.HttpContext.Request.CanCompress();

                var mergedGroup = resolver.Resolve(new ResolverContext
                {
                    ContentType         = "text/css",
                    HttpHandlerPath     = WebAssetHttpHandler.DefaultPath,
                    IsSecureConnection  = isSecured,
                    SupportsCompression = canCompress
                }, new WebAssetCollection("~/Content")
                {
                    StyleSheets
                });

                objectWriter.AppendCollection("stylesheets", mergedGroup);
            }

            Localization.SerializeTo("localization", objectWriter);

            objectWriter.Complete();

            base.WriteInitializationScript(writer);
        }
        public static void Main(string[] args)
        {
            ShowHideWindow.Show(false);
            CommonFileDialog dialog;

            var br       = new BinaryReader(Console.OpenStandardInput());
            var settings = FileBrowserSettings.Read(br);

            if (!settings.save)
            {
                dialog = new CommonOpenFileDialog(settings.title)
                {
                    IsFolderPicker = settings.isFolderPicker, Multiselect = settings.multiSelect
                }
            }
            ;
            else
            {
                dialog = new CommonSaveFileDialog(settings.title)
                {
                    AlwaysAppendDefaultExtension = true
                }
            };

            using (dialog) {
                if (!string.IsNullOrEmpty(settings.title))
                {
                    dialog.Title = settings.title;
                }
                if (!string.IsNullOrEmpty(settings.defaultDirectory))
                {
                    dialog.InitialDirectory = settings.defaultDirectory;
                }
                if (!string.IsNullOrEmpty(settings.defaultFilename))
                {
                    dialog.DefaultFileName = settings.defaultFilename;
                }
                if (!string.IsNullOrEmpty(settings.defaultExtension))
                {
                    dialog.DefaultExtension = settings.defaultExtension;
                }

                try {
                    if (!string.IsNullOrEmpty(settings.filters))
                    {
                        foreach (var filter in settings.filters.Split(';'))
                        {
                            dialog.Filters.Add(new CommonFileDialogFilter(filter.Split('|')[0], filter.Split('|')[1]));
                        }
                    }
                }
                catch { Console.Error.WriteLine("Invalid filter list format"); }

                dialog.EnsureFileExists = true;
                dialog.EnsurePathExists = true;
                dialog.EnsureValidNames = true;

                switch (dialog.ShowDialog())
                {
                case CommonFileDialogResult.Ok:
                    if (dialog is CommonOpenFileDialog)
                    {
                        foreach (var file in (dialog as CommonOpenFileDialog).FileNames)
                        {
                            Console.WriteLine(file);
                        }
                    }
                    else
                    {
                        Console.WriteLine(dialog.FileName);
                    }
                    break;
                }
            }
        }
    }