Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
vala [Le 24/03/2013, 13:25]
83.36.193.18 [Liens externes]
vala [Le 07/08/2023, 12:36] (Version actuelle)
spnux [Liens externes] MAJ hyperlien
Ligne 1: Ligne 1:
-{{tag>​programmation compilation ​BROUILLON}}+{{tag>​programmation compilation}}
  
 ---- ----
Ligne 13: Ligne 13:
 ===== Installation du compilateur (valac) ===== ===== Installation du compilateur (valac) =====
  
-====via les dépôts officiels==== +====Via les dépôts officiels==== 
-Il vous suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://valac|valac]]**.+Il vous suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>valac]]**.
  
-====via le PPA====+====Via le PPA====
  
 [[ppa|Ajoutez à vos sources de logiciels le PPA]] suivant : [[https://​launchpad.net/​~vala-team/​+archive/​ppa|ppa:​vala-team/​ppa]] , rechargez la liste des paquets, puis [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://​vala|vala]]** [[ppa|Ajoutez à vos sources de logiciels le PPA]] suivant : [[https://​launchpad.net/​~vala-team/​+archive/​ppa|ppa:​vala-team/​ppa]] , rechargez la liste des paquets, puis [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://​vala|vala]]**
Ligne 28: Ligne 28:
  
 Il est bien-sûr possible de fournir plusieurs fichiers sources Vala pour générer un exécutable. Pour lier une bibliothèque,​ on utilisera l'​option ''​%%--pkg%% <​package>'',​ par exemple pour compiler un programme utilisant [[wpfr>​GTK+]] :​ Il est bien-sûr possible de fournir plusieurs fichiers sources Vala pour générer un exécutable. Pour lier une bibliothèque,​ on utilisera l'​option ''​%%--pkg%% <​package>'',​ par exemple pour compiler un programme utilisant [[wpfr>​GTK+]] :​
-  valac source.vala -o executable ​--pkg gtk+-2.0+  valac --pkg gtk+-3.0 gtk-hello.vala
  
 Pour plus de détails, référez-vous à la [[:man|page de manuel]] de **valac**. Pour plus de détails, référez-vous à la [[:man|page de manuel]] de **valac**.
  
-===== Exemple de code =====+===== Exemple de code (sans dépendence à GTK) =====
  
 Voici un exemple de [[wpfr>​Hello World]] en Vala : Voici un exemple de [[wpfr>​Hello World]] en Vala :
  
-<​code ​c#>+<​code ​vala>
 using GLib; using GLib;
  
Ligne 52: Ligne 52:
 </​code>​ </​code>​
  
-===== Manipuler des objets créés avec glade dans l'edi Anjuta (ubuntu 11.10) ​===== +===== Liens externes ​=====
-La seule difficulté est de comprendre qu'il faut créer des pointeurs manuellement dans la classe.+
  
-L'​interface de développement ne les crée pas automatiquement.  +  ​* **(en)** [[https://wiki.gnome.org/Projects/Vala|Site officiel ​de Vala]]  
- +  * **(fr)** [[wpfr>​Vala ​(langage ​de programmation)|Vala sur Wikipedia]
-Puis lorsqu'​on lit le fichier xml, on fait l'​affectation des pointeurs.  +
- +
-Fichier essai.ui +
-<​code>​ +
-<?xml version="​1.0"​ encoding="​UTF-8"?>​ +
-<​interface>​ +
-  <!-- interface-requires gtk+ 2.12 --> +
-  <object class="​GtkWindow"​ id="​window">​ +
-    <​property name="​visible">​True</​property>​ +
-    <​property name="​can_focus">​False</​property>​ +
-    <​property name="​title"​ translatable="​yes">​window</​property>​ +
-    <​property name="​default_width">​500</​property>​ +
-    <​property name="​default_height">​400</​property>​ +
-    <signal name="​destroy"​ handler="​main_on_destroy"​ swapped="​no"/>​ +
-    <​child>​ +
-      <object class="​GtkFixed"​ id="​fixed1">​ +
-        <​property name="​visible">​True</​property>​ +
-        <​property name="​can_focus">​False</​property>​ +
-        <​child>​ +
-          <object class="​GtkLabel"​ id="​label1">​ +
-            <​property name="​width_request">​50</​property>​ +
-            <​property name="​height_request">​20</​property>​ +
-            <​property name="​visible">​True</​property>​ +
-            <​property name="​can_focus">​False</​property>​ +
-            <​property name="​xalign">​0</​property>​ +
-            <​property name="​yalign">​0</​property>​ +
-            <​property name="​label"​ translatable="​yes">​Mon texte de départ.</​property>​ +
-          </​object>​ +
-          <​packing>​ +
-            <​property name="​x">​26</​property>​ +
-            <​property name="​y">​10</​property>​ +
-          </​packing>​ +
-        </​child>​ +
-        <​child>​ +
-          <object class="​GtkButton"​ id="​button1">​ +
-            <​property name="​label"​ translatable="​yes">​button</​property>​ +
-            <​property name="​width_request">​50</​property>​ +
-            <​property name="​height_request">​20</​property>​ +
-            <​property name="​visible">​True</​property>​ +
-            <​property name="​can_focus">​True</​property>​ +
-            <​property name="​receives_default">​True</​property>​ +
-            <​property name="​use_action_appearance">​False</​property>​ +
-            <signal name="​clicked"​ handler="​main_on_button_clicked"​ swapped="​no"/>​ +
-          </​object>​ +
-          <​packing>​ +
-            <​property name="​x">​26</​property>​ +
-            <​property name="​y">​50</​property>​ +
-          </​packing>​ +
-        </​child>​ +
-      </​object>​ +
-    </​child>​ +
-  </​object>​ +
-</​interface>​ +
-</​code>​ +
- +
-Fichier essai.vala +
-<​code>​ +
-using GLib; +
-using Gtk; +
- +
-public class Main : Object  +
-+
- +
- / +
-  Uncomment this line when you are done testing and building a tarball +
-  or installing +
-  */ +
- //const string UI_FILE = Config.PACKAGE_DATA_DIR + "/"​ + "essai.ui"; +
- const string UI_FILE = "src/essai.ui";​ +
- +
- //Mes pointeurs pour manipuler l'​interface graphique +
- private Window window ; +
- private Gtk.Label label1 ; +
- +
-  +
- public Main () +
-+
- +
- try  +
-+
- var builder = new Builder (); +
- builder.add_from_file (UI_FILE);​ +
- builder.connect_signals (this); +
- +
-  +
- //var window = builder.get_object ("​window"​) as Window; +
- +
- //​Lecture du fichier xml et affectation des pointeurs aux objets +
- //​privés ​de la classe pour pouvoir les manipuler. +
- this.window = builder.get_object ("​window"​) as Window; +
- this.label1 = builder.get_object ("​label1"​) as Gtk.Label;​ +
-  +
- window.show_all (); +
- }  +
- catch (Error e) { +
- stderr.printf ("​Could not load UI: %s\n", e.message);​ +
- }  +
- +
-+
- +
- [CCode (instance_pos = -1)+
- public void on_destroy ​(Widget window +
-+
- Gtk.main_quit();​ +
-+
-  +
- [CCode (instance_pos=-1)] +
- public void on_button_clicked (Gtk.Button button1) { +
- stdout.printf ("​Bonjour Monde \n"​);​ +
- +
- //Mes objets ​de classe manipuler +
- stdout.printf ( this.label1.get_text(+ " \n"​);​ +
-  +
- this.label1.set_text("​J'​ai cliqué ​sur mon bouton."​) ; +
-+
- +
- static int main (string[args)  +
-+
- Gtk.init (ref args); +
- var app = new Main (); +
- +
- Gtk.main (); +
-  +
- return 0; +
- }  +
-+
-</​code>​ +
-===== Liens externes =====+
  
-  * [[http://​live.gnome.org/​Vala|Site officiel de Vala]] **(en)** 
-  * [[wpfr>​Vala (langage de programmation)|Vala sur Wikipedia]] **(fr)** 
-  * [[http://​www.wikivala.org|Wiki dédié à Vala]] Lien inexistant semble-t-il 
 ---- ----
  
 //​Contributeurs : [[utilisateurs:​Dradge|Dradge]],​ [[utilisateurs:​Ban]],​ [[utilisateurs:​Kriegy|Kriegy]] // //​Contributeurs : [[utilisateurs:​Dradge|Dradge]],​ [[utilisateurs:​Ban]],​ [[utilisateurs:​Kriegy|Kriegy]] //
  • vala.1364127957.txt.gz
  • Dernière modification: Le 24/03/2013, 13:25
  • par 83.36.193.18