summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2025-07-07 13:51:36 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2025-07-07 14:55:55 +0200
commitbdde3e5d2bd6df79557e219f3b5f148aa0914390 (patch)
tree910d00a8257c8b8a3f4a3916547328c68a72661b /FL
parent51cca24d04768dc73a8d0317db757a0ed7f69eaf (diff)
Fl_Table_Row: replace private class CharVector with std::vector
FL/Fl_Table_Row.H: use `std::vector<uint8_t> _rowselect;`, remove declaration of class `CharVector` src/Fl_Table_Row.cxx: remove implementation of class `CharVector`, simplify loops (use range based for loops), use resize() to change vector size. Unify copyright year of Fl_Table* headers and implementation.
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Table.H2
-rw-r--r--FL/Fl_Table_Row.H61
2 files changed, 9 insertions, 54 deletions
diff --git a/FL/Fl_Table.H b/FL/Fl_Table.H
index 99ceb3009..d4a149da5 100644
--- a/FL/Fl_Table.H
+++ b/FL/Fl_Table.H
@@ -3,7 +3,7 @@
//
// Copyright 2002 by Greg Ercolano.
// Copyright (c) 2004 O'ksi'D
-// Copyright 2023 by Bill Spitzak and others.
+// Copyright 2009-2025 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
diff --git a/FL/Fl_Table_Row.H b/FL/Fl_Table_Row.H
index 93f8b0e8c..28b1d05b4 100644
--- a/FL/Fl_Table_Row.H
+++ b/FL/Fl_Table_Row.H
@@ -1,15 +1,11 @@
//
-
-#ifndef _FL_TABLE_ROW_H
-#define _FL_TABLE_ROW_H
-
-//
// Fl_Table_Row -- A row oriented table widget for the Fast Light Tool Kit (FLTK).
//
// A class specializing in a table of rows.
// Handles row-specific selection behavior.
//
// Copyright 2002 by Greg Ercolano.
+// Copyright 2009-2025 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -22,8 +18,14 @@
// https://www.fltk.org/bugs.php
//
+#ifndef _FL_TABLE_ROW_H
+#define _FL_TABLE_ROW_H
+
#include <FL/Fl_Table.H>
+#include <stdint.h>
+#include <vector>
+
/**
A table with row selection capabilities.
@@ -49,55 +51,8 @@ public:
SELECT_MULTI // multiple row selection (default)
};
private:
- // An STL-ish vector without templates
- class FL_EXPORT CharVector {
- char *arr;
- int _size;
- void init() {
- arr = 0;
- _size = 0;
- }
- void copy(char *newarr, int newsize);
- public:
- CharVector() { // CTOR
- init();
- }
- ~CharVector(); // DTOR
- CharVector(CharVector&o) { // COPY CTOR
- init();
- copy(o.arr, o._size);
- }
- CharVector& operator=(CharVector&o) { // ASSIGN
- init();
- copy(o.arr, o._size);
- return(*this);
- }
- char operator[](int x) const {
- return(arr[x]);
- }
- char& operator[](int x) {
- return(arr[x]);
- }
- int size() {
- return(_size);
- }
- void size(int count);
- char pop_back() {
- char tmp = arr[_size-1];
- _size--;
- return(tmp);
- }
- void push_back(char val) {
- int x = _size;
- size(_size+1);
- arr[x] = val;
- }
- char back() {
- return(arr[_size-1]);
- }
- };
- CharVector _rowselect; // selection flag for each row
+ std::vector<uint8_t> _rowselect; // selection flag for each row
// handle() state variables.
// Put here instead of local statics in handle(), so more