示例#1
0
int GUI::update(MouseState *mouse, int& state, bool& muted, bool& retry)
{
	
	if(GUI_STATE != state)
	{
		old_GUI_STATE = GUI_STATE;
		if(state == STATE_PAUSED && (old_GUI_STATE == STATE_GAMESTART || old_GUI_STATE == STATE_PLAYING))
		{
			lastPlayingState = GUI_STATE;
		}
		if(state != STATE_GAMESTART && state != STATE_PLAYING && old_GUI_STATE != STATE_PAUSED)
		{
			clearTexts();
		}
		clearBtns();
		clearPanels();
		createBtns(state);
		createPanels(state);
		GUI_STATE = state;
	}
	else if(state == STATE_LOADING && GUI_STATE == state)
	{
		state = STATE_GAMESTART;
		clearTexts();
		clearPanels();
		createPanels(state);
	}
	

	for(int i = 0; i < this->nrOfBtns; i++)
	{
		bool check = checkBtn(mouse, this->menuBtns[i]);
		if(check)
		{
			state = changeState(this->menuBtns[i]);
			
		}
	}

	muted = this->muted;
	retry = this->retry;
	return state;
}
示例#2
0
GUI::~GUI()
{

	clearBtns();
	clearTexts();
	clearPanels();
	SAFE_DELETE_ARRAY(levelList);
	this->nrOfLevels = 0;
	SAFE_DELETE_ARRAY(difficultyList);
	this->nrOfDifficultys = 0;
}
示例#3
0
ContactList::~ContactList()
{
    WtUtilFuns::removeChildWidgets(this);
    clearPanels();

    for(std::map<ContactGroup,Wt::WPanel*>::iterator it = mContactPanels.begin(); it != mContactPanels.end(); ++it)
    {
        Wt::WPanel *panel = it->second;
        delete panel;
    }
}
示例#4
0
void ContactList::filterList(std::string filter)
{
    WtUtilFuns::removeChildWidgets(this);
    clearPanels();
    BOOST_FOREACH(ContactEntry& entry, mContactEntries)
    {
        if(entry.matchesFilter(filter))
        {
            addWidget(&entry);
        }
    }
}
示例#5
0
void ContactList::showFullList()
{
    WtUtilFuns::removeChildWidgets(this);
    clearPanels();

    for(std::map<ContactGroup,Wt::WPanel*>::iterator it = mContactPanels.begin(); it != mContactPanels.end(); ++it)
    {

        //uto& contacts = it->;
        const ContactGroup &group = it->first;
        auto panel = it->second;
        Wt::WContainerWidget* container = static_cast<Wt::WContainerWidget*>(panel->centralWidget());
        BOOST_FOREACH(const ContactInfo& info, group.contacts)
        {
            ContactEntry *entry = mUinToEntry[info.uin];
            container->addWidget(entry);
        }
        if(container->count())
            addWidget(panel);
    }
}