KiCad PCB EDA Suite
lib_logger.cpp
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2017 CERN
5 * Copyright (C) 2019-2021 KiCad Developers, see AUTHORS.txt for contributors.
6 * @author Maciej Suminski <[email protected]>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 3
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, you may find one here:
20 * https://www.gnu.org/licenses/gpl-3.0.html
21 * or you may search the http://www.gnu.org website for the version 3 license,
22 * or you may write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24 */
25
26
27#include <wx/intl.h>
28#include <lib_logger.h>
29
30LIB_LOGGER::LIB_LOGGER() : m_previousLogger( nullptr ), m_activated( false )
31{
32}
33
35{
36 Deactivate();
37}
38
40{
41 if( !m_activated )
42 {
43 m_previousLogger = wxLog::GetActiveTarget();
44 wxLog::SetActiveTarget( this );
45 m_activated = true;
46 }
47}
48
50{
51 if( m_activated )
52 {
53 Flush();
54 m_activated = false;
55 wxLog::SetActiveTarget( m_previousLogger );
56 }
57}
58
59
61{
62 if( m_bHasMessages )
63 {
64 wxLogMessage( _( "Not all symbol libraries could be loaded. Use the Manage Symbol\n"
65 "Libraries dialog to adjust paths and add or remove libraries." ) );
66 wxLogGui::Flush();
67 }
68}
~LIB_LOGGER() override
Definition: lib_logger.cpp:34
wxLog * m_previousLogger
Definition: lib_logger.h:46
void Deactivate()
Definition: lib_logger.cpp:49
bool m_activated
Definition: lib_logger.h:47
void Flush() override
Definition: lib_logger.cpp:60
void Activate()
Definition: lib_logger.cpp:39
#define _(s)