DownloadDataViewCtrl::DownloadDataViewCtrl(const wxString dataViewName, wxWindow* parent) : BaseDataViewCtrl(dataViewName, parent, DOWNLOAD_DATAVIEW_ID) { DownloadDataViewModel* model = new DownloadDataViewModel(); AssociateModel(model); const int DEFAULT_WIDTH = wxCOL_WIDTH_AUTOSIZE; AppendTextColumn(_("Name"), NAME, wxDATAVIEW_CELL_INERT, DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Status"), STATUS, wxDATAVIEW_CELL_INERT, DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("% complete"), P_COMPLETE, wxDATAVIEW_CELL_INERT, DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("KB/s down"), SPEED, wxDATAVIEW_CELL_INERT, DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("ETA"), ETA, wxDATAVIEW_CELL_INERT, DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Filesize (MB)"), FILESIZE, wxDATAVIEW_CELL_INERT, DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); LoadColumnProperties(); SUBSCRIBE_GLOBAL_EVENT(GlobalEventManager::OnDownloadStarted, DownloadDataViewCtrl::OnDownloadStarted); SUBSCRIBE_GLOBAL_EVENT(GlobalEventManager::OnDownloadProgress, DownloadDataViewCtrl::OnDownloadProgress); }
ChannelListView::ChannelListView(const wxString& dataViewName, wxWindow* parent) : BaseDataViewCtrl(dataViewName, parent, CHANNELLIST_ID) { ChannelListDataViewModel* model = new ChannelListDataViewModel(); AssociateModel(model); const int DEFAULT_SIZE = wxCOL_WIDTH_AUTOSIZE; AppendTextColumn(_("Channel"), CHANNEL_NAME, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("# users"), USERS_COUNT, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Topic"), TOPIC, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_LEFT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); LoadColumnProperties(); }
DownloadDataViewCtrl::DownloadDataViewCtrl(const wxString dataViewName, wxWindow* parent) : BaseDataViewCtrl(dataViewName, parent, DOWNLOAD_DATAVIEW_ID) { AppendTextColumn(_("Name"), NAME, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Status"), STATUS, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("% complete"), P_COMPLETE, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("KB/s down"), SPEED, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("ETA"), ETA, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Filesize (MB)"), FILESIZE, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_WIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); DownloadDataViewModel* model = new DownloadDataViewModel(); AssociateModel(model); LoadColumnProperties(); }
BattleDataViewCtrl::BattleDataViewCtrl(const wxString& dataViewName, wxWindow* parent) : BaseDataViewCtrl(dataViewName, parent, BATTLELIST_DATAVIEW_ID) { m_popup = nullptr; BattleDataViewModel* m_BattleDataModel = new BattleDataViewModel(); AssociateModel(m_BattleDataModel); const int DEFAULT_SIZE = wxCOL_WIDTH_AUTOSIZE; AppendBitmapColumn(_("S"), STATUS, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendBitmapColumn(_("C"), COUNTRY, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendBitmapColumn(_("R"), RANK, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Description"), DESCRIPTION, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendIconTextColumn(_("Map"), MAP, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendIconTextColumn(_("Game"), GAME, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Host"), HOST, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Spectators"), SPECTATORS, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Players"), PLAYERS, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Max"), MAXIMUM, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Running"), RUNNING, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendIconTextColumn(_("Engine"), ENGINE, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); LoadColumnProperties(); }
NickDataViewCtrl::NickDataViewCtrl(const wxString& dataViewName, wxWindow* parent, bool show_header, ChatPanelMenu* popup, bool /*highlight*/) : BaseDataViewCtrl(dataViewName, parent, NICK_DATAVIEW_CTRL_ID) { m_menu = popup; AppendBitmapColumn(_("s"), STATUS, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendBitmapColumn(_("c"), COUNTRY, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendBitmapColumn(_("r"), RANK, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_MINWIDTH, wxALIGN_CENTER, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Nickname"), NICKNAME, wxDATAVIEW_CELL_INERT, wxDVC_DEFAULT_WIDTH + 10 /*add 10 px to let some nicks to fit better*/, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); if (!show_header) { //TODO: implement "no header" style somehow } NickDataViewModel* model = new NickDataViewModel(); AssociateModel(model); //Hide all bots in users list by default. m_userFilterShowPlayersOnly = true; LoadColumnProperties(); }
PlaybackDataView::PlaybackDataView(const wxString& dataViewName, wxWindow* parent) : BaseDataViewCtrl(dataViewName, parent, REPLAY_DATAVIEW_ID) { m_Parent = parent; PlaybackDataModel* m_PlaybackDataModel = new PlaybackDataModel(); AssociateModel(m_PlaybackDataModel); const int DEFAULT_SIZE = wxCOL_WIDTH_AUTOSIZE; AppendIconTextColumn(_("Date"), DATE, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Game"), GAME, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Map"), MAP, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Players"), PLAYERS, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Duration"), DURATION, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Engine"), ENGINE, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("Filesize"), FILESIZE, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); AppendTextColumn(_("File"), FILENAME, wxDATAVIEW_CELL_INERT, DEFAULT_SIZE, wxALIGN_NOT, wxDATAVIEW_COL_SORTABLE | wxDATAVIEW_COL_RESIZABLE); m_ContextMenu = new wxMenu(wxEmptyString); m_ContextMenu->Append(REPLAY_DATAVIEW_DLMAP_ID, _("Download &map")); m_ContextMenu->Append(REPLAY_DATAVIEW_DLMOD_ID, _("Download &game")); LoadColumnProperties(); }
CTimeBarDataViewCtrl::~CTimeBarDataViewCtrl() { AssociateModel(NULL); BEATS_SAFE_DELETE(m_pListModel); BEATS_SAFE_DELETE(m_pTreeModel); }
void RestorePhysicsObjectAndModel( IRestore *pRestore, const PhysObjectHeader_t &header, CPhysSaveRestoreBlockHandler::QueuedItem_t *pItem, int nObjects ) { if ( nObjects == 1 ) { pRestore->StartBlock(); CPhysCollide *pPhysCollide = NULL; int modelIndex = -1; bool fCustomCollide = false; if ( header.modelName != NULL_STRING ) { CBaseEntity *pGlobalEntity = header.hEntity; #if !defined( CLIENT_DLL ) if ( NULL_STRING != pGlobalEntity->m_iGlobalname ) { modelIndex = pGlobalEntity->GetModelIndex(); } else #endif { modelIndex = modelinfo->GetModelIndex( STRING( header.modelName ) ); pGlobalEntity = NULL; } if ( modelIndex != -1 ) { vcollide_t *pCollide = modelinfo->GetVCollide( modelIndex ); if ( pCollide ) { if ( pCollide->solidCount > 0 && pCollide->solids && header.iCollide < pCollide->solidCount ) pPhysCollide = pCollide->solids[header.iCollide]; } } } else if ( header.bbox.mins != vec3_origin || header.bbox.maxs != vec3_origin ) { pPhysCollide = PhysCreateBbox( header.bbox.mins, header.bbox.maxs ); fCustomCollide = true; } else if ( header.sphere.radius != 0 ) { // HACKHACK: Handle spheres here!!! if ( !(*pItem->ppPhysObj) ) { RestorePhysicsObject( pRestore, header, pItem->ppPhysObj, NULL ); } return; } if ( pPhysCollide ) { if ( !(*pItem->ppPhysObj) ) { RestorePhysicsObject( pRestore, header, pItem->ppPhysObj, pPhysCollide ); if ( (*pItem->ppPhysObj) ) { IPhysicsObject *pObject = (IPhysicsObject *)(*pItem->ppPhysObj); if ( !fCustomCollide ) { AssociateModel( pObject, modelIndex ); } else { AssociateModel( pObject, pPhysCollide ); } } else DevMsg( "Failed to restore physics object\n" ); } else DevMsg( "Physics object pointer unexpectedly non-null before restore. Should be creating physics object in CreatePhysics()?\n" ); } else DevMsg( "Failed to reestablish collision model for object\n" ); pRestore->EndBlock(); } else DevMsg( "Don't know how to reconsitite models for physobj array \n" ); }