--- tlabel.cp~	Sun Jun 22 10:55:04 1997
+++ tlabel.cpp	Tue Nov 14 14:27:38 2000
@@ -9,6 +9,7 @@
 
 #include <conio.h>
 
+#include "Callback.h"
 #include "Strings.h"
 
 #include "TWindow.h"
@@ -30,7 +31,8 @@
 
 TLabel::TLabel(PObject parent,
 	       int rel_x,int rel_y,
-	       char *text)
+	       char *text,
+	       boolean enabled)
        :TObject(parent,
 		OBJ_LABEL,
 		rel_x,rel_y,
@@ -38,9 +40,9 @@
 		GetTextHeight(text),
 		(parent==NULL)?((unsigned)WHITE):parent->m_get_background(),
 		"",
-		DISABLED,
+		enabled,
 		FALSE,  // NOT_FOCUS_DEPENDING_ASPECT
-		FALSE,  // CANNOT_BE_ENABLED
+		TRUE,	// CAN_BE_ENABLED
 		TRUE)   // SIMPLE
 {
   f_text=NULL;
@@ -60,20 +62,23 @@
 TLabel::TLabel(PObject parent,
 	       int rel_x,int rel_y,
 	       int width,int height,
-	       char *text)
+	       char *text,
+	       boolean enabled)
        :TObject(parent,
 		OBJ_LABEL,
 		rel_x,rel_y,
 		width,height,
 		(parent==NULL)?((unsigned)WHITE):parent->m_get_background(),
 		"",
-		DISABLED,
+		enabled,
 		FALSE,  // NOT_FOCUS_DEPENDING_ASPECT
-		FALSE,  // CANNOT_BE_ENABLED
+		TRUE,	// CAN_BE_ENABLED
 		TRUE)   // SIMPLE
 {
   f_text=NULL;
   m_set_text(text);
+
+  InitCallback(f_clicked_action,f_clicked_argument);
 }
 
 
@@ -91,6 +96,8 @@
       delete [] f_text;
       f_text=NULL;
     }
+
+  DestroyCallback(f_clicked_action,f_clicked_argument);
 }
 
 /****************************************************************************/
@@ -120,6 +127,18 @@
   m_display();
 }
 
+/****************************************************************************/
+/* m_set_clicked_callback 						    */
+/*--------------------------------------------------------------------------*/
+/* Dfinition du callback associ au cliquage d'un lment.                 */
+/****************************************************************************/
+
+void TLabel::m_set_clicked_callback(void (*clicked_action)(PObject,char *),char *clicked_argument)
+{
+  SetCallback(f_clicked_action,f_clicked_argument,
+	      clicked_action,clicked_argument);
+}
+
 /*ͻ*/
 /*                           METHODES PROTEGEES                           */
 /*ͼ*/
@@ -149,3 +168,17 @@
   f_window->m_put_text(f_text);
   f_window->m_reset_clip_window();
 }
+
+/****************************************************************************/
+/* m_left_button_pressed_event                                              */
+/*--------------------------------------------------------------------------*/
+/* L'utilisateur a cliqu dans l'objet avec le bouton gauche                */
+/* (l'objet tant activable).                                               */
+/* Retourne TRUE si l'objet est intress par cet vnement.                */
+/****************************************************************************/
+
+boolean TLabel::m_left_button_pressed_event(int /*x*/,int /*y*/)
+{
+  CallCallback(this,f_clicked_action,f_clicked_argument);
+  return(TRUE);
+}
--- tlabel.h~	Sun May 24 14:38:54 1998
+++ tlabel.h	Mon Nov 13 22:46:30 2000
@@ -31,12 +31,14 @@
   public:
 		    TLabel(PObject parent,
 			   int rel_x,int rel_y,
-			   char *text);
+			   char *text,
+			   boolean enabled=FALSE);
 
 		    TLabel(PObject parent,
 			   int rel_x,int rel_y,
 			   int width,int height,
-			   char *text="");
+			   char *text="",
+			   boolean enabled=FALSE);
 
     virtual	    ~TLabel();
 
@@ -45,6 +47,9 @@
             void    m_set_text(char *text);
 	    char    *m_get_text() {return(f_text);};
 
+	    void    m_set_clicked_callback(void (*clicked_action)(PObject,char *),char *clicked_argument);
+    virtual boolean m_set_focus() {return(FALSE);};
+
   /*--------------------*/
   /* Mthodes protges */
   /*--------------------*/
@@ -54,6 +59,13 @@
     // Affichage
 
     virtual void    m_display();
+    virtual boolean m_left_button_pressed_event(int x, int y);
+
+    // Callback : Fonction appele si on a double-cliqu dans
+    //            un lment de la liste et son argument
+
+    void     (*f_clicked_action)(PObject,char *);
+    char     *f_clicked_argument;
 
   /*------------------*/
   /* Mthodes prives */
