/******************************************************************************
 JXCursorMarkTable.h

	Interface for the JXCursorMarkTable class

	Copyright © 1997 by Glenn W. Bach. All rights reserved.

 ******************************************************************************/

#ifndef _H_JXCursorMarkTable
#define _H_JXCursorMarkTable

#include <JXTable.h>

class J2DPlotWidget;
class JPainter;
class JPagePrinter;

class JXCursorMarkTable : public JXTable
{
public:

	JXCursorMarkTable(J2DPlotWidget* plot,
					JXScrollbarSet* scrollbarSet, JXContainer* enclosure,
					const HSizingOption hSizing, const VSizingOption vSizing,
					const JCoordinate x, const JCoordinate y,
					const JCoordinate w, const JCoordinate h);

	virtual ~JXCursorMarkTable();

	JBoolean	TableDrawArea(JPagePrinter&	p, const JBoolean putOnSamePage,
								const JRect& partialPageRect);
	void		TableDrawCells(JPainter& p, const JRect cellRect, 
								const JRect regionRect);
	void		AdjustTable();

protected:

	virtual void			TableDrawCell(JPainter& p, const JPoint& cell, const JRect& rect);
	virtual void			Receive(JBroadcaster* sender,
									const JBroadcaster::Message& message);

private:

	J2DPlotWidget*		itsPlot;

private:

	JBoolean	DrawRegions(JPainter& p, const JRect pageRect, 
							const JCoordinate regionWidth,
							JIndex* currentRow);
						

	// not allowed

	JXCursorMarkTable(const JXCursorMarkTable& source);
	const JXCursorMarkTable& operator=(const JXCursorMarkTable& source);
};


#endif
