qa: followup changes in the router in the pns_debug_tool (multidrag + some UI rework)

This commit is contained in:
Tomasz Wlostowski
2024-11-02 19:59:09 +01:00
parent 9f3825b003
commit 6ef68d99d5
9 changed files with 173 additions and 267 deletions
+2
View File
@@ -166,8 +166,10 @@ void LABEL_MANAGER::recalculate()
{
int iterLimit = 5;
return;
while( iterLimit > 0 )
{
bool collisionsFound = false;
for( int i = 0; i < m_labels.size(); i++ )
+71 -208
View File
@@ -82,7 +82,7 @@
<property name="window_style"></property>
<object class="wxMenu" expanded="true">
<property name="label">File</property>
<property name="name">m_menu1</property>
<property name="name">m_menuFile</property>
<property name="permission">protected</property>
<object class="wxMenuItem" expanded="true">
<property name="bitmap"></property>
@@ -92,7 +92,7 @@
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Open</property>
<property name="name">m_menuOpen</property>
<property name="name">m_menuOpenLogfile</property>
<property name="permission">none</property>
<property name="shortcut"></property>
<property name="unchecked_bitmap"></property>
@@ -105,8 +105,22 @@
<property name="help"></property>
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Save as...</property>
<property name="name">m_menuSaveAs</property>
<property name="label">Open</property>
<property name="name">m_menuOpenTestcase</property>
<property name="permission">none</property>
<property name="shortcut"></property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection">onOpen</event>
</object>
<object class="wxMenuItem" expanded="true">
<property name="bitmap"></property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help"></property>
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Save Testcase</property>
<property name="name">m_menuSaveTestcase</property>
<property name="permission">none</property>
<property name="shortcut"></property>
<property name="unchecked_bitmap"></property>
@@ -127,6 +141,53 @@
<event name="OnMenuSelection">onExit</event>
</object>
</object>
<object class="wxMenu" expanded="true">
<property name="label">View</property>
<property name="name">m_menuView</property>
<property name="permission">protected</property>
<object class="wxMenuItem" expanded="true">
<property name="bitmap"></property>
<property name="checked">1</property>
<property name="enabled">1</property>
<property name="help"></property>
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_CHECK</property>
<property name="label">Show PREVIEW_ITEMS</property>
<property name="name">m_menuShowRPIs</property>
<property name="permission">none</property>
<property name="shortcut"></property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection">onShowRPIsChecked</event>
</object>
<object class="wxMenuItem" expanded="true">
<property name="bitmap"></property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help"></property>
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_CHECK</property>
<property name="label">Override line width</property>
<property name="name">m_menuOverrideLineWidth</property>
<property name="permission">none</property>
<property name="shortcut"></property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection">onShowThinLinesChecked</event>
</object>
<object class="wxMenuItem" expanded="true">
<property name="bitmap"></property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help"></property>
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_CHECK</property>
<property name="label">Show Vertex Numbers</property>
<property name="name">m_menuShowVertexNumbers</property>
<property name="permission">none</property>
<property name="shortcut"></property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection">onShowVerticesChecked</event>
</object>
</object>
</object>
<object class="wxBoxSizer" expanded="true">
<property name="minimum_size"></property>
@@ -135,10 +196,10 @@
<property name="permission">protected</property>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="flag"></property>
<property name="proportion">0</property>
<object class="wxFlexGridSizer" expanded="true">
<property name="cols">10</property>
<property name="cols">11</property>
<property name="flexible_direction">wxBOTH</property>
<property name="growablecols"></property>
<property name="growablerows"></property>
@@ -151,7 +212,7 @@
<property name="vgap">0</property>
<object class="sizeritem" expanded="false">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="false">
<property name="BottomDockable">1</property>
@@ -430,7 +491,7 @@
</object>
<object class="sizeritem" expanded="false">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="false">
<property name="BottomDockable">1</property>
@@ -623,204 +684,6 @@
<event name="OnText">onFilterText</event>
</object>
</object>
<object class="sizeritem" expanded="false">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="false">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Show RPIs</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_chkShowRPItems</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnCheckBox">onShowRPIsChecked</event>
</object>
</object>
<object class="sizeritem" expanded="false">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="false">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Thin lines</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_chkThinLines</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnCheckBox">onShowThinLinesChecked</event>
</object>
</object>
<object class="sizeritem" expanded="false">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="false">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Show Vertices</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_showVertices</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnCheckBox">onShowVerticesChecked</event>
</object>
</object>
<object class="sizeritem" expanded="false">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
@@ -926,7 +789,7 @@
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Select your IDE:</property>
<property name="label">IDE:</property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
@@ -1326,7 +1189,7 @@
<object class="notebookpage" expanded="true">
<property name="bitmap"></property>
<property name="label">Console</property>
<property name="select">0</property>
<property name="select">1</property>
<object class="wxPanel" expanded="true">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
+24 -7
View File
@@ -39,22 +39,39 @@
#include <../../tests/common/console_log.h>
BOARD_CONNECTED_ITEM* PNS_LOG_FILE::ItemById( const PNS::LOGGER::EVENT_ENTRY& evt )
std::vector<BOARD_CONNECTED_ITEM*> PNS_LOG_FILE::ItemsById( const PNS::LOGGER::EVENT_ENTRY& evt )
{
BOARD_CONNECTED_ITEM* parent = nullptr;
std::vector<BOARD_CONNECTED_ITEM*> parents;
parents.resize( evt.uuids.size() );
printf("u %d p %d\n", evt.uuids.size(), parents.size() );
for( BOARD_CONNECTED_ITEM* item : m_board->AllConnectedItems() )
{
if( item->m_Uuid == evt.uuid )
for( int i = 0; i < evt.uuids.size(); i++ )
{
parent = item;
break;
};
if( item->m_Uuid == evt.uuids[i] )
{
parents[i] = item;
break;
};
}
}
return parent;
return parents;
}
BOARD_CONNECTED_ITEM* PNS_LOG_FILE::ItemById( const PNS::LOGGER::EVENT_ENTRY& evt )
{
auto parents = ItemsById( evt );
if ( parents.size() > 0 )
return parents[0];
return nullptr;
}
static const wxString readLine( FILE* f )
{
char str[16384];
+1
View File
@@ -75,6 +75,7 @@ public:
// Loads a P&S event log and the associated board file. These two always go together.
bool Load( const wxFileName& logFileName, REPORTER* aRpt );
std::vector<BOARD_CONNECTED_ITEM*> ItemsById( const PNS::LOGGER::EVENT_ENTRY& evt );
BOARD_CONNECTED_ITEM* ItemById( const PNS::LOGGER::EVENT_ENTRY& evt );
std::vector<PNS::LOGGER::EVENT_ENTRY>& Events() { return m_events; }
+22 -8
View File
@@ -107,9 +107,19 @@ void PNS_LOG_PLAYER::ReplayLog( PNS_LOG_FILE* aLog, int aStartEventIndex, int aF
if( eventIdx < aFrom || ( aTo >= 0 && eventIdx > aTo ) )
continue;
auto item = aLog->ItemById( evt );
ITEM* ritem = item ? m_router->GetWorld()->FindItemByParent( item ) : nullptr;
int routingLayer = ritem ? ritem->Layers().Start() : F_Cu;
auto items = aLog->ItemsById( evt );
PNS::ITEM_SET ritems;
printf("items: %d\n", items.size() );
ITEM* ritem = nullptr;
if( items.size() && items[0] )
ritem = m_router->GetWorld()->FindItemByParent( items[0] );
int routingLayer = ritem ? ritem->Layers().Start() : evt.layer;
for( auto item : items )
ritems.Add( m_router->GetWorld()->FindItemByParent( item ) );
eventIdx++;
@@ -117,6 +127,7 @@ void PNS_LOG_PLAYER::ReplayLog( PNS_LOG_FILE* aLog, int aStartEventIndex, int aF
{
case LOGGER::EVT_START_ROUTE:
{
wxString msg;
PNS::SIZES_SETTINGS sizes( m_router->Sizes() );
m_iface->SetStartLayerFromPNS( routingLayer );
m_iface->ImportSizes( sizes, ritem, nullptr, evt.p );
@@ -125,16 +136,18 @@ void PNS_LOG_PLAYER::ReplayLog( PNS_LOG_FILE* aLog, int aStartEventIndex, int aF
m_debugDecorator->NewStage( "route-start", 0, PNSLOGINFO );
m_viewTracker->SetStage( m_debugDecorator->GetStageCount() - 1 );
auto msg = wxString::Format( "event [%d/%d]: route-start (%d, %d)", eventIdx,
totalEvents, evt.p.x, evt.p.y );
bool status = m_router->StartRouting( evt.p, ritem, routingLayer );
msg = wxString::Format( "event [%d/%d]: route-start (%d, %d), layer %d, startitem %p status %d", eventIdx,
totalEvents, evt.p.x, evt.p.y, routingLayer, ritem, status ? 1 : 0 );
m_debugDecorator->Message( msg );
m_reporter->Report( msg );
m_router->StartRouting( evt.p, ritem, routingLayer );
break;
}
case LOGGER::EVT_START_MULTIDRAG:
case LOGGER::EVT_START_DRAG:
{
PNS::SIZES_SETTINGS sizes( m_router->Sizes() );
@@ -151,7 +164,7 @@ void PNS_LOG_PLAYER::ReplayLog( PNS_LOG_FILE* aLog, int aStartEventIndex, int aF
m_debugDecorator->Message( msg );
m_reporter->Report( msg );
bool rv = m_router->StartDragging( evt.p, ritem, 0 );
bool rv = m_router->StartDragging( evt.p, ritems, 0 );
break;
}
@@ -265,7 +278,8 @@ void PNS_LOG_PLAYER::ReplayLog( PNS_LOG_FILE* aLog, int aStartEventIndex, int aF
for( auto item : removed )
{
wxASSERT_MSG( item->Parent() != nullptr, "removed an item with no parent uuid?" );
// fixme: should we check for that?
// wxASSERT_MSG( item->Parent() != nullptr, "removed an item with no parent uuid?" );
if( item->Parent() )
removedKIIDs.insert( item->Parent()->m_Uuid );
+3 -2
View File
@@ -365,7 +365,7 @@ void PNS_LOG_VIEWER_FRAME::SetLogFile( PNS_LOG_FILE* aLog )
m_logFile.reset( aLog );
SetBoard( m_logFile->GetBoard() );
updateViewerIface();
m_logPlayer->ReplayLog( m_logFile.get(), 0, 0, -1, true );
auto dbgd = m_logPlayer->GetDebugDecorator();
@@ -388,13 +388,14 @@ void PNS_LOG_VIEWER_FRAME::SetLogFile( PNS_LOG_FILE* aLog )
drawLoggedItems( m_rewindIter );
updateDumpPanel( m_rewindIter );
updatePnsPreviewItems( m_rewindIter );
}
void PNS_LOG_VIEWER_FRAME::SetBoard2( std::shared_ptr<BOARD> aBoard )
{
SetBoard( aBoard );
updateViewerIface();
auto extents = m_board->GetBoundingBox();
BOX2D bbd;
+43 -34
View File
@@ -14,32 +14,52 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
m_menubar1 = new wxMenuBar( 0 );
m_menu1 = new wxMenu();
wxMenuItem* m_menuOpen;
m_menuOpen = new wxMenuItem( m_menu1, wxID_ANY, wxString( wxT("Open") ) , wxEmptyString, wxITEM_NORMAL );
m_menu1->Append( m_menuOpen );
m_menuFile = new wxMenu();
wxMenuItem* m_menuOpenLogfile;
m_menuOpenLogfile = new wxMenuItem( m_menuFile, wxID_ANY, wxString( wxT("Open") ) , wxEmptyString, wxITEM_NORMAL );
m_menuFile->Append( m_menuOpenLogfile );
wxMenuItem* m_menuSaveAs;
m_menuSaveAs = new wxMenuItem( m_menu1, wxID_ANY, wxString( wxT("Save as...") ) , wxEmptyString, wxITEM_NORMAL );
m_menu1->Append( m_menuSaveAs );
wxMenuItem* m_menuOpenTestcase;
m_menuOpenTestcase = new wxMenuItem( m_menuFile, wxID_ANY, wxString( wxT("Open") ) , wxEmptyString, wxITEM_NORMAL );
m_menuFile->Append( m_menuOpenTestcase );
wxMenuItem* m_menuSaveTestcase;
m_menuSaveTestcase = new wxMenuItem( m_menuFile, wxID_ANY, wxString( wxT("Save Testcase") ) , wxEmptyString, wxITEM_NORMAL );
m_menuFile->Append( m_menuSaveTestcase );
wxMenuItem* m_menuExit;
m_menuExit = new wxMenuItem( m_menu1, wxID_ANY, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
m_menu1->Append( m_menuExit );
m_menuExit = new wxMenuItem( m_menuFile, wxID_ANY, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
m_menuFile->Append( m_menuExit );
m_menubar1->Append( m_menu1, wxT("File") );
m_menubar1->Append( m_menuFile, wxT("File") );
m_menuView = new wxMenu();
wxMenuItem* m_menuShowRPIs;
m_menuShowRPIs = new wxMenuItem( m_menuView, wxID_ANY, wxString( wxT("Show PREVIEW_ITEMS") ) , wxEmptyString, wxITEM_CHECK );
m_menuView->Append( m_menuShowRPIs );
m_menuShowRPIs->Check( true );
wxMenuItem* m_menuOverrideLineWidth;
m_menuOverrideLineWidth = new wxMenuItem( m_menuView, wxID_ANY, wxString( wxT("Override line width") ) , wxEmptyString, wxITEM_CHECK );
m_menuView->Append( m_menuOverrideLineWidth );
wxMenuItem* m_menuShowVertexNumbers;
m_menuShowVertexNumbers = new wxMenuItem( m_menuView, wxID_ANY, wxString( wxT("Show Vertex Numbers") ) , wxEmptyString, wxITEM_CHECK );
m_menuView->Append( m_menuShowVertexNumbers );
m_menubar1->Append( m_menuView, wxT("View") );
this->SetMenuBar( m_menubar1 );
m_mainSizer = new wxBoxSizer( wxVERTICAL );
m_topBarSizer = new wxFlexGridSizer( 3, 10, 0, 0 );
m_topBarSizer = new wxFlexGridSizer( 3, 11, 0, 0 );
m_topBarSizer->SetFlexibleDirection( wxBOTH );
m_topBarSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_rewindText = new wxStaticText( this, wxID_ANY, wxT("Rewind: "), wxDefaultPosition, wxDefaultSize, 0 );
m_rewindText->Wrap( -1 );
m_topBarSizer->Add( m_rewindText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
m_topBarSizer->Add( m_rewindText, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
m_rewindLeft = new wxButton( this, wxID_ANY, wxT("<"), wxDefaultPosition, wxSize( 50,-1 ), 0 );
m_rewindLeft->SetMaxSize( wxSize( 50,-1 ) );
@@ -59,7 +79,7 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
m_rewindPos = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxTE_PROCESS_ENTER );
m_rewindPos->SetMaxSize( wxSize( 50,-1 ) );
m_topBarSizer->Add( m_rewindPos, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
m_topBarSizer->Add( m_rewindPos, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
m_staticText2 = new wxStaticText( this, wxID_ANY, wxT("Filter:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText2->Wrap( -1 );
@@ -68,15 +88,6 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
m_filterString = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_topBarSizer->Add( m_filterString, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
m_chkShowRPItems = new wxCheckBox( this, wxID_ANY, wxT("Show RPIs"), wxDefaultPosition, wxDefaultSize, 0 );
m_topBarSizer->Add( m_chkShowRPItems, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_chkThinLines = new wxCheckBox( this, wxID_ANY, wxT("Thin lines"), wxDefaultPosition, wxDefaultSize, 0 );
m_topBarSizer->Add( m_chkThinLines, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_showVertices = new wxCheckBox( this, wxID_ANY, wxT("Show Vertices"), wxDefaultPosition, wxDefaultSize, 0 );
m_topBarSizer->Add( m_showVertices, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_algoStatus = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
m_algoStatus->Wrap( -1 );
m_algoStatus->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
@@ -86,7 +97,7 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
m_topBarSizer->Add( 0, 0, 1, wxEXPAND, 5 );
m_ideLabel = new wxStaticText( this, wxID_ANY, wxT("Select your IDE:"), wxPoint( -1,-1 ), wxDefaultSize, 0 );
m_ideLabel = new wxStaticText( this, wxID_ANY, wxT("IDE:"), wxPoint( -1,-1 ), wxDefaultSize, 0 );
m_ideLabel->Wrap( -1 );
m_ideLabel->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
@@ -101,7 +112,7 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
m_topBarSizer->Add( m_ideChoice, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_mainSizer->Add( m_topBarSizer, 0, wxEXPAND, 5 );
m_mainSizer->Add( m_topBarSizer, 0, 0, 5 );
m_mainSplitter = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D );
m_mainSplitter->Connect( wxEVT_IDLE, wxIdleEventHandler( PNS_LOG_VIEWER_FRAME_BASE::m_mainSplitterOnIdle ), NULL, this );
@@ -136,7 +147,7 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
m_panelConsole->SetSizer( bSizer7 );
m_panelConsole->Layout();
bSizer7->Fit( m_panelConsole );
m_propsNotebook->AddPage( m_panelConsole, wxT("Console"), false );
m_propsNotebook->AddPage( m_panelConsole, wxT("Console"), true );
bSizer5->Add( m_propsNotebook, 1, wxEXPAND | wxALL, 5 );
@@ -155,9 +166,13 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
this->Centre( wxBOTH );
// Connect Events
m_menu1->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onOpen ), this, m_menuOpen->GetId());
m_menu1->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onSaveAs ), this, m_menuSaveAs->GetId());
m_menu1->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onExit ), this, m_menuExit->GetId());
m_menuFile->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onOpen ), this, m_menuOpenLogfile->GetId());
m_menuFile->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onOpen ), this, m_menuOpenTestcase->GetId());
m_menuFile->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onSaveAs ), this, m_menuSaveTestcase->GetId());
m_menuFile->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onExit ), this, m_menuExit->GetId());
m_menuView->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowRPIsChecked ), this, m_menuShowRPIs->GetId());
m_menuView->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowThinLinesChecked ), this, m_menuOverrideLineWidth->GetId());
m_menuView->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowVerticesChecked ), this, m_menuShowVertexNumbers->GetId());
m_rewindLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onBtnRewindLeft ), NULL, this );
m_rewindSlider->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onRewindScroll ), NULL, this );
m_rewindSlider->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onRewindScroll ), NULL, this );
@@ -172,9 +187,6 @@ PNS_LOG_VIEWER_FRAME_BASE::PNS_LOG_VIEWER_FRAME_BASE( wxWindow* parent, wxWindow
m_rewindPos->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onRewindCountText2 ), NULL, this );
m_rewindPos->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onRewindCountText ), NULL, this );
m_filterString->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onFilterText ), NULL, this );
m_chkShowRPItems->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowRPIsChecked ), NULL, this );
m_chkThinLines->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowThinLinesChecked ), NULL, this );
m_showVertices->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowVerticesChecked ), NULL, this );
}
PNS_LOG_VIEWER_FRAME_BASE::~PNS_LOG_VIEWER_FRAME_BASE()
@@ -194,8 +206,5 @@ PNS_LOG_VIEWER_FRAME_BASE::~PNS_LOG_VIEWER_FRAME_BASE()
m_rewindPos->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onRewindCountText2 ), NULL, this );
m_rewindPos->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onRewindCountText ), NULL, this );
m_filterString->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onFilterText ), NULL, this );
m_chkShowRPItems->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowRPIsChecked ), NULL, this );
m_chkThinLines->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowThinLinesChecked ), NULL, this );
m_showVertices->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PNS_LOG_VIEWER_FRAME_BASE::onShowVerticesChecked ), NULL, this );
}
+5 -8
View File
@@ -22,7 +22,6 @@
#include <wx/button.h>
#include <wx/slider.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/sizer.h>
#include <wx/treelist.h>
@@ -44,7 +43,8 @@ class PNS_LOG_VIEWER_FRAME_BASE : public wxFrame
protected:
wxMenuBar* m_menubar1;
wxMenu* m_menu1;
wxMenu* m_menuFile;
wxMenu* m_menuView;
wxBoxSizer* m_mainSizer;
wxFlexGridSizer* m_topBarSizer;
wxStaticText* m_rewindText;
@@ -54,9 +54,6 @@ class PNS_LOG_VIEWER_FRAME_BASE : public wxFrame
wxTextCtrl* m_rewindPos;
wxStaticText* m_staticText2;
wxTextCtrl* m_filterString;
wxCheckBox* m_chkShowRPItems;
wxCheckBox* m_chkThinLines;
wxCheckBox* m_showVertices;
wxStaticText* m_algoStatus;
wxStaticText* m_ideLabel;
wxChoice* m_ideChoice;
@@ -73,15 +70,15 @@ class PNS_LOG_VIEWER_FRAME_BASE : public wxFrame
virtual void onOpen( wxCommandEvent& event ) { event.Skip(); }
virtual void onSaveAs( wxCommandEvent& event ) { event.Skip(); }
virtual void onExit( wxCommandEvent& event ) { event.Skip(); }
virtual void onShowRPIsChecked( wxCommandEvent& event ) { event.Skip(); }
virtual void onShowThinLinesChecked( wxCommandEvent& event ) { event.Skip(); }
virtual void onShowVerticesChecked( wxCommandEvent& event ) { event.Skip(); }
virtual void onBtnRewindLeft( wxCommandEvent& event ) { event.Skip(); }
virtual void onRewindScroll( wxScrollEvent& event ) { event.Skip(); }
virtual void onBtnRewindRight( wxCommandEvent& event ) { event.Skip(); }
virtual void onRewindCountText2( wxCommandEvent& event ) { event.Skip(); }
virtual void onRewindCountText( wxCommandEvent& event ) { event.Skip(); }
virtual void onFilterText( wxCommandEvent& event ) { event.Skip(); }
virtual void onShowRPIsChecked( wxCommandEvent& event ) { event.Skip(); }
virtual void onShowThinLinesChecked( wxCommandEvent& event ) { event.Skip(); }
virtual void onShowVerticesChecked( wxCommandEvent& event ) { event.Skip(); }
public:
@@ -245,6 +245,8 @@ void PNS_TEST_DEBUG_DECORATOR::Message( const wxString& msg, const SRC_LOCATION_
ent->m_srcLoc = aSrcLoc;
addEntry( ent );
printf("PNS: %s\n", msg.c_str().AsChar() );
#ifdef VERBOSE
static wxString lastMsg;