]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/gtk/GWorkArea.h
Change glob() API to accept a dir parameter.
[lyx.git] / src / frontends / gtk / GWorkArea.h
index ffb3abc8a32048b0852475159f8c7c50a7f53e2b..eaeb971e08d51815c61ed2662b4a23393ccaffc8 100644 (file)
 #define GWORKAREA_H
 
 #include "GPainter.h"
-#include <gdk/gdkx.h>
-#include <gtk/gtk.h>
 
 #include "frontends/WorkArea.h"
 
+#include <gtkmm.h>
+#include <gtk/gtk.h>
+
 #include <X11/Xft/Xft.h>
 
-class EnumLColor;
+class LColor_color;
+class LyXView;
+
+namespace lyx {
+namespace frontend {
 
-class ColorCache
-{
-       typedef std::map<EnumLColor, Gdk::Color *> Map;
+class ColorCache {
+public:
+       typedef std::map<LColor_color, boost::shared_ptr<Gdk::Color> > Map;
        typedef Map::iterator MapIt;
-       typedef std::map<EnumLColor, XftColor *> Map2;
+       typedef std::map<LColor_color, boost::shared_ptr<XftColor> > Map2;
        typedef Map2::iterator MapIt2;
-public:
-       ~ColorCache();
-       Gdk::Color * getColor(EnumLColor);
-       XftColor * getXftColor(EnumLColor);
-       void cacheColor(EnumLColor, Gdk::Color *);
-       void cacheXftColor(EnumLColor, XftColor *);
+       Gdk::Color * getColor(LColor_color);
+       XftColor * getXftColor(LColor_color);
+       void cacheColor(LColor_color, Gdk::Color *);
+       void cacheXftColor(LColor_color, XftColor *);
        void clear();
 private:
        Map cache_;
@@ -42,21 +45,19 @@ private:
 
 extern ColorCache colorCache;
 
-class ColorHandler
-{
+class ColorHandler {
 public:
-       ColorHandler(GWorkArea& owner) : owner_(owner) {}
-       XftColor * getXftColor(EnumLColor clr);
-       Gdk::Color * getGdkColor(EnumLColor clr);
+       ColorHandler(GWorkArea & owner) : owner_(owner) {}
+       XftColor * getXftColor(LColor_color clr);
+       Gdk::Color * getGdkColor(LColor_color clr);
 private:
        GWorkArea & owner_;
 };
 
 
-class GWorkArea : public WorkArea, public SigC::Object
-{
+class GWorkArea : public WorkArea, public sigc::trackable {
 public:
-       GWorkArea(int width, int height);
+       GWorkArea(LyXView & owner, int width, int height);
        ~GWorkArea();
 
        virtual Painter & getPainter();
@@ -81,19 +82,20 @@ public:
        /// 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;
        void inputCommit(gchar * str);
 private:
        bool onExpose(GdkEventExpose * event);
        bool onConfigure(GdkEventConfigure * event);
        void onScroll();
+       bool onScrollWheel(GdkEventScroll * event);
        bool onButtonPress(GdkEventButton * event);
        bool onButtonRelease(GdkEventButton * event);
        bool onMotionNotify(GdkEventMotion * event);
        bool onKeyPress(GdkEventKey * event);
-       void onClipboardGet(Gtk::SelectionData& selection_data, guint info);
+       void onClipboardGet(Gtk::SelectionData & selection_data, guint info);
        void onClipboardClear();
        Gtk::HBox hbox_;
        Gtk::DrawingArea workArea_;
@@ -106,7 +108,10 @@ private:
        XftDraw * draw_;
        ColorHandler colorHandler_;
        GtkIMContext * imContext_;
-       string inputCache_;
+       std::string inputCache_;
 };
 
+} // namespace frontend
+} // namespace lyx
+
 #endif