From cc7901c5b88c14c88cd71f8df77c53d1feb1e826 Mon Sep 17 00:00:00 2001 From: John Levon Date: Sun, 26 May 2002 18:30:34 +0000 Subject: [PATCH] move workarea to xforms/ for a better diff. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4211 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/ChangeLog | 6 + src/frontends/Makefile.am | 1 - src/frontends/WorkArea.h | 161 +----------------- src/frontends/xforms/ChangeLog | 6 + src/frontends/xforms/Makefile.am | 2 + .../{WorkArea.C => xforms/XWorkArea.C} | 0 src/frontends/xforms/XWorkArea.h | 159 +++++++++++++++++ 7 files changed, 175 insertions(+), 160 deletions(-) rename src/frontends/{WorkArea.C => xforms/XWorkArea.C} (100%) create mode 100644 src/frontends/xforms/XWorkArea.h diff --git a/src/frontends/ChangeLog b/src/frontends/ChangeLog index 73abcb5239..96ea9e1668 100644 --- a/src/frontends/ChangeLog +++ b/src/frontends/ChangeLog @@ -1,3 +1,9 @@ +2002-05-26 John Levon + + * Makefile.am: + * WorkArea.h: + * WorkArea.C: move to xforms/ for better diff + 2002-05-26 John Levon * key_state.h: diff --git a/src/frontends/Makefile.am b/src/frontends/Makefile.am index bf3402a592..3ae10cdd9d 100644 --- a/src/frontends/Makefile.am +++ b/src/frontends/Makefile.am @@ -34,7 +34,6 @@ libfrontends_la_SOURCES = \ Toolbar.h \ LyXView.C \ LyXView.h \ - WorkArea.C \ WorkArea.h \ font_loader.h \ font_metrics.h \ diff --git a/src/frontends/WorkArea.h b/src/frontends/WorkArea.h index cef93f34ad..64f34d72ce 100644 --- a/src/frontends/WorkArea.h +++ b/src/frontends/WorkArea.h @@ -1,159 +1,2 @@ -// -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. - * - * ======================================================*/ - -#ifndef WORKAREA_H -#define WORKAREA_H - -#ifdef __GNUG__ -#pragma interface -#endif - -#include - -#include - -#include FORMS_H_LOCATION -#include "frontends/Painter.h" -#include "frontends/mouse_state.h" -#include "frontends/key_state.h" - -/// -class WorkArea { -public: - /// - WorkArea(int xpos, int ypos, int width, int height); - /// - ~WorkArea(); - /// - Painter & getPainter() { return painter_; } - /// - int workWidth() const { return work_area->w; } - /// - unsigned int width() const { return work_area->w + scrollbar->w; } - //unsigned int width() const { return backgroundbox->w + 15; } - /// - unsigned int height() const { return work_area->h; } - //unsigned int height() const { return backgroundbox->h; } - /// - int xpos() const { return work_area->x; } - //int xpos() const { return backgroundbox->x; } - /// - int ypos() const { return work_area->y; } - //int ypos() const { return backgroundbox->y; } - /// - void resize(int xpos, int ypos, int width, int height); - /// - void redraw() const { - fl_redraw_object(work_area); - fl_redraw_object(scrollbar); - } - /// - void setFocus() const; - /// - Window getWin() const { return work_area->form->window; } - /// - bool hasFocus() const { return work_area->focus; } - /// - bool active() const { return work_area->active; } - /// - bool belowMouse() const; - /// - bool visible() const { return work_area->form->visible; } - /// - void greyOut() const; - /// - void setScrollbar(double pos, double length_fraction) const; - /// - void setScrollbarValue(double y) const { - fl_set_scrollbar_value(scrollbar, y); - } - /// - void setScrollbarBounds(double, double) const; - /// - void setScrollbarIncrements(double inc) const; - /// - double getScrollbarValue() const { - return fl_get_scrollbar_value(scrollbar); - } - /// - std::pair const getScrollbarBounds() const { - std::pair p; - fl_get_scrollbar_bounds(scrollbar, &p.first, &p.second); - return p; - } - /// - Pixmap getPixmap() const { return workareapixmap; } - /// xforms callback - static int work_area_handler(FL_OBJECT *, int event, - FL_Coord, FL_Coord, - int /*key*/, void * xev); - /// xforms callback - static void scroll_cb(FL_OBJECT *, long); - /// a selection exists - void haveSelection(bool) const; - /// - string const getClipboard() const; - /// - void putClipboard(string const &) const; - // Signals - /// - SigC::Signal0 workAreaExpose; - /// - SigC::Signal1 scrollCB; - /// - SigC::Signal2 workAreaKeyPress; - /// - SigC::Signal3 workAreaButtonPress; - /// - SigC::Signal3 workAreaButtonRelease; - /// - SigC::Signal3 workAreaMotionNotify; - /// - SigC::Signal0 workAreaFocus; - /// - SigC::Signal0 workAreaUnfocus; - /// - SigC::Signal0 workAreaEnter; - /// - SigC::Signal0 workAreaLeave; - /// - SigC::Signal3 workAreaDoubleClick; - /// - SigC::Signal3 workAreaTripleClick; - /// emitted when an X client has requested our selection - SigC::Signal0 selectionRequested; - /// emitted when another X client has stolen our selection - SigC::Signal0 selectionLost; - - /// handles SelectionRequest X Event, to fill the clipboard - int event_cb(XEvent * xev); -private: - /// - void createPixmap(int, int); - - /// - FL_OBJECT * backgroundbox; - /// - FL_OBJECT * work_area; - /// - FL_OBJECT * scrollbar; - /// - mutable FL_OBJECT * splash_; - /// - mutable FL_OBJECT * splash_text_; - /// The pixmap overlay on the workarea - Pixmap workareapixmap; - /// - Painter painter_; - /// if we call redraw with true needed for locking-insets - bool screen_cleared; -}; -#endif +// very temporary +#include "xforms/XWorkArea.h" diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index 6bad5ea2ba..7b434627d4 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,9 @@ +2002-05-26 John Levon + + * Makefile.am: + * XWorkArea.h: + * XWorkArea.C: moved here + 2002-05-24 John Levon * ColorHandler.h: diff --git a/src/frontends/xforms/Makefile.am b/src/frontends/xforms/Makefile.am index 54e1b57c9b..c47effd118 100644 --- a/src/frontends/xforms/Makefile.am +++ b/src/frontends/xforms/Makefile.am @@ -218,6 +218,8 @@ libxforms_la_SOURCES = \ XFormsView.h \ XPainter.C \ XPainter.h \ + XWorkArea.h \ + XWorkArea.C \ xfont_loader.C \ xfont_loader.h \ xfont_metrics.C \ diff --git a/src/frontends/WorkArea.C b/src/frontends/xforms/XWorkArea.C similarity index 100% rename from src/frontends/WorkArea.C rename to src/frontends/xforms/XWorkArea.C diff --git a/src/frontends/xforms/XWorkArea.h b/src/frontends/xforms/XWorkArea.h new file mode 100644 index 0000000000..cef93f34ad --- /dev/null +++ b/src/frontends/xforms/XWorkArea.h @@ -0,0 +1,159 @@ +// -*- C++ -*- +/* This file is part of + * ====================================================== + * + * LyX, The Document Processor + * + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2001 The LyX Team. + * + * ======================================================*/ + +#ifndef WORKAREA_H +#define WORKAREA_H + +#ifdef __GNUG__ +#pragma interface +#endif + +#include + +#include + +#include FORMS_H_LOCATION +#include "frontends/Painter.h" +#include "frontends/mouse_state.h" +#include "frontends/key_state.h" + +/// +class WorkArea { +public: + /// + WorkArea(int xpos, int ypos, int width, int height); + /// + ~WorkArea(); + /// + Painter & getPainter() { return painter_; } + /// + int workWidth() const { return work_area->w; } + /// + unsigned int width() const { return work_area->w + scrollbar->w; } + //unsigned int width() const { return backgroundbox->w + 15; } + /// + unsigned int height() const { return work_area->h; } + //unsigned int height() const { return backgroundbox->h; } + /// + int xpos() const { return work_area->x; } + //int xpos() const { return backgroundbox->x; } + /// + int ypos() const { return work_area->y; } + //int ypos() const { return backgroundbox->y; } + /// + void resize(int xpos, int ypos, int width, int height); + /// + void redraw() const { + fl_redraw_object(work_area); + fl_redraw_object(scrollbar); + } + /// + void setFocus() const; + /// + Window getWin() const { return work_area->form->window; } + /// + bool hasFocus() const { return work_area->focus; } + /// + bool active() const { return work_area->active; } + /// + bool belowMouse() const; + /// + bool visible() const { return work_area->form->visible; } + /// + void greyOut() const; + /// + void setScrollbar(double pos, double length_fraction) const; + /// + void setScrollbarValue(double y) const { + fl_set_scrollbar_value(scrollbar, y); + } + /// + void setScrollbarBounds(double, double) const; + /// + void setScrollbarIncrements(double inc) const; + /// + double getScrollbarValue() const { + return fl_get_scrollbar_value(scrollbar); + } + /// + std::pair const getScrollbarBounds() const { + std::pair p; + fl_get_scrollbar_bounds(scrollbar, &p.first, &p.second); + return p; + } + /// + Pixmap getPixmap() const { return workareapixmap; } + /// xforms callback + static int work_area_handler(FL_OBJECT *, int event, + FL_Coord, FL_Coord, + int /*key*/, void * xev); + /// xforms callback + static void scroll_cb(FL_OBJECT *, long); + /// a selection exists + void haveSelection(bool) const; + /// + string const getClipboard() const; + /// + void putClipboard(string const &) const; + // Signals + /// + SigC::Signal0 workAreaExpose; + /// + SigC::Signal1 scrollCB; + /// + SigC::Signal2 workAreaKeyPress; + /// + SigC::Signal3 workAreaButtonPress; + /// + SigC::Signal3 workAreaButtonRelease; + /// + SigC::Signal3 workAreaMotionNotify; + /// + SigC::Signal0 workAreaFocus; + /// + SigC::Signal0 workAreaUnfocus; + /// + SigC::Signal0 workAreaEnter; + /// + SigC::Signal0 workAreaLeave; + /// + SigC::Signal3 workAreaDoubleClick; + /// + SigC::Signal3 workAreaTripleClick; + /// emitted when an X client has requested our selection + SigC::Signal0 selectionRequested; + /// emitted when another X client has stolen our selection + SigC::Signal0 selectionLost; + + /// handles SelectionRequest X Event, to fill the clipboard + int event_cb(XEvent * xev); +private: + /// + void createPixmap(int, int); + + /// + FL_OBJECT * backgroundbox; + /// + FL_OBJECT * work_area; + /// + FL_OBJECT * scrollbar; + /// + mutable FL_OBJECT * splash_; + /// + mutable FL_OBJECT * splash_text_; + /// The pixmap overlay on the workarea + Pixmap workareapixmap; + /// + Painter painter_; + /// if we call redraw with true needed for locking-insets + bool screen_cleared; +}; +#endif