CMP mods: bracing, doxygen fixes for code examples and #if DOXYGEN -> #if FL_DOXYGEN.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7950 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Greg Ercolano 2010-12-05 01:22:53 +00:00
parent 0abd2665f5
commit 770c2c2eaf
4 changed files with 41 additions and 58 deletions

View File

@ -386,12 +386,10 @@ protected:
\code
// This is called whenever Fl_Table wants you to draw a cell
void MyTable::draw_cell(TableContext context, int R=0, int C=0, int X=0, int Y=0, int W=0, int H=0)
{
void MyTable::draw_cell(TableContext context, int R=0, int C=0, int X=0, int Y=0, int W=0, int H=0) {
static char s[40];
sprintf(s, "%d/%d", R, C); // text for each cell
switch ( context )
{
switch ( context ) {
case CONTEXT_STARTPAGE: // Fl_Table telling us its starting to draw page
fl_font(FL_HELVETICA, 16);
return;
@ -487,9 +485,7 @@ public:
*/
virtual void clear() { rows(0); cols(0); }
// topline()
// middleline()
// bottomline()
// \todo: add topline(), middleline(), bottomline()
/**
Sets the kind of box drawn around the data table,
@ -957,7 +953,7 @@ public:
Fl_Widget::do_callback();
}
#if DOXYGEN
#if FL_DOXYGEN
/**
The Fl_Widget::when() function is used to set a group of flags, determining
when the widget callback is called:
@ -989,7 +985,7 @@ public:
void when(Fl_When flags);
#endif
#if DOXYGEN
#if FL_DOXYGEN
/**
Callbacks will be called depending on the setting of Fl_Widget::when().
@ -1039,34 +1035,31 @@ public:
</table>
\code
class MyTable
{
[..]
class MyTable : public Fl_Table {
[..]
private:
// Handle events that happen on the table
void event_callback2()
{
int R = callback_row(), // row where event occurred
C = callback_col(); // column where event occurred
TableContext context = callback_context(); // which part of table
fprintf(stderr, "callback: Row=%d Col=%d Context=%d Event=%d\n",
R, C, (int)context, (int)Fl::event());
}
// Actual static callback
static void event_callback(Fl_Widget*, void* data)
{
MyTable *o = (MyTable*)data;
o-&gt;event_callback2();
}
// Handle events that happen on the table
void event_callback2() {
int R = callback_row(), // row where event occurred
C = callback_col(); // column where event occurred
TableContext context = callback_context(); // which part of table
fprintf(stderr, "callback: Row=%d Col=%d Context=%d Event=%d\n",
R, C, (int)context, (int)Fl::event());
}
// Actual static callback
static void event_callback(Fl_Widget*, void* data) {
MyTable *o = (MyTable*)data;
o-&gt;event_callback2();
}
public:
MyTable() // Constructor
{
[..]
table.callback(&event_callback, (void*)this); // setup callback
table.when(FL_WHEN_CHANGED|FL_WHEN_RELEASE); // when to call it
}
// Constructor
MyTable() {
[..]
table.callback(&event_callback, (void*)this); // setup callback
table.when(FL_WHEN_CHANGED|FL_WHEN_RELEASE); // when to call it
}
};
\endcode
*/

View File

@ -37,12 +37,10 @@
/**
A table with row selection capabilities.
This class implements a simple table of rows and columns that specializes in
the selection of rows. This widget is similar in behavior to a "mail subject
browser", similar to that found in mozilla, netscape and outlook mail browsers.
Most methods of importance will be found in the Fl_Table widget, such as
Fl_Table::rows() and Fl_Table::cols().
This class implements a simple table with the ability to select
rows. This widget is similar to an Fl_Browser with columns. Most
methods of importance will be found in the Fl_Table widget, such
as Fl_Table::rows() and Fl_Table::cols().
To be useful it must be subclassed and at minimum the draw_cell()
method must be overridden to provide the content of the cells. This widget

View File

@ -424,14 +424,13 @@ void Fl_Table::_auto_drag_cb() {
if (lx > x() + w() - 20) {
Fl::e_x = x() + w() - 20;
if (hscrollbar->visible())
((Fl_Slider*)hscrollbar)->value(
hscrollbar->clamp(hscrollbar->value() + 30));
((Fl_Slider*)hscrollbar)->value(hscrollbar->clamp(hscrollbar->value() + 30));
hscrollbar->do_callback();
_dragging_x = Fl::e_x - 30;
}
else if (lx < (x() + row_header_width())) {
Fl::e_x = x() + row_header_width() + 1;
if (hscrollbar->visible()) {
if (hscrollbar->visible()) {
((Fl_Slider*)hscrollbar)->value(hscrollbar->clamp(hscrollbar->value() - 30));
}
hscrollbar->do_callback();
@ -514,7 +513,7 @@ void Fl_Table::table_scrolled() {
if ( y > voff ) { y -= row_height(row); break; }
}
_row_position = toprow = ( row >= _rows ) ? (row - 1) : row;
toprow_scrollpos = y; // OPTIMIZATION: save for later use
toprow_scrollpos = y; // OPTIMIZATION: save for later use
// Find bottom row
voff = vscrollbar->value() + tih;
for ( ; row < _rows; row++ ) {

View File

@ -45,16 +45,14 @@ int Fl_Table_Row::row_selected(int row) {
void Fl_Table_Row::type(TableRowSelectMode val) {
_selectmode = val;
switch ( _selectmode ) {
case SELECT_NONE:
{
case SELECT_NONE: {
for ( int row=0; row<rows(); row++ ) {
_rowselect[row] = 0;
}
redraw();
break;
}
case SELECT_SINGLE:
{
case SELECT_SINGLE: {
int count = 0;
for ( int row=0; row<rows(); row++ ) {
if ( _rowselect[row] ) {
@ -90,8 +88,7 @@ int Fl_Table_Row::select_row(int row, int flag) {
case SELECT_NONE:
return(-1);
case SELECT_SINGLE:
{
case SELECT_SINGLE: {
int oldval;
for ( int t=0; t<rows(); t++ ) {
if ( t == row ) {
@ -111,8 +108,7 @@ int Fl_Table_Row::select_row(int row, int flag) {
break;
}
case SELECT_MULTI:
{
case SELECT_MULTI: {
int oldval = _rowselect[row];
if ( flag == 2 ) { _rowselect[row] ^= 1; }
else { _rowselect[row] = flag; }
@ -138,8 +134,7 @@ void Fl_Table_Row::select_all_rows(int flag) {
if ( flag != 0 ) return;
//FALLTHROUGH
case SELECT_MULTI:
{
case SELECT_MULTI: {
char changed = 0;
if ( flag == 2 ) {
for ( int row=0; row<(int)_rowselect.size(); row++ ) {
@ -204,8 +199,7 @@ int Fl_Table_Row::handle(int event) {
select_row(R, 2); // toggle
break;
case FL_SHIFT:
{
case FL_SHIFT: {
select_row(R, 1);
if ( _last_row > -1 ) {
int srow = R, erow = _last_row;
@ -234,8 +228,7 @@ int Fl_Table_Row::handle(int event) {
}
break;
case FL_DRAG:
{
case FL_DRAG: {
if ( _dragging_select ) {
// Dragged off table edges? Handle scrolling
int offtop = toy - _last_y; // >0 if off top of table