コード例 #1
0
ファイル: SlowContextPopup.cpp プロジェクト: mmanley/Antares
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
}
コード例 #2
0
ファイル: SeqNavMenu.cpp プロジェクト: HaikuArchives/Sequitur
void SeqNavMenu::Rewind()
{
	RemoveItems( 0, CountItems(), true );
	mMenuBuilt = false;
	ClearMenuBuildingState();
}
コード例 #3
0
ファイル: SlowContextPopup.cpp プロジェクト: mmanley/Antares
void 
BSlowContextMenu::ForceRebuild()
{
	ClearMenuBuildingState();
	fMenuBuilt = false;
}
コード例 #4
0
ファイル: NavMenu.cpp プロジェクト: Ithamar/cosmoe
void 
BNavMenu::ForceRebuild()
{
	ClearMenuBuildingState();
	fMenuBuilt = false;
}