* \author unknown
* \author John Levon
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#ifndef XWORKAREA_H
#define XWORKAREA_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
#include "frontends/WorkArea.h"
#include "XPainter.h"
-#include FORMS_H_LOCATION
+#include "LayoutEngine.h"
+
+#include "lyx_forms.h"
+
+class LyXView;
+
+namespace lyx {
+namespace frontend {
-///
class XWorkArea : public WorkArea {
public:
///
- XWorkArea(int xpos, int ypos, int width, int height);
+ XWorkArea(LyXView & owner, int width, int height);
///
~XWorkArea();
///
/// a selection exists
virtual void haveSelection(bool) const;
///
- virtual string const getClipboard() const;
+ virtual std::string const getClipboard() const;
///
- virtual void putClipboard(string const &) const;
+ virtual void putClipboard(std::string const &) const;
/// handles SelectionRequest X Event, to fill the clipboard
int event_cb(XEvent * xev);
private:
/// generate the pixmap, and copy backing pixmap to it,
/// and send resize event if needed
- void redraw(int, int);
+ void updateGeometry(int, int);
+
+ ///
+ void paint(int x, int y, int w, int h);
/// GC used for copying to the screen
GC copy_gc;
- ///
- FL_OBJECT * backgroundbox;
/// the workarea free object
FL_OBJECT * work_area;
/// the scrollbar objcet
bool screen_cleared;
/// the current document's height (for scrollbar)
int doc_height_;
+ ///
+ boost::shared_ptr<Box> wa_box_;
+ ///
+ WidgetMap widgets_;
};
+} // namespace frontend
+} // namespace lyx
+
#endif // XWORKAREA_H