예제 #1
0
        public string ChooseSrcFileName()
        {
            string            ret  = null;
            IFileSourceFilter fsrc = basefilter as IFileSourceFilter;

            if (fsrc != null)
            {
                using (var fd = new OpenFileDialog())
                {
                    fd.DefaultExt = "*.*";
                    if (fd.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            int hr = fsrc.Load(fd.FileName, null);
                            DsError.ThrowExceptionForHR(hr);
                            ret = fd.FileName;
                        }
                        catch (COMException e)
                        {
                            Graph.ShowCOMException(e, "Can't load file " + fd.FileName);
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show(e.Message, "Exception caught while loading file " + fd.FileName);
                        }
                    }
                    else
                    if (Program.mainform.suggestURLs)
                    {
                        using (var rf = new RenderURLForm("Open URL"))
                        {
                            rf.ShowDialog();
                            if (rf.selectedURL != null)
                            {
                                try
                                {
                                    int hr = fsrc.Load(rf.selectedURL, null);
                                    DsError.ThrowExceptionForHR(hr);
                                    ret = rf.selectedURL;
                                }
                                catch (COMException e)
                                {
                                    Graph.ShowCOMException(e, "Can't open " + rf.selectedURL);
                                }
                                catch (Exception e)
                                {
                                    MessageBox.Show(e.Message, "Exception caught while loading URL " + rf.selectedURL);
                                }
                            }
                        }    //using
                    }
                }//using
            }
            return(ret);
        }
예제 #2
0
        public string ChooseDstFileName()
        {
            string          ret  = null;
            IFileSinkFilter fdst = basefilter as IFileSinkFilter;

            if (fdst != null)
            {
                using (var fd = new SaveFileDialog())
                {
                    if (fd.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            int hr = fdst.SetFileName(fd.FileName, null);
                            DsError.ThrowExceptionForHR(hr);
                            ret = fd.FileName;
                        }
                        catch (COMException e)
                        {
                            Graph.ShowCOMException(e, "Can't create file " + fd.FileName);
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show(e.Message, "Exception caught while setting output file name " + fd.FileName);
                        }
                    }
                    else
                    if (Program.mainform.suggestURLs)
                    {
                        using (var rf = new RenderURLForm("Open URL"))
                        {
                            rf.ShowDialog();
                            if (rf.selectedURL != null)
                            {
                                try
                                {
                                    int hr = fdst.SetFileName(rf.selectedURL, null);
                                    DsError.ThrowExceptionForHR(hr);
                                    ret = rf.selectedURL;
                                }
                                catch (COMException e)
                                {
                                    Graph.ShowCOMException(e, "Can't set " + rf.selectedURL);
                                }
                                catch (Exception e)
                                {
                                    MessageBox.Show(e.Message, "Exception caught while setting URL " + rf.selectedURL);
                                }
                            }
                        }    //using rf
                    }
                }//using fd
            }
            return(ret);
        }
예제 #3
0
 private void OnRenderURL(object sender, EventArgs e)
 {
     using (var rf = new RenderURLForm("Render URL"))
     {
         rf.ShowDialog();
         if (rf.selectedURL != null)
         {
             if (activeGraphForm == null)
             {
                 OnNewGraph(sender, e);
             }
             if (activeGraphForm != null)
             {
                 activeGraphForm.RenderURL(rf.selectedURL);
             }
         }
     }
 }