home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 51
/
PCGamer51_17Demos.iso
/
games
/
CM
/
CyclingManagerDemoCangas.exe
/
CyclingManagerDemo
/
scripts
/
manager
/
page_manager.cnc
< prev
next >
Wrap
Text File
|
2001-07-09
|
14KB
|
372 lines
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Page_Manager Create func
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func void Page_Manager_Create ()
{
oPage_Manager.pThis = GetParserComponent();
SetComponentNumber(10);
var i32x id;
// Page Background
id = Init_LibObject_FilledCadre(tCadreDialbox,700,550);
SetComponentHeight(id,500);
// Histogram background
id = Init_LibObject_FilledCadre(tFCadre7,640,310);
SetComponentPosition(id,10,200);
// Histogram title
oPage_Manager.iHistogramTitleID = InitContainer(tFnt_20);
SetContainerText(oPage_Manager.iHistogramTitleID,GetLocalizedFromGMKey(250));
SetComponentPosition(oPage_Manager.iHistogramTitleID,240,172);
// Histogram init
Object_Manager_Histo_InitMembers();
oPage_Manager.iHistogramID = InitObject(
"manager histo",
oObject_Manager_Histo.oFunc.pcreate,
oObject_Manager_Histo.oFunc.pevent
);
SetComponentPosition(oPage_Manager.iHistogramID,20,230);
// Create manager palmares
oManager_Palmares.iPalmaresID = iCreateManagerPalmaresList();
// Palmares title
oManager_Palmares.iPalmaresTitleID = InitContainer(tFnt_20);
SetContainerText(oManager_Palmares.iPalmaresTitleID,GetLocalizedFromGMKey(428));
SetComponentPosition(oManager_Palmares.iPalmaresTitleID,240,172);
SetComponentVisibleStatus(oManager_Palmares.iPalmaresID,0);
SetComponentVisibleStatus(oManager_Palmares.iPalmaresTitleID,0);
// *** Create onglet selection radio button ***
oPage_Manager.m_cHisto=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromGMKey(419),tFontArial,1521);
SetComponentPosition(oPage_Manager.m_cHisto, 350, 90);
SetTextButtonStateFunc(oPage_Manager.m_cHisto,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
ResizeComponent(oPage_Manager.m_cHisto);
oPage_Manager.m_cPalmares=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromGMKey(420),tFontArial,1522);
SetComponentPosition(oPage_Manager.m_cPalmares, 350, 130);
SetTextButtonStateFunc(oPage_Manager.m_cPalmares,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
ResizeComponent(oPage_Manager.m_cPalmares);
// Profil init
Object_Profil_InitMembers();
oPage_Manager.m_cProfilID = InitObject("Manager profil", oObject_Profil.oFunc.pcreate, oObject_Profil.oFunc.pevent);
SetComponentPosition(oPage_Manager.m_cProfilID, 10, 40);
SetComponentSize(oPage_Manager.m_cProfilID,700,150);
SetTextRadioButtonCheckBox(oPage_Manager.m_cHisto,1);
AutoResize();
}
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Page_Manager_Event func
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func i32x Page_Manager_Event (i32x _iComponentID, i32x _iEvent)
{
if (_iComponentID == -1)
{
if(_iEvent == GUI_COMPONENT_DESTRUCTOR )
{
// Page manager destructor
Page_Manager_DestroyJoins();
oPage_Manager.iWindowID = ID_NOT_CREATED;
oPage_Manager.m_cProfilID = ID_NOT_CREATED;
oPage_Manager.iHistogramID = ID_NOT_CREATED;
oPage_Manager.pThis = g_poNullComponent;
}
}
if(_iEvent == GUI_RADIOBUTTON_CHANGED)
{
PlaySound(0,sbClickSound[0]);
if(_iComponentID == oPage_Manager.m_cHisto)
{
SetComponentVisibleStatus(oPage_Manager.iHistogramID,1);
SetComponentVisibleStatus(oPage_Manager.iHistogramTitleID,1);
SetComponentVisibleStatus(oManager_Palmares.iPalmaresID,0);
SetComponentVisibleStatus(oManager_Palmares.iPalmaresTitleID,0);
SetTextRadioButtonCheckBox(oPage_Manager.m_cPalmares,0);
}
if(_iComponentID == oPage_Manager.m_cPalmares)
{
SetComponentVisibleStatus(oPage_Manager.iHistogramID,0);
SetComponentVisibleStatus(oPage_Manager.iHistogramTitleID,0);
SetComponentVisibleStatus(oManager_Palmares.iPalmaresID,1);
SetComponentVisibleStatus(oManager_Palmares.iPalmaresTitleID,1);
SetTextRadioButtonCheckBox(oPage_Manager.m_cHisto,0);
}
}
return 1;
}
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Page_Manager_Update_Display
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func void Page_Manager_Update_Display()
{
var i32x strid;
var i32x iTeamID;
var i32x i,iNumRows,iTemp,iDirectoryId;
var szx szTemp,szFileLogo;
var component pOld;
if(oPage_Manager.m_cProfilID != ID_NOT_CREATED)
{
// Get current context
pOld = GetParserComponent();
SetParserComponent(oPage_Manager.pProfil);
// team shirt
iTeamID = Join_GetIntFromKey(oPage_Manager.m_jManager_iTeamID,oObject_Profil.m_iManagerID);
if(Database_GetIntData(QUERY_GLOBAL_TEAMS,"DYN_team.gene_tgaID_shirt",ROW_KEY,iTeamID) > 0)
{
iDirectoryId = Database_GetIntData(QUERY_GLOBAL_TEAMS,"DYN_team.gene_tgaID_shirt.STA_TGA.fkIDdirectory",ROW_KEY,iTeamID);
szTemp = Database_GetStringData(QUERY_GLOBAL_TEAMS,"DYN_team.gene_tgaID_shirt.STA_TGA.gene_sz_TGA",ROW_KEY,iTeamID);
szFileLogo = Join_GetStringFromKey(g_oMenuJoins.m_iDirectory_szName,iDirectoryId);
szFileLogo = strcat(szFileLogo,"/");
szFileLogo = strcat(szFileLogo,szTemp);
UpdateTexture(t_team_logo ,szFileLogo);
// Make logo container visible
SetComponentVisibleStatus(oObject_Profil.m_cLogo,true);
}
else
{
// Make logo container invisible
SetComponentVisibleStatus(oObject_Profil.m_cLogo,false);
}
// team name
szTemp = Join_GetStringFromKey(g_oMenuJoins.m_iTeamName,iTeamID);
SetContainerText(oObject_Profil.m_cTeamName,szTemp);
// team abrev
szTemp = Join_GetStringFromKey(g_oMenuJoins.m_iTeamAbrev,iTeamID);
SetContainerText(oObject_Profil.m_cTeamAbrev,szTemp);
// Name
szTemp = Join_GetStringFromKey(oPage_Manager.m_jManager_szName,oObject_Profil.m_iManagerID);
SetContainerText(oObject_Profil.m_cName,szTemp);
// Age
iTemp = Join_GetIntFromKey(oPage_Manager.m_jManager_iAge,oObject_Profil.m_iManagerID);
szTemp = strcat(itoa(iTemp)," ");
szTemp = strcat(szTemp,GetLocalizedFromGMKey(267));
SetContainerText(oObject_Profil.m_cAge,szTemp);
// Country
iTemp = Join_GetIntFromKey(oPage_Manager.m_jManager_iCountryID,oObject_Profil.m_iManagerID);
strid = Join_GetIntFromKey(oPage_Manager.m_jCountry_iStrId,iTemp);
SetContainerText(oObject_Profil.m_cNationality,GetLocalizedFromKey(strid));
// Rating
szTemp = itoa(Join_GetIntFromKey(oPage_Manager.m_jTeamManager_iRating,iTeamID));
SetContainerText(oObject_Profil.m_cRating,szTemp);
// Experience
iTemp = Join_GetIntFromKey(oPage_Manager.m_jManager_iSeason,oObject_Profil.m_iManagerID);
szTemp = strcat(itoa(iTemp)," ");
szTemp = strcat(szTemp,GetLocalizedFromGMKey(267));
SetContainerText(oObject_Profil.m_cExperience,szTemp);
SetParserComponent(pOld);
}
if(oPage_Manager.iHistogramID != ID_NOT_CREATED)
Object_Manager_Histo_Update();
if(oManager_Palmares.iPalmaresID != ID_NOT_CREATED)
Manager_Palmares_Update_List_Display();
}
//----------------------------------------------------------------------------------------------------------------//
//Object_Profil Fill func
func void FillManager()
{
var i32x strid;
var i32x iManager,iTeamID;
var i32x i,iNumRows,iTemp,iDirectoryId;
var szx szTemp,szFileLogo;
var component pOld;
// Create global join
Page_Manager_CreateJoins();
// Default manager
Table_Sort(QUERY_GLOBAL_TEAMS,"DYN_team","gene_sz_name",1);
if(g_oUser.m_iMyManagerID>0)
{
oObject_Profil.m_iManagerID = g_oUser.m_iMyManagerID;
}
else
{
// Get first valid team manager ID
oObject_Profil.m_iManagerID = Join_GetIntFromSortedIndex(g_oMenuJoins.m_iTeamManagerID,0);
}
i = 0;
iNumRows = Join_GetNumRows(oPage_Manager.m_jTeamManager_iRating);
if(iNumRows>20)
iNumRows = 20;
// Sort team by name
Table_Sort(QUERY_MANAGER,"DYN_team","gene_sz_name",1);
while(i<iNumRows)
{
if(i == 0)
oPage_Manager.m_iMaxRating = Join_GetIntFromSortedIndex(oPage_Manager.m_jTeamManager_iRating,i);
else
{
if(oPage_Manager.m_iMaxRating < Join_GetIntFromSortedIndex(oPage_Manager.m_jTeamManager_iRating,i))
oPage_Manager.m_iMaxRating = Join_GetIntFromSortedIndex(oPage_Manager.m_jTeamManager_iRating,i);
}
i = i+1;
}
Page_Manager_Update_Display();
DestroyDialog();
}
// Create page manager join
func void Page_Manager_CreateJoins()
{
oPage_Manager.m_jManager_iTeamID = Join_Constructor(QUERY_MANAGER,"DYN_manager.fkIDteam_duplicate");
oPage_Manager.m_jManager_szName = Join_Constructor(QUERY_MANAGER,"DYN_manager.gene_sz_name");
oPage_Manager.m_jManager_iAge = Join_Constructor(QUERY_MANAGER,"DYN_manager.gene_i_age");
oPage_Manager.m_jManager_iCountryID = Join_Constructor(QUERY_MANAGER,"DYN_manager.fkIDcountry");
oPage_Manager.m_jTeamManager_iRating = Join_Constructor(QUERY_MANAGER,"DYN_team.fkIDmanager_duplicate.DYN_manager.gene_i_rating");
oPage_Manager.m_jManager_iSeason = Join_Constructor(QUERY_MANAGER,"DYN_manager.gene_i_season");
oPage_Manager.m_jCountry_iStrId = Join_Constructor(QUERY_GLOBAL_COUNTRY,"STA_country.gene_strID_country_name");
}
// Destroy global join
func void Page_Manager_DestroyJoins()
{
if(oPage_Manager.m_jManager_iTeamID > 0)
{
Join_Destructor(oPage_Manager.m_jManager_iTeamID);
oPage_Manager.m_jManager_iTeamID = 0;
}
if(oPage_Manager.m_jManager_szName > 0)
{
Join_Destructor(oPage_Manager.m_jManager_szName);
oPage_Manager.m_jManager_szName = 0;
}
if(oPage_Manager.m_jManager_iAge > 0)
{
Join_Destructor(oPage_Manager.m_jManager_iAge);
oPage_Manager.m_jManager_iAge = 0;
}
if(oPage_Manager.m_jManager_iCountryID > 0)
{
Join_Destructor(oPage_Manager.m_jManager_iCountryID);
oPage_Manager.m_jManager_iCountryID = 0;
}
if(oPage_Manager.m_jTeamManager_iRating > 0)
{
Join_Destructor(oPage_Manager.m_jTeamManager_iRating);
oPage_Manager.m_jTeamManager_iRating = 0;
}
if(oPage_Manager.m_jManager_iSeason > 0)
{
Join_Destructor(oPage_Manager.m_jManager_iSeason);
oPage_Manager.m_jManager_iSeason = 0;
}
if(oPage_Manager.m_jCountry_iStrId > 0)
{
Join_Destructor(oPage_Manager.m_jCountry_iStrId);
oPage_Manager.m_jCountry_iStrId = 0;
}
}
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Page_Manager Constructor
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func i32x Page_Manager_Constructor ()
{
// Get managers from Menu server
// create page
oPage_Manager.iWindowID = InitObject("Page managers", oPage_Manager.oFunc.pcreate, oPage_Manager.oFunc.pevent);
SetStackEvents(oPage_Manager.iWindowID,GUI_Destroy);
// create waiting dialog
CreateDialog(DIALOG_LOADING_DATA);
ResetQuery(QUERY_MANAGER_PALMARES);
GetQuery(g_oMenuServer.m_oServer,QUERY_MANAGER_PALMARES,"ManagerPalmares",CreateManagerPalmaresJoins, 0);
ResetQuery(QUERY_MANAGER);
GetQuery(g_oMenuServer.m_oServer,QUERY_MANAGER,"Manager",FillManager,0);
return oPage_Manager.iWindowID;
}
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Page_Manager Destructor
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func void Page_Manager_Destructor ()
{
DeleteComponent(oPage_Manager.iWindowID);
// Page manager destructor
Page_Manager_DestroyJoins();
DestroyManagerPalmaresJoins();
oPage_Manager.iWindowID = ID_NOT_CREATED;
oPage_Manager.m_cProfilID = ID_NOT_CREATED;
oPage_Manager.iHistogramID = ID_NOT_CREATED;
oPage_Manager.pThis = g_poNullComponent;
}
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Page_Manager Init member
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func void Page_Manager_InitMembers ()
{
oPage_Manager.m_cProfilID = ID_NOT_CREATED;
oPage_Manager.iHistogramID = ID_NOT_CREATED;
oPage_Manager.oFunc.pcreate = Page_Manager_Create;
oPage_Manager.oFunc.pevent = Page_Manager_Event;
}