r3-gui Saphirion - my 2 cents
jocko18-Jan-2013/9:45:23+1:00
Signalons l'effort récent de mise à jour de la doc :
http://development.saphirion.com/rebol/r3gui/

r3-gui a été mis à jour également. La version actuelle est la 3658

Il manque malheureusement quelques mises à jour ... dans les deux premières pages de la doc (faces et layouts),
qui empêchent de tester le moindre exemple.

Si vous voulez faire un test rapide (3 minutes) :

téléchargez r3-view :

http://development.saphirion.com/resources/r3-view.exe

lancez-le et tapez dans la console: load-gui

faites un premier test:

alert "ceci est un test"

Soyons fou, lançons-nous:

view [
   title "simple test"
   button "ok" on-action [print "ok"]
   button "close" on-action [close-window face]
]

et non pas :

view [
   title "simple test"
   button "ok" print "ok"
   button "close" close
]

comme le dit la doc.

Ensuite, tout va bien.
shadwolf18-Jan-2013/14:19:55+1:00
hum merci jocko pour cette intro ! c'est tres util.

1) on remarque que bizarement les callback ou action des boutons sont maintenant identifiées par on-action. Ceci me rappel vaguement la facon de faire de rebgui. Le probleme que je vois dans ca c'est que on-action n'est pas clair quand a l event traiter. Et si je veux faire un clique droit de la sourie comme action sur mon GOB comment je fais ?

2) le fait de devoir preciser on-action on-over on-key etc a mon avis alourdi la lecture ... j aimait bien le fait dans un layout VID de voir un block! et de savoir immediatement que ca correspondait a un callback sur l event click bouton gauche de la sourie.

3) J'aimai aussi beaucoup identifier les action supplementaire grace a with....

4) oui c'est plus lisible ...
shadwolf18-Jan-2013/14:25:20+1:00
5) load-gui me fait mourrir de rire ...
quelqu un de gentil tout plein devrait leur dire aux super gurus magicien du code de chez Saphirion que le load-gui devrait etre intégré dans la function view histoire que ca face moins cretains qui savent pas coder...

Comprenons nous bien si tu prends un executable r3-view.exe c'est implicitement parce que TU VEUX UTILISER VIEW donc le load-gui est en trop. Si toute fois tu considere que tu as pas toujours besoin de r3-GUI dans ton r3-view.exe et que tu prefere le charger en memoir quand tu en a besoin alors deplace le load GUI dans view car sans view pas de r3-gui. tu peux ecrire tout le code r3-gui que tu veux tant que le passe pas dans view il est inerte et pas interpreter.
CQFD.
AdrianS18-Jan-2013/18:12:30+1:00
Jocko, pourquoi tu dis que la version actuelle est la 3658? Je vois 4440 chez Saphirion...

Voici un peu de ce qui a ete discute sur AltME:

---
Cyphre: Pekr. For example in the BUTTON style:
-if you focus the button and press space key the ON-ACTION is called from the keyboard related style code
-if you click on the button the ON-ACTION is called from the mouse clicking style code

So the ON-ACTION actor us used as one central point for different events that ends with the same functionality from the style code POV.
This is needed because then if you'd just write:

button on-click [your action]

your user action would be called only during the mouse click but not during the space key press.

I think that explains why style shouldn't define the on-action actor but just call it (for example from multiple places in the style code) if the style needs that feature.
...

Robert: Petr, it's much simpler. The style calls YOUR on-action handler for the default action. It has a generic call to first call your handler if there is one, or a default one, that does whatever the style author thinks is useful.

You specify YOUR on-action handler in the layout block.

If the on-action handler is called because of a CLICK, KEYPRESS, RIGHT-CLICK, MOUSEMOVE or whatever happens, depends only on how the style was implemented. There is no visible releation between the on-action handler and the event.

Pekr: So basically it is upon my decision, if I decide to implement it. So when I know, that my style would benefit from central point of action for multiple handler events, I define on-action.

As for actors - is it that I can define on-anything-i-want, and then I can use e.g. button "ok" on-anything-i-want [code here]?

---

Tu as vu http://www.r3gui.com/docs/developer/actors/actor-changes.html#_on_action_actor ?
jocko18-Jan-2013/22:14:43+1:00
AdrianS, merci pour ces éclaircissements.

Oui, j'ai été surpris, mais c'est bien la version 3658 qui est chargée par load-gui. Sont-ils revenus en arrière ?
coccinelle18-Jan-2013/23:50:40+1:00
Pas vraiment, si tu regardes le source de load-gui, tu verras qu'il ne pointe pas sur le bon url. Il faut remplacer load-gui par :
load-gui: func [
    {Download current Spahirion's R3-GUI module from web.}
    /local data
][
    print "Fetching GUI..."
    either error? data: try [load http://development.saphirion.com/resources/r3-gui.r3] [
        either data/id = 'protocol [print "Cannot load GUI from web."] [do err]
    ] [
        do data
    ]
    exit
]
coccinelle19-Jan-2013/0:03:25+1:00
Un exemple trouvé chez saphiron ici : http://development.saphirion.com/rebol/r3gui/styles/index.shtml#sect6

Il liste tous les styles disponibles, j'ai mis ça dans un script pour voir ce que ça donne et ça marche (à peu près, enfin pas terrible) :
REBOL[]
load-gui: func [
    {Download current Spahirion's R3-GUI module from web.}
    /local data
][
    print "Fetching GUI..."
    either error? data: try [load http://development.saphirion.com/resources/r3-gui.r3] [
        either data/id = 'protocol [print "Cannot load GUI from web."] [do err]
    ] [
        do data
    ]
    exit
]

load-gui

all-styles: find extract to-block guie/styles 2 'clicker
last-view: none
view/options [
    title "Pick a style:"
    text-list all-styles do [
        if last-view [unview last-view]
        style-name: pick all-styles value
        last-view: view/options reduce [
            'title reform ["Example of a" style-name "style:"]
            style-name
        ][offset: 'center]
    ]
][offset: 50x50 size: 200x400]
jocko19-Jan-2013/9:03:55+1:00
Coccinelle,

ok, la version de r3gui accessible sur le site est la 4440, mais c'est quand même dommage qu'ils aient conservé ce mécanisme de load-gui (provisoire, mais censé assurer à l'utilisateur l'accès à la dernière version stable), et que ce ne soit pas maintenu à jour.
A partir de là c'est difficile de travailler ...

Ceci dit, avec les deux versions de r3-gui, la démo donne le même résultat: elle ne marche pas bien ...

un bon exercice serait de la faire marcher : remplacer do par on-action, remplacer value par ??? ... et enfin rendre dimensionnable la fenêtre (supprimer /options [offset: 50x50 size: 200x400] )...

Cela donne l'ampleur du travail à faire pour rendre cohérente la doc avec la situation actuelle des développements ...
jocko19-Jan-2013/9:08:01+1:00
Voilà une version corrigée :

REBOL[]
load-gui: func [
    {Download current Spahirion's R3-GUI module from web.}
    /local data
][
    print "Fetching GUI..."
    either error? data: try [
	;load http://development.saphirion.com/resources/r3-gui.r3
	load http://www.saphirion.com/development/downloads-2/files/r3-gui.r3
	] [
        either data/id = 'protocol [print "Cannot load GUI from web."] [do err]
    ] [
        do data
    ]
    exit
]

load-gui

all-styles: find extract to-block guie/styles 2 'clicker
last-view: none
view [
    title "Pick a style:"
    text-list all-styles on-action [
        if last-view [unview last-view]
        style-name: pick all-styles face/state/value
        last-view: view/options reduce [
            'title reform ["Example of a" style-name "style:"]
            style-name
        ][offset: 'center]
    ]
] 
jocko19-Jan-2013/9:16:14+1:00
Désolé : j'ai laissé la ligne de chargement de la version 3658, mais ça marche avec les deux, sauf quelques styles comme drawing qui n'acceptent pas de ne pas avoir d'argument.

les modifs :
virer /options
remplacer do par on-action
remplacer value par face/state/value

voilà donc la version utilisant le dernier gui :

REBOL[]
load-gui: func [
    {Download current Spahirion's R3-GUI module from web.}
    /local data
][
    print "Fetching GUI..."
    either error? data: try [
	load http://development.saphirion.com/resources/r3-gui.r3
	] [
        either data/id = 'protocol [print "Cannot load GUI from web."] [do err]
    ] [
        do data
    ]
    exit
]

load-gui

all-styles: find extract to-block guie/styles 2 'clicker
last-view: none
view [
    title "Pick a style:"
    text-list all-styles on-action [
        if last-view [unview last-view]
        style-name: pick all-styles face/state/value
        last-view: view/options reduce [
            'title reform ["Example of a" style-name "style:"]
            style-name
        ][offset: 'center]
    ]
] 
coccinelle19-Jan-2013/11:25:05+1:00
Shad, c'est vrai que c'est assez marrant car r3-view.exe contient view mais pas layout.

Bon, c'est asez compréhensible dans une période de développement car cela permet de faire évoluer le gui sans avoir à faire continuellement des release.

Ca permet aussi à celui qui a envie de le faire de redévelopper le bon vieux VID ou d'implémenter reb-gui dans r3-view.exe
shadwolf19-Jan-2013/13:36:13+1:00
coccinelle ... et puis en 3 ans ils ont tellement eu autre chose a faire occuper a gagner des millions d euros qu ils ont pas eu le temps de se poser deux secondes et de se demander comment faire pour que le r3gui soit mieux integrés.
shadwolf19-Jan-2013/13:39:54+1:00
la genese de cette facon de faire reste le code de Carl, comme Carl etait pas franchement convaincu par r3gui il a decide de le separer de le travailler a part et de le charger comme une option et non comme une partie intégrante de r3.

Ce qui fait que r3 soit surtout identifié /core
shadwolf19-Jan-2013/13:46:56+1:00
load-gui me generait moins si ont avait par d autre module optionels comme load-mysql, load_pgsql load-cgi, load-encrypt, load-bignum, load-guiwxw, load-opengl, load-sdl etc..

et si on disposait d un r3-desktop qui nous permette d aller chercher sur rebol.com la liste des modules dispo et de les installer en 2 cliques de sourie.


Mais bon pour arriver a ce genre de chose il faut un veritable effort de travail et pas faire 2 ou 3 changements cosmetiques en se revendicant Guru magicien du code.

Je rappel que tout magicien du code qu ils sont ils ont toujours pas été capable d ecrire une widget equivalante a area-tc :P. Et pourtant c 'est qu un tout petit projet ecrit en 5 jours par le troll que je suis
coccinelle19-Jan-2013/15:36:04+1:00
Ce qui serait peut-être bien à faire, c'est de porter r2 sous r3 (je pense surtout à view et VID, ça permettrait de faire tourner les anciens script et éviter de perdre ce qui avaitété fait.
VincentE20-Jan-2013/10:40:41+1:00
Sur le 'load-gui: pour l'instant, je préfère cette forme à une intégration
directe à r3-view.exe .

- r3-gui n'est pas terminé, et pas toutes les révisions sont compatibles: si
j'écris un script pour r3-view, je pense que pouvoir charger la version qui
marche avec le code que j'ai écrit est importante, en la fournissant avec si
nécessaire. Avoir du code qui tournait ne plus fonctionner du jour au
lendemain, c'est pas vraiment top. Pouvoir choisir entre 'do %r3-gui.r3 et
'load-gui est utile maintenant.

- Je ne veux pas forcément utiliser r3-gui sur r3-view. Je veux peut-être
directement attaquer les blob pour afficher 2-3 images sans load-er un gros
système de layout en mémoire.

Par contre, ce n'est pas forcément une bonne idée à terme. Avec 'load-gui, il
se passe quoi si saphirion.com est down? Ca devrait être clair que cette
commande ne sert qu'à tester la dernière version et c'est tout. Il manque en
tout cas une option load-gui/to filename pour la sauver en local.

r3-view est plus proche d'un r2-face, ce qui n'est pas forcément une
mauvaise chose. Ceci-dit, ça serait bien d'avoir une option dans le make
pour intégrer r3-gui.r3 ou pas. (...et view sur OSX, et 'read qui ne crashe plus
pour un oui ou un non, et avoir plus d'autres codecs que BMP fonctionnels...)
ldci20-Jan-2013/19:37:07+1:00
Salut à tous
Dans mon idée, et de ce que j'avais compris de la présentation de Carl en 2007 à Paris, on devait pouvoir importer à la demande (comme dans modula-2), le gui, les databases ...
Je trouve cette idée plus qu'intéressante pour le VID
DideC21-Jan-2013/10:40:42+1:00
La situation actuelle est loin d'être parfaite, ni idéale. Mais c'est la situation d'un produit en développement avec des composantes en développement.

Oui, il y a dans R3 un système de "modules" qui doit permettre, in-fine, de charger les composants dont on a besoin pour son programme et seulement ceux-là. Et même de ne les interpréter qu'au moment où on en a besoin.

Pour rappel, quelques pages expliquant en partie l'interface et les différents types de modules (je ne jure pas que c'est à jour, disons que c'est plus pour comprendre le principe) :
http://www.rebol.net/wiki/Module
http://www.rebol.net/wiki/Module_Design_Details
http://www.rebol.net/r3blogs/0344.html

r3gui sera un de ces composant (module) et comme le dit Shadwolf, il se pourrait que ce soit le premier appel à View qui charge et initialise le module r3gui avant d'interpréter le bloc d’instructions qui suit.

Initialement, la fonction 'load-gui sert justement à charger la "dernière version en développement" du GUI de Carl.
J’avoue ne pas comprendre pourquoi Saphirion ne l'a pas modifié dans leur version de r3view pour y mettre leur URL de r3gui !?!?
DideC21-Jan-2013/10:58:28+1:00
Correction !

La dernière version de Saphirion r3view contient bien une version de 'load-gui qui charge la version Saphirion de r3gui.

C'est indiquée dans une doc récente qui présente bien la situation actuelle de r3gui(Saphirion) VS r3gui(Carl) et de l'état de la doc.

http://development.saphirion.com/rebol/r3gui/getting-started/#
jocko21-Jan-2013/11:28:58+1:00
Bonjour,

Ce document daté d'hier est un excellent début de réponse aux questions que nous soulevons. Comme le dit Didec, le travail de développement est en cours, et il semble que l'effort de mise en cohérence de la doc soit lui aussi lancé. A suivre ...
coccinelle21-Jan-2013/13:41:12+1:00
J'ai repéré la liste des styles existants mais c'est pas facile de comprendre comment les utiliser :
area               Multi-line text input, editable, scrollable, with background and scroll bars.
arrow-button       Single action button with arrow (but no text).
bar                Simple horizontal divider bar.
box                Simple rectangular box.
button             Single action button with text.
button-bar         Simple button bar.
check              Dual action button with text and LED indicator.
check-group        Vertical group of check boxes.
clicker            Single-action button without text. Basis of other styles.
code               Source code fields, non-editable.
code-area          Multi-line code input, editable, scrollable, with background and scrollbars.
color-array-box    Simple rectangular box.
color-array-picker For spaced groups. No background or borders. Default ho
rizontal.
color-box        Simple rectangular box.
color-field      Single line text input, editable, with background box.
color-picker     For spaced groups. No background or borders. Default horizontal
.
dir-text         Simple scalar vector draw block. Can be clicked.
div              Simple vertical divider bar.
doc              A tiny document markup method for embedded docs, notes, messages.
drawing          Simple scalar vector draw block. Can be clicked.
drop-arrow       Drop-down test.
drop-down        Drop-down test.
element-group    Vertical group of elements, which SET-FACE or GET-FACE manages with one value.
field            Single line text input, editable, with background box.
file-list        Tightly spaced and packed group. No background or borders. Horizontal default.
head-bar         Boxed text bar for headings.
icon             Icon image with optional text below.
image            Simple image with optional border. Can be clicked.
indicator        Visual indication of whether a face is valid.
info             Text information fields, non-editable.
info-area        Multi-line text info, non-editable, scrollable, scrollbars.
label            Label text without background.
old-tab-box      Multi sub-layout.
palette-box      Simple rectangular box.
progress         Progress bar.
radio            Dual action button with text and LED indicator.
radio-group      Layout of radio buttons
scroller         Scroll bar with end arrows.
sensor           Has no graphics, but can be clicked.
slider           Slide-bar for numeric input (0% - 100%)
tab-box          For grouping faces with a background and borders.
tab-button       Tab button. For internal use.
table            For grouping faces with a background and borders.
table-panel      For grouping faces with a background and borders.
table-plane      For grouping faces with a background and borders.
table-viewport   For grouping faces with a background and borders.
tag-area         Area of TAG-FIELDs.
tag-field        Special kind of FIELD style for use in TAG-AREA. Adds oval and closing cross to text after editing.
text             Simple text without background.
text-area        General text input area, editable, scrollable, without background.
text-box         Text area with background box.
text-item        Simple text without background.
text-list        Tightly spaced and packed group. No background or borders. Horizontal default.
text-table       Tightly spaced and packed group. No background or borders. Horizontal default.
title            Title text style without background.
toggle           Dual action button with text and LED indicator.
tool-bar         For spaced groups. No background or borders. Default horizontal.
tool-button      Not documented.
jocko21-Jan-2013/13:57:04+1:00
tu essaies :

view [image %image.jpg on-action [print "image clicked"]]
coccinelle21-Jan-2013/14:30+1:00
Je veux bien mais un truc comme tab-box, j'ai essayé sans succès.

Idem code-area, j'ai pas compris comment le rendre éditable.

Ou alors "doc" quésako ?
shadwolf22-Jan-2013/2:14:03+1:00
didec hum au rythme ou ca va r3 va encore rester en alpha pour au moins 10 bonnes années.

coccinelle oui le layout a disparut ... car trouvant que c etait en trop (redondant et pas necessaire ...)

le but du r3gui c etait detre une implementation plus rapide que vid donc allegée etc a l image du reste de r3
coccinelle22-Jan-2013/8:05:03+1:00
layout n'a totalement disparu, il a simplement été inclus dans view. C'est juste un micro-raccourci et les deux lignes ci-dessous donnent exactement le même résultat.
view [image %image.jpg on-action [print "image clicked"]]

view layout [image %image.jpg on-action [print "image clicked"]]
shadwolf26-Jan-2013/19:43:49+1:00
voila comment on arrive a faire n importe quoi ...

don je prend pour example clicker qui est la base pour le bouton et donc tu dois pas t en servir directement pourquoi y avoir acces alors?

en suite bar et div ... bar c est la separation horizontal div c est la separation vertical...

c est con mais si je cherche les separateur je m attend a les trouver l un apres l autre et pas l un au debut de list widget et l autre en milieu de liste.

ma sugestion les appeller divh et divv ou seph et sepv ou barh et barv...
shadwolf26-Jan-2013/19:47:05+1:00
http://r3cheats.us/showthread.php?45-R3GUI-Preview-of-our-new-Menu

si c ca R3gui j en veux pas c est plat c est moche on dirait windows8 qui aurait un coup de deprime!!!
DideC28-Jan-2013/15:10+1:00
Faudrait surtout que ce R3GUI ai quelque chose à voir avec le sujet, hors il n'en est rien !!!!!

le R3GUI de la vidéo est vraisemblablement le nom d'un programme qui permet d'utiliser des hacks dans Conter-strike. Rien à voir avec l'interface graphique pour Rebol3 !!

Tu post trop vite mon gars. Regarde un peu de quoi parle ce que te donne Google au lieu de le prendre pour un dieu qui lit dans tes pensées.
shadwolf28-Jan-2013/21:01:53+1:00
... bon on a meme plus le droit de rire ...

En effet c est un outil pour parametrer les hack de counter strike je trouvais ca drole de le melanger a rebol3gui ...
DideC28-Jan-2013/22:38:44+1:00
Ah ben si c'était de l'humour, pardon
shadwolf26-Mar-2013/0:47:33+1:00
Bon et donc ils en sont ou chez sapphiron ca y est ils vendent une version d angry bird faite en rebol pour iOS et android?


ironie mise a part ce serrait bien que quelqu un qui a pas traiter d imbecils cyphre et robert münch leur demande ou nous fasse un topo mensuel.
shadwolf26-Mar-2013/1:17:38+1:00
pour ce qui est des infos sur le site de saphirion il y en a pas trop ! Alors oui il y a une doc ... ou l'on voit des termes de VID de rebol2 comme face... ou sont passés les fameux gob de r3gui qui donnaient tant de joie a Carl?

Quel est le change log ?

Pour quoi c est tout gris ?

Pourquoi a part nous expliquer 10 manieres d'organiser les boutons dans la fenetre on a rien d autres?

Et oui j ai lu ce que saphirion appel un doc et ca ma fait beaucoup rire on est super loin de rebGUI!
shadwolf26-Mar-2013/1:19:47+1:00
le site de saphirion a pas evoluer quand on se pointe sur la section r3gui on a la derniere release history qui date de Revision: r4467 from 2012-12-17 19:12:03 et j ai du mal a croire que saphirion est fait 4467 versions de leur r3gui ...
shadwolf26-Mar-2013/1:23:20+1:00
ce qui excite cyphre c est apparement de porter r3 a android ... mais pourquoi faire?
PierreCh26-Mar-2013/11:08:22+1:00
On peut voir android comme le futur de l'informatique: un OS qui a beaucoup d'avantages, tourne bien, mû par un noyau Linux aux avantages qu'on connaît.
En plus, il y a derrière une grôsse entreprise, dont un des leitmotivs est "Don't be evil" (après, ça se discute (troll détecté, ne point (trop) le nourrir...).

Android commence à se voir sur de plus en plus de plate-formes. Cela ne m'étonnerait pas de voir bientôt des PCs style bureautique mûs par android.

De mon point de vue, ce n'est pas plus bête de considérer cette plate-forme comme prioritaire.
shadwolf27-Mar-2013/18:12:26+1:00
hum ... non serrieux on pas dire qu un OS au demarage qui prend 300MB pour rien et perd les appels soit super efficace.

De plus etant utilisateur d android y a des moment ou il lag violemente et pourtant j ai un dual core a 1Ghz dans mon telephone...

Don't be evil ... heu tu peux courrir pour avoir les sources complete d android et encore plus pour avoir les sources des particularités constructeur genre samsung touchwiz. Un example recent genre c etait lundi 25 mars 2013 Cynogen mod qui annonce qu'il ne feront pas de mod pour le samsung s4

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2