当前位置: 首页>>代码示例>>C++>>正文


C++ Worker::IsTargetAssigned方法代码示例

本文整理汇总了C++中Worker::IsTargetAssigned方法的典型用法代码示例。如果您正苦于以下问题:C++ Worker::IsTargetAssigned方法的具体用法?C++ Worker::IsTargetAssigned怎么用?C++ Worker::IsTargetAssigned使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Worker的用法示例。


在下文中一共展示了Worker::IsTargetAssigned方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ShowTargetSelection

void CPageDisk::ShowTargetSelection()
{
	Manager			*manager;
	Worker			*worker;
	HTREEITEM		hiface;
	int				w, i, expected_worker, iface_count, wkr_count;
	TargetSelType	state;
	Target_Spec		target_info;

	// Get the selected manager.
	manager = theApp.pView->m_pWorkerView->GetSelectedManager();
	// Get the first disk item from the target tree.
	hiface = m_TTargets.GetRootItem();

	switch ( theApp.pView->m_pWorkerView->GetSelectedType() )
	{
	case WORKER:
		// A worker is selected, show its assigned targets.
		worker = theApp.pView->m_pWorkerView->GetSelectedWorker();

		// Loop through the manager's disks, and mark which ones are selected
		// for the worker.
		iface_count = manager->InterfaceCount( GenericDiskType );
		for ( i = 0; i < iface_count; i++ )
		{
			if ( worker->IsTargetAssigned( manager->GetInterface(i, GenericDiskType)))
				SetSelectionCheck( hiface, TargetChecked );
			else
				SetSelectionCheck( hiface, TargetUnChecked );

			hiface = m_TTargets.GetNextSiblingItem( hiface );
		}
		break;

	case MANAGER:
		// Show the targets assigned to a manager's workers if possible.
		expected_worker = 0;

		// Loop through the manager's disks, and see if they are assigned
		// to the expected worker.  If not, gray all of them and return.
		iface_count = manager->InterfaceCount( GenericDiskType );
		wkr_count = manager->WorkerCount( GenericDiskType );
		for ( i = 0; i < iface_count; i++ )
		{
			memcpy( &target_info, manager->GetInterface( i, GenericDiskType ), 
				sizeof( Target_Spec ) );
			state = TargetUnChecked;
			for ( w = 0; w < wkr_count; w++ )
			{
				// If the disk is selected by any other than expected
				// worker, all the disk check boxes are grayed.
				if ( manager->GetWorker(w, GenericDiskType)->IsTargetAssigned(
					&target_info ) )
				{
					if ( w != expected_worker || state != TargetUnChecked )
					{
						SetAllCheck( TargetGrayed );
						return;
					}
					state = TargetChecked;
					if ( ++expected_worker == wkr_count )
					{
						expected_worker = 0;
					}
				}
			}
			SetSelectionCheck( hiface, state );
			hiface = m_TTargets.GetNextSiblingItem( hiface );
		}
		break;
	default:
		SetAllCheck( TargetGrayed );
		break;
	}
}
开发者ID:BackupTheBerlios,项目名称:iometer-svn,代码行数:75,代码来源:PageDisk.cpp


注:本文中的Worker::IsTargetAssigned方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。