Difference between revisions of "FR/Documentation/Composants et boite de dialogue"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (New page: Nous allons réaliser une boîte de dialogue pour faire fonctionner notre [[FR/Documentation/Construire_des_composants#Utilisation_d.27une_aide_.28helper.29_pour_construire_le_composant_sc...)
 
m (Ajouter une boîte de dialogue au compteur avec le Basic)
Line 8: Line 8:
 
# getCount
 
# getCount
  
On va donc chercher à réaliser une boîte de dialogue qui va proposer un bouton par méthodes. Elle proposera d'autre part deux champs texte :
+
On va donc chercher à réaliser une boîte de dialogue qui va proposer un bouton par méthode. Elle proposera d'autre part deux champs texte :
 
# un champ texte pour positionner une valeur dans le compteur (donc associé au bouton setCount)
 
# un champ texte pour positionner une valeur dans le compteur (donc associé au bouton setCount)
 
# un champ texte pour afficher la valeur du compteur (donc associé au bouton getCount)
 
# un champ texte pour afficher la valeur du compteur (donc associé au bouton getCount)
Line 15: Line 15:
 
[[Image:CounterDialog1.png]]
 
[[Image:CounterDialog1.png]]
  
 +
Pour faire fonctionner l'ensemble on peut tout simplement utiliser le code OOoBasic suivant :
  
 +
<source lang="ooobas">
 +
REM  *****  BASIC  *****
 +
Dim oSimpleComponent
 +
Dim oDialog
 +
Sub demonstrateSimpleComponent
 +
oSimpleComponent = CreateUnoService( "foo.Counter" )
 +
'oInspector = createUnoService("org.openoffice.InstanceInspector")
 +
'oInspector.inspect(oSimpleComponent, "MyCounter")
 +
'XRay.XRay oSimpleComponent
 +
'msgbox oSimpleComponent.methodOne( "Component succesfully instantiated and running!" )
 +
oDialog=CreateUnoDialog(DialogLibraries.Standard.Dialog1)
 +
oDialog.Execute()
 +
oDialog.dispose()
 +
End Sub
 +
 +
Sub increment
 +
  oSimpleComponent.increment()
 +
End Sub
 +
 +
Sub decrement
 +
  oSimpleComponent.decrement()
 +
End Sub
 +
 +
Sub getCount
 +
  Dim oTextField
 +
  oTextField = oDialog.getControl("TextField2")
 +
  oTextField.setText( oSimpleComponent.getCount()) 
 +
End Sub
 +
 +
Sub setCount
 +
Dim oTextField
 +
oTextField = oDialog.getControl("TextField1")
 +
'implicit conversion String to Integer
 +
oSimpleComponent.setCount(oTextField.getText())
 +
End Sub
 +
</source>
  
 
= Retour à la page d'accueil=
 
= Retour à la page d'accueil=
  
 
[[Documentation/FR/Cpp_Guide|Page d'accueil du développement C++ à l'aide du SDK]]
 
[[Documentation/FR/Cpp_Guide|Page d'accueil du développement C++ à l'aide du SDK]]

Revision as of 11:29, 16 May 2009

Nous allons réaliser une boîte de dialogue pour faire fonctionner notre compteur. L'idée est d'utiliser l'environnement OOoBasic pour cela, car il est aisé d'y gérer des boîtes de dialogue. Comme on va le voir tout au long de ce chapitre, il existe plusieurs méthodes pour faire cela. La première solution que l'on se propose d'examiner consiste à ne rien changer du code C++ du composant mais à enrober ce code par duOOo Basic.

Ajouter une boîte de dialogue au compteur avec le Basic

Rappelons pour information que notre compteur dispose de quatre méthodes :

  1. increment
  2. decrement
  3. setCount
  4. getCount

On va donc chercher à réaliser une boîte de dialogue qui va proposer un bouton par méthode. Elle proposera d'autre part deux champs texte :

  1. un champ texte pour positionner une valeur dans le compteur (donc associé au bouton setCount)
  2. un champ texte pour afficher la valeur du compteur (donc associé au bouton getCount)

Pour se faire une idée de quoi il s'agit, voici une image de la boîte de dialogue

CounterDialog1.png

Pour faire fonctionner l'ensemble on peut tout simplement utiliser le code OOoBasic suivant :

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


REM  *****  BASIC  *****
	Dim oSimpleComponent
	Dim oDialog
Sub demonstrateSimpleComponent
	oSimpleComponent = CreateUnoService( "foo.Counter" )
	'oInspector = createUnoService("org.openoffice.InstanceInspector")
	'oInspector.inspect(oSimpleComponent, "MyCounter")
	'XRay.XRay oSimpleComponent
	'msgbox oSimpleComponent.methodOne( "Component succesfully instantiated and running!" )
	oDialog=CreateUnoDialog(DialogLibraries.Standard.Dialog1)
	oDialog.Execute()
	oDialog.dispose()
End Sub

Sub increment
  oSimpleComponent.increment()
End Sub

Sub decrement
   oSimpleComponent.decrement()
End Sub

Sub getCount
   Dim oTextField
   oTextField = oDialog.getControl("TextField2")
   oTextField.setText( oSimpleComponent.getCount())  
End Sub

Sub setCount
	Dim oTextField
	oTextField = oDialog.getControl("TextField1")
	'implicit conversion String to Integer
	oSimpleComponent.setCount(oTextField.getText())
End Sub

Retour à la page d'accueil

Page d'accueil du développement C++ à l'aide du SDK

Personal tools