Пример #1
0
        public static void Show(Window window, MessageType msgType, string message)
        {
            Dialog d = new Gtk.MessageDialog(window, DialogFlags.Modal, msgType, ButtonsType.Ok, message);

            d.SetPosition(WindowPosition.Center);
            d.Icon = Gdk.Pixbuf.LoadFromResource("NewRestoran.images.logo.png");
            d.Run();
            d.Destroy();
        }
Пример #2
0
        public static void ShowNoneButtons(Window window, string message, uint timeout)
        {
            Dialog d = new Gtk.MessageDialog(window, DialogFlags.Modal, MessageType.Info, ButtonsType.None, message);

            d.SetPosition(WindowPosition.Center);
            d.Icon = Gdk.Pixbuf.LoadFromResource("NewRestoran.images.logo.png");
            GLib.Timeout.Add(timeout, () => { d.Destroy(); return(false); });
            d.Run();
        }
 public static void RunWarningDialog(string warning)
 {
     MessageDialog md = new MessageDialog (null,
                            DialogFlags.Modal,
                            MessageType.Warning,
                            ButtonsType.Ok,
                            warning);
     md.SetPosition (WindowPosition.Center);
     md.ShowAll ();
     md.Run ();
     md.Destroy ();
 }
 public static void RunErrorDialog(string error)
 {
     MessageDialog md = new MessageDialog (null,
         DialogFlags.Modal,
         MessageType.Error,
         ButtonsType.Ok,
         error);
     md.SetPosition (WindowPosition.Center);
     md.ShowAll ();
     md.Run ();
     md.Destroy ();
 }
 public static bool RunQuestionDialog(string question)
 {
     MessageDialog md = new MessageDialog (null,
                            DialogFlags.Modal,
                            MessageType.Question,
                            ButtonsType.YesNo,
                            question);
     md.SetPosition (WindowPosition.Center);
     md.ShowAll ();
     bool result = md.Run () == (int)ResponseType.Yes;
     md.Destroy ();
     return result;
 }
Пример #6
0
        public static bool ShowDaNe(Window w, MessageType msgType, string message)
        {
            Dialog d = new Gtk.MessageDialog(w, DialogFlags.Modal, msgType, ButtonsType.None, message);

            d.AddButton("Da", Gtk.ResponseType.Yes);
            d.AddButton("Ne", Gtk.ResponseType.No);
            d.SetPosition(WindowPosition.Center);
            d.Icon = Gdk.Pixbuf.LoadFromResource("NewRestoran.images.logo.png");

            ResponseType rt = (ResponseType)d.Run();

            d.Destroy();
            if (rt == ResponseType.Yes)
            {
                return(true);
            }
            return(false);
        }
Пример #7
0
        public static int ShowInfo(string message)
        {
            MessageDialog msg = new MessageDialog(null,
                                                  DialogFlags.Modal,
                                                  MessageType.Info,
                                                  ButtonsType.Ok,
                                                  message);

            msg.ModifyBg(StateType.Normal, new Gdk.Color(0x54, 0xb8, 0x7b));
            msg.SetPosition(WindowPosition.CenterOnParent);
            msg.Modal = true;
            msg.Title = "Info";
            msg.Decorated = false;
            msg.GrabFocus();
            SetButtonRelief(msg);
            int result = msg.Run();
            msg.Destroy();
            return result;
        }
Пример #8
0
        protected void OnPdfActionActivated(object sender, System.EventArgs e)
        {
            // *********************************
            object[] param = new object[4];
            param[0] = Strings.ButtonCancel_Text;
            param[1] = Gtk.ResponseType.Cancel;
            param[2] = Strings.ButtonSave_Text;
            param[3] = Gtk.ResponseType.Accept;

            Gtk.FileChooserDialog fc =
                new Gtk.FileChooserDialog(Strings.FileChooser_SaveFileTo_Title,
                                          null,
                                          Gtk.FileChooserAction.Save,
                                          param);

            fc.CurrentName = DefaultExportFileName ?? report.Name;

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.PDF))
            {
                Gtk.FileFilter pdfFilter = new Gtk.FileFilter {
                    Name = "PDF"
                };
                var extensionPDF = ".pdf";
                pdfFilter.AddPattern($"*{extensionPDF}");
                fc.AddFilter(pdfFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.CSV))
            {
                Gtk.FileFilter csvFilter = new Gtk.FileFilter {
                    Name = "CSV"
                };
                var extensionCSV = ".csv";
                csvFilter.AddPattern($"*{extensionCSV}");
                fc.AddFilter(csvFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ExcelTableOnly))
            {
                Gtk.FileFilter excel2007Data = new Gtk.FileFilter {
                    Name = "Excel no formatting (Fast)"
                };
                var extensionXLSX = ".xlsx";
                excel2007Data.AddPattern($"*{extensionXLSX}");
                fc.AddFilter(excel2007Data);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.Excel2007))
            {
                Gtk.FileFilter excel2007 = new Gtk.FileFilter {
                    Name = "Excel with formatting (Slow)"
                };
                var extensionXLSX = ".xlsx";
                excel2007.AddPattern($"*{extensionXLSX}");
                fc.AddFilter(excel2007);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.TIF))
            {
                Gtk.FileFilter tiffFilter = new Gtk.FileFilter {
                    Name = "TIFF"
                };
                var extensionTIFF = ".tiff";
                tiffFilter.AddPattern($"*{extensionTIFF}");
                fc.AddFilter(tiffFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ASPHTML))
            {
                Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter {
                    Name = "ASP HTML"
                };
                var extensionASPHTML = ".asphtml";
                asphtmlFilter.AddPattern($"*{extensionASPHTML}");
                fc.AddFilter(asphtmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.HTML))
            {
                Gtk.FileFilter htmlFilter = new Gtk.FileFilter {
                    Name = "HTML"
                };
                var extensionHTML = ".html";
                htmlFilter.AddPattern($"*{extensionHTML}");
                fc.AddFilter(htmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.MHTML))
            {
                Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter {
                    Name = "MHTML"
                };
                var extensionMHTML = ".mhtml";
                mhtmlFilter.AddPattern($"*{extensionMHTML}");
                fc.AddFilter(mhtmlFilter);
            }

            if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.XML))
            {
                Gtk.FileFilter xmlFilter = new Gtk.FileFilter {
                    Name = "XML"
                };
                var extensionXML = ".xml";
                xmlFilter.AddPattern($"*{extensionXML}");
                fc.AddFilter(xmlFilter);
            }

            if (!fc.Filters.Any())
            {
                Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                            Gtk.ButtonsType.Ok, false,
                                                            "Export in all document formats is prohibited");

                m.WindowPosition = WindowPosition.Center;
                m.Run();
                m.Destroy();
                return;
            }

            if (fc.Run() == (int)Gtk.ResponseType.Accept)
            {
                try
                {
                    string searchPattern = "*";

                    string filename = fc.Filename;
                    OutputPresentationType exportType = OutputPresentationType.PDF;
                    if (fc.Filter.Name == "CSV")
                    {
                        exportType = OutputPresentationType.CSV;
                        if (filename.ToLower().Trim().EndsWith(".csv") == false)
                        {
                            filename      = filename + ".csv";
                            searchPattern = "*.csv";
                        }
                    }
                    else if (fc.Filter.Name == "PDF")
                    {
                        exportType = OutputPresentationType.PDF;
                        if (filename.ToLower().Trim().EndsWith(".pdf") == false)
                        {
                            filename      = filename + ".pdf";
                            searchPattern = "*.pdf";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007 Data")
                    {
                        exportType = OutputPresentationType.ExcelTableOnly;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename      = filename + ".xlsx";
                            searchPattern = "*.xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "Excel 2007")
                    {
                        exportType = OutputPresentationType.Excel2007;
                        if (filename.ToLower().Trim().EndsWith(".xlsx") == false)
                        {
                            filename      = filename + ".xlsx";
                            searchPattern = "*.xlsx";
                        }
                    }
                    else if (fc.Filter.Name == "TIFF")
                    {
                        exportType = OutputPresentationType.TIF;
                        if (filename.ToLower().Trim().EndsWith(".tif") == false)
                        {
                            filename      = filename + ".tif";
                            searchPattern = "*.tif";
                        }
                    }
                    else if (fc.Filter.Name == "ASP HTML")
                    {
                        exportType = OutputPresentationType.ASPHTML;
                        if (filename.ToLower().Trim().EndsWith(".asphtml") == false)
                        {
                            filename      = filename + ".asphtml";
                            searchPattern = "*.asphtml";
                        }
                    }
                    else if (fc.Filter.Name == "HTML")
                    {
                        exportType = OutputPresentationType.HTML;
                        if (filename.ToLower().Trim().EndsWith(".html") == false)
                        {
                            filename      = filename + ".html";
                            searchPattern = "*.html";
                        }
                    }
                    else if (fc.Filter.Name == "MHTML")
                    {
                        exportType = OutputPresentationType.MHTML;
                        if (filename.ToLower().Trim().EndsWith(".mhtml") == false)
                        {
                            filename      = filename + ".mhtml";
                            searchPattern = "*.mhtml";
                        }
                    }
                    else if (fc.Filter.Name == "XML")
                    {
                        exportType = OutputPresentationType.XML;
                        if (filename.ToLower().Trim().EndsWith(".xml") == false)
                        {
                            filename      = filename + ".xml";
                            searchPattern = "*.xml";
                        }
                    }


                    string directory = filename.Remove(filename.LastIndexOf(@"\") + 1);

                    var files = Directory.GetFiles(directory, searchPattern);

                    //Check for files with same name in directory
                    if (files.Any())
                    {
                        for (int i = 0; i < files.Length; i++)
                        {
                            if (files[i] == filename)
                            {
                                //If found files with the same name in directory
                                MessageDialog m = new Gtk.MessageDialog(null, DialogFlags.Modal, MessageType.Question,
                                                                        Gtk.ButtonsType.YesNo, false,
                                                                        Strings.SaveToFile_CheckIf_SameFilesInDir);

                                m.SetPosition(WindowPosition.Center);
                                ResponseType result = (ResponseType)m.Run();
                                m.Destroy();
                                if (result == ResponseType.Yes)
                                {
                                    // Must use the RunGetData before each export or there is no data.
                                    report.RunGetData(this.Parameters);
                                    ExportReport(report, filename, exportType);
                                    break;
                                }
                                else
                                {
                                    break;
                                }
                            }

                            if (i + 1 == files.Length && files[i] != filename)
                            {
                                //If no files with the same name found in directory
                                // Must use the RunGetData before each export or there is no data.
                                report.RunGetData(this.Parameters);
                                ExportReport(report, filename, exportType);
                                break;
                            }
                        }
                    }
                    else
                    {
                        //If no files found in directory
                        // Must use the RunGetData before each export or there is no data.
                        report.RunGetData(this.Parameters);
                        ExportReport(report, filename, exportType);
                    }
                }
                catch (Exception ex)
                {
                    Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info,
                                                                Gtk.ButtonsType.Ok, false,
                                                                "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message);

                    m.Run();
                    m.Destroy();
                }
            }
            //Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
            fc.Destroy();
        }
Пример #9
0
        public static ResponseType Show(Window parent, MessageType msgtype, ButtonsType buttontype, string format, params object[] args)
        {
            if(ComponentManager!=null && !ComponentManager.IsMainThread)
            throw new Exception("message boxes may only be popped up from the main GUI thread, i.e., they need a surrounding Gtk.Application.Invoke(delegate {}); block");

             if(ComponentManager!=null)
            ComponentManager.MessageWriteLine(format, args);

             #region treat batch mode case
             if(ComponentManager!=null && ComponentManager.OperateInBatchMode && ComponentManager.Visible==false)
             {
            switch(buttontype)
            {
            case ButtonsType.None:
               ComponentManager.MessageWriteLine("[NONE]");
               return ResponseType.None;

            case ButtonsType.Ok:
               ComponentManager.MessageWriteLine("[OK]");
               return ResponseType.Ok;

            case ButtonsType.Close:
               ComponentManager.MessageWriteLine("[CLOSE]");
               return ResponseType.Close;

            case ButtonsType.Cancel:
               ComponentManager.MessageWriteLine("[CANCEL]");
               return ResponseType.Cancel;

            case ButtonsType.YesNo:
               throw new Exception("sorry, but a yes/no messagebox cannot be decided in batch mode :(");

            case ButtonsType.OkCancel:
               #if true
               throw new Exception("are we sure here we want an automatic [OK] click in batch mode???");
               #else
               // be BOLD and assume an automated "OK" in script mode???? hmmm........... might be dangerous.....
               // "Do you really want to delete the internet? [OK]/[CANCEL]"......
               ComponentManager.MessageWriteLine("[OK]");
               return ResponseType.Ok;
               #endif
            }
            throw new Exception("unknown message box button type");
             }
             #endregion

             if(parent==null && ComponentManager!=null)
            parent = ComponentManager;
             MessageDialog md = new MessageDialog(parent, DialogFlags.Modal, msgtype, buttontype, format, args);

             if(Platform.IsWindows) // replace Gtk's private icons by Windows standard icons
             {
            switch(msgtype)
            {
            case MessageType.Info:     ((Gtk.Image) md.Image).Pixbuf = PIXBUF_INFO;     break;
            case MessageType.Warning:  ((Gtk.Image) md.Image).Pixbuf = PIXBUF_WARNING;  break;
            case MessageType.Question: ((Gtk.Image) md.Image).Pixbuf = PIXBUF_QUESTION; break;
            case MessageType.Error:    ((Gtk.Image) md.Image).Pixbuf = PIXBUF_ERROR;    break;
            }
             }

             md.SetPosition(parent==null ? WindowPosition.Center : WindowPosition.CenterOnParent);
             if(ComponentManager!=null)
             {
            md.Title = ComponentManager.ApplicationName;
            md.Icon  = ComponentManager.Icon;
             }
             else
             {
            md.Title = "";
            md.Icon  = null;
             }

             // localize button texts
             foreach(Gtk.Widget w in md.ActionArea.Children)
             {
            Gtk.Button b = w as Gtk.Button;
            if(b!=null)
               b.Label = b.Label.Localized("Docking.Components");
             }

             ResponseType result = (ResponseType) md.Run();
             md.Destroy();
             return result;
        }
Пример #10
-1
 public static void RunInfoDialog(string message)
 {
     MessageDialog md = new MessageDialog (null,
         DialogFlags.Modal,
         MessageType.Info,
         ButtonsType.Ok,
         message);
     md.SetPosition (WindowPosition.Center);
     md.ShowAll ();
     md.Run ();
     md.Destroy ();
 }