[GME-commit] GMESRC/Tools/AutoLayout DlgAutoLayout.cpp,1.1,1.2 DlgAutoLayout.h,1.1,1.2 GMEGraph.cpp,1.1,1.2 GMEGraph.h,1.1,1.2 RawComponent.cpp,1.1,1.2

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Mon Apr 26 13:11:34 CDT 2004


Update of /var/lib/gme/GMESRC/Tools/AutoLayout
In directory braindrain:/tmp/cvs-serv7144

Modified Files:
	DlgAutoLayout.cpp DlgAutoLayout.h GMEGraph.cpp GMEGraph.h 
	RawComponent.cpp 
Log Message:
no message

CVS User: bogyom

Index: DlgAutoLayout.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Tools/AutoLayout/DlgAutoLayout.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** DlgAutoLayout.cpp	23 Apr 2004 21:51:44 -0000	1.1
--- DlgAutoLayout.cpp	26 Apr 2004 17:11:31 -0000	1.2
***************
*** 45,50 ****
      m_graph.Invalidate(FALSE);
      m_graph.UpdateWindow();
!     //Invalidate(FALSE);
!     UpdateWindow();
  }
    
--- 45,57 ----
      m_graph.Invalidate(FALSE);
      m_graph.UpdateWindow();
! 
! 
!     m_updateTime++;
!     if( m_updateTime > 50 )
!     {
!         m_updateTime = 0;
!         Invalidate(FALSE);
!         UpdateWindow();
!     }
  }
    
***************
*** 178,242 ****
  void CDlgAutoLayout::OnButton1()
  {
!     UpdateData();
  
!     m_progressOptimization.ShowWindow( SW_SHOW );
!     m_progressAspect.ShowWindow( SW_SHOW );
!     m_progressAspect.SetPos(1);
!     m_progressAspect.UpdateWindow();
      
!     int selNum = m_listAspects.GetSelCount();
!     int aspectsProcessed = 0;
  
!     if( selNum == 0 )
!         return;
  
!     for( int i=0; i<m_listAspects.GetCount(); ++i )
!     {
!         if( m_listAspects.GetSel(i) > 0 )
          {
!             aspectsProcessed++;
!             m_progressAspect.SetPos( (int)(100*aspectsProcessed/(double)selNum) );
  
!             CComObjPtr<IMgaMetaAspect>  aspect;
!             COMTHROW( m_metaAspects->get_Item( i+1, PutOut(aspect) ) );
  
!             // oprimize aspect layout
!             GMEGraph graph( m_project, m_model, aspect );
!             LayoutOptimizer optimizer( &graph );
!             optimizer.optimize( this, m_startFromScratch>0 );    
!             m_currentSolution = NULL;
!             m_graph.Invalidate(FALSE);
  
!             // write back results to gme
!             CComObjPtr<IMgaParts> parts;
!             long   n;
!             COMTHROW( m_model->get_AspectParts(aspect, 0, PutOut(parts)) );
!             COMTHROW( parts->get_Count(&n) );
  
!             for( int i=0; i<n; ++i )
!             {
!                 CComObjPtr<IMgaPart>     part;
!                 CComObjPtr<IMgaFCO>      fco;
!                 CComBSTR                 icon;
!                 long                     x,y;
  
!                 COMTHROW( parts->get_Item(i+1, PutOut(part)) );
!                 COMTHROW( part->get_FCO(PutOut(fco)) );
  
!                 for( int j=0; j<graph.m_nodes.size(); ++j )
!                 {
!                     if( fco == graph.m_nodes[j]->m_fco )
                      {
!                         COMTHROW( part->GetGmeAttrs(&icon, &x, &y) );
!                         COMTHROW( part->SetGmeAttrs(icon, graph.m_nodes[j]->m_x, graph.m_nodes[j]->m_y) );
                      }
                  }
              }
          }
-     }
- 
-     m_progressOptimization.ShowWindow( SW_HIDE );
-     m_progressAspect.ShowWindow( SW_HIDE );    
  
      CDialog::OnOK();
  }
--- 185,258 ----
  void CDlgAutoLayout::OnButton1()
  {
!     try
!     {
!         UpdateData();
  
!         m_progressOptimization.ShowWindow( SW_SHOW );
!         m_progressAspect.ShowWindow( SW_SHOW );
!         m_progressAspect.SetPos(1);
!         m_progressAspect.UpdateWindow();
      
!         int selNum = m_listAspects.GetSelCount();
!         int aspectsProcessed = 0;
  
!         if( selNum == 0 )
!             return;
  
!         for( int i=0; i<m_listAspects.GetCount(); ++i )
          {
!             if( m_listAspects.GetSel(i) > 0 )
!             {
!                 aspectsProcessed++;
!                 m_progressAspect.SetPos( (int)(100*aspectsProcessed/(double)selNum) );
  
!                 CComObjPtr<IMgaMetaAspect>  aspect;
!                 COMTHROW( m_metaAspects->get_Item( i+1, PutOut(aspect) ) );
  
!                 // oprimize aspect layout
!                 GMEGraph graph( m_project, m_model, aspect );
!                 LayoutOptimizer optimizer( &graph );
!                 m_updateTime = 0;
!                 optimizer.optimize( this, m_startFromScratch>0 );    
!                 m_currentSolution = NULL;
!                 m_graph.Invalidate(FALSE);
  
!                 // write back results to gme
!                 CComObjPtr<IMgaParts> parts;
!                 long   n;
!                 COMTHROW( m_model->get_AspectParts(aspect, 0, PutOut(parts)) );
!                 COMTHROW( parts->get_Count(&n) );
  
!                 for( int i=0; i<n; ++i )
!                 {
!                     CComObjPtr<IMgaPart>     part;
!                     CComObjPtr<IMgaFCO>      fco;
!                     CComBSTR                 icon;
!                     long                     x,y;
  
!                     COMTHROW( parts->get_Item(i+1, PutOut(part)) );
!                     COMTHROW( part->get_FCO(PutOut(fco)) );
  
!                     for( int j=0; j<graph.m_nodes.size(); ++j )
                      {
!                         if( fco == graph.m_nodes[j]->m_fco )
!                         {
!                             COMTHROW( part->GetGmeAttrs(&icon, &x, &y) );
!                             COMTHROW( part->SetGmeAttrs(icon, graph.m_nodes[j]->m_x, graph.m_nodes[j]->m_y) );
!                         }
                      }
                  }
              }
          }
  
+         m_progressOptimization.ShowWindow( SW_HIDE );
+         m_progressAspect.ShowWindow( SW_HIDE );    
+     }
+     catch(...)
+     {
+         AfxMessageBox("An internal error occurred in AutoLayout component. Error code = 1");
+         CDialog::OnCancel();
+     }
+     
      CDialog::OnOK();
  }

Index: DlgAutoLayout.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Tools/AutoLayout/DlgAutoLayout.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** DlgAutoLayout.h	23 Apr 2004 21:51:44 -0000	1.1
--- DlgAutoLayout.h	26 Apr 2004 17:11:31 -0000	1.2
***************
*** 67,70 ****
--- 67,72 ----
      CComObjPtr<IMgaMetaAspects> m_metaAspects;    
  
+     int                         m_updateTime;
+ 
  	// Generated message map functions
  	//{{AFX_MSG(CDlgAutoLayout)

Index: GMEGraph.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Tools/AutoLayout/GMEGraph.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** GMEGraph.cpp	23 Apr 2004 21:51:44 -0000	1.1
--- GMEGraph.cpp	26 Apr 2004 17:11:31 -0000	1.2
***************
*** 79,88 ****
              node->m_fco = fco;
              node->m_fco->AddRef();
!             
!                             
              CComObjPtr<IMgaFCOs> fcos;
              COMTHROW( decorator->GetPorts(PutOut(fcos)) );
!             long fcoNum;
!             COMTHROW( fcos->get_Count(&fcoNum) );
              for( int j=0; j<fcoNum; ++j )
              {
--- 79,88 ----
              node->m_fco = fco;
              node->m_fco->AddRef();
!                                         
              CComObjPtr<IMgaFCOs> fcos;
              COMTHROW( decorator->GetPorts(PutOut(fcos)) );
!             long fcoNum = 0;
!             if( fcos!=NULL )
!                 COMTHROW( fcos->get_Count(&fcoNum) );
              for( int j=0; j<fcoNum; ++j )
              {
***************
*** 149,153 ****
              {
                  Edge * e = new Edge( nodeFrom, nodeTo );
!                 setRoutingPrefs(e);              
                  m_edges.push_back( e );
                  nodeFrom->m_edges.push_back( e );
--- 149,158 ----
              {
                  Edge * e = new Edge( nodeFrom, nodeTo );
! 
!                 CComBSTR prefs;
!                 COMTHROW( fco->get_RegistryValue( L"autorouterPref", &prefs ) );
!                 CString prefs2(prefs);
!                 setRoutingPrefs(e,prefs2);
! 
                  m_edges.push_back( e );
                  nodeFrom->m_edges.push_back( e );
***************
*** 182,186 ****
  }
  
! void GMEGraph::setRoutingPrefs( Edge * e )
  {
      bool nodeFromIsPort = (e->m_nodeFrom->m_parent != NULL);
--- 187,191 ----
  }
  
! void GMEGraph::setRoutingPrefs( Edge * e, CString connPrefs )
  {
      bool nodeFromIsPort = (e->m_nodeFrom->m_parent != NULL);
***************
*** 199,203 ****
          COMTHROW( e->m_nodeFrom->m_fco->get_RegistryValue( L"autorouterPref", &prefs ) );
          CString prefs2(prefs);
!         if( prefs.Length() > 0 )
          {
              bool N = prefs2.Find("N")!=-1;
--- 204,210 ----
          COMTHROW( e->m_nodeFrom->m_fco->get_RegistryValue( L"autorouterPref", &prefs ) );
          CString prefs2(prefs);
!         if( connPrefs.GetLength() > 0 )
!             prefs2 = connPrefs;
!         if( prefs2.GetLength() > 0 )
          {
              bool N = prefs2.Find("N")!=-1;
***************
*** 225,229 ****
          COMTHROW( e->m_nodeTo->m_fco->get_RegistryValue( L"autorouterPref", &prefs ) );
          CString prefs2(prefs);
!         if( prefs.Length() > 0 )
          {
              bool N = prefs2.Find("n")!=-1;
--- 232,238 ----
          COMTHROW( e->m_nodeTo->m_fco->get_RegistryValue( L"autorouterPref", &prefs ) );
          CString prefs2(prefs);
!         if( connPrefs.GetLength() > 0 )
!             prefs2 = connPrefs;
!         if( prefs2.GetLength() > 0 )
          {
              bool N = prefs2.Find("n")!=-1;

Index: GMEGraph.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Tools/AutoLayout/GMEGraph.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** GMEGraph.h	23 Apr 2004 21:51:44 -0000	1.1
--- GMEGraph.h	26 Apr 2004 17:11:31 -0000	1.2
***************
*** 19,23 ****
      Node *  findFCO            ( IMgaFCO * fco );
  
!     void    setRoutingPrefs    ( Edge * edge );
  
  };
--- 19,23 ----
      Node *  findFCO            ( IMgaFCO * fco );
  
!     void    setRoutingPrefs    ( Edge * edge, CString connPrefs );
  
  };

Index: RawComponent.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Tools/AutoLayout/RawComponent.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RawComponent.cpp	23 Apr 2004 21:51:44 -0000	1.1
--- RawComponent.cpp	26 Apr 2004 17:11:31 -0000	1.2
***************
*** 65,69 ****
              CDlgAutoLayout dlg;
              dlg.initialzie( project, (IMgaModel*)currentobj );
!             dlg.DoModal();
  
              COMTHROW( project->CommitTransaction() );
--- 65,70 ----
              CDlgAutoLayout dlg;
              dlg.initialzie( project, (IMgaModel*)currentobj );
!             if( dlg.DoModal() != IDOK )
!                 throw 0;
  
              COMTHROW( project->CommitTransaction() );
***************
*** 71,75 ****
          catch(...)         
          { 
-             AfxMessageBox("Valami szar van");
              project->AbortTransaction(); 
          }		
--- 72,75 ----



More information about the GME-commit mailing list