",top?"TOP":"BOTTOM");
buttonsForAll();
puts(" All
");
}
// If there is an X dimension, then titles go across the top
if(dimensionX)
{
int ixX,cntX=0;
if(dimensionY)
{
#ifdef MATRIX_SQUEEZE
if(squeeze>0)
@@ -6445,31 +6449,35 @@
puts("");
}
puts("
\n");
}
static void matrixXheadingsRow2(struct trackDb *parentTdb, int squeeze, membersForAll_t* membersForAll)
/* prints the 2nd row of a matrix: Y title; X buttons; title Y */
{
members_t *dimensionX = membersForAll->members[dimX];
members_t *dimensionY = membersForAll->members[dimY];
// If there are both X and Y dimensions, then there is a row of buttons in X
if(dimensionX && dimensionY)
{
int ixX,cntX=0;
+ #ifdef MATRIX_SQUEEZE
+ printf("
\n",COLOR_BG_DEFAULT);
#endif///ndef MATRIX_SQUEEZE
//int squeeze = matrixXheadings(db,parentTdb,membersForAll,TRUE); // right side labels could be dependent upon squeeze
(void)matrixXheadings(db,parentTdb,membersForAll,TRUE);
// Now the Y by X matrix
int cntX=0,cntY=0;
for (ixY = 0; ixY < sizeOfY; ixY++)
{
if(dimensionY == NULL || (dimensionY->tags[ixY]))
{
cntY++;
assert(!dimensionY || ixY < dimensionY->count);
+ #ifdef MATRIX_SQUEEZE
+ printf("
");
+ #else///ifndef MATRIX_SQUEEZE
printf("
",COLOR_BG_ALTDEFAULT);
+ #endif///ndef MATRIX_SQUEEZE
matrixYheadings(db,parentTdb, membersForAll,ixY,TRUE);
#define MAT_CB_SETUP ""
#define MAT_CB(name,js) printf(MAT_CB_SETUP,(name),(js));
for (ixX = 0; ixX < sizeOfX; ixX++)
{
if(dimensionX == NULL || (dimensionX->tags[ixX]))
{
assert(!dimensionX || ixX < dimensionX->count);
if(cntY==1) // Only do this on the first good Y
cntX++;
if(dimensionX && ixX == dimensionX->count)