setWorkspace( TWorkspace* ws )\r
{\r
this->m_Workspace = ws;\r
- this->m_Graph = TGraph::New( );\r
+ this->redrawWorkspace( );\r
+}\r
\r
+// -------------------------------------------------------------------------\r
+void cpBaseQtApplication::Editor::\r
+redrawWorkspace( )\r
+{\r
+ if( this->m_Workspace == NULL )\r
+ return;\r
+ \r
// Create blocks\r
+ std::map< std::string, Block* > blocks;\r
auto vIt = this->m_Workspace->GetGraph( )->BeginVertices( );\r
auto vIt_end = this->m_Workspace->GetGraph( )->EndVertices( );\r
for( ; vIt != vIt_end; ++vIt )\r
vIt->first.c_str( ),\r
QPointF( vIt->second->GetViewX( ), vIt->second->GetViewY( ) )\r
);\r
- if( b != NULL )\r
- this->m_Graph->SetVertex( vIt->first, b );\r
+ blocks[ vIt->first ] = b;\r
\r
} // rof\r
\r
auto rIt_end = this->m_Workspace->GetGraph( )->EndEdgesRows( );\r
for( ; rIt != rIt_end; ++rIt )\r
{\r
- Block* orig = this->m_Graph->GetVertex( rIt->first );\r
+ Block* orig = blocks[ rIt->first ];\r
auto cIt = rIt->second.begin( );\r
for( ; cIt != rIt->second.end( ); ++cIt )\r
{\r
- Block* dest = this->m_Graph->GetVertex( cIt->first );\r
+ Block* dest = blocks[ cIt->first ];\r
auto eIt = cIt->second.begin( );\r
for( ; eIt != cIt->second.end( ); ++eIt )\r
{\r
c->setPort2( ip );\r
c->updatePosFromPorts( );\r
c->updatePath( );\r
- this->m_Graph->AddEdge( rIt->first, cIt->first, c );\r
\r
} // rof\r
\r
bool cpBaseQtApplication::Editor::\r
deleteFilter( const std::string& name )\r
{\r
- std::cout << name << std::endl;\r
- return( false );\r
+ if( this->m_Workspace != NULL )\r
+ return( this->m_Workspace->RemoveFilter( name ) );\r
+ else\r
+ return( false );\r
}\r
\r
// -------------------------------------------------------------------------\r
const std::string& in, const std::string& out\r
)\r
{\r
- std::cout\r
- << src << " "\r
- << des << " "\r
- << in << " "\r
- << out << std::endl;\r
- return( false );\r
+ if( this->m_Workspace != NULL )\r
+ return( this->m_Workspace->Disconnect( src, des, in, out ) );\r
+ else\r
+ return( false );\r
}\r
\r
// -------------------------------------------------------------------------\r
void cpBaseQtApplication::Editor::\r
clear( )\r
{\r
- std::cout << "Editor::clear" << std::endl;\r
+ std::cout << "Editor: clear" << std::endl;\r
+ /* TODO\r
+ auto vIt = this->m_Graph.BeginVertices( );\r
+ for( ; vIt != this->m_Graph.EndVertices( ); ++vIt )\r
+ {\r
+ } // rof\r
+ */\r
}\r
\r
// -------------------------------------------------------------------------\r
// -------------------------------------------------------------------------\r
cpBaseQtApplication_Editor_Callback_CODE( MouseDoubleClick )\r
{\r
+ /* TODO\r
QGraphicsItem* item = this->itemAt( evt->scenePos( ) );\r
if( item == NULL )\r
return;\r
} // fi\r
}\r
break;\r
- /* TODO:\r
case Qt::RightButton:\r
{\r
}\r
{\r
}\r
break;\r
- */\r
default:\r
break;\r
} // hctiws\r
+ */\r
}\r
\r
// -------------------------------------------------------------------------\r
port1->name( ).toStdString( ),\r
port2->name( ).toStdString( )\r
);\r
- this->m_Graph->AddEdge(\r
- port1->block( )->namePort( ).toStdString( ),\r
- port2->block( )->namePort( ).toStdString( ),\r
- this->m_ActualConnection\r
- );\r
}\r
else\r
delete this->m_ActualConnection;\r