Build time optimizations.

This commit is contained in:
Alex Shvartzkop 2024-04-27 22:57:24 +03:00
parent 16f3237983
commit 16e3692e71
175 changed files with 560 additions and 303 deletions

View File

@ -34,6 +34,7 @@
#include "../3d_rendering/raytracing/shapes2D/round_segment_2d.h"
#include "../3d_rendering/raytracing/shapes2D/triangle_2d.h"
#include <board_adapter.h>
#include <board.h>
#include <footprint.h>
#include <pad.h>
#include <pcb_text.h>

View File

@ -36,6 +36,7 @@
#include "../3d_rendering/raytracing/shapes2D/filled_circle_2d.h"
#include "raytracing/shapes2D/triangle_2d.h"
#include <board_design_settings.h>
#include <board.h>
#include <footprint.h>
#include <pad.h>
#include <pcb_text.h>

View File

@ -30,6 +30,7 @@
#include "render_3d_opengl.h"
#include "opengl_utils.h"
#include "common_ogl/ogl_utils.h"
#include <board.h>
#include <footprint.h>
#include <3d_math.h>
#include <glm/geometric.hpp>

View File

@ -31,6 +31,7 @@
#define _BBOX_3D_H_
#include <plugins/3dapi/xv3d_types.h> // SFVEC2F
#include <glm/mat4x4.hpp>
struct RAY;

View File

@ -38,6 +38,7 @@
#include <3d_viewer/tools/eda_3d_actions.h>
#include <3d_viewer/tools/eda_3d_controller.h>
#include <3d_viewer/tools/eda_3d_conditions.h>
#include <board.h>
#include <advanced_config.h>
#include <bitmaps.h>
#include <board_design_settings.h>

View File

@ -133,6 +133,7 @@ set( KICOMMON_SRCS
exceptions.cpp
gestfich.cpp
json_conversions.cpp
kidialog.cpp
kiid.cpp
kiway.cpp
kiway_express.cpp

View File

@ -22,134 +22,15 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <confirm.h>
#include <functional>
#include <wx/app.h>
#include <wx/stockitem.h>
#include <wx/richmsgdlg.h>
#include <wx/msgdlg.h>
#include <wx/choicdlg.h>
#include <wx/crt.h>
#include <confirm.h>
#include <functional>
#include <unordered_map>
// Set of dialogs that have been chosen not to be shown again
static std::unordered_map<unsigned long, int> doNotShowAgainDlgs;
KIDIALOG::KIDIALOG( wxWindow* aParent, const wxString& aMessage, const wxString& aCaption,
long aStyle )
: wxRichMessageDialog( aParent, aMessage, aCaption, aStyle | wxCENTRE | wxSTAY_ON_TOP ),
m_hash( 0 ),
m_cancelMeansCancel( true )
{
}
KIDIALOG::KIDIALOG( wxWindow* aParent, const wxString& aMessage, KD_TYPE aType,
const wxString& aCaption )
: wxRichMessageDialog( aParent, aMessage, getCaption( aType, aCaption ), getStyle( aType ) ),
m_hash( 0 ),
m_cancelMeansCancel( true )
{
}
void KIDIALOG::DoNotShowCheckbox( wxString aUniqueId, int line )
{
ShowCheckBox( _( "Do not show again" ), false );
m_hash = std::hash<wxString>{}( aUniqueId ) + line;
}
bool KIDIALOG::DoNotShowAgain() const
{
return doNotShowAgainDlgs.count( m_hash ) > 0;
}
void KIDIALOG::ForceShowAgain()
{
doNotShowAgainDlgs.erase( m_hash );
}
bool KIDIALOG::Show( bool aShow )
{
// We should check the do-not-show-again setting only when the dialog is displayed
if( aShow )
{
// Check if this dialog should be shown to the user
auto it = doNotShowAgainDlgs.find( m_hash );
if( it != doNotShowAgainDlgs.end() )
return it->second;
}
int ret = wxRichMessageDialog::Show( aShow );
// Has the user asked not to show the dialog again?
// Note that we don't save a Cancel value unless the Cancel button is being used for some
// other function (which is actually more common than it being used for Cancel).
if( IsCheckBoxChecked() && (!m_cancelMeansCancel || ret != wxID_CANCEL ) )
doNotShowAgainDlgs[m_hash] = ret;
return ret;
}
int KIDIALOG::ShowModal()
{
// Check if this dialog should be shown to the user
auto it = doNotShowAgainDlgs.find( m_hash );
if( it != doNotShowAgainDlgs.end() )
return it->second;
int ret = wxRichMessageDialog::ShowModal();
// Has the user asked not to show the dialog again?
// Note that we don't save a Cancel value unless the Cancel button is being used for some
// other function (which is actually more common than it being used for Cancel).
if( IsCheckBoxChecked() && (!m_cancelMeansCancel || ret != wxID_CANCEL ) )
doNotShowAgainDlgs[m_hash] = ret;
return ret;
}
wxString KIDIALOG::getCaption( KD_TYPE aType, const wxString& aCaption )
{
if( !aCaption.IsEmpty() )
return aCaption;
switch( aType )
{
case KD_NONE: /* fall through */
case KD_INFO: return _( "Message" );
case KD_QUESTION: return _( "Question" );
case KD_WARNING: return _( "Warning" );
case KD_ERROR: return _( "Error" );
}
return wxEmptyString;
}
long KIDIALOG::getStyle( KD_TYPE aType )
{
long style = wxOK | wxCENTRE | wxSTAY_ON_TOP;
switch( aType )
{
case KD_NONE: break;
case KD_INFO: style |= wxICON_INFORMATION; break;
case KD_QUESTION: style |= wxICON_QUESTION; break;
case KD_WARNING: style |= wxICON_WARNING; break;
case KD_ERROR: style |= wxICON_ERROR; break;
}
return style;
}
bool AskOverrideLock( wxWindow* aParent, const wxString& aMessage )

View File

@ -24,6 +24,7 @@
#include <build_version.h>
#include <eda_base_frame.h>
#include <wx/clipbrd.h>
#include <wx/msgdlg.h>
#include <wx/hyperlink.h>

View File

@ -526,7 +526,7 @@ int DIALOG_SHIM::ShowQuasiModal()
m_qmodal_showing = true;
WX_EVENT_LOOP event_loop;
wxGUIEventLoop event_loop;
m_qmodal_loop = &event_loop;

View File

@ -26,6 +26,7 @@
#include <project.h>
#include <project/project_file.h>
#include <project/net_settings.h>
#include <eda_base_frame.h>
DIALOG_ASSIGN_NETCLASS::DIALOG_ASSIGN_NETCLASS( EDA_BASE_FRAME* aParent, const wxString aNetName,

View File

@ -23,7 +23,8 @@
#include <dialogs/dialog_book_reporter.h>
#include <widgets/wx_html_report_box.h>
#include <wx/wxhtml.h>
#include <wx/event.h>
#include <kiway_player.h>
wxDEFINE_EVENT( EDA_EVT_CLOSE_DIALOG_BOOK_REPORTER, wxCommandEvent );

View File

@ -26,8 +26,10 @@
#include <bitmaps.h>
#include <confirm.h>
#include <kidialog.h>
#include <validators.h>
#include <dialogs/html_message_box.h>
#include <settings/common_settings.h>
#include <filename_resolver.h>
#include <env_vars.h>
#include <grid_tricks.h>

View File

@ -17,8 +17,8 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <wx/statline.h>
#include <wx/button.h>
#include <wx/sizer.h>
#include <dialogs/dialog_edit_library_tables.h>

View File

@ -22,8 +22,7 @@
*/
#include <bitmaps.h>
#include <confirm.h>
#include <wx/textdlg.h>
#include <wx/msgdlg.h>
#include <dialogs/dialog_grid_settings.h>
#include <widgets/std_bitmap_button.h>
#include <common.h>

View File

@ -23,6 +23,7 @@
#include <dialogs/dialog_hotkey_list.h>
#include <kiface_base.h>
#include <eda_base_frame.h>
#include <panel_hotkeys_editor.h>
#include <widgets/ui_common.h>

View File

@ -22,7 +22,6 @@
#include <bitmaps.h>
#include <base_screen.h>
#include <common.h> // ExpandEnvVarSubstitutions
#include <confirm.h>
#include <core/arraydim.h>
#include <dialogs/dialog_page_settings.h>
#include <eda_draw_frame.h>
@ -43,6 +42,7 @@
#include <wx/tokenzr.h>
#include <wx/filedlg.h>
#include <wx/dcmemory.h>
#include <wx/msgdlg.h>
#define MAX_PAGE_EXAMPLE_SIZE 200

View File

@ -19,10 +19,10 @@
#include <dialogs/dialog_print_generic.h>
#include <confirm.h>
#include <eda_draw_frame.h>
#include <printout.h>
#include <pgm_base.h>
#include <confirm.h>
#include <wx/print.h>
#include <wx/printdlg.h>

View File

@ -18,6 +18,7 @@
*/
#include <algorithm>
#include <set>
#include <bitmaps.h>
#include <string_utils.h>
#include <dialogs/eda_reorderable_list_dialog.h>

View File

@ -26,9 +26,13 @@
#include <dialog_shim.h>
#include <git2.h>
#include <vector>
class wxCheckBox;
class wxTextCtrl;
class wxListCtrl;
class wxButton;
class DIALOG_GIT_COMMIT : public DIALOG_SHIM
{
public:

View File

@ -29,6 +29,7 @@
#include <wx/listctrl.h>
#include <wx/event.h>
#include <wx/sizer.h>
#include <wx/timer.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>

View File

@ -26,12 +26,12 @@
#define DIALOG_GIT_SWITCH_H
#include <dialog_shim.h>
#include <wx/timer.h>
#include <git2.h>
class wxButton;
class wxListView;
class wxTextCtrl;
class wxTimer;
class wxListEvent;
struct BranchData

View File

@ -27,6 +27,7 @@
#include <eda_view_switcher_base.h>
class EDA_DRAW_FRAME;
class wxTimer;
/**
* Similar to EDA_VIEW_SWITCHER, this dialog is a popup that shows feedback when using a hotkey to

View File

@ -27,10 +27,12 @@
#include <settings/common_settings.h>
#include <settings/settings_manager.h>
#include <validators.h>
#include <widgets/ui_common.h>
#include <widgets/color_swatch.h>
#include <widgets/wx_panel.h>
#include <wx/msgdlg.h>
#include <wx/menu.h>
#include <wx/textdlg.h>
// Button ID starting point

View File

@ -22,12 +22,12 @@
*/
#include <bitmaps.h>
#include <confirm.h>
#include <wx/textdlg.h>
#include <dialogs/panel_grid_settings.h>
#include <dialogs/dialog_grid_settings.h>
#include <widgets/std_bitmap_button.h>
#include <common.h>
#include <confirm.h>
#include <settings/app_settings.h>
#include <eda_draw_frame.h>
#include <tool/tool_manager.h>

View File

@ -23,11 +23,12 @@
*/
#include <wx/dcclient.h>
#include <confirm.h>
#include <wx/msgdlg.h>
#include <bitmap_base.h>
#include <pcb_base_edit_frame.h>
#include <tool/tool_manager.h>
#include <tool/actions.h>
#include <confirm.h>
#include <dialogs/panel_image_editor.h>

View File

@ -29,7 +29,6 @@
#include <eda_draw_frame.h>
#include <bitmaps.h>
#include <netclass.h>
#include <confirm.h>
#include <gal/painter.h>
#include <grid_tricks.h>
#include <dialogs/panel_setup_netclasses.h>
@ -43,6 +42,7 @@
#include <widgets/wx_panel.h>
#include <widgets/std_bitmap_button.h>
#include <project/net_settings.h>
#include <confirm.h>
// columns of netclasses grid

View File

@ -27,6 +27,7 @@
#include <dialogs/panel_setup_severities.h>
#include <wx/radiobut.h>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include "confirm.h"

View File

@ -24,7 +24,6 @@
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <confirm.h>
#include <eda_draw_frame.h>
#include <kiface_base.h>
#include <macros.h>
@ -54,6 +53,7 @@
#include <core/profile.h>
#include <pgm_base.h>
#include <confirm.h>
EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindowId,
const wxPoint& aPosition, const wxSize& aSize,

View File

@ -24,6 +24,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <eda_base_frame.h>
#include <advanced_config.h>
#include <bitmaps.h>
#include <bitmap_store.h>
@ -66,6 +68,7 @@
#include <wx/display.h>
#include <wx/stdpaths.h>
#include <wx/string.h>
#include <wx/msgdlg.h>
#include <kiplatform/app.h>
#include <kiplatform/io.h>
#include <kiplatform/ui.h>

View File

@ -61,6 +61,7 @@
#include <trace_helpers.h>
#include <view/view.h>
#include <drawing_sheet/ds_draw_item.h>
#include <view/view_controls.h>
#include <widgets/msgpanel.h>
#include <widgets/properties_panel.h>
#include <widgets/net_inspector_panel.h>

View File

@ -25,6 +25,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <eda_shape.h>
#include <bezier_curves.h>
#include <convert_basic_shapes_to_polygon.h>
#include <eda_draw_frame.h>
@ -33,7 +35,7 @@
#include <geometry/shape_circle.h>
#include <macros.h>
#include <math/util.h> // for KiROUND
#include <eda_shape.h>
#include <eda_item.h>
#include <plotters/plotter.h>

148
common/kidialog.cpp Normal file
View File

@ -0,0 +1,148 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2007 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 1992-2023 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <kidialog.h>
#include <unordered_map>
// Set of dialogs that have been chosen not to be shown again
static std::unordered_map<unsigned long, int> doNotShowAgainDlgs;
KIDIALOG::KIDIALOG( wxWindow* aParent, const wxString& aMessage, const wxString& aCaption,
long aStyle )
: wxRichMessageDialog( aParent, aMessage, aCaption, aStyle | wxCENTRE | wxSTAY_ON_TOP ),
m_hash( 0 ),
m_cancelMeansCancel( true )
{
}
KIDIALOG::KIDIALOG( wxWindow* aParent, const wxString& aMessage, KD_TYPE aType,
const wxString& aCaption )
: wxRichMessageDialog( aParent, aMessage, getCaption( aType, aCaption ), getStyle( aType ) ),
m_hash( 0 ),
m_cancelMeansCancel( true )
{
}
void KIDIALOG::DoNotShowCheckbox( wxString aUniqueId, int line )
{
ShowCheckBox( _( "Do not show again" ), false );
m_hash = std::hash<wxString>{}( aUniqueId ) + line;
}
bool KIDIALOG::DoNotShowAgain() const
{
return doNotShowAgainDlgs.count( m_hash ) > 0;
}
void KIDIALOG::ForceShowAgain()
{
doNotShowAgainDlgs.erase( m_hash );
}
bool KIDIALOG::Show( bool aShow )
{
// We should check the do-not-show-again setting only when the dialog is displayed
if( aShow )
{
// Check if this dialog should be shown to the user
auto it = doNotShowAgainDlgs.find( m_hash );
if( it != doNotShowAgainDlgs.end() )
return it->second;
}
int ret = wxRichMessageDialog::Show( aShow );
// Has the user asked not to show the dialog again?
// Note that we don't save a Cancel value unless the Cancel button is being used for some
// other function (which is actually more common than it being used for Cancel).
if( IsCheckBoxChecked() && (!m_cancelMeansCancel || ret != wxID_CANCEL ) )
doNotShowAgainDlgs[m_hash] = ret;
return ret;
}
int KIDIALOG::ShowModal()
{
// Check if this dialog should be shown to the user
auto it = doNotShowAgainDlgs.find( m_hash );
if( it != doNotShowAgainDlgs.end() )
return it->second;
int ret = wxRichMessageDialog::ShowModal();
// Has the user asked not to show the dialog again?
// Note that we don't save a Cancel value unless the Cancel button is being used for some
// other function (which is actually more common than it being used for Cancel).
if( IsCheckBoxChecked() && (!m_cancelMeansCancel || ret != wxID_CANCEL ) )
doNotShowAgainDlgs[m_hash] = ret;
return ret;
}
wxString KIDIALOG::getCaption( KD_TYPE aType, const wxString& aCaption )
{
if( !aCaption.IsEmpty() )
return aCaption;
switch( aType )
{
case KD_NONE: /* fall through */
case KD_INFO: return _( "Message" );
case KD_QUESTION: return _( "Question" );
case KD_WARNING: return _( "Warning" );
case KD_ERROR: return _( "Error" );
}
return wxEmptyString;
}
long KIDIALOG::getStyle( KD_TYPE aType )
{
long style = wxOK | wxCENTRE | wxSTAY_ON_TOP;
switch( aType )
{
case KD_NONE: break;
case KD_INFO: style |= wxICON_INFORMATION; break;
case KD_QUESTION: style |= wxICON_QUESTION; break;
case KD_WARNING: style |= wxICON_WARNING; break;
case KD_ERROR: style |= wxICON_ERROR; break;
}
return style;
}

View File

@ -131,7 +131,7 @@ bool KIWAY_PLAYER::ShowModal( wxString* aResult, wxWindow* aResultantFocusWindow
for( unsigned ii = 0; ii < enabledTopLevelWindows.size(); ii++ )
enabledTopLevelWindows[ii]->Enable( true );
WX_EVENT_LOOP event_loop;
wxGUIEventLoop event_loop;
m_modal_loop = &event_loop;
event_loop.Run();

View File

@ -35,6 +35,7 @@
#include <wx/zstream.h>
#include <wx/wfstream.h>
#include <wx/datstrm.h>
#include <wx/tokenzr.h>
#include <advanced_config.h>
#include <eda_text.h> // for IsGotoPageHref

View File

@ -25,6 +25,7 @@
#include <string_utils.h>
#include <scintilla_tricks.h>
#include <widgets/wx_grid.h>
#include <widgets/ui_common.h>
#include <wx/stc/stc.h>
#include <gal/color4d.h>
#include <dialog_shim.h>

View File

@ -36,6 +36,7 @@
#include <typeinfo>
#include <wx/cmdline.h>
#include <wx/dialog.h>
#include <wx/filename.h>
#include <wx/stdpaths.h>
#include <wx/snglinst.h>

View File

@ -219,6 +219,46 @@ bool SELECTION::OnlyContains( std::vector<KICAD_T> aList ) const
}
const std::vector<EDA_ITEM*> SELECTION::GetItemsSortedByTypeAndXY( bool leftBeforeRight,
bool topBeforeBottom ) const
{
std::vector<EDA_ITEM*> sorted_items = std::vector<EDA_ITEM*>( m_items.begin(), m_items.end() );
std::sort( sorted_items.begin(), sorted_items.end(),
[&]( EDA_ITEM* a, EDA_ITEM* b )
{
if( a->Type() == b->Type() )
{
if( a->GetSortPosition().x == b->GetSortPosition().x )
{
// Ensure deterministic sort
if( a->GetSortPosition().y == b->GetSortPosition().y )
return a->m_Uuid < b->m_Uuid;
if( topBeforeBottom )
return a->GetSortPosition().y < b->GetSortPosition().y;
else
return a->GetSortPosition().y > b->GetSortPosition().y;
}
else if( leftBeforeRight )
{
return a->GetSortPosition().x < b->GetSortPosition().x;
}
else
{
return a->GetSortPosition().x > b->GetSortPosition().x;
}
}
else
{
return a->Type() < b->Type();
}
} );
return sorted_items;
}
const std::vector<EDA_ITEM*> SELECTION::GetItemsSortedBySelectionOrder() const
{
using pairedIterators = std::pair<decltype( m_items.begin() ),

View File

@ -29,6 +29,7 @@
#include <tool/selection_tool.h>
#include <view/view.h>
#include <eda_draw_frame.h>
#include <eda_item.h>
SELECTION_TOOL::SELECTION_TOOL( const std::string& aName ) :

View File

@ -38,6 +38,7 @@
#include <math/vector2wx.h>
#include <view/view.h>
#include <view/view_controls.h>
#include <eda_base_frame.h>
#include <tool/tool_base.h>
#include <tool/tool_interactive.h>

View File

@ -24,6 +24,7 @@
#include <tool/tool_manager.h>
#include <tool/zoom_tool.h>
#include <view/view.h>
#include <view/view_controls.h>
#include <math/vector2wx.h>

View File

@ -38,6 +38,7 @@
#include <wx/textentry.h>
#include <wx/log.h>
#include <wx/combo.h>
#include <wx/msgdlg.h>
FOOTPRINT_NAME_VALIDATOR::FOOTPRINT_NAME_VALIDATOR( wxString* aValue ) :

View File

@ -23,6 +23,7 @@
#include <widgets/wx_panel.h>
#include <widgets/paged_dialog.h>
#include <widgets/wx_treebook.h>
#include <widgets/ui_common.h>
#include <wx/button.h>
#include <wx/grid.h>

View File

@ -20,6 +20,8 @@
#include <wx/dcclient.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/menu.h>
#include <wx/menuitem.h>
#include <wx/listbox.h>
#include <wx/dataview.h>
#include <wx/radiobut.h>
@ -35,6 +37,7 @@
#include <dialog_shim.h>
#include <pgm_base.h>
#include <wx/settings.h>
#include <settings/common_settings.h>
#include <bitmaps/bitmap_types.h>
#include <string_utils.h>

View File

@ -34,6 +34,7 @@
#include <wx/dcclient.h>
#include <wx/menu.h>
#include <wx/msgdlg.h>
#include <wx/sizer.h>
#include <wx/statline.h>
#include <wx/stattext.h>
#include <wx/treelist.h>

View File

@ -59,6 +59,7 @@
#include <wx/statline.h>
#include <wx/stattext.h>
#include <wx/button.h>
#include <wx/msgdlg.h>
CVPCB_MAINFRAME::CVPCB_MAINFRAME( KIWAY* aKiway, wxWindow* aParent ) :

View File

@ -37,6 +37,7 @@
#include <wildcards_and_files_ext.h>
#include <wx/filedlg.h>
#include <wx/msgdlg.h>
DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES( wxWindow* aParent ) :

View File

@ -29,6 +29,7 @@
#include <common.h>
#include <fp_conflict_assignment_selector.h>
#include <widgets/ui_common.h>
DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR::DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR( wxWindow* aParent )

View File

@ -32,6 +32,7 @@
#include <pcbnew_settings.h>
class REPORTER;
class COMPONENT;
// The name (for wxWidgets) of the footprint viewer frame
#define FOOTPRINTVIEWER_FRAME_NAME wxT( "FootprintViewerFrame" )

View File

@ -33,6 +33,7 @@
#include <cvpcb_mainframe.h>
#include <fp_conflict_assignment_selector.h>
#include <project_pcb.h>
#include <wx/msgdlg.h>
/**

View File

@ -34,6 +34,7 @@
#include <tools/cvpcb_actions.h>
#include <tools/cvpcb_control.h>
#include <wx/settings.h>
#include <wx/msgdlg.h>
using namespace std::placeholders;

View File

@ -49,6 +49,7 @@
#include <wx/filedlg.h>
#include <wx/log.h>
#include <wx/msgdlg.h>
#include <wx/textdlg.h>
wxString s_bomHelpInfo =

View File

@ -41,6 +41,7 @@
#include <wx/tokenzr.h>
#include <wx/choicdlg.h>
#include <wx/dcclient.h>
#include <wx/msgdlg.h>
#include <grid_tricks.h>
#include <widgets/grid_text_button_helpers.h>
#include <kiplatform/ui.h>

View File

@ -44,14 +44,16 @@
#include <common.h>
#include <widgets/wx_html_report_box.h>
#include <dialogs/dialog_text_entry.h>
#include <wx/ffile.h>
#include <wx/filedlg.h>
#include <wx/hyperlink.h>
#include <erc_item.h>
#include <eeschema_settings.h>
#include <string_utils.h>
#include <kiplatform/ui.h>
#include <wx/ffile.h>
#include <wx/filedlg.h>
#include <wx/hyperlink.h>
#include <wx/msgdlg.h>
wxDEFINE_EVENT( EDA_EVT_CLOSE_ERC_DIALOG, wxCommandEvent );

View File

@ -41,6 +41,7 @@
#include <dialog_lib_symbol_properties.h>
#include <settings/settings_manager.h>
#include <symbol_editor_settings.h>
#include <wx/msgdlg.h>
int DIALOG_LIB_SYMBOL_PROPERTIES::m_lastOpenedPage = 0;

View File

@ -26,6 +26,7 @@
#include <tool/actions.h>
#include <dialog_migrate_buses.h>
#include <sch_label.h>
#include <view/view_controls.h>
/**
* Migrates buses using legacy multi-label joining behavior.

View File

@ -31,6 +31,7 @@
class SCH_EDIT_FRAME;
class SCH_FIND_REPLACE_TOOL;
struct SCH_SEARCH_DATA;
class DIALOG_SCH_FIND : public DIALOG_SCH_FIND_BASE

View File

@ -29,6 +29,7 @@
#include <wx/tooltip.h>
#include <common.h>
#include <confirm.h>
#include <kidialog.h>
#include <validators.h>
#include <wx_filename.h>
#include <wildcards_and_files_ext.h>

View File

@ -29,6 +29,7 @@
#include <sim/simulator_frame.h>
#include <sim/sim_plot_tab.h>
#include <confirm.h>
#include <eda_pattern_match.h>
#include <wx/tokenzr.h>

View File

@ -50,6 +50,7 @@
#include <wx/grid.h>
#include <wx/textdlg.h>
#include <wx/filedlg.h>
#include <wx/msgdlg.h>
#include <dialogs/eda_view_switcher.h>
#include "dialog_symbol_fields_table.h"
#include <fields_data_model.h>

View File

@ -45,6 +45,7 @@
#include <symbol_lib_table.h>
#include <env_paths.h>
#include <project_sch.h>
#include <wx/msgdlg.h>
#include <dialog_symbol_remap.h>

View File

@ -22,6 +22,7 @@
#define DIALOG_UPDATE_SYMBOL_FIELDS_H
#include <dialog_update_symbol_fields_base.h>
#include <set>
class LIB_ID;
class LIB_SYMBOL;

View File

@ -23,10 +23,12 @@
*/
#include <pgm_base.h>
#include <layer_ids.h>
#include <settings/settings_manager.h>
#include <settings/color_settings.h>
#include <eeschema_settings.h>
#include "panel_eeschema_editing_options.h"
#include <widgets/ui_common.h>
PANEL_EESCHEMA_EDITING_OPTIONS::PANEL_EESCHEMA_EDITING_OPTIONS( wxWindow* aWindow,

View File

@ -50,6 +50,7 @@
#include <widgets/std_bitmap_button.h>
#include <sch_file_versions.h>
#include <wx/filedlg.h>
#include <wx/msgdlg.h>
#include <project_sch.h>

View File

@ -68,6 +68,7 @@
#include <wx/ffile.h>
#include <wx/filedlg.h>
#include <wx/log.h>
#include <wx/richmsgdlg.h>
#include <wx/stdpaths.h>
#include <tools/ee_actions.h>
#include <tools/ee_inspection_tool.h>

View File

@ -34,6 +34,15 @@
#include <schematic.h>
// a "less than" test on two LIB_SYMBOLs (.m_name wxStrings)
bool LIB_SYMBOL_LESS_THAN::operator()( LIB_SYMBOL* const& libsymbol1,
LIB_SYMBOL* const& libsymbol2 ) const
{
// Use case specific GetName() wxString compare
return libsymbol1->GetLibId() < libsymbol2->GetLibId();
}
wxString NETLIST_EXPORTER_BASE::MakeCommandLine( const wxString& aFormatString,
const wxString& aNetlistFile,
const wxString& aFinalFile,

View File

@ -28,6 +28,7 @@
#include <sch_symbol.h>
#include <sch_label.h>
#include <sch_sheet.h>
#include <schematic.h>
/**
@ -63,11 +64,7 @@ public:
struct LIB_SYMBOL_LESS_THAN
{
// a "less than" test on two LIB_SYMBOLs (.m_name wxStrings)
bool operator()( LIB_SYMBOL* const& libsymbol1, LIB_SYMBOL* const& libsymbol2 ) const
{
// Use case specific GetName() wxString compare
return libsymbol1->GetLibId() < libsymbol2->GetLibId();
}
bool operator()( LIB_SYMBOL* const& libsymbol1, LIB_SYMBOL* const& libsymbol2 ) const;
};

View File

@ -39,6 +39,7 @@
#include <symbol_lib_table.h>
#include <wildcards_and_files_ext.h>
#include <project_sch.h>
#include <wx/msgdlg.h>
#include <cctype>
#include <map>

View File

@ -47,8 +47,10 @@
#include <tool/tool_dispatcher.h>
#include <tools/ee_actions.h>
#include <tools/ee_selection_tool.h>
#include <view/view_controls.h>
#include <wx/choicdlg.h>
#include <wx/log.h>
#include <wx/msgdlg.h>
#include <navlib/nl_schematic_plugin.h>

View File

@ -28,12 +28,12 @@
#include <wx/regex.h>
#include <bus_alias.h>
#include <sch_sheet_path.h>
#include <widgets/msgpanel.h>
class CONNECTION_GRAPH;
class SCH_ITEM;
class SCH_SHEET_PATH;
class MSG_PANEL_ITEM;
enum class CONNECTION_TYPE

View File

@ -25,8 +25,6 @@
#define __SCH_DRAW_PANEL_H
#include <class_draw_panel_gal.h>
#include <eda_item.h>
#include <gr_basic.h>
#include <sch_view.h>

View File

@ -25,6 +25,7 @@
#include <sch_io/sch_io.h>
#include <sch_io/sch_io_mgr.h>
#include <wildcards_and_files_ext.h>
#include <optional>
class DATABASE_LIB_SETTINGS;

View File

@ -29,6 +29,7 @@
#include <sch_io/sch_io_mgr.h>
#include <pin_type.h>
#include <core/typeinfo.h>
#include <layer_ids.h>
#include <plotters/plotter.h>
#include <sch_io/ltspice/ltspice_schematic.h>

View File

@ -36,6 +36,7 @@
#include <default_values.h> // For some default values
#include <core/mirror.h>
#include <trigo.h>
#include <gr_basic.h>
SCH_NO_CONNECT::SCH_NO_CONNECT( const VECTOR2I& pos ) :

View File

@ -29,7 +29,7 @@
#include <widgets/msgpanel.h>
#include <bitmaps.h>
#include <eda_draw_frame.h>
#include <general.h>
#include <gr_basic.h>
#include <schematic.h>
#include <sch_shape.h>

View File

@ -195,6 +195,11 @@ SCH_SYMBOL::SCH_SYMBOL( const SCH_SYMBOL& aSymbol ) :
}
SCH_SYMBOL::~SCH_SYMBOL()
{
}
void SCH_SYMBOL::Init( const VECTOR2I& pos )
{
m_layer = LAYER_DEVICE;
@ -1144,6 +1149,12 @@ std::vector<SCH_PIN*> SCH_SYMBOL::GetAllLibPins() const
}
size_t SCH_SYMBOL::GetFullPinCount() const
{
return m_part ? m_part->GetPinCount() : 0;
}
SCH_PIN* SCH_SYMBOL::GetPin( SCH_PIN* aLibPin ) const
{
auto it = m_pinMap.find( aLibPin );
@ -2587,6 +2598,18 @@ void SCH_SYMBOL::ClearBrightenedPins()
}
bool SCH_SYMBOL::SCH_SYMBOL::GetShowPinNumbers() const
{
return m_part && m_part->GetShowPinNumbers();
}
bool SCH_SYMBOL::GetShowPinNames() const
{
return m_part && m_part->GetShowPinNames();
}
bool SCH_SYMBOL::IsPointClickableAnchor( const VECTOR2I& aPos ) const
{
for( const std::unique_ptr<SCH_PIN>& pin : m_pins )

View File

@ -32,7 +32,6 @@
#include <core/typeinfo.h>
#include <layer_ids.h>
#include <lib_id.h>
#include <widgets/msgpanel.h>
#include <memory>
#include <string>
@ -40,13 +39,10 @@
#include <vector>
#include <wx/arrstr.h>
#include <wx/chartype.h>
#include <wx/fdrepdlg.h>
#include <wx/gdicmn.h>
#include <wx/string.h>
#include <schematic.h>
#include <symbol.h>
#include <lib_symbol.h>
#include <sch_field.h>
#include <sch_pin.h>
#include <sch_sheet_path.h> // SCH_SYMBOL_INSTANCE
@ -57,6 +53,7 @@ struct PICKED_SYMBOL;
class KIID_PATH;
class SCH_SCREEN;
class LIB_SYMBOL;
class MSG_PANEL_ITEM;
class NETLIST_OBJECT_LIST;
class SYMBOL_LIB;
class SYMBOL_LIBS;
@ -137,7 +134,7 @@ public:
*/
SCH_SYMBOL( const SCH_SYMBOL& aSymbol );
~SCH_SYMBOL() { }
~SCH_SYMBOL();
static inline bool ClassOf( const EDA_ITEM* aItem )
{
@ -612,7 +609,7 @@ public:
/**
* @return a count of pins for all units.
*/
size_t GetFullPinCount() { return m_part ? m_part->GetPinCount() : 0; }
size_t GetFullPinCount() const;
/**
* @return the instance SCH_PIN associated with a particular SCH_PIN from the LIB_SYMBOL.
@ -856,8 +853,8 @@ public:
/*
* We don't currently support changing these at the schematic level.
*/
bool GetShowPinNames() const override { return m_part && m_part->GetShowPinNames(); }
bool GetShowPinNumbers() const override { return m_part && m_part->GetShowPinNumbers(); }
bool GetShowPinNames() const override;
bool GetShowPinNumbers() const override;
double Similarity( const SCH_ITEM& aOther ) const override;

View File

@ -44,6 +44,8 @@
#include <wx/clipbrd.h>
#include <wx/dcmemory.h>
#include <wx/log.h>
#include <wx/msgdlg.h>
#include <wx/richmsgdlg.h>
bool SCH_EDIT_FRAME::CheckSheetForRecursion( SCH_SHEET* aSheet, SCH_SHEET_PATH* aCurrentSheet )

View File

@ -22,8 +22,8 @@
*/
#include <vector>
#include <sch_symbol.h>
#include <eda_draw_frame.h>
#include <lib_symbol.h>
#include <sch_shape.h>
#include <macros.h>

View File

@ -66,6 +66,7 @@
#include <tools/symbol_editor_edit_tool.h>
#include <tools/symbol_editor_move_tool.h>
#include <tools/symbol_editor_pin_tool.h>
#include <view/view_controls.h>
#include <widgets/app_progress_dialog.h>
#include <widgets/wx_infobar.h>
#include <widgets/lib_tree.h>
@ -77,6 +78,7 @@
#include <wildcards_and_files_ext.h>
#include <panel_sym_lib_table.h>
#include <string_utils.h>
#include <wx/msgdlg.h>
bool SYMBOL_EDIT_FRAME::m_showDeMorgan = false;

View File

@ -25,6 +25,7 @@
#include <pgm_base.h>
#include <confirm.h>
#include <kidialog.h>
#include <kiway.h>
#include <widgets/wx_infobar.h>
#include <tools/ee_actions.h>

View File

@ -24,6 +24,7 @@
*/
#include <confirm.h>
#include <kidialog.h>
#include <common.h>
#include <symbol_lib_table.h>
#include <symbol_edit_frame.h>

View File

@ -70,6 +70,7 @@
#include <string_utils.h>
#include <wildcards_and_files_ext.h>
#include <wx/filedlg.h>
#include <wx/msgdlg.h>
SCH_DRAWING_TOOLS::SCH_DRAWING_TOOLS() :
EE_TOOL_BASE<SCH_EDIT_FRAME>( "eeschema.InteractiveDrawing" ),

View File

@ -71,6 +71,7 @@
#include <settings/settings_manager.h>
#include <symbol_editor_settings.h>
#include <core/kicad_algo.h>
#include <view/view_controls.h>
#include <wx/textdlg.h>
#include <project/net_settings.h>

View File

@ -73,11 +73,13 @@
#include <tools/sch_move_tool.h>
#include <drawing_sheet/ds_proxy_undo_item.h>
#include <eda_list_dialog.h>
#include <view/view_controls.h>
#include <wildcards_and_files_ext.h>
#include <wx_filename.h>
#include <sch_sheet_path.h>
#include <wx/filedlg.h>
#include <wx/treectrl.h>
#include <wx/msgdlg.h>
#include "sch_edit_table_tool.h"
#ifdef KICAD_IPC_API

View File

@ -39,6 +39,7 @@
#include <math/vector2d.h>
#include <advanced_config.h>
#include <gal/graphics_abstraction_layer.h>
#include <view/view_controls.h>
#include <tool/actions.h>
#include <tool/conditional_menu.h>
#include <tool/selection.h>

View File

@ -42,6 +42,7 @@
#include <sch_edit_frame.h>
#include <eeschema_id.h>
#include <pgm_base.h>
#include <view/view_controls.h>
#include <settings/settings_manager.h>
#include "sch_move_tool.h"

View File

@ -36,6 +36,7 @@
#include <wildcards_and_files_ext.h>
#include <bitmaps/bitmap_types.h>
#include <confirm.h>
#include <kidialog.h>
#include <gestfich.h> // To open with a text editor
#include <wx/filedlg.h>
#include "wx/generic/textdlgg.h"

View File

@ -34,6 +34,7 @@
#include <sch_shape.h>
#include <sch_textbox.h>
#include <pgm_base.h>
#include <view/view_controls.h>
#include <symbol_editor/symbol_editor_settings.h>
#include <settings/settings_manager.h>
#include <string_utils.h>

View File

@ -37,6 +37,7 @@
#include <dialogs/dialog_lib_symbol_properties.h>
#include <dialogs/dialog_lib_edit_pin_table.h>
#include <dialogs/dialog_update_symbol_fields.h>
#include <view/view_controls.h>
#include <sch_io/kicad_sexpr/sch_io_kicad_sexpr.h>
#include <sch_textbox.h>
#include "symbol_editor_edit_tool.h"

View File

@ -31,6 +31,7 @@
#include <sch_shape.h>
#include <sch_commit.h>
#include <wx/log.h>
#include <view/view_controls.h>
#include "symbol_editor_move_tool.h"
#include "symbol_editor_pin_tool.h"

View File

@ -25,7 +25,7 @@
#include <tools/ee_selection_tool.h>
#include <symbol_edit_frame.h>
#include <sch_commit.h>
#include <confirm.h>
#include <kidialog.h>
#include <ee_actions.h>
#include <dialogs/dialog_pin_properties.h>
#include <settings/settings_manager.h>

View File

@ -21,6 +21,7 @@
#include <sch_painter.h>
#include <eeschema_settings.h>
#include <settings/settings_manager.h>
#include <lib_symbol.h>
#include <sch_view.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
@ -46,7 +47,7 @@ SYMBOL_DIFF_WIDGET::SYMBOL_DIFF_WIDGET( wxWindow* aParent,
m_outerSizer->Add( bottomSizer, 0, wxTOP | wxLEFT | wxRIGHT | wxEXPAND, 10 );
Layout();
m_slider->Bind( wxEVT_SCROLL_TOP, &SYMBOL_DIFF_WIDGET::onSlider, this );
m_slider->Bind( wxEVT_SCROLL_BOTTOM, &SYMBOL_DIFF_WIDGET::onSlider, this );
m_slider->Bind( wxEVT_SCROLL_LINEUP, &SYMBOL_DIFF_WIDGET::onSlider, this );

View File

@ -23,6 +23,7 @@
#include <gal/graphics_abstraction_layer.h>
#include <math/vector2wx.h>
#include <symbol_lib_table.h>
#include <lib_symbol.h>
#include <sch_preview_panel.h>
#include <pgm_base.h>
#include <sch_painter.h>

View File

@ -30,6 +30,7 @@
#define DIALOG_LAYERS_SELECT_TO_PCB_H_
#include <dialogs/dialog_layers_select_to_pcb_base.h>
#include <layer_ids.h>
class GERBVIEW_FRAME;

View File

@ -47,6 +47,7 @@
#include <tools/gerbview_control.h>
#include <trigo.h>
#include <view/view.h>
#include <view/view_controls.h>
#include <base_screen.h>
#include <gerbview_painter.h>
#include <wx/wupdlock.h>

View File

@ -39,7 +39,9 @@
#include <macros.h>
#include <widgets/indicator_icon.h>
#include <widgets/wx_ellipsized_static_text.h>
#include <widgets/ui_common.h>
#include <wx/checkbox.h>
#include <wx/menu.h>
#include <algorithm>

View File

@ -33,54 +33,13 @@
#define __INCLUDE__CONFIRM_H__
#include <kicommon.h>
#include <wx/richmsgdlg.h>
#include <vector>
#include <functional>
#include <wx/string.h>
#include <wx/arrstr.h>
//#include <wx/richmsgdlg.h>
//#include <vector>
//#include <functional>
class wxCheckBox;
class wxStaticBitmap;
/**
* Helper class to create more flexible dialogs, including 'do not show again' checkbox handling.
*/
class KICOMMON_API KIDIALOG : public wxRichMessageDialog
{
public:
///< Dialog type. Selects appropriate icon and default dialog title
enum KD_TYPE { KD_NONE, KD_INFO, KD_QUESTION, KD_WARNING, KD_ERROR };
KIDIALOG( wxWindow* aParent, const wxString& aMessage, const wxString& aCaption,
long aStyle = wxOK );
KIDIALOG( wxWindow* aParent, const wxString& aMessage, KD_TYPE aType,
const wxString& aCaption = "" );
bool SetOKCancelLabels( const ButtonLabel& ok, const ButtonLabel& cancel ) override
{
m_cancelMeansCancel = false;
return wxRichMessageDialog::SetOKCancelLabels( ok, cancel );
}
///< Shows the 'do not show again' checkbox
void DoNotShowCheckbox( wxString file, int line );
///< Checks the 'do not show again' setting for the dialog
bool DoNotShowAgain() const;
void ForceShowAgain();
bool Show( bool aShow = true ) override;
int ShowModal() override;
protected:
// Helper functions for wxRichMessageDialog constructor
static wxString getCaption( KD_TYPE aType, const wxString& aCaption );
static long getStyle( KD_TYPE aType );
protected:
unsigned long m_hash; // Unique id
bool m_cancelMeansCancel; // If the Cancel button is renamed then it should be
// saved by the DoNotShowAgain checkbox. If it's really
// a cancel then it should not.
};
class wxWindow;
/**

View File

@ -26,10 +26,15 @@
#define DIALOG_SHIM_
#include <kicommon.h>
#include <eda_units.h>
#include <kiway_holder.h>
#include <wx/dialog.h>
#include <kiway_player.h>
class wxGridEvent;
#include <map>
class EDA_BASE_FRAME;
class wxGridEvent;
class wxGUIEventLoop;
struct WINDOW_THAWER
@ -62,7 +67,6 @@ protected:
class WDO_ENABLE_DISABLE;
class WX_EVENT_LOOP;
// These macros are for DIALOG_SHIM only, NOT for KIWAY_PLAYER. KIWAY_PLAYER
// has its own support for quasi modal and its platform specific issues are different
@ -216,7 +220,7 @@ protected:
wxWindow* m_initialFocusTarget;
bool m_isClosing;
WX_EVENT_LOOP* m_qmodal_loop; // points to nested event_loop, NULL means not qmodal
wxGUIEventLoop* m_qmodal_loop; // points to nested event_loop, NULL means not qmodal
// and dismissed
bool m_qmodal_showing;
WDO_ENABLE_DISABLE* m_qmodal_parent_disabler;

View File

@ -25,6 +25,7 @@
#define DIALOG_ASSIGN_NETCLASS_H
#include <dialogs/dialog_assign_netclass_base.h>
#include <set>
class EDA_BASE_FRAME;

View File

@ -27,6 +27,8 @@
#include <dialog_page_settings_base.h>
class DS_DATA_MODEL;
class EDA_DRAW_FRAME;
class BASE_SCREEN;
/*!
* DIALOG_PAGES_SETTINGS class declaration

Some files were not shown because too many files have changed in this diff Show More