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 >
Text File  |  2001-07-09  |  14KB  |  372 lines

  1. //----------------------------------------------------------------------------------------------------------------//
  2. //----------------------------------------------------------------------------------------------------------------//
  3. //Page_Manager Create func
  4. //----------------------------------------------------------------------------------------------------------------//
  5. //----------------------------------------------------------------------------------------------------------------//
  6.  
  7. func void Page_Manager_Create ()
  8. {
  9.     oPage_Manager.pThis = GetParserComponent();
  10.  
  11.     SetComponentNumber(10);
  12.  
  13.     var i32x id;
  14.  
  15.     // Page Background
  16.     id = Init_LibObject_FilledCadre(tCadreDialbox,700,550);
  17.     SetComponentHeight(id,500);
  18.  
  19.     // Histogram background
  20.     id = Init_LibObject_FilledCadre(tFCadre7,640,310);
  21.     SetComponentPosition(id,10,200);
  22.  
  23.     // Histogram title
  24.     oPage_Manager.iHistogramTitleID = InitContainer(tFnt_20);
  25.     SetContainerText(oPage_Manager.iHistogramTitleID,GetLocalizedFromGMKey(250));
  26.     SetComponentPosition(oPage_Manager.iHistogramTitleID,240,172);
  27.  
  28.     // Histogram init
  29.     Object_Manager_Histo_InitMembers();
  30.     oPage_Manager.iHistogramID = InitObject(
  31.         "manager histo",
  32.         oObject_Manager_Histo.oFunc.pcreate,
  33.         oObject_Manager_Histo.oFunc.pevent
  34.     );
  35.     SetComponentPosition(oPage_Manager.iHistogramID,20,230);
  36.  
  37.     // Create manager palmares
  38.     oManager_Palmares.iPalmaresID = iCreateManagerPalmaresList();
  39.  
  40.     // Palmares title
  41.     oManager_Palmares.iPalmaresTitleID = InitContainer(tFnt_20);
  42.     SetContainerText(oManager_Palmares.iPalmaresTitleID,GetLocalizedFromGMKey(428));
  43.     SetComponentPosition(oManager_Palmares.iPalmaresTitleID,240,172);
  44.     
  45.     SetComponentVisibleStatus(oManager_Palmares.iPalmaresID,0);
  46.     SetComponentVisibleStatus(oManager_Palmares.iPalmaresTitleID,0);
  47.  
  48.     // *** Create onglet selection radio button ***
  49.     oPage_Manager.m_cHisto=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromGMKey(419),tFontArial,1521);
  50.     SetComponentPosition(oPage_Manager.m_cHisto, 350, 90);
  51.     SetTextButtonStateFunc(oPage_Manager.m_cHisto,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
  52.     ResizeComponent(oPage_Manager.m_cHisto);
  53.  
  54.     oPage_Manager.m_cPalmares=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromGMKey(420),tFontArial,1522);
  55.     SetComponentPosition(oPage_Manager.m_cPalmares, 350, 130);
  56.     SetTextButtonStateFunc(oPage_Manager.m_cPalmares,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
  57.     ResizeComponent(oPage_Manager.m_cPalmares);
  58.  
  59.     // Profil init
  60.     Object_Profil_InitMembers();
  61.     oPage_Manager.m_cProfilID = InitObject("Manager profil", oObject_Profil.oFunc.pcreate, oObject_Profil.oFunc.pevent);
  62.     SetComponentPosition(oPage_Manager.m_cProfilID, 10, 40);
  63.     SetComponentSize(oPage_Manager.m_cProfilID,700,150);
  64.  
  65.     SetTextRadioButtonCheckBox(oPage_Manager.m_cHisto,1);
  66.  
  67.     AutoResize();
  68. }
  69.  
  70.  
  71.  
  72.  
  73. //----------------------------------------------------------------------------------------------------------------//
  74. //----------------------------------------------------------------------------------------------------------------//
  75. //Page_Manager_Event func
  76. //----------------------------------------------------------------------------------------------------------------//
  77. //----------------------------------------------------------------------------------------------------------------//
  78.  
  79. func i32x Page_Manager_Event (i32x _iComponentID, i32x _iEvent)
  80. {
  81.     if (_iComponentID == -1)
  82.     {
  83.         if(_iEvent == GUI_COMPONENT_DESTRUCTOR )
  84.         {
  85.             // Page manager destructor
  86.             Page_Manager_DestroyJoins();
  87.  
  88.             oPage_Manager.iWindowID = ID_NOT_CREATED;
  89.             oPage_Manager.m_cProfilID = ID_NOT_CREATED;
  90.             oPage_Manager.iHistogramID  = ID_NOT_CREATED;
  91.             oPage_Manager.pThis = g_poNullComponent;
  92.         }
  93.     }
  94.     if(_iEvent == GUI_RADIOBUTTON_CHANGED)
  95.     {
  96.         PlaySound(0,sbClickSound[0]);
  97.  
  98.         if(_iComponentID == oPage_Manager.m_cHisto)
  99.         {
  100.             SetComponentVisibleStatus(oPage_Manager.iHistogramID,1);
  101.             SetComponentVisibleStatus(oPage_Manager.iHistogramTitleID,1);
  102.             SetComponentVisibleStatus(oManager_Palmares.iPalmaresID,0);
  103.             SetComponentVisibleStatus(oManager_Palmares.iPalmaresTitleID,0);
  104.             SetTextRadioButtonCheckBox(oPage_Manager.m_cPalmares,0);
  105.         }
  106.         if(_iComponentID == oPage_Manager.m_cPalmares)
  107.         {
  108.             SetComponentVisibleStatus(oPage_Manager.iHistogramID,0);
  109.             SetComponentVisibleStatus(oPage_Manager.iHistogramTitleID,0);
  110.             SetComponentVisibleStatus(oManager_Palmares.iPalmaresID,1);
  111.             SetComponentVisibleStatus(oManager_Palmares.iPalmaresTitleID,1);
  112.             SetTextRadioButtonCheckBox(oPage_Manager.m_cHisto,0);
  113.         }
  114.     }
  115.     return 1;
  116. }
  117.  
  118.  
  119.  
  120. //----------------------------------------------------------------------------------------------------------------//
  121. //----------------------------------------------------------------------------------------------------------------//
  122. //Page_Manager_Update_Display
  123. //----------------------------------------------------------------------------------------------------------------//
  124. //----------------------------------------------------------------------------------------------------------------//
  125. func void Page_Manager_Update_Display()
  126. {
  127.     var i32x strid;
  128.     var i32x iTeamID;
  129.     var i32x i,iNumRows,iTemp,iDirectoryId;
  130.     var szx szTemp,szFileLogo;
  131.     var component pOld;
  132.  
  133.     if(oPage_Manager.m_cProfilID != ID_NOT_CREATED)
  134.     {
  135.         // Get current context
  136.         pOld = GetParserComponent();
  137.         
  138.         SetParserComponent(oPage_Manager.pProfil);
  139.  
  140.         // team shirt
  141.         iTeamID = Join_GetIntFromKey(oPage_Manager.m_jManager_iTeamID,oObject_Profil.m_iManagerID);
  142.         if(Database_GetIntData(QUERY_GLOBAL_TEAMS,"DYN_team.gene_tgaID_shirt",ROW_KEY,iTeamID) > 0)
  143.         {
  144.             iDirectoryId = Database_GetIntData(QUERY_GLOBAL_TEAMS,"DYN_team.gene_tgaID_shirt.STA_TGA.fkIDdirectory",ROW_KEY,iTeamID);
  145.             szTemp = Database_GetStringData(QUERY_GLOBAL_TEAMS,"DYN_team.gene_tgaID_shirt.STA_TGA.gene_sz_TGA",ROW_KEY,iTeamID);
  146.             szFileLogo = Join_GetStringFromKey(g_oMenuJoins.m_iDirectory_szName,iDirectoryId);
  147.             szFileLogo = strcat(szFileLogo,"/");
  148.             szFileLogo = strcat(szFileLogo,szTemp);
  149.             
  150.             UpdateTexture(t_team_logo ,szFileLogo);
  151.             // Make logo container visible
  152.             SetComponentVisibleStatus(oObject_Profil.m_cLogo,true);
  153.         }
  154.         else
  155.         {
  156.             // Make logo container invisible
  157.             SetComponentVisibleStatus(oObject_Profil.m_cLogo,false);
  158.         }
  159.  
  160.         // team name
  161.         szTemp = Join_GetStringFromKey(g_oMenuJoins.m_iTeamName,iTeamID);
  162.         SetContainerText(oObject_Profil.m_cTeamName,szTemp);
  163.  
  164.         // team abrev
  165.         szTemp = Join_GetStringFromKey(g_oMenuJoins.m_iTeamAbrev,iTeamID);
  166.         SetContainerText(oObject_Profil.m_cTeamAbrev,szTemp);
  167.  
  168.         // Name
  169.         szTemp = Join_GetStringFromKey(oPage_Manager.m_jManager_szName,oObject_Profil.m_iManagerID);
  170.         SetContainerText(oObject_Profil.m_cName,szTemp);
  171.  
  172.         // Age
  173.         iTemp = Join_GetIntFromKey(oPage_Manager.m_jManager_iAge,oObject_Profil.m_iManagerID);
  174.         szTemp = strcat(itoa(iTemp)," ");
  175.         szTemp = strcat(szTemp,GetLocalizedFromGMKey(267));
  176.         SetContainerText(oObject_Profil.m_cAge,szTemp);
  177.  
  178.         // Country
  179.         iTemp = Join_GetIntFromKey(oPage_Manager.m_jManager_iCountryID,oObject_Profil.m_iManagerID);
  180.         strid = Join_GetIntFromKey(oPage_Manager.m_jCountry_iStrId,iTemp);
  181.         SetContainerText(oObject_Profil.m_cNationality,GetLocalizedFromKey(strid));
  182.  
  183.         // Rating
  184.         szTemp = itoa(Join_GetIntFromKey(oPage_Manager.m_jTeamManager_iRating,iTeamID));
  185.         SetContainerText(oObject_Profil.m_cRating,szTemp);
  186.  
  187.         // Experience
  188.         iTemp = Join_GetIntFromKey(oPage_Manager.m_jManager_iSeason,oObject_Profil.m_iManagerID);
  189.         szTemp = strcat(itoa(iTemp)," ");
  190.         szTemp = strcat(szTemp,GetLocalizedFromGMKey(267));
  191.         SetContainerText(oObject_Profil.m_cExperience,szTemp);
  192.  
  193.  
  194.         SetParserComponent(pOld);
  195.     }
  196.  
  197.     if(oPage_Manager.iHistogramID != ID_NOT_CREATED)
  198.         Object_Manager_Histo_Update();
  199.  
  200.     if(oManager_Palmares.iPalmaresID != ID_NOT_CREATED)
  201.         Manager_Palmares_Update_List_Display();
  202. }
  203.  
  204. //----------------------------------------------------------------------------------------------------------------//
  205. //Object_Profil Fill func
  206. func void FillManager()
  207. {
  208.     var i32x strid;
  209.     var i32x iManager,iTeamID;
  210.     var i32x i,iNumRows,iTemp,iDirectoryId;
  211.     var szx szTemp,szFileLogo;
  212.     var component pOld;
  213.  
  214.     // Create global join
  215.     Page_Manager_CreateJoins();
  216.  
  217.     // Default manager
  218.     Table_Sort(QUERY_GLOBAL_TEAMS,"DYN_team","gene_sz_name",1);
  219.     if(g_oUser.m_iMyManagerID>0)
  220.     {
  221.         oObject_Profil.m_iManagerID = g_oUser.m_iMyManagerID;
  222.     }
  223.     else
  224.     {
  225.         // Get first valid team manager ID
  226.         oObject_Profil.m_iManagerID = Join_GetIntFromSortedIndex(g_oMenuJoins.m_iTeamManagerID,0);
  227.     }
  228.  
  229.     i = 0;
  230.     iNumRows = Join_GetNumRows(oPage_Manager.m_jTeamManager_iRating);
  231.     if(iNumRows>20)
  232.         iNumRows = 20;
  233.  
  234.     // Sort team by name
  235.     Table_Sort(QUERY_MANAGER,"DYN_team","gene_sz_name",1);
  236.     while(i<iNumRows)
  237.     {
  238.         if(i == 0)
  239.             oPage_Manager.m_iMaxRating = Join_GetIntFromSortedIndex(oPage_Manager.m_jTeamManager_iRating,i);
  240.         else
  241.         {
  242.             if(oPage_Manager.m_iMaxRating < Join_GetIntFromSortedIndex(oPage_Manager.m_jTeamManager_iRating,i))
  243.                 oPage_Manager.m_iMaxRating = Join_GetIntFromSortedIndex(oPage_Manager.m_jTeamManager_iRating,i);
  244.         }
  245.         i = i+1;
  246.     }
  247.  
  248.     Page_Manager_Update_Display();
  249.  
  250.     DestroyDialog();
  251. }
  252.  
  253.  
  254. // Create page manager join
  255. func void Page_Manager_CreateJoins()
  256. {
  257.     oPage_Manager.m_jManager_iTeamID = Join_Constructor(QUERY_MANAGER,"DYN_manager.fkIDteam_duplicate");
  258.     oPage_Manager.m_jManager_szName = Join_Constructor(QUERY_MANAGER,"DYN_manager.gene_sz_name");
  259.     oPage_Manager.m_jManager_iAge = Join_Constructor(QUERY_MANAGER,"DYN_manager.gene_i_age");
  260.     oPage_Manager.m_jManager_iCountryID = Join_Constructor(QUERY_MANAGER,"DYN_manager.fkIDcountry");
  261.     oPage_Manager.m_jTeamManager_iRating = Join_Constructor(QUERY_MANAGER,"DYN_team.fkIDmanager_duplicate.DYN_manager.gene_i_rating");
  262.     oPage_Manager.m_jManager_iSeason = Join_Constructor(QUERY_MANAGER,"DYN_manager.gene_i_season");
  263.     oPage_Manager.m_jCountry_iStrId = Join_Constructor(QUERY_GLOBAL_COUNTRY,"STA_country.gene_strID_country_name");
  264.  
  265. }
  266.  
  267. // Destroy global join
  268. func void Page_Manager_DestroyJoins()
  269. {
  270.     if(oPage_Manager.m_jManager_iTeamID > 0)
  271.     {
  272.         Join_Destructor(oPage_Manager.m_jManager_iTeamID);
  273.         oPage_Manager.m_jManager_iTeamID = 0;
  274.     }
  275.     if(oPage_Manager.m_jManager_szName > 0)
  276.     {
  277.         Join_Destructor(oPage_Manager.m_jManager_szName);
  278.         oPage_Manager.m_jManager_szName = 0;
  279.     }
  280.     if(oPage_Manager.m_jManager_iAge > 0)
  281.     {
  282.         Join_Destructor(oPage_Manager.m_jManager_iAge);
  283.         oPage_Manager.m_jManager_iAge = 0;
  284.     }
  285.     if(oPage_Manager.m_jManager_iCountryID > 0)
  286.     {
  287.         Join_Destructor(oPage_Manager.m_jManager_iCountryID);
  288.         oPage_Manager.m_jManager_iCountryID = 0;
  289.     }
  290.     if(oPage_Manager.m_jTeamManager_iRating > 0)
  291.     {
  292.         Join_Destructor(oPage_Manager.m_jTeamManager_iRating);
  293.         oPage_Manager.m_jTeamManager_iRating = 0;
  294.     }
  295.     if(oPage_Manager.m_jManager_iSeason > 0)
  296.     {
  297.         Join_Destructor(oPage_Manager.m_jManager_iSeason);
  298.         oPage_Manager.m_jManager_iSeason = 0;
  299.     }
  300.     if(oPage_Manager.m_jCountry_iStrId > 0)
  301.     {
  302.         Join_Destructor(oPage_Manager.m_jCountry_iStrId);
  303.         oPage_Manager.m_jCountry_iStrId = 0;
  304.     }
  305. }
  306.  
  307. //----------------------------------------------------------------------------------------------------------------//
  308. //----------------------------------------------------------------------------------------------------------------//
  309. //Page_Manager Constructor
  310. //----------------------------------------------------------------------------------------------------------------//
  311. //----------------------------------------------------------------------------------------------------------------//
  312.  
  313. func i32x Page_Manager_Constructor ()
  314. {
  315.     // Get managers from Menu server
  316.  
  317.     // create page
  318.     oPage_Manager.iWindowID = InitObject("Page managers", oPage_Manager.oFunc.pcreate, oPage_Manager.oFunc.pevent);
  319.     SetStackEvents(oPage_Manager.iWindowID,GUI_Destroy);
  320.  
  321.     // create waiting dialog    
  322.     CreateDialog(DIALOG_LOADING_DATA);
  323.     
  324.     ResetQuery(QUERY_MANAGER_PALMARES);
  325.     GetQuery(g_oMenuServer.m_oServer,QUERY_MANAGER_PALMARES,"ManagerPalmares",CreateManagerPalmaresJoins, 0);
  326.  
  327.     ResetQuery(QUERY_MANAGER);
  328.     GetQuery(g_oMenuServer.m_oServer,QUERY_MANAGER,"Manager",FillManager,0);
  329.     
  330.  
  331.     return oPage_Manager.iWindowID;
  332. }
  333.  
  334.  
  335.  
  336.  
  337. //----------------------------------------------------------------------------------------------------------------//
  338. //----------------------------------------------------------------------------------------------------------------//
  339. //Page_Manager Destructor
  340. //----------------------------------------------------------------------------------------------------------------//
  341. //----------------------------------------------------------------------------------------------------------------//
  342.  
  343. func void Page_Manager_Destructor ()
  344. {
  345.     DeleteComponent(oPage_Manager.iWindowID);
  346.     // Page manager destructor
  347.     Page_Manager_DestroyJoins();
  348.     DestroyManagerPalmaresJoins();
  349.  
  350.     oPage_Manager.iWindowID = ID_NOT_CREATED;
  351.     oPage_Manager.m_cProfilID = ID_NOT_CREATED;
  352.     oPage_Manager.iHistogramID  = ID_NOT_CREATED;
  353.     oPage_Manager.pThis = g_poNullComponent;
  354. }
  355.  
  356.  
  357.  
  358.  
  359. //----------------------------------------------------------------------------------------------------------------//
  360. //----------------------------------------------------------------------------------------------------------------//
  361. //Page_Manager Init member
  362. //----------------------------------------------------------------------------------------------------------------//
  363. //----------------------------------------------------------------------------------------------------------------//
  364.  
  365. func void Page_Manager_InitMembers ()
  366. {
  367.     oPage_Manager.m_cProfilID = ID_NOT_CREATED;
  368.     oPage_Manager.iHistogramID  = ID_NOT_CREATED;
  369.     oPage_Manager.oFunc.pcreate        = Page_Manager_Create;
  370.     oPage_Manager.oFunc.pevent        = Page_Manager_Event;
  371. }
  372.