]> git.lyx.org Git - lyx.git/blobdiff - src/intl.h
character2.diff.gz
[lyx.git] / src / intl.h
index f6a7caa1db302c22771253620edbdbfe7495e840..2e173f5cb89e01fdcfc3948ac5ddc250542363f8 100644 (file)
 #pragma interface
 #endif
 
+#include <sigc++/signal_system.h>
 #include "LString.h"
 #include "form1.h"
+#include "trans_mgr.h"
 
 class LyXText;
 class Combox;
-class TransManager;
 
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Object;
+using SigC::Connection;
+#endif
 
 /// default character set
 #define DEFCHSET "iso8859-1"
@@ -28,10 +33,12 @@ class TransManager;
   classes. Probably should the gui class just have a pointer to the non
   gui class.
   */
-class Intl {
+class Intl : public Object {
 public:
        ///
        Intl();
+       ///
+       ~Intl();
        
        /// show key mapping dialog
        void MenuKeymap(); 
@@ -54,8 +61,8 @@ public:
        /// initialize key mapper
        void InitKeyMapper(bool on);
 
-       /// Get the Translation Manager
-       TransManager * getTrans();
+       // Get the Translation Manager
+       TransManager & getTrans();
        ///
        bool keymapon;
        ///
@@ -65,6 +72,10 @@ public:
        ///
        static void DispatchCallback(FL_OBJECT *, long);
 private:
+       /** Redraw the form (on receipt of a Signal indicating, for example,
+           that the xform colors have been re-mapped).
+       */
+       void redraw();
        ///
        void update();
        ///
@@ -87,12 +98,14 @@ private:
        ///
        string & sec_lang;
        ///
-       TransManager * trans;
+       TransManager trans;
+       /// Redraw connection.
+       Connection r_;
 };
 
 
 inline
-TransManager * Intl::getTrans()
+TransManager & Intl::getTrans()
 {
        return trans;
 }