+
+protected:
+
+ /**
+ This class forwards calls from EstimateTotalSize() to this function so
+ derived classes can override either just the height or the width
+ estimation, or just estimate both differently if desired in any
+ wxHVScrolledWindow derived class.
+
+ @note This function will not be called if EstimateTotalSize() is
+ overridden in your derived class.
+ */
+ virtual wxCoord EstimateTotalWidth() const;
+
+ /**
+ This function doesn't have to be overridden but it may be useful to do
+ so if calculating the columns' sizes is a relatively expensive
+ operation as it gives your code a chance to calculate several of them
+ at once and cache the result if necessary.
+
+ OnGetColumnsWidthHint() is normally called just before
+ OnGetColumnWidth() but you shouldn't rely on the latter being called
+ for all columns in the interval specified here. It is also possible
+ that OnGetColumnWidth() will be called for units outside of this
+ interval, so this is really just a hint, not a promise.
+
+ Finally, note that @a columnMin is inclusive, while @a columnMax is
+ exclusive.
+ */
+ virtual void OnGetColumnsWidthHint(size_t columnMin,
+ size_t columnMax) const;
+
+ /**
+ This function must be overridden in the derived class, and should
+ return the width of the given column in pixels.
+ */
+ virtual wxCoord OnGetColumnWidth(size_t column) const = 0;