예제 #1
0
        protected override bool Execute(object target, Hisui.Ctrl.IContext con)
        {
            var filter = string.Format("{0}|{1}|All files (*.*)|*.*",
                                       _importer.MakeCaptionString(), _importer.MakeFileFilterString());
            var dialog = new OpenFileDialog {
                Filter = filter
            };

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                using (var prg = Core.Progress.Start("importing: " + dialog.FileName)) {
                    prg.Step(1.0);
                    var dst = this.GetDestination(con);
                    _importer.Import(dst.Put(null), dialog.FileName);
                    con.View.Fit();
                }
            }
            return(true);
        }
        protected override bool Execute(object target, Hisui.Ctrl.IContext con)
        {
            var format = Hix.FormatRegistry.FindFormat(_exporter.FormatType);
            var filter = string.Format("{0} ({1})|{1}|All files (*.*)|*.*", format.Caption, format.FileFilter);
            var dialog = new SaveFileDialog {
                Filter = filter
            };

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                using (var prg = Core.Progress.Start("exporting: " + dialog.FileName)) {
                    prg.Step(1.0);
                    using (var stream = File.Create(dialog.FileName)) {
                        _exporter.Export(target, stream);
                    }
                }
            }
            return(true);
        }
        protected override bool Execute(object target, Hisui.Ctrl.IContext con)
        {
            var filter = (_importer == null) ? GetFilterString() : GetFilterString(_importer);
            var dialog = new OpenFileDialog {
                Filter = filter, Multiselect = true
            };

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                var imports = dialog.FileNames
                              .Select(file => new { FileName = file, Importer = this.GetImporter(file) })
                              .Where(item => item.Importer != null)
                              .ToArray();
                using (var progress = SI.StartProgress("importing")) {
                    foreach (var item in imports)
                    {
                        progress.Step(1.0 / imports.Length);
                        this.Import(item.FileName, item.Importer, con);
                        SI.Increment();
                    }
                }
            }
            return(true);
        }
 public override Hisui.Ctrl.CommandOption QueryOption(object target, Hisui.Ctrl.IContext con)
 {
     return(new Ctrl.CommandOption {
         QueryRunnable = !Core.Progress.IsBusy
     });
 }
예제 #5
0
 public void Run(object target, Hisui.Ctrl.IContext context)
 {
     new ErrorListDialog().ShowDialog();
 }