Index: /branches/rel_apv_10_7_3/usr/click/webui/htdocs/new/src/hive/report.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/webui/htdocs/new/src/hive/report.py	(revision 39979)
+++ /branches/rel_apv_10_7_3/usr/click/webui/htdocs/new/src/hive/report.py	(working copy)
@@ -46,7 +46,25 @@
     return t
 
 def generate_report_table(data, col_num):
-    t = Table(data, colWidths=int(480/col_num), rowHeights=20)
+
+    max_total_width = 7 * 72
+
+    if col_num <= 1:
+        col_widths = max_total_width
+    else:
+        first_col_width = 100
+        min_data_col_width = 60
+
+        remaining_width = max_total_width - first_col_width
+        data_col_count = col_num - 1
+        data_col_width = remaining_width / data_col_count
+
+        if data_col_width < min_data_col_width:
+            data_col_width = min_data_col_width
+
+        col_widths = [first_col_width] + [data_col_width] * data_col_count
+
+    t = Table(data, colWidths=col_widths, rowHeights=20)
     data_len = len(data)
 
     for each in range(data_len):
@@ -55,8 +73,17 @@
         else:
             bg_color = colors.white
 
-        t.setStyle(TableStyle([('BACKGROUND', (0, each), (-1, each), bg_color),
-                                ('FONT', (0,0), (-1, -1), current_font),]))
+        t.setStyle(TableStyle([
+            ('BACKGROUND', (0, each), (-1, each), bg_color),
+            ('FONT', (0, 0), (-1, -1), current_font),
+            ('FONTSIZE', (0, 0), (-1, -1), 10),
+            ('ALIGN', (0, 0), (0, -1), 'LEFT'),
+            ('ALIGN', (1, 0), (-1, -1), 'RIGHT'),
+            ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
+            ('WORDWRAP', (0, 0), (-1, -1), True),
+            ('LEFTPADDING', (0, 0), (-1, -1), 4),
+            ('RIGHTPADDING', (0, 0), (-1, -1), 4),
+        ]))
     return t
 
 def get_time_range(from_time, to_time):
