AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 64 |
r3wp | 1992 |
total: | 2056 |
results window for this page: [start: 65 end: 164]
world-name: r3wp
Group: RAMBO ... The REBOL bug and enhancement database [web-public] | ||
Anton: 21-Mar-2005 | lay: layout [btn "start" [lay/rate: 1 show lay] btn "stop" [lay/rate: none show lay]] lay/feel: make lay/feel [detect: func [face event][if event/type = 'time [print ['tick now/precise lay/rate]] event]] view lay p: open http://www.rebol.com close p view lay | |
Anton: 14-Apr-2005 | Just noticed: HIDE stopped minimizing a window face some time after 1.2.5.3.1, eg: view lay: layout [button [hide lay]] Is that a bug, or intended? (I'll check this out more later.) | |
Volker: 13-May-2005 | i have a wish: integrating 'comment in some more dialects. parse, layout come to mind. could then be used for embedded documentation. what do you think? | |
Vincent: 17-May-2005 | With 1.2.106.3.1 and 1.2.107.3.1 : bug with pen color setting in draw block: view layout [box white effect [draw [ pen none box 10x10 70x20 ; invisible box pen black ; pen to black pen none box 10x30 70x50 ; invisible box ]]] is ok, but not view layout [box white effect [draw [ pen none box 10x10 70x20 ; invisible box pen black text 12x32 "hello" ; pen to black, some text pen none box 10x30 70x50 ; without AGG (->1.2.48), invisible box, with AGG (alpha & 1.2.106+), visible box ]]] Drawing something with a visible pen breaks invisible pen usage. | |
DideC: 17-May-2005 | view layout [text "Après noël en forêt" box 150x20 effect [draw [text 0x0 "Après noël en forêt"]]] | |
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public] | ||
Sunanda: 19-Jan-2005 | Please mock up an example -- you could do it in View layout -- that'd make the discussion more concrete. | |
Sunanda: 26-Aug-2009 | Good news -- no absolutely positiioned DIVs, so it is a fairly fluid layout, will flow easily into most window size. Bad news -- main frame of site is a table. Originally, it was nested DIVs but that caused some layout problems when displaying <pre> sections of code. Going to a table was a quick fix that has never been looked at again. | |
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public] | ||
DideC: 10-Mar-2005 | ctx: context bind [ chars: charset [ #"A" - #"Z" #"a" - #"z" #"0" - #"9" #"-" #"_"] non-chars: complement chars set 'copy-word has [start end end-rule car-pos] [ if any [not focal-face not caret] [exit] car-pos: index? caret end-rule: copy [] parse/all head caret [ any [ start: some chars end: ( if all [car-pos >= index? start car-pos <= index? end] [end-rule: 'break] ) end-rule | some non-chars (start: end: none) ] ] if all [start end] [write clipboard:// probe copy/part start end] ] ] in system/view 'focal-face view layout [ area "This is some text to test" text "To copy the word under the cursor : hit CTRL+K or press the button bellow" button "Copy word" #"^K" [copy-word] ] | |
Henrik: 10-Mar-2005 | is it possible to use an object variable for a VID item, such as obj: make object! [t: none] where I would like view layout [obj/t: button "hello"] in some way? it doesn't work... | |
Anton: 10-Mar-2005 | o: context [var: none] layout [button with [o/var: self]] o/var/type ;== face o/var/style ;== button | |
Anton: 10-Mar-2005 | For example, don't do this: text: context [var: none] layout [button with [text/var: self]] ** Script Error: Cannot use path on none! value ** Where: forever ** Near: text/var: self | |
Anton: 10-Mar-2005 | The most elegant solution would be to patch layout so it accepts set-paths. | |
Allen: 30-Apr-2005 | blocks are also great for composing in, e.g creating a dynamic layout block to pass to the layout function or draw | |
Alberto: 9-Jun-2005 | view layout [ across lbl "field 1" f1: field return lbl "field 2" f2: field return btn "hide f2" [hide f2] ] | |
Bobik: 4-Oct-2005 | Could you help me anybody? I have a simple sequences of commands: view layout [label "hello"] tx: request-text "something" ... I need invoke request-text immediately after main window showed - not after the main window is closed... | |
Bobik: 4-Oct-2005 | So if i use view layout [.....] it is as some as if i use: view/new layout [....] do-events ? | |
Bobik: 5-Oct-2005 | I can not understand behaviour of my example: If i have a script1.r: view layout [ ... btn "script2" [ do %script2.r print 123 ] ] ... and sript2.r has: view layout [.....] I expected that <print 123> will not execute because script2 has view layout... (no view/new layout [...]) | |
Pekr: 6-Oct-2005 | it does not seem to work: view layout [btn "So what?" [inform layout [text "So what?"]]] | |
Bobik: 6-Oct-2005 | so how can i get layout of requester(f.e. request-text) to do it ?> insert tail system/view/sreen-face/pane/1/pane <what?> | |
Anton: 29-Oct-2005 | LAYOUT calls GROW-FACETS which handles some types and collects others in blocks to let NEW/MULTI handle them (where NEW is the face which is being created.) See the code here: print mold get in svv 'grow-facets | |
BrianH: 5-Apr-2006 | Plus the user interface loks a little off because it is written for an older version of WinCE, and the title bar didn't match the standard layout even then. | |
BrianH: 5-Apr-2006 | I haven't tried it on the smartphone layout, but I would be shocked if it worked. :) | |
Group: Linux ... [web-public] group for linux REBOL users | ||
[unknown: 10]: 2-Mar-2006 | people who startout using Ubuntu, Fedora or Redhat find themselfs In an Linux world that not even default with i.e. Disk-Structures on Tru64 or Solaris or HPUX.. while using other Linux distributions from around 1995 they stick with the UNIX system (IV|V) layout..But when it comes to development I can emagine to make a choice between "package handling" and "environment handling"... Then I would stick with debian..just has a better package manager...where slackware is a little more the "do it yourself package manager.." still 'tar does wonderful things.. for the user... | |
Cyphre: 22-Mar-2006 | fnt1: make face/font [ name: "/usr/share/fonts/truetype/freefont/FreeSans.ttf" size: 32 ] fnt2: make face/font [ name: "/usr/share/fonts/truetype/freefont/FreeSansBoldOblique.ttf" size: 64 ] view layout [ origin 0 box snow 400x100 effect [ draw [ pen black font fnt1 text anti-aliased 0x0 "Rebol Rulez!" pen blue yellow fill-pen red line-pattern 10 10 line-width 2 font fnt2 text vectorial 0x30 "Rebol Rulez!" ] ] ] | |
Group: CGI ... web server issues [web-public] | ||
Anton: 4-Jul-2005 | view layout [b: box 200x100 navy image help.gif feel [engage: func [face action event][if find [over down] action [b/text: mold pick face/image event/offset show b]]]] | |
Group: !Readmail ... a Rebol mail client [web-public] | ||
PhilB: 31-Dec-2004 | For the next release I will be changing the way in which the locale works. (For security reasons) The locale.r file will no longer be evaluated ... i.e. the program will no longer do %locale.r. The program will expect a pipe seperated file something like ; menu items gm_about|About gm_Accounts|"Accounts" gm_Contacts|"Contacts" gm_Folders|"Folders" gm_Help|"Help" gm_New|"New" gm_Preferences|"Preferences" gm_Send|"Send" gm_Unread|"Unread" gm_Layout|"Layout" ; gui items gt_Add|"Add" gt_Add-to-cont|"Add to Contacts" gt_Attach|"Attach" | |
Graham: 31-Dec-2004 | i guess that should be 'layout | |
Group: Web ... Everything web development related [web-public] | ||
Maxim: 12-Jan-2005 | you can basically have the artist doing the pics and layout, and a developper doing the code part... | |
eFishAnt: 22-Jan-2005 | so can you speak a REBOL script into here? Oops forgot, not Messenger where do [ view/new layout [ box ] ] can be done... | |
Carl: 22-Jan-2005 | view layout [image percent photo.JP button "quit "[quit ] ] | |
Pekr: 30-Jan-2005 | One question though. Both class and id are used mostly to describe layout. I mean - Gabriele's temple uses class and id to identify what/how data should be filled in, but it may not be in correspondence with design. I should note, that Temple design is how I imagine templating system should work. When you work in trio-mode - user (entering data into app), programmer and designer (which can't program), most template systems are not acceptable, as they break the ability to see the design work result, unless loaded into production environment, and that is not acceptable in my situation ... | |
yeksoon: 30-Jan-2005 | on Gab's Temple. pre-defining the 'id' is a way for developers and designer to communicate and agree on certain stuffs. That is how the separation of work is being done. Developer will code with 'address' in mind in their business logic..and designer just design the layout and only need to put in id 'address'. | |
Sunanda: 31-Jan-2005 | Divs are ultimately more flexible than tables. Tables have their place -- for the display of tabular data as they were intended. For page layout and markup, DIVs are ultimately less boxy. They also, usually, produce data flow that is more friendly than tables for people using accessibility aids. | |
yeksoon: 3-Feb-2005 | I have a problem with some layout. Trying to align an output of 'processingtime' and some 'footer' on the same line.. but I always end up wiht the footer a line below. The left-right alignment is correct though. --- .footer { text-align: right; font:10px verdana, arial, helvetica, sans-serif; color: #666; background: transparent; } .processingtime { text-align: left; font:10px verdana, arial, helvetica, sans-serif; color: #666; background: transparent; } -- -- <div class="processingtime">some processing time</div> <div class="footer">some trademarks stuffs</div> -- | |
Group: SDK ... [web-public] | ||
Volker: 11-Apr-2005 | view lay: layout[ button "title-time" 300[ lay/text: form now lay/changes: 'text show lay ] ] | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
shadwolf: 3-Mar-2005 | We can't make layout transparent but we can make inside window transparenc level maybe this coud be a good thing to dig on | |
Anton: 4-Mar-2005 | Why would you need to differenciate them ? The same words can be interpreted differently by LAYOUT or DISPLAY. | |
DideC: 4-Mar-2005 | view layout [box edge [size: 10x10 image: logo.gif]] | |
DideC: 4-Mar-2005 | view layout [box edge [size: 12x12 image: logo.gif effect: [tile gradcol 1x1 255.0.0 0.0.2 55]]] | |
DideC: 4-Mar-2005 | view/options lay: layout [ box "Bouncing window !!" 300x200 rate 1 feel [ engage: func [f a e] [ if a = 'time [lay/changes: 'restore show lay] ] ] text "Minimize me (if you can ;-)" ] 'resize | |
Vincent: 4-Mar-2005 | just a detail: in facets document, /span datatype is pair! . you could use it to store other data, but if you set a pair! to /span, /view will use it as virtual size for face (it still works in later betas, so one should be careful to not use it to store coordinates) ie: f: layout [ banner "Testing /span" guide box 400x400 effect [gradient 1x1 0.0.0 255.255.255] button "Hello!" return text-list data ["just" "a" "list"] image logo.gif logo.gif/size * 2 ] f/span: f/size ; here we tells /view to use virtual coordinates for all subfaces view/options f 'resize ; will give a fully resizable window (widgets included), but it only works for reducing window's size. | |
Gregg: 5-Mar-2005 | As long as there is a glossary that let's you translate from familiar terms, I think you're OK using REBOL's native terms, though they were foreign to me when I started. Window or dialog? Or Screen or Form or Layout. A Dialog is usually something other than the main screen in an app. You sometimes need to use all those terms if you're speaking in the domain of an application, so use wha'ts appropriate in each context. Face or graphical object? Or Control or Widget. Tough call on this one. I was used to Control from VB, and Face confused me as it could be a layout as well. I like distringuishing between layouts and controls. Hmmm Maybe a hierarchical tree. Facet, attribute, property or descriptor? I like either Attribute or Property. I can live with Facet in REBOL, it's shorter, and it makes sennse if you think in terms like "let's discuss this facet of the business". Style, widget or template? Style, definitely. | |
Vincent: 5-Mar-2005 | bug: the last widget in a rebgui layout determine the width of the face - if the last widget is narrow, the window is narrow. fix: in %display.r, you have to keep track of the maximum x value: - near "xy: origin-size" you can initialize a 'max-width: "max-width: origin-size/x" - in parse loop, just after xy update "xy/x: xy/x + last-face/size/x", you can update the 'max-width: "max-width: max max-width xy/x" - after (outside) the parse, near where the y size is last updated "xy/y: xy/y + last-face/size/y", you can set the x size to be the 'max-width: "xy/x: max-width" | |
Vincent: 9-Mar-2005 | In http://www.dobeash.com/it/rebgui/widgets.html, in Feel function templates, there's missing the 'move event in engage. It's used for dragging actions in a layout. Here a vertical splitter widget using it : | |
Ashley: 9-Mar-2005 | Following documents updated to reflect latest changes / feedback: RebGUI Display User's Guide - new layout refinement plus widget descriptions added RebGUI Widget Designer's Guide - init attribute added REBOL/View Facet Summary - various | |
shadwolf: 25-Mar-2005 | yep layout | |
Ashley: 26-Mar-2005 | Vincent: 'list behavior & features - less is more at this stage, once we have something to look at we can refine it. shadwolf: 'text+ removal. While a useful widget for certain domains (like WYSIWYG editors / browsers) it's not a basic building block widget. There were also some unresolved implementation issues with it at this stage - I'll add it back in at a later date as an optional or advanced widget. shadwolf: multi-column list. An implementation model I liked was that adopted by Gui4Cli ( http://users.hol.gr/~dck/g4c/) which allows simple "table" representations (including column type and alignment definitions). Can't say I've come across that many UI's that use anything other than text / numbers in a standard list (thumbnails and scrolling check-box options are usually implemented in an app specific manner). Ammon: 'display/popup. If it's sufficiently different from 'display/layout then I'm all for it. Ammon: Wizard style. A wizard widget, if simple enough, would be a good addition. Like 'group-box and 'tab-panel it is a meta-widget that groups / uses other widgets. I'll make this distinction clearer in the next version of the docs. On a side note, my install example has convinced me of the need for an 'indent option (and the fact that use of 'offset should reset the line-height calculation). Ammon: "Unless otherwise specified, text size reverts to 200x9999 if the string contains a newline." I probably need to rephrase this, but what I was trying to say was that by default 'text is 9999x20 which let's you write a string without having to know it's width in advance (9999 will auto-size it), *but* if the string contains a newline then it is the height that is the more important variable so it'll use 200x9999 instead. Of course it'll only do this if you don't provide an explicit size yourself (the "unless otherwise specified" bit). Hope that makes a bit more sense. | |
Ammon: 26-Mar-2005 | Display/Popup is significantly different from /Layout. /Display appends the face that is generated to System/View/Screen-face. This makes it so that a popup can extend beyond the window of your application. | |
Robert: 31-Mar-2005 | splitter: adding a richt-click to reset splitter to original position. If users have screwed up their layout ;-)) | |
Carl: 31-Mar-2005 | Personally, I think it would be very cool to have a non-RT GUI dialect that was better than VID, but just as flexible. I wrote VID in very short period of time, and it was disigned for more than what it is typically used for. For example, VID is written in such a way that it makes it easy to write something like the Layout script -- because you can return to the original VID source code from the face itself. | |
shadwolf: 5-Apr-2005 | so things like view layout [ btn "EXIT" [quit]] would be writed in more than a sigle line in REBGUI ;) | |
Robert: 10-Apr-2005 | WRT my question about extending/customizing layout. Would it be possible to add something to RebGUI so that this is possible: if my-var > 5 [optional: button red 100] | |
shadwolf: 11-Apr-2005 | tab-panel: make face [ color: none pane: [] l-arw: none r-arw: none dir-buttons: false feel: make default-feel [ redraw: function [face act pos] [test-size test-wid] [ if act = 'show [face/pane/1/size: face/size - 0x20 ; ; test-wid: face/pane/1 ; test-size: test-wid/size/x ; if greater? test-size face/size/x [ ; either not dir-buttons [ ; dir-buttons: true ; insert tail face/pane face/l-arw: make arrow [ ; size: 20x20 ; offset: as-pair (face/size/x - 40) 0 ; data: 'left ; action: [print "you clicked left" ] ; ] do face/l-arw/init ; insert tail face/pane face/r-arw: make arrow [ ; size: 20x20 ; offset: as-pair (face/size/x - 20) 0 ; action: [print "you clicked right" ] ; data: 'right ; ] do face/r-arw/init ; ][ ; face/r-arw/offset: as-pair (face/size/x - 20) 0 ; face/l-arw/offset: as-pair (face/size/x - 40) 0 ; ] ; ] ; print "la liste des bouttn est plus grande que ce que l'on voit!!!" ] ] ] init: has [tab-offset last-tab] [ ; create main display area insert pane make face [ offset: 0x20 edge: default-edge] ; add tabs tab-offset: 0x0 insert tail pane make face [ offset: 0x0 pane: [] color: none ] container: last pane insert container/pane make face [ offset: 0x0 pane: [] color: none] foreach [title spec] data [ insert tail container/pane/1/pane make face [ offset: tab-offset size: 1x20 pane: [] text: title effect: reduce ['round edge-color 5 'draw copy []] resize: none font: make default-font [align: 'center valign: 'bottom] para: default-para feel: make default-feel [ over: func [face act pos] [ either act [ insert face/effect/draw compose [ ; compose required for AGG betas pen over-color line 3x1 (as-pair face/size/x - 4 1) line 2x2 (as-pair face/size/x - 3 2) line 1x3 (as-pair face/size/x - 2 3) ] show face ][ if face/parent-face/parent-face/parent-face/pane/1/pane <> face/data [ ; clear unless selected clear face/effect/draw show face ] ] ] engage: function [face act event] [pf old-face] [ if event/type = 'down [ pf: face/parent-face pf3: pf/parent-face/parent-face if pf3/pane/1/pane = face/data [return] ; has a new tab been selected? clear face/effect/draw old-face: pick pf/pane pf3/data ; find previous tab old-face/resize: pf3/size ; remember last size old-face/size: old-face/size - 0x1 ; deflag old clear old-face/effect/draw face/size: face/size + 0x1 ; flag new face/feel/over face true 0x0 pf3/data: index? find pf/pane face ; set new pane# pf3/pane/1/pane: face/data ; init tab panel if pf3/size <> face/resize [ ; recursive resize span-resize pf3/pane/1 pf3/size - face/resize face/resize: pf3/size ] show pf3 ] ] ] ] last-tab: last container/pane/1/pane last-tab/size/x: 10 + first size-text last-tab ; set tab title width display/layout "" spec last-tab ; generate tab spec into tab pane last-tab/data: last-tab/pane ; swap pane into data last-tab/pane: none ; clear pane last-tab/resize: size ; original panel size tab-offset/x: tab-offset/x + last-tab/size/x ; set offset for next tab title ] print "size et countainer a la con !!" probe size/x container/size: as-pair size/x 20 probe container/size/x container/pane/1/size: container/size container/pane/1/pane/1/size: container/pane/1/pane/1/size + 0x1 ; flag 1st tab data: 1 ; set pane# pane/1/pane: container/pane/1/pane/1/data ; init tab panel container/pane/1/pane/1/feel/over container/pane/1/pane/1 true 0x0 ; flag first as active ] ] | |
Robert: 24-Apr-2005 | resizing system: How about a method that will store the layout if altered by the user and reload the GUI in the same layout? It always drives me nuts if I have to resize application splitter bars, panes etc. when starting again. | |
Vincent: 26-Apr-2005 | a simple way could be 1) VID -> RebGUI : a 'face widget for RebGUI, to put any prebuilded face (ie made by 'layout) in a display, 2) RebGUI -> VID : a 'make-face -like function to build a reusable RebGUI face | |
Volker: 26-Apr-2005 | i hope. after all, both create faces. thee are a few differences in your api (action has 2 arguments, init is function). and you have a resize-system. will look what i can do. at least something like vid[ vid-stuff ] ; symply calls 'layout should be doable. | |
[unknown: 5]: 27-Apr-2005 | Yes Anton. I'm looking for a brief example - a small layout that shows the capability. | |
[unknown: 5]: 27-Apr-2005 | I remember when /view first came out it seemed there was someone that made a gui that was eliptical using only faces and no layout. | |
Vincent: 27-Apr-2005 | Usage: my-face: layout [field "just a field" [print face/text]] display "A RebGUI display" [ ... x-face [data 'my-face action [print "Hi!"]] ... ] | |
Brock: 30-Apr-2005 | I was also thinking about the feature that was being discussed that allows for more tabs than the width of the layout. How about an option to allow the tabs to wrap when larger than the layout? Take the number of tabs, divide the total by two and auto-size the tabs to the full width of the layout, just now there is two rows. I think this would be a nice alternative behaviour for when the user interface benefits from being able to see all possible tabs. | |
Group: !Uniserve ... Creating Uniserve processes [web-public] | ||
MichaelB: 25-Jan-2006 | Why does the following not work ? Anamonitor shows that the engage got into place, but the rate doesn't work. I seam to forget something, with rebgui: do %rebgui.r display "test" [ text "hello" do [ face/rate: 5 face/feel: context [ engage: func [f a e][ print 'bla ] redraw: detect: over: none ] ] ] do-events with vid: x: layout [button "hallo"] x/rate: 5 x/feel: context [ engage: func [f a e][ print 'bla ] redraw: detect: over: none ] view x do-events ???any help :-) | |
Group: Cookbook ... For http://www.rebol.net/cookbook/requests.html [web-public] | ||
DideC: 8-Jul-2005 | main: layout [ space 2 origin 4 across style pane-tog tog of 'panels ; Just to avoid puting {of 'panels} in each tog lines below pane1-tab: pane-tog 100x30 "Pane 1" [show-pane pane1] pane2-tab: pane-tog 100x30 "Pane 2" [show-pane pane2] pane3-tab: pane-tog 100x30 "Pane 3" [show-pane pane3] return content-pane: box 300x200 return btn white "Save" ; Save and Apply are used here for decorative purposes btn orange "Apply" btn sky "Close" [unview] ] | |
DideC: 8-Jul-2005 | pane1: layout/offset [ across text "Setting 1" field return text "Setting 2" field ] 0x0 ... | |
DideC: 8-Jul-2005 | The note talk about layout/TIGHT, but you did not use it before !!!! | |
Henrik: 8-Jul-2005 | hmm... this will mean that the layout/offset is not the same as contents-pane/pane/offset | |
Group: XML ... xml related conversations [web-public] | ||
ScottT: 27-Apr-2006 | well, if you can write a stylesheet that outputs a layout. Not at all impossible, <xsl:output method="text" /> | |
Graham: 22-Jun-2009 | format-xml: func [ xml /local out space prev ][ out: copy "" spacer: copy "" prev: copy </tag> foreach tag load/markup xml [ either tag = find tag "/" [ ; we have a close tag ; reduce the spacer by a tab unless the previous was an open tag either not tag? prev [ ; not a tag remove/part spacer 4 ][ ; is a tag if prev = find prev "/" [ ; last was a closing tag remove/part spacer 4 ] ] ][ either tag? tag [ ; current is tag ; indent only if the prev is not a closing tag if not prev = find prev "/" [ insert/dup spacer " " 4 ] ][ ; is data insert/dup spacer " " 4 ] ] repend out rejoin [ spacer tag newline ] prev: copy tag ] view layout compose [ area (out) 400x400 ] ] obj2xml: func [ obj [object!] out [string!] /local o ][ foreach element next first obj [ repend out [ to-tag element ] either object? o: get in obj element [ obj2xml o out ][ repend out any [ o copy "" ] ] repend out [ to-tag join "/" element ] ] ] | |
Group: Hardware ... Computer Hardware Issues [web-public] | ||
[unknown: 9]: 23-May-2006 | You should, we can talk to you about how to configure your drive in the first place. I have some simple tricks I do for my laptops (I only use laptops, and live on them). Quick list: Put everything in PGP folders. Install XP to a small partition, and have a ghosted version on the same drive (seperate partition). Basic layout is C: = Boot and XP, D: = Data (your personal Data, E: = Extra applications, Z: = Archive og Ghost of C:. Keep the custom Ghost CD for your laptop with you. With this, if somoene steals your computer they don't get your data. If C gets corrupted, you can recover. And, it is REALLY easy to back up just your data fast. | |
Group: Sound ... discussion about sound and audio implementation in REBOL [web-public] | ||
Rebolek: 27-Jun-2005 | snd: load http://krutek.info/rebol/sound.r view layout [ button "play" [ wav: make sound [rate: 22050 data: snd] print "make wav" ? wav sndport: open sound:// insert sndport wav print "insert sound" ? wav close sndport ] ] | |
Group: Rebol School ... Rebol School [web-public] | ||
BrianH: 4-Apr-2006 | denismx, when I've taught REBOL to people, even people who are already familiar with other programming languages, it has been helpful to make the distinction between the REBOL language and the dialect engines. REBOL is really a data model and related syntax, and a bundle of library functions that manipulate data in this model. A dialect is really a semantic model for interpreting this data, like what people think of as a language in real life. A dialect engine is a set of library functions that think of the data in the same way - I know this sounds anthropomorphic, but it makes it easier to explain REBOL if you think of the different dialect engines as entities that are acting on a set of commands you are giving them. You can even use role playing to demonstrate this, having one of your students act out the part. It also helps to name each of these models after the main function that implements them - otherwise people might not get the distinction between them and REBOL as a whole. There are some functions that only deal with the REBOL data model and don't really do anything with the data other than translate it from or to some concrete syntax. It is best to group these functions by the syntax they implement - the group that implements what people normally think of as the REBOL syntax is LOAD, SAVE and MOLD. When teaching REBOL dialects I usually start with what I call the DO engine, what people normally think of as the REBOL language. DO is a stack machine like Forth, but it uses a prefix syntax to make it easier to use (by making DO dialect code more resemble that in other programming languages). DO also does a simple swapping hack to implement inline operators, which you will have to demonstrate so that your students will understand DO's operator precedence or lack thereof. DO always works on REBOL data: If you pass it a string or file that contains REBOL syntax code, DO will call LOAD to convert it to REBOL data - this is an important distinction to make so that your students can distinguish between the data and the processor of that data. There are many functions that depend on DO to interpret their blocks of "code", such as IF, WHILE, FOR, etc. It is important to note that these are just functions, not "syntax". DO's only syntax is the predefined operators that DO swaps (these are effectively keywords because of how the swap is implemented), the word/set-word/get-word difference, the interpretation of paths and the precedence of parens. Everything else is a function. There is also the PARSE engine, a rule-based recursive-decent parser with limited backtracking, that implements three dialects (simple parse, string parse and block parse). These dialects actually have keywords, as well as an entirely different execution model. Also, there is the View engine, which implements the LAYOUT and DRAW dialects. Refering to these engines as state machines isn't helpful, because the distinctions between their execution models, or whether they even have execution models, is important for distinguishing between them. You need to use the higher-level terms like stack machine, composition engine and such. I hope this helps! | |
Anton: 22-Apr-2006 | Well, I've just manually extracted the rebol functions from my latest script demo-virtual-face.r (as posted in the View group), so I'm looking at those. I've excluded layout and draw dialect keywords. The order in which the functions appear is interesting. I have some duplicates. So now I'm analysing.. | |
Anton: 22-Apr-2006 | Ok, so here's my frequency table: 6 compose 5 as-pair 5 func 4 do 3 show 2 all 2 copy 2 find 2 form 2 get 2 in 2 pick 2 print 2 to-image 2 use 1 * 1 + 1 - 1 <> 1 = 1 append 1 bind 1 center-face 1 change 1 clear 1 context 1 do-events 1 either 1 first 1 foreach 1 if 1 join 1 layout 1 load-thru 1 make 1 mold 1 object? 1 reduce 1 remold 1 remove-each 1 repeat 1 second 1 select 1 to-pair 1 to-path 1 view | |
Group: Rebol/Flash dialect ... content related to Rebol/Flash dialect [web-public] | ||
Oldes: 8-Oct-2007 | Rebol/Flash dialect (RSWF) version 2.5.0 is available! compressed: http://box.lebeda.ws/~hmm/rswf/rswf_latest.r(89kB) uncompressed: http://box.lebeda.ws/~hmm/rswf/rswf_2.5.0.r(331kB) as colorized HTML: http://box.lebeda.ws/~hmm/rswf/rswf_2.5.0.html (885kB) What's new: - New swf-parser included which replaces old exam-swf function (useful for importing foreign SWF files) - Added implementation of Class definitions for SWF versions 6 and higher (I have to create some examples) - Added new 'trace function into actions (which can be use to compile swf files with or without trace calls easily) - 'require and 'include now accepts block of files or urls (I should modify my rswf code colorizer to show included files as well) Here is also new example how to include first of GUI elements: http://box.lebeda.ws/~hmm/rswf/example/swf8-cliphandler In the future I would like to create something like mini Layout dialect which will be used for better positioning of the new GUIs I'm working on. | |
Oldes: 10-Oct-2007 | Version 2.6.0 available.... now with first version of LAYOUT... (only buttons available now) http://box.lebeda.ws/~hmm/rswf/example/swf8-layout-buttons | |
Oldes: 19-Oct-2007 | Version 2.8.0 available.... - Updated layouter (now with new 'Field, 'Password and 'Area GUIs) http://box.lebeda.ws/~hmm/rswf/rswf_latest.r http://box.lebeda.ws/~hmm/rswf/rswf_2.8.0.r New example script: http://box.lebeda.ws/~hmm/rswf/example/swf8-layout-fields | |
Oldes: 24-Oct-2007 | Version 2.9.0 ... now with Calendar GUI and fixed one nasty bug in 'IF compilation after 'EITHER rule http://box.lebeda.ws/~hmm/rswf/example/swf8-layout-calendar | |
Oldes: 25-Oct-2007 | It is possible to create drag'n'drop editor in the dialect as well.. but first I have other goals. And maybe one day you will be able to create layout from Rebol VID too. | |
Terry: 16-Nov-2007 | To give you an example.. this.. <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"> <mx:Panel title="My Application" width="200" height="300" x="0" y="0"> <mx:Label text="Welcome to Flex!" mouseDownEffect="WipeRight" height="45"/> </mx:Panel> <mx:PopUpButton x="483" y="20" label="PopUpButton"/> <mx:Accordion x="441" y="50" width="200" height="200"> <mx:Canvas label="Accordion Pane 1" width="100%" height="100%"> </mx:Canvas> <mx:Canvas label="asdf" width="100%" height="100%"> </mx:Canvas> <mx:Canvas label="asdf" width="100%" height="100%"> </mx:Canvas> <mx:Canvas label="adsf" width="100%" height="100%"> </mx:Canvas> </mx:Accordion> <mx:CheckBox x="441" y="258" label="Checkbox"/> <mx:DateChooser x="238.5" y="31"/> </mx:Application> | |
Group: AJAX ... Web Development Using AJAX [web-public] | ||
Pekr: 11-Apr-2006 | don't you think we need new windowing system for browsers? I think that view layout is not good model anymore ... it opens new OS window ... but that will be regarded being a popup .... we imo definitely need rebol own windowing system ... | |
Maxim: 16-May-2006 | standard Windows user type designing, bad layout, bad looks, cramped, and very inconsistent with itself in the first look! an example to be site in courses about how NOT to design a UI. | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Ashley: 17-Feb-2006 | 1) why did you name somehow not traditionally functions as connect and disconnect? open and close are already taken and I wanted to avoid pathing (sqlite/open) or prefixes (sqlite-open) as the number of words added to the global context is relatively few and I wanted them to be meaningful words in their own right (same reason why VID doesn't have vid-layout, vid-center-face, etc). Connect and disconnect are the commands used to login/logout of another user in many databases; so while the context is not strictly correct, they are recognisable DB words. 2) why can't we support multiple name-spaces? You can via the connect/attach refinement (and this lets you transparently reference tables across multiple "databases"). Why would you want to concurrently access multiple databases that are *not* related to each other in any way? 3) can we have opened only one db at a time? Yes, bar /attach as above. The benefit of this approach is that you minimise the number of file locks a single process obtains, and you don't have to track state information (i.e. you don't need to tell 'sql which DB you are referring to). 4) Would it also be possible to extend e.g. 'headings to return non-string values? No, as it may contain strings like "count(*)" 5) don't agree with exposing functions as you did I tend to write CONNECT, SQL, etc in upper-case so db references embedded in my code stand out. Come up with a better naming scheme that everyone likes though and I'll adopt it. ;) | |
Group: Plugin-2 ... Browser Plugins [web-public] | ||
BrianH: 5-May-2006 | For that matter, is it possible to specify the size of the client area relative to the page size, have it resize with the page, and have the REBOL layout inside handle the resize as if a View window had been resized by the user? | |
Group: !GLayout ... ask questions and now get answers about GLayout. [web-public] | ||
Maxim: 1-Nov-2006 | some usefull tidbits are pre and post layout hooks... which allow a style to add faces to its spec BEFORE layout is called (usually much easier than trying to create faces directly). | |
Maxim: 1-Nov-2006 | this is how the scroll pane works. it adds its scrollbars to the layout, dynamically and then lets the layout take care of everything. | |
Maxim: 1-Nov-2006 | the post layout hook, allows you to react to the layout, just after its done, but before moving on to other gadgets. | |
Maxim: 3-Jan-2007 | which is handled in the gl-layout function. | |
Maxim: 3-Jan-2007 | this means that if no face in a layout can stretch or is elastic, the window will never allow resizing in that direction... trying to resize it beyon, will effetively resize the window back to its nominal size, allowing the other axis to resize freely. | |
Maxim: 3-Jan-2007 | this layout for example: column [ header "enter text" field ] will popup a window which stretches only in x by default | |
Maxim: 3-Jan-2007 | if you ever change something interactively and wish to recompute the layout (cause the sizing needs have changed for any reason) then call refresh on any face or group. | |
Group: !Liquid ... any questions about liquid dataflow core. [web-public] | ||
Ingo: 18-Nov-2006 | Hi Maxim, are there liquid pumps? As an example, imagine a layout with 2 input values, and 2 outputvalues, which depend on both inputs, e.g. input 2 numbers, and get product and sum. Now if I change the value of 1 input field, the new value would flow to both output fields. As far as I understood liquid so far, I now need another way to notify those 2 output fields, that there are new values waiting. And they have to actively get the new data. Now add a pump, which pumps the data into the system, so that dependent !plugs automatically are recalculated. Is this possible now? What do you think about adding this? | |
Maxim: 3-Mar-2007 | applying this to a gui driven with liquid nodes, you could freeze the the whole layout on a modal window... and let your inputs continue to process in the background... updating animation, and reacting to async reads... for exacmple. when you unfreeze the gui and call a refresh of the gui plug, all the data which was being processed in the background, is now automatically available ,as if nothing had been frozen and a simple update of the node, will refresh you gui with nothing to manage. | |
Maxim: 18-May-2007 | is the gui an actual picture of the school's layout. | |
Mario: 18-May-2007 | The gui has the rooms names as buttons. When you press the room name its layout (made of buttons) is shown along with a standard feedback layout (a form to send requests via CGI POST) | |
Maxim: 7-Mar-2009 | I have a newer version which has the "ability modifiers" added as extra labels to the right of the abilites... it took me 5 minutes to do, and it only needs one new simple !plug derivative: ;- !ability-mod !ability-mod: make !plug [ valve: make valve [ type: 'ability-mod ;----------------- ;- process() ;----------------- process: func [ plug data ][ vin [{!ability-mod/process()}] plug/liquid: 0 vprobe data if integer? data: pick data 1 [ plug/liquid: to-integer (data - 11 / 2) ] vout ] ] ] and necessary linkage within the !character setup, and appropriate faces in the window layout. | |
Maxim: 13-Mar-2009 | As you know, I just totaly reviewed how liquid-vid will handle its layout (now a live prodecural network in its own), so I am hard at work building that, but I will definitely put some time on integrated unit testing, when I rebuild the visual graph editor. its such a great idea, as we have discussed, the I/O aspect of plugs cannot be ignored in dataflow, so this would be a great way to profile, document and verify expected node behaviour. | |
Maxim: 13-Mar-2009 | btw, the work being done for liquid-vid's layout, is now the official prototype for the inital layout engine for GLASS | |
Maxim: 13-Mar-2009 | for the layout algorythm, I actualy did a complete flow analysis of a row/column resizing liquid graph. its actually rather simple, when you force yourself to follow what data goes where. note that I was able to build this without creating a processing cycle... which is neat, since some values are going to the parent face and coming back to its pane elements. | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Maxim: 22-Feb-2007 | I put 0% of time on site layout, once its done. I just edit content and make the page. its like editing make doc, but in html format... also, the tags are not standard html type tags they nest directely <p! text <b! is bold <i! and italic>>> | |
Group: DevCon2008 (post-chatter) ... DevCon2008 [web-public] | ||
Henrik: 18-Sep-2007 | I'd say we need a presentation tool that relays layout data to a number of people along with streaming audio. That's my biggest issue with the experiences we've had with devcon videos. | |
Group: reblets ... working reblets (50-100 lines or less) [web-public] | ||
Maxim: 19-Mar-2009 | rebol [ title: "explore.r" version 1.0 date: 2009-03-19 author: "Maxim Olivier-Adlhoch" copyright: "2009(c)Maxim Olivier-Adlhoch" tested: "win xp" notes: "Add any dir to the dirs block. options are self explanatory" ] dirs: [ %/C/ [] %"/C/program files/" [expand] "%tmp%" [label "temp dir"] "" [ label "my documents"] ] blk: [] explore-dir: func [path expand? /local cmd][ call/shell rejoin [" explorer " either expand? ["/n,/e,"]["/n,"] path ] ] ctr: 1 foreach [item opts] dirs [ ctr: ctr + 1 expand?: found? find opts 'expand label: any [select opts 'label to-local-file item] append blk compose/deep [ pad 20 (to-set-word setw: rejoin ["dir" ctr]) check (expand?) pad 20 btn 200 left (label) [ explore-dir to-local-file item get in (to-word setw) 'data ] ] append blk 'return ] view layout compose [across vtext right "expand?" vtext "folder" return (blk)] |
1 / 2056 | [1] | 2 | 3 | 4 | 5 | ... | 17 | 18 | 19 | 20 | 21 |