wxMaxima
Loading...
Searching...
No Matches
LoggingMessageDialog.h
Go to the documentation of this file.
1// -*- mode: c++; c-file-style: "linux"; c-basic-offset: 2; indent-tabs-mode: nil -*-
2//
3// Copyright (C) 2019 Gunter Königsmann <wxMaxima@physikbuch.de>
4//
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation; either version 2 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15//
16// You should have received a copy of the GNU General Public License
17// along with this program; if not, write to the Free Software
18// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19//
20// SPDX-License-Identifier: GPL-2.0+
21
26#ifndef LOGGINGMESSAGEDIALOG_H
27#define LOGGINGMESSAGEDIALOG_H
28
29
30#include "precomp.h"
31#include <wx/msgdlg.h>
32#include <wx/log.h>
33
34
37class LoggingMessageDialog : public wxMessageDialog
38{
39public:
40 LoggingMessageDialog(wxWindow *parent, const wxString &message,
41 wxString caption = wxMessageBoxCaptionStr,
42 long style = wxOK|wxCENTRE, const wxPoint &pos = wxDefaultPosition):
43 wxMessageDialog (parent, message, caption, style, pos)
44 {
45 wxLogMessage("%s", message);
46 }
47
48 int ShowModal() override;
49
50 static void SetNonInteractive(bool nonInteractive = true) { m_nonInteractive = nonInteractive; }
51 static bool IsNonInteractive() { return m_nonInteractive; }
52
53private:
54 static bool m_nonInteractive;
55};
56
57extern int LoggingMessageBox( const wxString & message,
58 const wxString & caption = wxString(wxMessageBoxCaptionStr),
59 int style = wxOK|wxCENTRE,
60 wxWindow * parent = NULL,
61 int x = wxDefaultCoord,
62 int y = wxDefaultCoord
63 );
64
65#endif // LOGGINGMESSAGEDIALOG_H
A message dialog that sends its contents to the log message sink.
Definition: LoggingMessageDialog.h:38