X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdevice-manager.h;h=5f83ab7b0df9c4f5e6d9f8f186afc9972e1b05f1;hb=HEAD;hp=0b532aae28a979dd82b5272d2ff9481976e1f13d;hpb=55919b10f5e27d2fa50c03ca269bce594f5c8d82;p=inkscape.git diff --git a/src/device-manager.h b/src/device-manager.h index 0b532aae2..5f83ab7b0 100644 --- a/src/device-manager.h +++ b/src/device-manager.h @@ -1,7 +1,7 @@ /* * Inkscape::DeviceManager - a view of input devices available. * - * Copyright 2006 Jon A. Cruz + * Copyright 2010 Jon A. Cruz * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -16,14 +16,18 @@ namespace Inkscape { -class InputDevice { +class InputDevice : public Glib::Object { public: + virtual Glib::ustring getId() const = 0; virtual Glib::ustring getName() const = 0; virtual Gdk::InputSource getSource() const = 0; virtual Gdk::InputMode getMode() const = 0; virtual bool hasCursor() const = 0; virtual gint getNumAxes() const = 0; virtual gint getNumKeys() const = 0; + virtual Glib::ustring getLink() const = 0; + virtual gint getLiveAxes() const = 0; + virtual gint getLiveButtons() const = 0; protected: InputDevice(); @@ -34,11 +38,27 @@ private: void operator=(InputDevice const &); // no assign }; -class DeviceManager { +class DeviceManager : public Glib::Object { public: static DeviceManager& getManager(); - virtual std::list getDevices() = 0; + virtual void loadConfig() = 0; + virtual void saveConfig() = 0; + + virtual std::list > getDevices() = 0; + + virtual sigc::signal > signalDeviceChanged() = 0; + virtual sigc::signal > signalAxesChanged() = 0; + virtual sigc::signal > signalButtonsChanged() = 0; + virtual sigc::signal > signalLinkChanged() = 0; + + virtual void addAxis(Glib::ustring const & id, gint axis) = 0; + virtual void addButton(Glib::ustring const & id, gint button) = 0; + virtual void setLinkedTo(Glib::ustring const & id, Glib::ustring const& link) = 0; + + virtual void setMode( Glib::ustring const & id, Gdk::InputMode mode ) = 0; + virtual void setAxisUse( Glib::ustring const & id, guint index, Gdk::AxisUse use ) = 0; + virtual void setKey( Glib::ustring const & id, guint index, guint keyval, Gdk::ModifierType mods ) = 0; protected: DeviceManager(); @@ -64,4 +84,4 @@ private: fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :