@ -147,12 +153,11 @@ void MyTable::draw_cell(TableContext context, int R, int C, int X, int Y, int W,
@@ -147,12 +153,11 @@ void MyTable::draw_cell(TableContext context, int R, int C, int X, int Y, int W,
fl_draw(head[C],X+2,Y,W,H,FL_ALIGN_LEFT,0,0);// +2=pad left
fl_draw(G_header[C],X+2,Y,W,H,FL_ALIGN_LEFT,0,0);// +2=pad left
// Draw sort arrow
if(C==_sort_lastcol){
draw_sort_arrow(X,Y,W,H);
@ -166,7 +171,7 @@ void MyTable::draw_cell(TableContext context, int R, int C, int X, int Y, int W,
@@ -166,7 +171,7 @@ void MyTable::draw_cell(TableContext context, int R, int C, int X, int Y, int W,
fl_color(FL_BLACK);fl_draw(s,X+2,Y,W,H,FL_ALIGN_LEFT);// +2=pad left
// Border
fl_color(FL_LIGHT2);fl_rect(X,Y,W,H);
@ -181,13 +186,17 @@ void MyTable::draw_cell(TableContext context, int R, int C, int X, int Y, int W,
@@ -181,13 +186,17 @@ void MyTable::draw_cell(TableContext context, int R, int C, int X, int Y, int W,
// Automatically set column widths to widest data in each column
voidMyTable::autowidth(intpad){
fl_font(FL_COURIER,16);
// Initialize all column widths to lowest value
for(intc=0;c<cols();c++)col_width(c,pad);
intw,h;
// Initialize all column widths to header width
fl_font(HEADER_FONTFACE,HEADER_FONTSIZE);
for(intc=0;G_header[c];c++){
w=0;fl_measure(G_header[c],w,h,0);// pixel width of header text
col_width(c,w+pad);
}
fl_font(ROW_FONTFACE,ROW_FONTSIZE);
for(intr=0;r<(int)_rowdata.size();r++){
intw,h;
for(intc=0;c<(int)_rowdata[r].cols.size();c++){
fl_measure(_rowdata[r].cols[c],w,h,0);// get pixel width of text
w=0;fl_measure(_rowdata[r].cols[c],w,h,0);// pixel width of row text