openmohaa/code/client/cl_uiserverlist.cpp

253 lines
5.7 KiB
C++
Raw Normal View History

2016-03-27 11:49:47 +02:00
/*
===========================================================================
Copyright (C) 2015 the OpenMoHAA team
This file is part of OpenMoHAA source code.
OpenMoHAA source code is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
OpenMoHAA source code is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenMoHAA source code; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
===========================================================================
*/
#include "cl_ui.h"
#include "../gamespy/goaceng.h"
class FAKKServerListItem : public UIListCtrlItem {
str m_strings[6];
str m_sVersion;
bool m_bDifferentVersion;
bool m_bFavorite;
bool m_bQueryDone;
bool m_bQueryFailed;
int m_iNumPlayers;
public:
str m_sIP;
unsigned int m_uiRealIP;
int m_iPort;
int m_iGameSpyPort;
public:
FAKKServerListItem(str string1, str string2, str string3, str string4, str string5, str string6, str ver);
griditemtype_t getListItemType(int index) const override;
int getListItemValue(int i) const override;
str getListItemString(int i) const override;
void setListItemString(int i, str sNewString);
void DrawListItem(int iColumn, const UIRect2D& drawRect, bool bSelected, UIFont* pFont) override;
qboolean IsHeaderEntry() const override;
bool IsQueried();
void SetQueried(bool bIsQueried);
bool IfQueryFailed();
void SetQueryFailed(bool bFailed);
void SetNumPlayers(FAKKServerListItem*, int);
bool IsFavorite();
void SetFavorite(bool bIsFavorite);
str GetListItemVersion();
void SetListItemVersion(str sNewVer);
void SetDifferentVersion(bool bIsDifferentVersion);
bool IsDifferentVersion();
};
FAKKServerListItem::FAKKServerListItem(str string1, str string2, str string3, str string4, str string5, str string6, str ver)
{
// FIXME: unimplemented
}
griditemtype_t FAKKServerListItem::getListItemType(int index) const
{
// FIXME: unimplemented
return griditemtype_t::TYPE_STRING;
}
int FAKKServerListItem::getListItemValue(int i) const
{
// FIXME: unimplemented
return 0;
}
str FAKKServerListItem::getListItemString(int i) const
{
// FIXME: unimplemented
return str();
}
void FAKKServerListItem::setListItemString(int i, str sNewString)
{
// FIXME: unimplemented
}
void FAKKServerListItem::DrawListItem(int iColumn, const UIRect2D& drawRect, bool bSelected, UIFont* pFont)
{
// FIXME: unimplemented
}
qboolean FAKKServerListItem::IsHeaderEntry() const
{
// FIXME: unimplemented
return qfalse;
}
bool FAKKServerListItem::IsQueried()
{
// FIXME: unimplemented
return false;
}
void FAKKServerListItem::SetQueried(bool bIsQueried)
{
// FIXME: unimplemented
}
bool FAKKServerListItem::IfQueryFailed()
{
// FIXME: unimplemented
return false;
}
void FAKKServerListItem::SetQueryFailed(bool bFailed)
{
// FIXME: unimplemented
}
void FAKKServerListItem::SetNumPlayers(FAKKServerListItem*, int)
{
// FIXME: unimplemented
}
bool FAKKServerListItem::IsFavorite()
{
// FIXME: unimplemented
return false;
}
void FAKKServerListItem::SetFavorite(bool bIsFavorite)
{
// FIXME: unimplemented
}
str FAKKServerListItem::GetListItemVersion()
{
// FIXME: unimplemented
return str();
}
void FAKKServerListItem::SetListItemVersion(str sNewVer)
{
// FIXME: unimplemented
}
void FAKKServerListItem::SetDifferentVersion(bool bIsDifferentVersion)
{
// FIXME: unimplemented
}
bool FAKKServerListItem::IsDifferentVersion()
{
// FIXME: unimplemented
return false;
}
2016-03-27 11:49:47 +02:00
CLASS_DECLARATION( UIListCtrl, UIFAKKServerList, NULL )
{
{ NULL, NULL }
};
UIFAKKServerList::UIFAKKServerList()
{
setBackgroundColor(UWhite, true);
Connect(this, EV_UIListBase_ItemDoubleClicked, EV_UIListBase_ItemDoubleClicked);
Connect(this, EV_UIListBase_ItemSelected, EV_UIListBase_ItemSelected);
AllowActivate(true);
setHeaderFont("facfont-20");
m_serverList = NULL;
m_bHasList = false;
m_bGettingList = false;
m_bUpdatingList = false;
m_bLANListing = false;
m_iLastSortColumn = 2;
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::SelectServer( Event *ev )
{
}
void UIFAKKServerList::ConnectServer( Event *ev )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}
qboolean UIFAKKServerList::KeyEvent( int key, unsigned int time )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
return qfalse;
}
void UIFAKKServerList::UpdateUIElement( void )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::RefreshServerList( Event *ev )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::RefreshLANServerList( Event *ev )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::CancelRefresh( Event *ev )
{
ServerListHalt(m_serverList);
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::NewServerList( void )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::MakeLANListing( Event *ev )
{
m_bLANListing = true;
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::UpdateServer( Event *ev )
{
if (m_currentItem <= 0) {
return;
}
FAKKServerListItem* item = (FAKKServerListItem*)GetItem(getCurrentItem());
ServerListAuxUpdate(m_serverList, item->m_sIP.c_str(), item->m_iGameSpyPort, true, GQueryType::qt_status);
2016-03-27 11:49:47 +02:00
}
int UIFAKKServerList::ServerCompareFunction( const UIListCtrlItem *i1, const UIListCtrlItem *i2, int columnname )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
return 0;
}
void UIFAKKServerList::Draw( void )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}
void UIFAKKServerList::SortByColumn( int column )
{
// FIXME: unimplemented
2016-03-27 11:49:47 +02:00
}