home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 51
/
PCGamer51_17Demos.iso
/
games
/
CM
/
CyclingManagerDemoCangas.exe
/
CyclingManagerDemo
/
scripts
/
common
/
admin
/
object_calendar.cnc
next >
Wrap
Text File
|
2001-04-25
|
7KB
|
265 lines
// Hour checkbox
//----------------------------------------------------------------------------------------------------------------//
func void HourCheckboxState (i32x _iComponentID,i32x _iState)
{
if(_iState & GUI_State_Checked)
SetContainerColor(_iComponentID, c_FillColor_01);
else
SetContainerColor(_iComponentID, c_FillColor_02);
}
func void Object_Calendar_Hour_Create()
{
var szx txt;
var i32x id,h,sx,sy;
// Component number
SetComponentNumber(1);
// Members number
SetObjectMembersNumber(1);
// Read parameter
h = oCalendarHour.m_iHour;
sx = oCalendarHour.m_iSizeX;
sy = oCalendarHour.m_iSizeY;
// Save it into object
Seti32x(0,h);
// Background
oCalendarHour.m_cBack = InitCheckBox(t_Common_Color_White);
SetContainerStateFunc(oCalendarHour.m_cBack,HourCheckboxState);
if(oCalendarHour.m_iChecked)
SetCheckboxState(oCalendarHour.m_cBack,1);
SetContainerSize(oCalendarHour.m_cBack,sx,sy);
// Object size equal to back size
SetObjectSize(sx,sy);
}
func i32x Object_Calendar_Hour_Event(i32x _iComponentID,i32x _iEvent)
{
return 1;
}
// *** Day Object ***
func void Object_Calendar_Day_Create()
{
var i32x i,id,day;
var i32x iRow,iNumRows;
// Component number
SetComponentNumber(24);
// Members number
SetObjectMembersNumber(1);
// Read parameter
day = oCalendarDay.m_iDay;
// Reset subset
DatabaseSubset_Clear(TEMP_DATABASE_CALENDAR);
// fill subset
Query_SelectWhereIntEqual(TEMP_CALENDARQUERY, "GAM_calendar.race_i_real_day", day);
Query_Execute(TEMP_CALENDARQUERY);
iNumRows = Join_GetNumRows(oAdminCalendar.iJoinTime);
// Hour object
i=0;
while(i<24)
{
oCalendarHour.m_iHour = i;
oCalendarHour.m_iChecked = 0;
iRow = 0;
while(iRow<iNumRows)
{
if((Join_GetIntFromIndex(oAdminCalendar.iJoinTime,iRow)/3600) == i)
oCalendarHour.m_iChecked = 1;
iRow = iRow +1;
}
// Create hour object
oCalendarDay.m_cHour[i] = InitObject(
strcat("H",itoa(i)),
Object_Calendar_Hour_Create,
Object_Calendar_Hour_Event
);
// Update hour position
SetComponentPositionY(oCalendarDay.m_cHour[i],i*oCalendarHour.m_iSizeY);
i=i+1;
}
// Change object size
AutoResize();
}
func i32x Object_Calendar_Day_Event(i32x _iComponentID,i32x _iEvent)
{
return 1;
}
func void vAdminCalendarUpdate()
{
var i32x i;
var component pOld;
// Retrieve old paser component
pOld = GetParserComponent();
// Set Calendar onglet context
SetParserComponent(oAdminCalendar.pThis);
// Create temp subset
DatabaseSubset_Create( TEMP_DATABASE_CALENDAR, QUERY_ADMIN_CALENDAR);
Database_AddTables( TEMP_DATABASE_CALENDAR, 1);
Table_SetName( TEMP_DATABASE_CALENDAR, 0, "GAM_calendar");
TableSubset_SelectColumns( TEMP_DATABASE_CALENDAR, 0, "*");
// create query to fill races of day calendar row subset
Query_Create(TEMP_CALENDARQUERY, TEMP_DATABASE_CALENDAR);
Query_SetNumJoinTables( TEMP_CALENDARQUERY, 1);
Query_SelectJoinTable( TEMP_CALENDARQUERY, 0, "GAM_calendar");
// Global join
oAdminCalendar.iJoinDay=Join_Constructor(TEMP_DATABASE_CALENDAR,"GAM_calendar.race_i_real_day");
oAdminCalendar.iJoinTime=Join_Constructor(TEMP_DATABASE_CALENDAR,"GAM_calendar.race_i_real_time");
// Create day object
i=0;
while(i<7)
{
oCalendarDay.m_iDay = i;
if(oAdminCalendar.m_cDay[i] != ID_NOT_CREATED)
{
DeleteComponent(oAdminCalendar.m_cDay[i]);
oAdminCalendar.m_cDay[i] = ID_NOT_CREATED;
}
// Create day object
oAdminCalendar.m_cDay[i] = InitObject(
oAdminCalendar.szTabDay[i],
Object_Calendar_Day_Create,
Object_Calendar_Day_Event
);
// Update day position
SetComponentPosition(oAdminCalendar.m_cDay[i],i*oCalendarHour.m_iSizeX+32,24);
i=i+1;
}
// Restore parser component
SetParserComponent(pOld);
}
func void Object_Calendar_Create()
{
SetComponentNumber(96);
var i32x i,id;
var i32x iOffsetY;
iOffsetY = 10;
oAdminCalendar.pThis=GetParserComponent();
//initialisation du tableau de jours
oAdminCalendar.szTabDay[1]=GetLocalizedFromGMKey(10);
oAdminCalendar.szTabDay[2]=GetLocalizedFromGMKey(11);
oAdminCalendar.szTabDay[3]=GetLocalizedFromGMKey(12);
oAdminCalendar.szTabDay[4]=GetLocalizedFromGMKey(14);
oAdminCalendar.szTabDay[5]=GetLocalizedFromGMKey(15);
oAdminCalendar.szTabDay[6]=GetLocalizedFromGMKey(16);
oAdminCalendar.szTabDay[0]=GetLocalizedFromGMKey(17);
// Create Day array
// Init create parameters
oCalendarHour.m_iSizeX = 64;
oCalendarHour.m_iSizeY = 18;
i=0;
while(i<7)
{
oCalendarDay.m_iDay = i;
// Day object is not created
oAdminCalendar.m_cDay[i] = ID_NOT_CREATED;
// Title (Day)
id = InitContainer(tFontArialItalique);
SetContainerText(id,oAdminCalendar.szTabDay[i]);
SetContainerOffset(id,-1);
SetComponentPosition(id,i*oCalendarHour.m_iSizeX+32,0);
SetEvents(id,GUI_NoEvent);
// Line
id = InitContainer(tCommonTableBorder);
SetContainerSize(id,1,oCalendarHour.m_iSizeY*24);
SetComponentPosition(id,i*oCalendarHour.m_iSizeX+32,24);
SetEvents(id,GUI_NoEvent);
i=i+1;
}
// Last Line
id = InitContainer(tCommonTableBorder);
SetContainerSize(id,1,oCalendarHour.m_iSizeY*24);
SetComponentPosition(id,7*oCalendarHour.m_iSizeX+32,24);
SetEvents(id,GUI_NoEvent);
// Hour caption
i=0;
while(i<24)
{
// Line Title (hour)
id = InitContainer(tFontArialItalique);
SetContainerText(id,strcat(itoa(i),"h"));
SetComponentPosition(id,0,i*oCalendarHour.m_iSizeY+26);
SetEvents(id,GUI_NoEvent);
// Line
id = InitContainer(tCommonTableBorder);
SetContainerSize(id,oCalendarHour.m_iSizeX*7,1);
SetComponentPosition(id,32,i*oCalendarHour.m_iSizeY+24);
SetEvents(id,GUI_NoEvent);
i=i+1;
}
// last Line
id = InitContainer(tCommonTableBorder);
SetContainerSize(id,oCalendarHour.m_iSizeX*7,1);
SetComponentPosition(id,32,24*oCalendarHour.m_iSizeY+24);
SetEvents(id,GUI_NoEvent);
AutoResize();
}
func i32x Object_Calendar_Event(i32x _iComponentID,i32x _iEvent)
{
if(_iComponentID == -1)
{
if(_iEvent == GUI_COMPONENT_DESTRUCTOR)
{
if(oAdminCalendar.iJoinDay > 0)
{
Join_Destructor(oAdminCalendar.iJoinDay);
oAdminCalendar.iJoinDay = 0;
}
if(oAdminCalendar.iJoinTime > 0)
{
Join_Destructor(oAdminCalendar.iJoinTime);
oAdminCalendar.iJoinTime = 0;
}
}
}
return 1;
}
func void Object_Calendar_InitMembers()
{
oAdminCalendar.oFunc.pcreate = Object_Calendar_Create;
oAdminCalendar.oFunc.pevent = Object_Calendar_Event;
}