32#include <wx/tokenzr.h>
67const wxChar*
const traceGit = wxT(
"KICAD_GIT" );
77wxString
dump(
const wxArrayString& aArray )
81 for(
unsigned i = 0; i < aArray.GetCount(); i++ )
83 if( aArray[i].IsEmpty() )
84 tmp << wxT(
"\"\" " );
86 tmp << aArray[i] << wxT(
" " );
110 case WXK_##x: return #x;
199 WXK_(NUMPAD_PAGEDOWN)
205 WXK_(NUMPAD_MULTIPLY)
207 WXK_(NUMPAD_SEPARATOR)
208 WXK_(NUMPAD_SUBTRACT)
228 int keycode = aEvent.GetKeyCode();
234 if( keycode > 0 && keycode < 32 )
235 return wxString::Format(
"Ctrl-%c", (
unsigned char)(
'A' + keycode - 1) );
237 if( keycode >= 32 && keycode < 128 )
238 return wxString::Format(
"'%c'", (
unsigned char)keycode );
241 int uc = aEvent.GetUnicodeKey();
244 return wxString::Format(
"'%c'", uc );
251wxString
dump(
const wxKeyEvent& aEvent )
254 wxString eventType = wxS(
"unknown" );
256 if( aEvent.GetEventType() == wxEVT_KEY_DOWN )
257 eventType = wxS(
"KeyDown" );
258 else if( aEvent.GetEventType() == wxEVT_KEY_UP )
259 eventType = wxS(
"KeyUp" );
260 else if( aEvent.GetEventType() == wxEVT_CHAR )
261 eventType = wxS(
"Char" );
262 else if( aEvent.GetEventType() == wxEVT_CHAR_HOOK )
263 eventType = wxS(
"Hook" );
266 msg.Printf(
"%7s %15s %5d %c%c%c%c"
272#ifdef wxHAS_RAW_KEY_CODES
281 aEvent.ControlDown() ?
'C' :
'-',
282 aEvent.AltDown() ?
'A' :
'-',
283 aEvent.ShiftDown() ?
'S' :
'-',
284 aEvent.MetaDown() ?
'M' :
'-'
286 , aEvent.GetUnicodeKey()
287 , aEvent.GetUnicodeKey()
289#ifdef wxHAS_RAW_KEY_CODES
290 , (
unsigned long) aEvent.GetRawKeyCode()
291 , (
unsigned long) aEvent.GetRawKeyFlags()
336 str.PrintfV(
aFmt, vargs );
338#if defined( __UNIX__ ) || defined( _WIN32 )
339 fprintf( stderr,
" %-30s | %s", aWhat.c_str().AsChar(), str.c_str().AsChar() );
353 wxStringTokenizer tokenizer( traceVars,
"," );
355 while( tokenizer.HasMoreTokens() )
357 wxString token = tokenizer.GetNextToken();
360 if( token.Lower() == wxT(
"all" ) )
static TRACE_MANAGER & Instance()
traceV(aWhat, aFmt, argptr)
bool IsTraceEnabled(const wxString &aWhat)
bool m_globalTraceEnabled
std::map< wxString, bool > m_enabledTraces
const wxChar *const traceSchPainter
Flag to enable debug output of schematic painter operations.
const wxChar *const traceSchSymbolRef
Flag to enable debug output of schematic symbol reference resolution.
const wxChar *const traceLibraries
Flag to enable library table and library manager tracing.
const wxChar *const traceSymbolResolver
Flag to enable debug output of symbol library resolver results.
const wxChar *const traceSchFieldRendering
Flag to enable debug output of schematic field rendering and positioning.
const wxChar *const traceLibWatch
Flag to enable debug output for library file watch refreshes.
const wxChar *const traceSymbolInheritance
Flag to enable tracing of circular symbol inheritance detection.
const wxChar *const traceLocale
Flag to enable locale debug output.
const wxChar *const traceSchCurrentSheet
Flag to enable debug output of current sheet tracking in the schematic editor.
const wxChar *const traceKicadPcbPlugin
Flag to enable GEDA PCB plugin debug output.
const wxChar *const traceAutoSave
Flag to enable auto save feature debug tracing.
const wxChar *const kicadTraceKeyEvent
Flag to enable wxKeyEvent debug tracing.
const wxChar *const traceUiProfile
Flag to enable user interface profile tracing.
const wxChar *const traceEnvVars
Flag to enable debug output of environment variable operations.
const wxChar *const traceFindReplace
Flag to enable find and replace debug tracing.
const wxChar *const traceFindItem
Flag to enable find debug tracing.
const wxChar *const kicadTraceCoroutineStack
Flag to enable tracing of the coroutine call stack.
const wxChar *const traceSchLibMem
Flag to enable schematic library memory deletion debug output.
const wxChar *const traceEagleIo
const wxChar *const tracePathsAndFiles
Flag to enable path and file name debug output.
const wxChar *const traceKiCad2Step
Flag to enable KiCad2Step debug tracing.
const wxChar *const traceSchPlugin
Flag to enable legacy schematic plugin debug output.
const wxChar *const traceSchSheetPaths
Flag to enable debug output of schematic symbol sheet path manipulation code.
const wxChar *const traceSchDragNetCollision
Flag to enable debug output of schematic drag net collision detection.
const wxChar *const traceCrossProbeFlash
Flag to enable debug output for cross-probe flash operations.
const wxChar *const traceSchLegacyPlugin
Flag to enable legacy schematic plugin debug output.
const wxChar *const traceSchMove
Flag to watch how schematic move tool actions are handled.
const wxChar *const tracePrinting
Flag to enable print controller debug output.
const wxChar *const kicadTraceCoords
Flag to enable draw panel coordinate debug tracing.
const wxChar *const traceZoomScroll
Flag to enable debug output of zoom-scrolling calculations in KIGFX::ZOOM_CONTROLLER and derivatives.
const wxChar *const traceGedaPcbPlugin
Flag to enable GEDA PCB plugin debug output.
const wxChar *const traceScreen
Flag to enable debug output of BASE_SCREEN and it's derivatives.
const wxChar *const traceSnap
Flag to enable snap/grid helper debug tracing.
const wxChar *const tracePdfPlotter
Flag to enable PDF plotter debug tracing.
const wxChar *const traceDesignBlocks
const wxChar *const traceStackedPins
Flag to enable debug output for stacked pins handling in symbol/pin code.
const wxChar *const traceFonts
Flag to enable locale debug output.
const wxChar *const traceGit
Flag to enable Git debugging output.
const wxChar *const traceDisplayLocation
Flag to enable debug output of display positioning logic.
const wxChar *const traceLibFieldTable
const wxChar *const kicadTraceToolStack
Flag to enable tracing of the tool handling stack.
const wxChar *const traceGalProfile
Flag to enable debug output of GAL performance profiling.
wxString dump(const wxArrayString &aArray)
Debug helper for printing wxArrayString contents.
wxString GetKeyName(const wxKeyEvent &aEvent)
const char * GetVirtualKeyCodeName(int keycode)
wxLogTrace helper definitions.