public void highlightBloc(Point bloc) {

     // RICORDARSI DI METTERE UNA COLORAZIONE DIVERSA NEL CASO
     // DI UNA CELLA CON VALORE ALTERNATIVO!

     Point baseCell = new Point();
     baseCell.x = (m_t - 1) * bloc.x + 1;
     baseCell.y = (m_t - 1) * bloc.y + 1;

     int c, r;
     this.clearHighlightColors();
     FRCellElement tmpCell;

     for (c = 1; c < m_t; ++c) {
        for (r = 1; r < m_t; ++r) {

           tmpCell = (FRCellElement)this.getCell(baseCell.x + c,
                                  baseCell.y + r);
           tmpCell.setHLColor(Color.yellow);

        }
     }

     // Highlight the RBFunction parameters
     // (NOTE: not in the alternative value cell! Because it is handled
     // elsewhere)

     ///////////////// First the alphabet

     // Top alphabet
     for (c = 1; c < m_t; ++c) {
        tmpCell  = (FRCellElement)this.getCell(baseCell.x + c, 0);
        tmpCell.setHLColor(PARAMS_COLOR);
     }

     // Left alphabet
     for (r = 1; r < m_t; ++r) {
        tmpCell = (FRCellElement)this.getCell(0, baseCell.y + r);
        tmpCell.setHLColor(PARAMS_COLOR);
     }

     //////////////// Now the gaps

     // Top gap
     for (c = 1; c < m_t; ++c) {
        tmpCell  = (FRCellElement)this.getCell(baseCell.x + c, baseCell.y);

        if (!tmpCell.hasAlternativeVal()) {
           tmpCell.setHLColor(PARAMS_COLOR);
        }
        else {
           // Because it's top gap, the alternative one (bottom) is the
           // one that will be colored
           tmpCell.setDividedHLColors(Color.white, PARAMS_COLOR);
        }
     }

     // Left gap
     for (r = 1; r < m_t; ++r) {
        tmpCell = (FRCellElement)this.getCell(baseCell.x, baseCell.y + r);
        if (!tmpCell.hasAlternativeVal()) {
           tmpCell.setHLColor(PARAMS_COLOR);
        }
        else {
           // Because it's left gap, the normal one (top) is the
           // one that will be colored
           tmpCell.setDividedHLColors(PARAMS_COLOR, Color.white);
        }
     }

  }