IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

glade gtkada drawingarea tag check failed


Sujet :

GTK+

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Points : 121
    Points
    121
    Par défaut glade gtkada drawingarea tag check failed
    Bonjour.
    J'ai un soucis avec l'utilisation du widget gtkdrawingarea de glade.
    Je dépose ce widget sur ma fenêtre principale.
    je récupère l'identifiant du widget dans mon code grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_area := Gtk_Drawing_Area(Get_Object(object, "drawingarea1"));
    et l'utilise ainsi pour le mettre dans mon buffer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_buffer := Gtk_Double_Buffer(my_area);
    afin de dessiner un rectangle par exemple dans mon drawingarea.
    La compilation passe sans aucun soucis, mais à l'execution, j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    raised CONSTRAINT_ERROR : main.adb:344 tag check failed
    à la ligne correspondante à l'utilisation du double_buffer.

    Y'a t il une façon particulière d'utiliser ce composant avec Glade?
    Quelqu'un a t il une documentation dessus?

    D'avance merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Points : 121
    Points
    121
    Par défaut illustration du problème sur un exemple minimal
    Bonjour.
    N'ayant pas eu de réponse, j'ai fait un exemple concret, pour qu'on puisse tester mon problème.

    ci joint le .glade de mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="UTF-8"?>
    <interface>
      <requires lib="gtk+" version="2.24"/>
    <!-- interface-naming-policy project-wide -->
      <object class="GtkWindow" id="window1">
        <property name="can_focus">False</property>
        <property name="title" translatable="yes">test area</property>
        <property name="default_width">440</property>
        <property name="default_height">250</property>
        <child>
          <object class="GtkViewport" id="viewport1">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <child>
              <object class="GtkDrawingArea" id="drawingarea1">
                <property name="visible">True</property>
                <property name="can_focus">False</property>
              </object>
            </child>
          </object>
        </child>
      </object>
    </interface>
    et le code pour le tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    with Gtkada.Builder; use Gtkada.Builder;
    with Double_Buffer; use Double_Buffer;
    with Gtk.Drawing_Area; use Gtk.Drawing_Area;
    with Glib;      use Glib;
    with Glib.Object; use Glib.Object;
    with Glib.Error; use Glib.Error;
    with Gtk;            use Gtk;
    with Gtk.Main;       use Gtk.Main;
    with Gtk.Widget;     use Gtk.Widget;
    with Ada.Text_IO; use Ada.Text_IO;
     
    with Gtk.Window;   use Gtk.Window;
    with Gdk.Drawable; use Gdk.Drawable;
    with Gdk.GC;       use Gdk.GC;
    with Gdk.Color;    use Gdk.Color;
    with Gtk.Handlers;
     
    procedure test_area is
     
    	Builder : Gtkada_Builder;
    	Error   : Glib.Error.GError;
    	draw_area: Gtk_Drawing_Area;
    	draw_area_buffer:  Double_Buffer.Gtk_Double_Buffer;
    	White_Gc : Gdk.GC.Gdk_GC;
     
    begin
     
    	Gtk.Main.Init;
    	Gtk_New (Builder);
    	Error := Add_From_File (Builder,  "test_Area.glade");
    	if Error /= null then
    		Put_Line ("Error : " & Get_Message (Error));
    		Error_Free (Error);
    		return;
    	end if;
     
     
     
    	--draw_area := Gtk_Drawing_Area(Get_Object(builder, "drawingarea1"));
    	draw_area_buffer:= Gtk_Double_Buffer(Get_Object(builder, "drawingarea1"));
     
    		 --Gdk.GC.Gdk_New (White_Gc, Double_Buffer.Get_Window (Gtk_Double_Buffer(draw_area)));
       --Gdk.GC.Set_Foreground
        -- (White_Gc,
          --Gdk.Color.White (Gtk.Widget.Get_Default_Colormap));
     
    	Draw_Rectangle
         (--Double_Buffer.Get_Pixmap (Double_Buffer.Gtk_Double_Buffer(draw_area)),
    	Double_Buffer.Get_Pixmap (draw_area_buffer),
          White_Gc,
          True,
          0,
          0,
          800,
          500);
     
    	 Double_Buffer.Draw (draw_area_buffer);
     
    	Do_Connect (Builder);
    	Gtk.Widget.Show_All (Get_Widget (Builder, "window1"));
    	Gtk.Main.Main;
    	Unref (Builder);
     
    end test_area;
    à la compilation, tout va bien.

    à l'exécution, j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    raised CONSTRAINT_ERROR : test_area.adb:40 tag check failed
    merci d'avance pour vos réponses

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Points : 121
    Points
    121
    Par défaut
    il me semble en lisant ceci

    http://perso.univ-rennes1.fr/pierre....utils%20IN.pdf

    qu'il faille passer absolument par un expose event ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2013, 10h59
  2. Réponses: 1
    Dernier message: 04/10/2010, 17h24
  3. Up-to-date check failed
    Par boutss dans le forum CVS
    Réponses: 0
    Dernier message: 08/01/2010, 15h13
  4. [Maven] The svn tag command failed.
    Par jprsoft dans le forum Subversion
    Réponses: 0
    Dernier message: 04/02/2009, 10h54
  5. stsadm -importlist : Security check failed in OnFileImport
    Par gdkenny dans le forum SharePoint
    Réponses: 1
    Dernier message: 28/04/2008, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo