public function __construct(&$result_file)
 {
     $columns = array();
     $hw = array();
     $sw = array();
     foreach ($result_file->get_systems() as $system) {
         $columns[] = $system->get_identifier();
         $hw[] = $system->get_hardware();
         $sw[] = $system->get_software();
     }
     $rows = array();
     $table_data = array();
     pts_result_file_analyzer::system_components_to_table($table_data, $columns, $rows, $hw);
     pts_result_file_analyzer::system_components_to_table($table_data, $columns, $rows, $sw);
     pts_result_file_analyzer::compact_result_table_data($table_data, $columns, true);
     // TODO: see if this true value works fine but if rendering starts messing up, disable it
     if (defined('OPENBENCHMARKING_IDS')) {
         foreach ($columns as &$column) {
             $column = new pts_graph_ir_value($column);
             $column->set_attribute('href', 'http://openbenchmarking.org/system/' . OPENBENCHMARKING_IDS . '/' . $column);
         }
     }
     parent::__construct($rows, $columns, $table_data, $result_file);
     $this->i['identifier_size'] *= 0.8;
     $this->column_heading_vertical = false;
     $this->graph_title = $result_file->get_title();
     if (!defined('PHOROMATIC_EXPORT_VIEWER')) {
         pts_render::report_system_notes_to_table($result_file, $this);
     }
 }
 public function __construct(&$result_file, $system_id_keys = null, $result_object_index = -1, $extra_attributes = null)
 {
     list($rows, $columns, $table_data) = self::result_file_to_result_table($result_file, $system_id_keys, $result_object_index, $this->flagged_results, $extra_attributes);
     parent::__construct($rows, $columns, $table_data, $result_file);
     $this->result_object_index = $result_object_index;
     if ($result_object_index == -1) {
         $this->graph_title = $result_file->get_title();
     } else {
         $result_object = $result_file->get_result_objects($result_object_index);
         if (isset($result_object[0])) {
             $this->graph_title = $result_object[0]->test_profile->get_title();
             $this->graph_sub_titles[] = $result_object[0]->get_arguments_description();
         }
     }
     // where to start the table values
     $this->longest_row_identifier = null;
     $longest_row_title_length = 0;
     foreach ($this->rows as $result_test) {
         if (($len = strlen($result_test)) > $longest_row_title_length) {
             $this->longest_row_identifier = $result_test;
             $longest_row_title_length = $len;
         }
     }
 }