Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# XUL et php-gtk2(Gul)

Envoyé par : charlie

Date : 12/05/2008 14:10

Bonjour à tou s,

je souhaite m'orienter sur un développement Gul qui est basé sur la technologie Xul.

J'aimerais savoir cependant comment faire pour interfacer mon GUI avec le langage php.

En effet, je voudrais faire comme en html à savoir un selectbox qui est crée par un script php qui va chercher tous les options a partir d'une base de données sqlyte.

d'autre part ,j'aimerais aussi pouvoir modifier le lable de mes boutons car ceux-ci ne doivent pas être ecrit en dure dans mon gabarit.xul.

Merci à tous de vos nombreux conseils.

# Re: XUL et php-gtk2(Gul)

Envoyé par : hhf

Date : 12/05/2008 14:25

Détailles plus ton problème, car pour moi, ya pas de problème...
Je connais pas php-gtk2 faisant plutôt du jee, mais XUL, peut s'utiliser comme du HTML, c'est à dire généré par ton PHP.
Bien que ce soit pas la meilleur solution. Il vaut mieux créer l'interface en statique et générer tes options de ton "selectbox" par un template-RDF. Voila mon conseil.
Si tu veux, post un morceaux de ton code que tu générerais en HTML avec php, et je tacherais de faire une version XUL-RDF pour expliquer le principe.

# Re: XUL et php-gtk2(Gul)

Envoyé par : Christophe Charron

Date : 12/05/2008 16:32

Pour ma part, voici le genre de petit bout de code que j'utilise :

<?php
require("_fonctions_bib01.php");
$vl_e_art_cleunik=intval(fa_recup_param("vl_e_art_cleunik",'-1'));
$vl_e_act_cleunik=intval(fa_recup_param("vl_e_act_cleunik",'-1'));
  $vl_e_tarif_cleunik=intval(fa_recup_param("vl_e_tarif_cleunik",'-1'));
$vl_e_type_tarifs=intval(fa_recup_param("vl_e_type_tarifs",'-1'));
 $vl_e_critere_cleunik=intval(fa_recup_param("vl_e_critere_cleunik",'0'));
$vl_c_nom_ml=fa_recup_param("vl_c_nom_ml","");
$sql_req = "SELECT count(*) FROM  _choix a1 left join _art_tarifs a2 on a1.choix_cleunik=a2.tarif_cleunik WHERE (a1.critere_cleunik=$vl_e_critere_cleunik and a2.actif=1 and a2.art_cleunik=$vl_e_art_cleunik and a2.type=$vl_e_type_tarifs);";
$sql_result = _requete_bd($sql_req);
$vl_e_nombre_types=mysql_num_rows($sql_result);
_libere_requete_bd($sql_result);
$sql_req = "SELECT a1.choix_cleunik AS choix_cleunik,a1.choix_valeur_texte_01 AS intitule_tarif,a2.pu_reference FROM  _choix a1 left join _art_tarifs a2 on a1.choix_cleunik=a2.tarif_cleunik WHERE (a1.critere_cleunik=$vl_e_critere_cleunik and a2.actif=1 and a2.art_cleunik=$vl_e_art_cleunik and a2.act_cleunik=$vl_e_act_cleunik and a2.type=$vl_e_type_tarifs);";
$sql_result = _requete_bd($sql_req);
$vl_c_ove="";
$vl_c_ove.="<hbox id='toto' flex='1'>";
$vl_c_ove.=('<menulist observes="broadcaster_01" flex="1" id="'.$vl_c_nom_ml.'" _nombre="'.$vl_e_nombre_types.'">');
if ($vl_e_nombre_types != 0){
 $vl_c_ove.=('<menupopup>');
 while ($row = mysql_fetch_assoc($sql_result)){
   $vl_c_ove.=('<menuitem value="' .fa_remplace_quotes(fa_ent_xml($row['intitule_tarif'])).'" _cleunik="'.$row['choix_cleunik'].'" label="'.fa_remplace_quotes(fa_ent_xml($row['intitule_tarif'])).'" selected="true" _tarif="'.fa_ent_xml($row['pu_reference']).'"/>');
 }
 _libere_requete_bd($sql_result);
 $vl_c_ove.=('<menuseparator/>');
 $sql_req = "SELECT a1.choix_cleunik AS choix_cleunik,a1.choix_valeur_texte_01 AS intitule_tarif,a2.pu_reference FROM  _choix a1 left join _art_tarifs a2 on a1.choix_cleunik=a2.tarif_cleunik WHERE (a1.critere_cleunik=$vl_e_critere_cleunik and a2.actif=1 and a2.art_cleunik=$vl_e_art_cleunik and a2.act_cleunik=0 and a2.type=$vl_e_type_tarifs);";
 $sql_result = _requete_bd($sql_req);
 $vl_e_nombre_types=mysql_num_rows($sql_result);
 while ($row = mysql_fetch_assoc($sql_result)){
   $vl_c_ove.=('<menuitem value="'.fa_remplace_quotes(fa_ent_xml($row['intitule_tarif'])).'" _cleunik="'.$row['choix_cleunik'].'" label="'.fa_remplace_quotes(fa_ent_xml($row['intitule_tarif'])).'" selected="true" _tarif="'.fa_ent_xml($row['pu_reference']).'"/>');
 }

 _libere_requete_bd($sql_result);
}
$vl_c_ove.=('</menupopup></menulist>');
$vl_c_ove.="</hbox>";  
header('Content-type: text/xml; charset=utf-8');
echo <<<END
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<overlay id="overlay_php"  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
$vl_c_ove
</overlay>
END;
?>

Si cela peut donner des pistes (autres que RDF)

# Re: XUL et php-gtk2(Gul)

Envoyé par : charlie

Date : 12/05/2008 17:37

merci pour vos debuts de reponse

En fait j'aimerais passer par des fichiers .xul pour dédcrire l'iunterface graphique de mes projets.

J'ai d'ores et deja reussi à attribuer des valeurs à des Widgets via la methode set_property tel que le code suivant:

$aGUI= GulParseFile('c:\Php\demos\Test.xul'); $lTxtBoxServeurCheminGeneration=$aGUI'CheminGeneration';

	$lTxtBoxServeurCheminGeneration->set_property('text',$this->sCheminGenerationRapport);

voici le code html que j'aimerais réalisé :

$this->oConnection=new PDO(CONNECTION_TO_ACCESS);

	
	//recuperation de sinfos de la base de données 
	
	if ($this->oConnection instanceof PDO){
		
		$oPDOStatement=$this->oConnection->query('SELECT idCommande FROM commande ORDER BY idCommande DESC');
	    
		$this->fSelectIdCommande='<select name="IdCommande" id="IdCommande" onclick="go()">';
		while($aRow=$oPDOStatement->fetch()){
			$this->fSelectIdCommande.='<option>'.$aRow['idCommande'].'</option>';
		}
		$this->fSelectIdCommande.='</select>';

merci de ton aide d'autre part ,je suis aussi à la recherche d'un code qui me peremttrait de pointer sur un fichier du type input type="file" en html mais je ne trouvbe rien dans ce sens.

Merci deja de vos reponses

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.