From 5af2d77b8468bc585ac350b53d704f030b74fe1d Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Mon, 18 Mar 2024 23:23:49 +0100 Subject: Add more public accessor methods to Fl_Grid (#937) Some of these accessor methods should be private so they can't be used by user code but - due to compiler issues - they must be public for HP-UX 11.11 (for details see GitHub Issue #937). --- FL/Fl_Grid.H | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) (limited to 'FL') diff --git a/FL/Fl_Grid.H b/FL/Fl_Grid.H index 7473ae050..3661977c5 100644 --- a/FL/Fl_Grid.H +++ b/FL/Fl_Grid.H @@ -151,7 +151,7 @@ public: class Cell { friend class Fl_Grid; private: - Cell *next_; // next cell in row + Cell *next_; // next cell in the same row short row_; // row number short col_; // column number short rowspan_; // row span (1 - n) @@ -163,7 +163,7 @@ public: public: - void Cell_() { + void Cell_() { // common initialization next_ = NULL; row_ = 0; col_ = 0; @@ -175,21 +175,49 @@ public: align_ = 0; } - Cell(int row, int col) { + Cell(int row, int col) { // constructor Cell_(); row_ = row; col_ = col; } - Cell(Fl_Widget *w, int row, int col) { + Cell(Fl_Widget *w, int row, int col) { // widget assignment Cell_(); widget_ = w; row_ = row; col_ = col; } + /** + The destructor deletes the cell. + + \todo Fl_Grid's cell destructor should remove the cell from the grid. + Currently it does nothing! + */ ~Cell() {} + /** + Returns the next widget cell of the same row of this cell. + */ + Cell *next() { + return next_; + } + + /** + Sets the \c next pointer of a grid's cell. + + \b Internal use only! + + Do not use this method, it may corrupt the allocated memory. + + \internal + This method is public due to issue #937 but should be private or + at least protected. For more info see GitHub issue #937. + */ + void next(Cell *c) { + next_ = c; + } + Fl_Widget *widget() const { return widget_; } short row() const { return row_; } -- cgit v1.2.3