Use the new Fl_Int_Vector class in Fl_Table
Replace local IntVector with Fl_Int_Vector
This commit is contained in:
parent
8b92935b1e
commit
bb7129dae2
@ -20,6 +20,7 @@
|
||||
|
||||
#include <FL/Fl_Group.H>
|
||||
#include <FL/Fl_Scroll.H>
|
||||
#include <FL/Fl_Int_Vector.H>
|
||||
|
||||
/**
|
||||
A table of widgets or other content.
|
||||
@ -154,35 +155,8 @@ private:
|
||||
};
|
||||
unsigned int flags_;
|
||||
|
||||
// An STL-ish vector without templates
|
||||
class FL_EXPORT IntVector {
|
||||
int *arr;
|
||||
unsigned int _size;
|
||||
void init() {
|
||||
arr = 0;
|
||||
_size = 0;
|
||||
}
|
||||
void copy(int *newarr, unsigned int newsize);
|
||||
public:
|
||||
IntVector() { init(); } // CTOR
|
||||
~IntVector(); // DTOR
|
||||
IntVector(IntVector&o) { init(); copy(o.arr, o._size); } // COPY CTOR
|
||||
IntVector& operator=(IntVector&o) { // ASSIGN
|
||||
init();
|
||||
copy(o.arr, o._size);
|
||||
return(*this);
|
||||
}
|
||||
int operator[](int x) const { return(arr[x]); }
|
||||
int& operator[](int x) { return(arr[x]); }
|
||||
unsigned int size() { return(_size); }
|
||||
void size(unsigned int count);
|
||||
int pop_back() { int tmp = arr[_size-1]; _size--; return(tmp); }
|
||||
void push_back(int val) { unsigned int x = _size; size(_size+1); arr[x] = val; }
|
||||
int back() { return(arr[_size-1]); }
|
||||
};
|
||||
|
||||
IntVector _colwidths; // column widths in pixels
|
||||
IntVector _rowheights; // row heights in pixels
|
||||
Fl_Int_Vector _colwidths; // column widths in pixels
|
||||
Fl_Int_Vector _rowheights; // row heights in pixels
|
||||
|
||||
Fl_Cursor _last_cursor; // last mouse cursor before changed to 'resize' cursor
|
||||
|
||||
|
@ -26,27 +26,6 @@
|
||||
#include <stdlib.h> // realloc/free
|
||||
|
||||
|
||||
// An STL-ish vector without templates (private to Fl_Table)
|
||||
|
||||
void Fl_Table::IntVector::copy(int *newarr, unsigned int newsize) {
|
||||
size(newsize);
|
||||
memcpy(arr, newarr, newsize * sizeof(int));
|
||||
}
|
||||
|
||||
Fl_Table::IntVector::~IntVector() { // DTOR
|
||||
if (arr)
|
||||
free(arr);
|
||||
arr = 0;
|
||||
}
|
||||
|
||||
void Fl_Table::IntVector::size(unsigned int count) {
|
||||
if (count != _size) {
|
||||
arr = (int*)realloc(arr, count * sizeof(int));
|
||||
_size = count;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** Sets the vertical scroll position so 'row' is at the top,
|
||||
and causes the screen to redraw.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user