Exemplo n.º 1
0
bool 
BSlowContextMenu::AddDynamicItem(add_state state)
{
	if (fMenuBuilt)
		return false;
	
	if (state == B_ABORT) {
		ClearMenuBuildingState();
		return false;
	}

	if (state == B_INITIAL_ADD && !StartBuildingItemList()) {
		ClearMenuBuildingState();
		return false;
	}

	bigtime_t timeToBail = system_time() + kMaxTimeBuildingMenu;
	for (int32 count = 0; count < kItemsToAddChunk; count++) {
		if (!AddNextItem()) {
			fMenuBuilt = true;
			DoneBuildingItemList();
			ClearMenuBuildingState();
			return false;
				// done with menu, don't call again
		}
		if (system_time() > timeToBail)
			// we have been in here long enough, come back later
			break;
	}

	return true;	// call me again, got more to show
}
Exemplo n.º 2
0
void SeqNavMenu::Rewind()
{
	RemoveItems( 0, CountItems(), true );
	mMenuBuilt = false;
	ClearMenuBuildingState();
}
Exemplo n.º 3
0
void 
BSlowContextMenu::ForceRebuild()
{
	ClearMenuBuildingState();
	fMenuBuilt = false;
}
Exemplo n.º 4
0
void 
BNavMenu::ForceRebuild()
{
	ClearMenuBuildingState();
	fMenuBuilt = false;
}