示例#1
0
	bool cWidgetComboBox::SliderLostFocus(iWidget *a_pWidget, cGuiMessageData &a_Data)
	{
		if (m_bMenuOpen && GetMouseIsOver() == false)
			CloseMenu();

		return false;
	}
示例#2
0
	bool cWidgetComboBox::OnMouseMove(cGuiMessageData &aData)
	{
		if(mbMenuOpen==false) return false;

		if(GetMouseIsOver()==false) return false;

		cVector3f vLocalPos = WorldToLocalPosition(aData.mvPos);

		if(vLocalPos.y <= mpText->GetSize().y) return false;
		if(mpSlider->IsEnabled() && vLocalPos.x >= mvSize.x - 20) return false;

		float fToTextStart = 2 + mpText->GetSize().y + mvGfxCorners[0]->GetActiveSize().y;
		int lSelection = (int)(( vLocalPos.y - fToTextStart) / (mvDefaultFontSize.y+2));
		if(lSelection <0) lSelection =0;

		lSelection = lSelection + mlFirstItem;

		if(lSelection >= (int)mvItems.size()) lSelection = (int)mvItems.size()-1;

		mlMouseOverSelection = lSelection;

		return true;
	}