Version19.31.7

This commit is contained in:
Antonio Cañas Vargas 2019-10-05 22:15:52 +02:00
parent fed625a9ee
commit 4e357d657e
6 changed files with 56 additions and 40 deletions

View File

@ -487,12 +487,13 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 19.31.6 (2019-10-05)" #define Log_PLATFORM_VERSION "SWAD 19.31.7 (2019-10-05)"
#define CSS_FILE "swad19.29.css" #define CSS_FILE "swad19.29.css"
#define JS_FILE "swad19.30.js" #define JS_FILE "swad19.30.js"
/* /*
// TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas) // TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
Version 19.31.7: Oct 05, 2019 Code refactoring in HTML tables. (? lines)
Version 19.31.6: Oct 05, 2019 Code refactoring in HTML tables. (247066 lines) Version 19.31.6: Oct 05, 2019 Code refactoring in HTML tables. (247066 lines)
Version 19.31.5: Oct 05, 2019 Code refactoring in HTML tables. (247044 lines) Version 19.31.5: Oct 05, 2019 Code refactoring in HTML tables. (247044 lines)
Version 19.31.4: Oct 04, 2019 Code refactoring in HTML tables. (247043 lines) Version 19.31.4: Oct 04, 2019 Code refactoring in HTML tables. (247043 lines)

View File

@ -5545,7 +5545,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
if (asprintf (&Anchor,"fil_brw_%u_%s", if (asprintf (&Anchor,"fil_brw_%u_%s",
Gbl.FileBrowser.Id,RowId) < 0) Gbl.FileBrowser.Id,RowId) < 0)
Lay_NotEnoughMemoryExit (); Lay_NotEnoughMemoryExit ();
fprintf (Gbl.F.Out,"<tr id=\"%s\"",Anchor); Tbl_StartRowAttr ("id=\"%s\"",Anchor);
switch (IconThisRow) switch (IconThisRow)
{ {
case Brw_ICON_TREE_NOTHING: case Brw_ICON_TREE_NOTHING:

View File

@ -3147,7 +3147,7 @@ static void Mch_DrawBarNumUsrs (unsigned NumAnswerersAns,unsigned NumAnswerersQs
/***** Bar proportional to number of users *****/ /***** Bar proportional to number of users *****/
Tbl_StartTableWide (); Tbl_StartTableWide ();
Tbl_StartClass ("MATCH_RES_TR"); Tbl_StartRowAttr ("class=\"MATCH_RES_TR\"");
for (i = 0; for (i = 0;
i < 100; i < 100;
i++) i++)

View File

@ -1158,33 +1158,29 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
switch (ProjectView) switch (ProjectView)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">" Tbl_StartRowAttr ("id=\"prj_exp_%u\"",UniqueId);
"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">",
UniqueId,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more); Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
Tbl_EndRow (); Tbl_EndRow ();
fprintf (Gbl.F.Out,"<tr id=\"prj_con_%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId);
"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">",
UniqueId,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less); Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
Tbl_EndRow (); Tbl_EndRow ();
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">" Tbl_StartRowAttr ("id=\"prj_exp_%u\"",UniqueId);
"<td colspan=\"5\" class=\"CENTER_MIDDLE\">", fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">");
UniqueId);
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more); Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
Tbl_EndRow (); Tbl_EndRow ();
fprintf (Gbl.F.Out,"<tr id=\"prj_con_%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId);
"<td colspan=\"5\" class=\"CENTER_MIDDLE\">", fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">");
UniqueId);
Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less); Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
Tbl_EndRow (); Tbl_EndRow ();
@ -1197,15 +1193,13 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
switch (ProjectView) switch (ProjectView)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
fprintf (Gbl.F.Out,"<tr id=\"prj_pro_%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId);
"<td colspan=\"4\" class=\"RIGHT_TOP COLOR%u", fprintf (Gbl.F.Out,"<td colspan=\"4\" class=\"RIGHT_TOP COLOR%u",
UniqueId,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"prj_pro_%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId);
"<td colspan=\"3\" class=\"RIGHT_TOP", fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP");
UniqueId);
break; break;
default: default:
Tbl_StartRow (); Tbl_StartRow ();
@ -1465,14 +1459,13 @@ static void Prj_ShowOneProjectTxtField (struct Project *Prj,
switch (ProjectView) switch (ProjectView)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId);
"<td colspan=\"4\" class=\"RIGHT_TOP COLOR%u", fprintf (Gbl.F.Out,"<td colspan=\"4\" class=\"RIGHT_TOP COLOR%u",
id,UniqueId,Gbl.RowEvenOdd); Gbl.RowEvenOdd);
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId);
"<td colspan=\"3\" class=\"RIGHT_TOP", fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP");
id,UniqueId);
break; break;
case Prj_PRINT_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT:
Tbl_StartRow (); Tbl_StartRow ();
@ -1534,14 +1527,13 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
switch (ProjectView) switch (ProjectView)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId);
"<td colspan=\"4\" class=\"RIGHT_TOP COLOR%u", fprintf (Gbl.F.Out,"<td colspan=\"4\" class=\"RIGHT_TOP COLOR%u",
id,UniqueId,Gbl.RowEvenOdd); Gbl.RowEvenOdd);
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">" Tbl_StartRowAttr ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId);
"<td colspan=\"3\" class=\"RIGHT_TOP", fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP");
id,UniqueId);
break; break;
case Prj_PRINT_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT:
Tbl_StartRow (); Tbl_StartRow ();

View File

@ -161,18 +161,37 @@ void Tbl_EndTable (void)
"</table>"); "</table>");
} }
void Tbl_StartClass (const char *Class) /*****************************************************************************/
/**************************** Start/end table row ****************************/
/*****************************************************************************/
void Tbl_StartRowAttr (const char *fmt,...)
{ {
if (Class) va_list ap;
int NumBytesPrinted;
char *Attr;
if (fmt)
{ {
if (Class[0]) if (fmt[0])
{ {
va_start (ap,fmt);
NumBytesPrinted = vasprintf (&Attr,fmt,ap);
va_end (ap);
if (NumBytesPrinted < 0) // If memory allocation wasn't possible,
// or some other error occurs,
// vasprintf will return -1
Lay_NotEnoughMemoryExit ();
/***** Print HTML *****/
fprintf (Gbl.F.Out, fprintf (Gbl.F.Out,
"<tr class=\"%s\">", "<tr %s>",Attr);
Class);
free ((void *) Attr);
} }
else else
Tbl_StartRow (); Tbl_StartRow ();
} }
else else
Tbl_StartRow (); Tbl_StartRow ();
@ -190,6 +209,10 @@ void Tbl_EndRow (void)
"</tr>"); "</tr>");
} }
/*****************************************************************************/
/********************************* Table cells *******************************/
/*****************************************************************************/
void Tbl_PutEmptyCells (unsigned NumColumns) void Tbl_PutEmptyCells (unsigned NumColumns)
{ {
unsigned NumCol; unsigned NumCol;

View File

@ -55,7 +55,7 @@ void Tbl_StartTableWideMargin (void);
void Tbl_EndTable (void); void Tbl_EndTable (void);
void Tbl_StartClass (const char *Class); void Tbl_StartRowAttr (const char *fmt,...);
void Tbl_StartRow (void); void Tbl_StartRow (void);
void Tbl_EndRow (void); void Tbl_EndRow (void);