[GME-commit] GMESRC/GME/MgaUtil ClosureDlg.cpp,1.1,1.2 ClosureDlg.h,1.1,1.2 MakeClosure.cpp,1.1,1.2 MgaClosure.cpp,1.1,1.2 MgaClosure.h,1.1,1.2 MgaUtil.rc,1.36,1.37 resource.h,1.23,1.24

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Wed Jun 30 13:50:49 CDT 2004


Update of /var/lib/gme/GMESRC/GME/MgaUtil
In directory braindrain:/tmp/cvs-serv23427/MgaUtil

Modified Files:
	ClosureDlg.cpp ClosureDlg.h MakeClosure.cpp MgaClosure.cpp 
	MgaClosure.h MgaUtil.rc resource.h 
Log Message:
Dumper/Parser changed for closure logic:
	-not to dump relids, childrelidscntrs in case of closure dump
	-libreferred and libderivedfrom (soft) attributes added, if the objects are found upon parsing the reference or instantiation is reproduced
Mga:
	-AbsPath property added for MgaObject: gives back the absolute path to an object
	-get_ObjectByPath search implemented for search based on kindnames


CVS User: zolmol

Index: ClosureDlg.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/ClosureDlg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ClosureDlg.cpp	2 Jun 2004 21:30:44 -0000	1.1
--- ClosureDlg.cpp	30 Jun 2004 17:50:47 -0000	1.2
***************
*** 38,41 ****
--- 38,42 ----
  	m_direction = -1;
  	m_wrappingOption = -1;
+ 	m_libraryHandling = -1;
  	//}}AFX_DATA_INIT
  }
***************
*** 72,75 ****
--- 73,77 ----
  	DDX_Radio(pDX, IDC_DIRECTIONUP, m_direction);
  	DDX_Radio(pDX, IDC_WRAPMINIPROJ, m_wrappingOption);
+ 	DDX_Radio(pDX, IDC_LIBR1, m_libraryHandling);
  	//}}AFX_DATA_MAP
  }
***************
*** 96,99 ****
--- 98,102 ----
  	m_outputOption = 0;		// clipboard
  	m_direction = 1;		// downward
+ 	m_libraryHandling = 0;	// stubs
  
  	// initially use the value of the activeFolderCntm since the direction is down

Index: ClosureDlg.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/ClosureDlg.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ClosureDlg.h	2 Jun 2004 21:30:44 -0000	1.1
--- ClosureDlg.h	30 Jun 2004 17:50:47 -0000	1.2
***************
*** 47,50 ****
--- 47,51 ----
  	int		m_direction;
  	int		m_wrappingOption;
+ 	int		m_libraryHandling;
  	//}}AFX_DATA
  

Index: MakeClosure.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MakeClosure.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MakeClosure.cpp	2 Jun 2004 21:30:44 -0000	1.1
--- MakeClosure.cpp	30 Jun 2004 17:50:47 -0000	1.2
***************
*** 4,8 ****
  #include "string"
  #include "map"
! 
  //
  // C O M M E N T
--- 4,9 ----
  #include "string"
  #include "map"
! #include "set"
! #include "algorithm"
  //
  // C O M M E N T
***************
*** 270,273 ****
--- 271,324 ----
  void CMakeClosure::processFolders()
  {
+ 	CComObjPtr<IMgaObject> o1, o2, o3, o4, o5, o6;
+ 	CComBSTR name;
+ 	name.Append("/@NewTOSFolder/@NewTOSFolderr/@NewTOSFolderRr/@I");
+ 	COMTHROW( m_project->get_ObjectByPath( name, PutOut( o1)));
+ 	if ( o1)
+ 	{
+ 				CComBSTR name2;
+ 				COMTHROW( o1->get_Name( &name2));
+ 	}
+ 	name = "";
+ 	name.Append("@NewTOSFolder/@NewTOSFolderr/@NewTOSFolderRr/@I");
+ 	COMTHROW( m_project->get_ObjectByPath( name, PutOut( o2)));
+ 	if ( o2)
+ 	{
+ 				CComBSTR name2;
+ 				COMTHROW( o2->get_Name( &name2));
+ 	}
+ 	name = "";
+ 	name.Append("/@tmp2/@NewTOSFolder/@NewTOSFolderr/@NewTOSFolderRr");
+ 	COMTHROW( m_project->get_ObjectByPath( name, PutOut( o3)));
+ 	if ( o3)
+ 	{
+ 				CComBSTR name2;
+ 				COMTHROW( o3->get_Name( &name2));
+ 	}
+ 	name = "";
+ 	name.Append("/@tmp2/");
+ 	COMTHROW( m_project->get_ObjectByPath( name, PutOut( o4)));
+ 	if ( o4)
+ 	{
+ 				CComBSTR name2;
+ 				COMTHROW( o4->get_Name( &name2));
+ 	}
+ 	name = "";
+ 	name.Append("/@tmp2/@");
+ 	COMTHROW( m_project->get_ObjectByPath( name, PutOut( o5)));
+ 	if ( o5)
+ 	{
+ 				CComBSTR name2;
+ 				COMTHROW( o5->get_Name( &name2));
+ 	}
+ 	name = "";
+ 	name.Append("/@tmp2");
+ 	COMTHROW( m_project->get_ObjectByPath( name, PutOut( o6)));
+ 	if ( o6)
+ 	{
+ 				CComBSTR name2;
+ 				COMTHROW( o6->get_Name( &name2));
+ 	}
+ 
  	unsigned int curr_start = 0;
  	bool continju = true;
***************
*** 278,281 ****
--- 329,334 ----
  		for( unsigned int j = curr_start; j < m_selFolds.size() && i != m_selFolds.end(); ++j, ++i)
  		{
+ 			CComBSTR name;
+ 			COMTHROW( m_selFolds[j]->get_AbsPath( &name));
  			procObj( m_selFolds[j]);
  		}
***************
*** 361,371 ****
  }
  
! void CMakeClosure::procSet( IMgaSet *set)
  {
! 	ASSERT( set != NULL );
! 	insertNew( set);
  
  	CComObjPtrVector<IMgaFCO> members;
! 	COMTHROW( set->get_Members( PutOut( members)) );
  	
  	if ( m_bSetMember)
--- 414,424 ----
  }
  
! void CMakeClosure::procSet( IMgaSet *one_set)
  {
! 	ASSERT( one_set != NULL );
! 	insertNew( one_set);
  
  	CComObjPtrVector<IMgaFCO> members;
! 	COMTHROW( one_set->get_Members( PutOut( members)) );
  	
  	if ( m_bSetMember)
***************
*** 1136,1249 ****
  void CMakeClosure::checkMeta()
  {
- 	vector< string > kinds;
- 	vector< string > folds;
- 
  	if ( m_topFcos.empty() && m_topFolds.empty()) return;
  
! 	CComObjPtrVector<IMgaFolder>::iterator fold_it = m_topFolds.begin();
! 	for( ; fold_it != m_topFolds.end(); ++fold_it)
  	{
! 		CComObjPtr<IMgaMetaFolder> j_meta;
! 		COMTHROW( (*fold_it)->get_MetaFolder( PutOut( j_meta)));
! 
! 		CComBstrObj name;
! 		string s;
! 		COMTHROW( j_meta->get_Name( PutOut(name)) );
! 		CopyTo( name, s);
! 
! 		folds.push_back( s);
! 	}
  
! 	CComObjPtrVector<IMgaFCO>::iterator fco_it = m_topFcos.begin();
! 	for( ; fco_it != m_topFcos.end(); ++fco_it)
! 	{
! 		CComObjPtr<IMgaMetaFCO> i_meta;
! 		COMTHROW( (*fco_it)->get_Meta( PutOut( i_meta)));
  
! 		CComBstrObj name;
! 		string s;
! 		COMTHROW( i_meta->get_Name( PutOut(name)) );
! 		CopyTo( name, s);
  
! 		kinds.push_back( s);
  	}
  
- 	CComObjPtr<IMgaMetaProject> metaproject;
- 	COMTHROW( m_project->get_RootMeta( PutOut( metaproject)));
- 
- 	CComObjPtr<IMgaMetaFolder> rf;
- 	COMTHROW( metaproject->get_RootFolder( PutOut( rf)));
- 
- 	vector< string > &possible_containers = m_acceptingKindsAndFolders;
- 
- 	if ( !rf) return;
  	
! 	// get the folders
! 	CComObjPtrVector<IMgaMetaFolder> subfolders;
! 	COMTHROW( rf->get_DefinedFolders( PutOut( subfolders)) );
! 
! 	subfolders.push_back( rf);
! 	
! 	// check which folder may contain the kinds (including root folder) in reverse order
! 	for( int j = subfolders.size() - 1; j >= 0 ; --j)
  	{
! 		bool conti = !(kinds.empty() && folds.empty()); // beware of kinds and folds emptiness
! 		for( unsigned int i = 0; conti && i < kinds.size(); ++i)
  		{
! 			CComPtr<IMgaMetaFCO> fco;
! 			subfolders[j]->get_LegalRootObjectByName( PutInBstr( kinds[i]), &fco);
! 			conti = fco != NULL;
  		}
! 		for( i = 0; conti && i < folds.size(); ++i)
  		{
! 			CComPtr<IMgaMetaFolder> folder;
! 			subfolders[j]->get_LegalChildFolderByName( PutInBstr( folds[i]), &folder);
! 			conti = folder != NULL;
  		}
! 
! 		if (conti)
  		{
! 			nop( subfolders[j]);
! 			CComBstrObj name; string s;
! 			COMTHROW( subfolders[j]->get_Name( PutOut( name)));
! 			CopyTo( name, s);
! 			possible_containers.push_back(s);
  		}
  	}
  
! 	// check the models
! 	CComObjPtrVector<IMgaMetaFCO> fcos;
! 	COMTHROW( rf->get_DefinedFCOs( PutOut( fcos)) );
! 	for( unsigned int k = 0; k < fcos.size(); ++k)
! 	{
! 		CComPtr<IMgaMetaFCO> fco = fcos[k];
! 		CComQIPtr<IMgaMetaModel> model = fco;
! 		if ( model)
  		{
! 			{
! 				nop( model);
  			}
! 			bool conti = !kinds.empty(); // take care when kinds is empty
! 			for( unsigned int i = 0; conti && i < kinds.size(); ++i)
  			{
! 				CComPtr<IMgaMetaRole> role;
! 				model->get_RoleByName( PutInBstr( kinds[i]), &role);
! 				conti = role != NULL;
! 				if ( role)
! 				{
! 					CComObjPtr<IMgaMetaFCO> fff;
! 					COMTHROW( role->get_Kind( PutOut( fff)) );
! 					nop( fff);
! 				}
  			}
! 			if (conti)
  			{
! 				nop( model);
! 				CComBstrObj name; string s;
! 				COMTHROW( model->get_Name( PutOut( name)));
! 				CopyTo( name, s);
! 				possible_containers.push_back(s);
  			}
  		}
  	}
  }
--- 1189,1322 ----
  void CMakeClosure::checkMeta()
  {
  	if ( m_topFcos.empty() && m_topFolds.empty()) return;
  
! 	//
! 	// looking for potential folder containers
! 	set < string > goody;
! 	for( CComObjPtrVector<IMgaFolder>::iterator fold_it = m_topFolds.begin(); fold_it != m_topFolds.end(); ++fold_it)
  	{
! 		// obtaining its meta
! 		CComObjPtr<IMgaMetaFolder> f_meta;
! 		COMTHROW( (*fold_it)->get_MetaFolder( PutOut( f_meta)));
  
! 		// will store the folder parents this folder may be part of
! 		set < string > actual;
! 		CComObjPtrVector<IMgaMetaFolder> act_vec;
! 		f_meta->get_UsedInFolders( PutOut( act_vec) );
! 		for( CComObjPtrVector<IMgaMetaFolder>::iterator a_i = act_vec.begin(); a_i != act_vec.end(); ++a_i)
! 		{
! 			CComBstrObj name;
! 			COMTHROW( (*a_i)->get_Name( PutOut(name)) );
! 			string s;
! 			CopyTo( name, s);
  
! 			actual.insert( s);
! 		}
  
! 		// calculate the intersection of the possible parent folders
! 		if ( goody.empty())
! 		{
! 			goody = actual;
! 		}
! 		else
! 		{
! 			set < string > res;
! 			set_intersection( goody.begin(), goody.end(), actual.begin(), actual.end(), inserter( res, res.begin()));
! 			goody = res;
! 		}
  	}
  
  	
! 	for( CComObjPtrVector<IMgaFCO>::iterator kind_it = m_topFcos.begin(); kind_it != m_topFcos.end(); ++kind_it)
  	{
! 		// obtaining its meta
! 		CComObjPtr<IMgaMetaFCO> k_meta;
! 		COMTHROW( (*kind_it)->get_Meta( PutOut( k_meta)));
! 
! 		// will store the folder parents this fco may be part of
! 		set < string > actual;
! 		CComObjPtrVector<IMgaMetaFolder> act_vec;
! 		k_meta->get_UsedInFolders( PutOut( act_vec) );
! 		for( CComObjPtrVector<IMgaMetaFolder>::iterator a_i = act_vec.begin(); a_i != act_vec.end(); ++a_i)
  		{
! 			CComBstrObj name;
! 			COMTHROW( (*a_i)->get_Name( PutOut(name)) );
! 			string s;
! 			CopyTo( name, s);
! 
! 			actual.insert( s);
  		}
! 
! 		// calculate the intersection of the possible parent folders ( goody might be already filled from the cycle before)
! 		if ( goody.empty()) // if good_set is empty set it
  		{
! 			goody = actual;
  		}
! 		else
  		{
! 			set < string > res;
! 			set_intersection( goody.begin(), goody.end(), actual.begin(), actual.end(), inserter( res, res.begin()));
! 			goody = res;
  		}
  	}
  
! 	// these folders may contain all objects ( topFCOs and topFolders)
! 	for( set< string > :: iterator git = goody.begin(); git != goody.end(); ++git)
! 		m_acceptingKindsAndFolders.push_back( *git);
! 
! 	
! 	//
! 	// looking for potential model containers
! 	
! 	if ( m_topFolds.empty()) // if folds needed to be inserted then models positively are not possible containers
! 	{	
! 		// will store the intersection of accepting models
! 		set < string > goody_models;
! 		CComObjPtrVector<IMgaFCO>::iterator fco_it = m_topFcos.begin();
! 		for( ; fco_it != m_topFcos.end(); ++fco_it)
  		{
! 			// will store the names of those models which may contain this kind (*fco_it)
! 			set < string > actual_models;
! 			CComObjPtr<IMgaMetaFCO> k_meta;
! 			COMTHROW( (*fco_it)->get_Meta( PutOut( k_meta)));
! 			
! 			// when checking the possible container kinds it is enough if we check the kind
! 			// name matching, since an acceptable kind (even with different role) can be inserted 
! 			// into a model (if ambiguities exist the resolver is invoked)
! 			// that is why the role the topFCOs have in the containing models is ignored
! 
! 			CComPtr<IMgaMetaRoles> roles;
! 			k_meta->get_UsedInRoles( &roles); // the fco may be used in these roles in the models (in this paradigm)
! 			MGACOLL_ITERATE(IMgaMetaRole, roles) {
! 				// the parent model may contain the kind
! 				CComObjPtr<IMgaMetaModel> m;
! 				COMTHROW( MGACOLL_ITER->get_ParentModel( PutOut( m)));
! 
! 				// take its name
! 				CComBstrObj name;
! 				COMTHROW( m->get_Name( PutOut(name)) );
! 				string s;
! 				CopyTo( name, s); // we have the name of a kind that may appear in the model
! 
! 				actual_models.insert( s);
  			}
! 			MGACOLL_ITERATE_END; 
! 
! 			// calculate the intersection of the possible parent models
! 			if ( goody_models.empty()) // set if not set already
  			{
! 				goody_models = actual_models;
  			}
! 			else
  			{
! 				set < string > res;
! 				set_intersection( goody_models.begin(), goody_models.end(), actual_models.begin(), actual_models.end(), inserter( res, res.begin()));
! 				goody_models = res;
  			}
  		}
+ 
+ 		// these models may contain all objects ( topFCOs only since topFolders is empty)
+ 		for( set < string > :: iterator gid = goody_models.begin(); gid != goody_models.end(); ++gid)
+ 			m_acceptingKindsAndFolders.push_back( *gid);
  	}
  }

Index: MgaClosure.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaClosure.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MgaClosure.cpp	2 Jun 2004 21:30:44 -0000	1.1
--- MgaClosure.cpp	30 Jun 2004 17:50:47 -0000	1.2
***************
*** 10,16 ****
  	IMgaFCOs *in_fcos, IMgaFolders *in_folders, 
  	IMgaFCOs **sel_fcos, IMgaFolders **sel_folders, 
! 	IMgaFCOs **top_fcos, IMgaFolders **top_folders, int fc) 
  {
  	AFX_MANAGE_STATE( AfxGetStaticModuleState());
  
  	CWaitCursor w;
--- 10,18 ----
  	IMgaFCOs *in_fcos, IMgaFolders *in_folders, 
  	IMgaFCOs **sel_fcos, IMgaFolders **sel_folders, 
! 	IMgaFCOs **top_fcos, IMgaFolders **top_folders, 
! 	int fc,	long * pOptions) 
  {
  	AFX_MANAGE_STATE( AfxGetStaticModuleState());
+ 	ASSERT( pOptions);
  
  	CWaitCursor w;
***************
*** 28,32 ****
  			dlg.m_direction?dlg.m_bFolderContainment:0, !dlg.m_direction?dlg.m_bPartOfFolders:0, 
  			dlg.m_bBaseTypes, dlg.m_bDerivedTypes, 
! 			dlg.m_bDigIntoLibraries, 
  			dlg.m_wrappingOption,
  			dlg.m_direction);
--- 30,35 ----
  			dlg.m_direction?dlg.m_bFolderContainment:0, !dlg.m_direction?dlg.m_bPartOfFolders:0, 
  			dlg.m_bBaseTypes, dlg.m_bDerivedTypes, 
! 			//dlg.m_bDigIntoLibraries, 
! 			dlg.m_libraryHandling == 2, // in case of "continue" ("go on") only
  			dlg.m_wrappingOption,
  			dlg.m_direction);
***************
*** 56,59 ****
--- 59,64 ----
  		}
  
+ 		*pOptions = 0;
+ 		*pOptions = (dlg.m_libraryHandling == 0)?0x1:0; // in case of "stubs" set the options to 1
  
  		if ( dlg.m_outputOption == 1) // dump to a file
***************
*** 65,69 ****
  			case 0:
  				{
! 					COMTHROW( dumper->DumpClos( *sel_fcos, *sel_folders, PutInBstr( dlg.m_strOutputFile)) );
  
  					break;
--- 70,74 ----
  			case 0:
  				{
! 					COMTHROW( dumper->DumpClos( *sel_fcos, *sel_folders, PutInBstr( dlg.m_strOutputFile), *pOptions) );
  
  					break;
***************
*** 73,82 ****
  				{
  					if ( normal_tops)
! 						COMTHROW( dumper->DumpClosR( *sel_fcos, *sel_folders, PutInBstr( dlg.m_strOutputFile), *top_fcos, *top_folders));
  					else 
  						// dump like in miniproject case from The RootFolder
  						// if the data is copied to clipboard then the DumpClosR will call the 
  						// DumpClos when it will realize the topfco and topfolders are empty
! 						COMTHROW( dumper->DumpClos( *sel_fcos, *sel_folders, PutInBstr( dlg.m_strOutputFile)) );
  
  					*top_fcos = 0;
--- 78,87 ----
  				{
  					if ( normal_tops)
! 						COMTHROW( dumper->DumpClosR( *sel_fcos, *sel_folders, PutInBstr( dlg.m_strOutputFile), *top_fcos, *top_folders, *pOptions) );
  					else 
  						// dump like in miniproject case from The RootFolder
  						// if the data is copied to clipboard then the DumpClosR will call the 
  						// DumpClos when it will realize the topfco and topfolders are empty
! 						COMTHROW( dumper->DumpClos( *sel_fcos, *sel_folders, PutInBstr( dlg.m_strOutputFile), *pOptions) );
  
  					*top_fcos = 0;

Index: MgaClosure.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaClosure.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MgaClosure.h	2 Jun 2004 21:30:44 -0000	1.1
--- MgaClosure.h	30 Jun 2004 17:50:47 -0000	1.2
***************
*** 23,27 ****
  // ------- Properties
  
! 	STDMETHOD(SelectiveClosure)( IMgaFCOs *in_fcos, IMgaFolders *in_folders, IMgaFCOs **sel_fcos, IMgaFolders **sel_folders, IMgaFCOs **top_fcos, IMgaFolders **top_folders, int fc = 0);
  
  // ------- Attributes and Methods
--- 23,27 ----
  // ------- Properties
  
! 	STDMETHOD(SelectiveClosure)( IMgaFCOs *in_fcos, IMgaFolders *in_folders, IMgaFCOs **sel_fcos, IMgaFolders **sel_folders, IMgaFCOs **top_fcos, IMgaFolders **top_folders, int fc, long * options);
  
  // ------- Attributes and Methods

Index: MgaUtil.rc
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaUtil.rc,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** MgaUtil.rc	10 Jun 2004 22:07:11 -0000	1.36
--- MgaUtil.rc	30 Jun 2004 17:50:47 -0000	1.37
***************
*** 433,437 ****
  END
  
! IDD_CLOSUREDLG DIALOG DISCARDABLE  0, 0, 280, 202
  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "Selective Closure"
--- 433,437 ----
  END
  
! IDD_CLOSUREDLG DIALOG DISCARDABLE  0, 0, 280, 234
  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "Selective Closure"
***************
*** 446,453 ****
      CONTROL         "Part of Models",IDC_CHECKPARTOFMODEL,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,86,15,61,8
-     CONTROL         "Part of Folders",IDC_CHECKPARTOFFOLDERS,"Button",
-                     BS_AUTOCHECKBOX | WS_TABSTOP,164,15,61,8
      CONTROL         "Containment",IDC_CHECKCONTAINMENT,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,86,26,77,8
      CONTROL         "Folder Containment",IDC_CHECKFOLDERCONTAINMENT,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,164,26,77,8
--- 446,453 ----
      CONTROL         "Part of Models",IDC_CHECKPARTOFMODEL,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,86,15,61,8
      CONTROL         "Containment",IDC_CHECKCONTAINMENT,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,86,26,77,8
+     CONTROL         "Part of Folders",IDC_CHECKPARTOFFOLDERS,"Button",
+                     BS_AUTOCHECKBOX | WS_TABSTOP,164,15,61,8
      CONTROL         "Folder Containment",IDC_CHECKFOLDERCONTAINMENT,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,164,26,77,8
***************
*** 465,499 ****
                      BS_AUTOCHECKBOX | WS_TABSTOP,164,58,77,8
      CONTROL         "Into Libraries",IDC_DIGINTOLIBRARY,"Button",
!                     BS_AUTOCHECKBOX | WS_TABSTOP,164,69,61,8
      CONTROL         "Derived type of",IDC_CHECKSUBTYPES,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,164,80,61,8
      CONTROL         "Miniproject",IDC_WRAPMINIPROJ,"Button",
!                     BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,26,108,49,8
!     CONTROL         "Automatic",IDC_WRAPAUTO,"Button",BS_AUTORADIOBUTTON | 
!                     WS_TABSTOP,120,108,49,8
!     CONTROL         "As is",IDC_WRAPASIS,"Button",BS_AUTORADIOBUTTON | 
!                     WS_TABSTOP,214,108,32,8
      CONTROL         "Clipboard",IDC_OUTPUTTOCLIPBOARD,"Button",
!                     BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,25,136,49,9
      CONTROL         "File",IDC_OUTPUTTOFILE,"Button",BS_AUTORADIOBUTTON,25,
!                     148,25,9
!     EDITTEXT        IDC_EDIT1,56,146,163,12,ES_AUTOHSCROLL
!     PUSHBUTTON      " ... ",IDC_BROWSE,229,146,15,12
!     DEFPUSHBUTTON   "OK",IDOK,63,175,50,14
!     PUSHBUTTON      "Cancel",IDCANCEL,157,175,50,14
!     GROUPBOX        "Wrap selected closure",IDC_STATIC,21,98,236,22
!     GROUPBOX        "Output to",IDC_STATIC,21,125,235,38
  END
  
! IDD_CLOSURERES DIALOG DISCARDABLE  0, 0, 274, 126
  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "Selective Closure Result"
  FONT 8, "MS Sans Serif"
  BEGIN
!     DEFPUSHBUTTON   "OK",IDOK,212,30,50,14
!     PUSHBUTTON      "Cancel",IDCANCEL,211,69,50,14
      LISTBOX         IDC_LIST1,31,22,160,82,LBS_NOINTEGRALHEIGHT | LBS_NOSEL | 
                      WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
!     GROUPBOX        "Folders or Kinds the closure can be inserted to",
                      IDC_STATIC,21,10,178,103
  END
--- 465,505 ----
                      BS_AUTOCHECKBOX | WS_TABSTOP,164,58,77,8
      CONTROL         "Into Libraries",IDC_DIGINTOLIBRARY,"Button",
!                     BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,164,69,61,8
      CONTROL         "Derived type of",IDC_CHECKSUBTYPES,"Button",
                      BS_AUTOCHECKBOX | WS_TABSTOP,164,80,61,8
+     GROUPBOX        "Library element handling",IDC_STATIC,21,99,132,51
+     CONTROL         "Use stubs",IDC_LIBR1,"Button",BS_AUTORADIOBUTTON | 
+                     WS_GROUP | WS_TABSTOP,34,112,61,8
+     CONTROL         "Do not include in closure (stop)",IDC_LIBR2,"Button",
+                     BS_AUTORADIOBUTTON,34,124,115,8
+     CONTROL         "Include in closure (continue)",IDC_LIBR3,"Button",
+                     BS_AUTORADIOBUTTON,34,136,116,8
+     GROUPBOX        "Wrap selected closure",IDC_STATIC,159,99,98,51
      CONTROL         "Miniproject",IDC_WRAPMINIPROJ,"Button",
!                     BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,171,112,49,8
!     CONTROL         "Automatic",IDC_WRAPAUTO,"Button",BS_AUTORADIOBUTTON,171,
!                     124,49,8
!     CONTROL         "As is",IDC_WRAPASIS,"Button",BS_AUTORADIOBUTTON,171,136,
!                     32,8
!     GROUPBOX        "Output to",IDC_STATIC,21,158,235,38
      CONTROL         "Clipboard",IDC_OUTPUTTOCLIPBOARD,"Button",
!                     BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,25,169,49,9
      CONTROL         "File",IDC_OUTPUTTOFILE,"Button",BS_AUTORADIOBUTTON,25,
!                     181,25,9
!     EDITTEXT        IDC_EDIT1,56,179,163,12,ES_AUTOHSCROLL
!     PUSHBUTTON      " ... ",IDC_BROWSE,229,179,15,12
!     DEFPUSHBUTTON   "OK",IDOK,63,208,50,14
!     PUSHBUTTON      "Cancel",IDCANCEL,157,208,50,14
  END
  
! IDD_CLOSURERES DIALOG DISCARDABLE  0, 0, 275, 127
  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "Selective Closure Result"
  FONT 8, "MS Sans Serif"
  BEGIN
!     DEFPUSHBUTTON   "Close",IDOK,211,15,50,14
      LISTBOX         IDC_LIST1,31,22,160,82,LBS_NOINTEGRALHEIGHT | LBS_NOSEL | 
                      WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
!     GROUPBOX        "Folders and Models the Closure can be pasted in:",
                      IDC_STATIC,21,10,178,103
  END
***************
*** 715,719 ****
          RIGHTMARGIN, 273
          TOPMARGIN, 7
!         BOTTOMMARGIN, 195
      END
  
--- 721,725 ----
          RIGHTMARGIN, 273
          TOPMARGIN, 7
!         BOTTOMMARGIN, 227
      END
  
***************
*** 721,727 ****
      BEGIN
          LEFTMARGIN, 7
!         RIGHTMARGIN, 267
          TOPMARGIN, 7
!         BOTTOMMARGIN, 119
      END
  END
--- 727,733 ----
      BEGIN
          LEFTMARGIN, 7
!         RIGHTMARGIN, 268
          TOPMARGIN, 7
!         BOTTOMMARGIN, 120
      END
  END

Index: resource.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/resource.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** resource.h	10 Jun 2004 22:07:11 -0000	1.23
--- resource.h	30 Jun 2004 17:50:47 -0000	1.24
***************
*** 43,48 ****
--- 43,50 ----
  #define IDC_CONNTYPE                    1035
  #define IDC_RADIO8                      1036
+ #define IDC_LIBR1                       1036
  #define IDC_RADIO9                      1037
  #define IDC_CONNROLE                    1037
+ #define IDC_LIBR2                       1037
  #define IDC_CONNID                      1038
  #define IDC_CONNOBJID                   1038
***************
*** 173,176 ****
--- 175,179 ----
  #define IDC_CHECKPARTOFFOLDERS          2240
  #define IDC_LIST1                       2241
+ #define IDC_LIBR3                       2242
  #define ID_CNTX_ADDNODE                 32774
  #define ID_CNTX_CLEARNODE               32775
***************
*** 184,188 ****
  #define _APS_NEXT_RESOURCE_VALUE        2067
  #define _APS_NEXT_COMMAND_VALUE         32778
! #define _APS_NEXT_CONTROL_VALUE         2242
  #define _APS_NEXT_SYMED_VALUE           2091
  #endif
--- 187,191 ----
  #define _APS_NEXT_RESOURCE_VALUE        2067
  #define _APS_NEXT_COMMAND_VALUE         32778
! #define _APS_NEXT_CONTROL_VALUE         2243
  #define _APS_NEXT_SYMED_VALUE           2091
  #endif



More information about the GME-commit mailing list