// -*- C++ -*-
/**
* \file XLyXKeySym.h
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * \author Asger and Juergen
+ * \author Asger and Jürgen
+ *
+ * Full author contact details are available in file CREDITS.
*/
#ifndef XLYXKEYSYM_H
#define XLYXKEYSYM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "LString.h"
#include <X11/Xlib.h>
#include "frontends/LyXKeySym.h"
+namespace lyx {
+namespace frontend {
+
/**
- * This is a base class for representing a keypress.
- * Each frontend has to implement this to provide
- * the functionality that LyX needs in regards to
- * key presses.
+ * This is the XForms (X11) version of LyXKeySym.
*/
class XLyXKeySym : public LyXKeySym {
public:
/// X11 specific initialization with an X11 KeySym
void initFromKeySym(KeySym);
- virtual void init(string const & symbolname);
+ virtual void init(std::string const & symbolname);
virtual ~XLyXKeySym() {}
/// Is this a modifier key only?
virtual bool isModifier() const;
-
- virtual string getSymbolName() const;
+
+ virtual std::string getSymbolName() const;
/**
* Return the value of the keysym into the local ISO encoding.
* This converts the LyXKeySym to a 8-bit encoded character.
* This relies on user to use the right encoding.
*/
- virtual char getISOEncoded() const;
+ virtual char getISOEncoded(std::string const & encoding) const;
- virtual bool operator==(LyXKeySym const & k) const;
+ ///
+ virtual std::string const print(key_modifier::state mod) const;
+ ///
+ unsigned int keysym() const {
+ return keysym_;
+ }
private:
- unsigned int keysym;
+ unsigned int keysym_;
};
-#endif
+} // namespace frontend
+} // namespace lyx
+#endif // XLYXKEYSYM_H