REBOL3 - !RebGUI (A lightweight alternative to VID [web-public])

Return to Index Page
Most recent messages (300 max) are listed first.

#UserMessageDate
7691btiffinKinda ... maybe ... it might be a start; check out http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=rebdbgui.r

It's a sample I wrote for someone a long time ago. It links the GUI fields to a RebDB database. One way of doing it anyway.

Today 17:17
7690Louisroam.r is Carl's object browser.

Specifically, what I want is to enter a record and see it listed in a window. If I click on a record in that window, I want to see it back in the entry fields so I can edit it. Has anyone done this using RebGUI?

Today 16:23
7689LouisDoes RebGUI have anything like roam.r or will roam.r work with RebGUI?Today 16:17
7688GrahamI looked at that too .. and it didn't make any difference.Thu 20:16
7687AshleyI think it's the show on line#298 that's the problem ... but I need to physically debug it to be sure.Thu 11:52
7686GrahamI'm not seeing this ... http://trac.geekisp.com/rebgui/browser/rebgui-widgets.r#L438 the show is before the action is called ?Thu 3:42
7685AshleyThe culprit is the face-iterator function in %rebgui-widgets.r ... the engage function is doing a 'show *after* the on-click action is fired. I won't have access to my dev box until the weekend, but at first glance it looks like moving the show may be all that is required. Other widgets, such as button, typically have an engage function like:

... upÊ Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê [set-color face colors/theme-dark face/action/on-click face] ...

for this very reason (i.e. always perform the action last to avoid focus loss).

Wed 13:48
7684Ashley"can this be fixed easily?" ... I'll try and grab some time to look at it later tonight.Wed 11:46
7683sqlabOk, I tried version 111 and there the buttons keep their color.Tue 12:25
7682Grahammy buttons don't change colourTue 12:01
7681Grahamcolour scheme and things changed with the last version. Try the one before.Tue 12:00
7680sqlabWhat is the last stable version? I thought it is a problem with the latest widgets and not with the tour.Tue 11:59
7679Grahamthe latest tour.r is experimental.Tue 11:55
7678sqlabI just used the tour.r on the latest rebgui. There you can select a color for a button, but as soon as the mouse hovers over the button, the colors switches to the defaults. Is this by intent or is there a way to keep the selected color(s) ?Tue 11:49
7677GrahamAshley, can this be fixed easily?Tue 10:52
7676Grahamthe equivalent VID code

w: does [ view/new layout [ f: field do [ focus f ] ] ]

view center-face layout [ button "Focus Test" 90 [ w ] return text-list 100x30 data ["W" ] [ switch face/text [ "W" [ w ] ] ] ]

works as expected. No focus issues.

Tue 9:29
7675GrahamWhat's going on here? If you use the button, the field f focuses okay. Use the text-list, and the focus does not appear.Tue 9:02
7674Grahamw: has [][ display "" [ f: field do [ set-focus f ] ] ]

display "test" [ button "Focus Test" 20 [ w ] return text-list 45x45 data ["W" ] [ switch face/selected [ "W" [ w ] ] ] ]

Tue 9:01
7673shadwolfdebuging with anamonitor 2.0 is moreaccurate than setting probe29-Aug 18:18
7672shadwolfana button call for anamonitor wich helps me to debugging and no my list-view don't works anymore with recent rebgi version (it was done with rebgui 0.36 ... )29-Aug 18:09
7671Grahamwhich allows one to select the rows with cursor after selecting a row programmatically.29-Aug 10:13
7670Graham>> display "" [ mt: table options [ "data" left 1.0 ] data [ "a" "b" ] return button "select" [ mt/select-row 1 system/view /caret: mt/pane/1/pane/1/text system/view/focal-face: mt/pane/1/pane/1 show system/view/focal-face]] do-events29-Aug 10:13
7669GrahamCyphre sent me this code and has also placed it into SVN29-Aug 10:13
7668GrahamI see a [ana] button in your picture29-Aug 8:40
7667Grahamis that a working anamonitor??29-Aug 8:40
7666shadwolfif you can put your hand on a rebgui 0.38 that widget should work29-Aug 3:33
7665shadwolfand that's a pic of the pre alpha version the 5.2 version was more accurate29-Aug 3:17
7664amacleodnice29-Aug 3:16
7663shadwolfhttp://shadwolf.free.fr/rebgui-list2.jpg ^^29-Aug 3:15
7662amacleodI was just curious to see what you had there...no prob.29-Aug 3:00
7661shadwolfOk so sorry for the time lost29-Aug 2:57
7660shadwolfhum as I thought all the widgets interface in rebgui completly changed29-Aug 2:57
7659shadwolfbut this provide a temporary solution i'm not sure there is no other rebgui interfaces that diseapear29-Aug 2:51
7658shadwolfok sorry too much change well a fast solution would be i think to copy the liste-view code after rebface[ and paste it to the regui.r file where belongs table: make rebface ]29-Aug 2:49
7657shadwolfi'm trying to find a solution rebgui moved more than I expected29-Aug 2:41
7656shadwolfyeah I saw that ...29-Aug 2:41
7655amacleod** Script Error: listview has no value ** Where: layout ** Near: listview 80x60 data [["Title 1" text "Title 2" check "Title 3" image "Title 4" image "Title 5" text] ["Line 1:1" fals e l...29-Aug 2:37
7654shadwolfctx-rebgui/rebface replace this by : listview: make rebface [29-Aug 2:34
7653shadwolfctx-rebgui/rebface -> internal object .... hum let me see29-Aug 2:26
7652amacleodI tried it but got an error... ** Script Error: Invalid path value: rebface ** Near: listview: make ctx-rebgui/rebface [ size: 400x300 data: [] pane: [] cols: none rows: none l... I believe REbGUI version: 11229-Aug 1:56
7651shadwolfit works the folowing way you build a data list and then you pass it in arg into your display block28-Aug 13:42
7650shadwolfyou have a flag ;Demo code to identify the begining of the demo code28-Aug 13:39
7649shadwolfhum you have the 10 last line of the file a demo code of how to use it28-Aug 13:37
7648shadwolfit was designed to be a rebgui widget that was the prototype for table widget long time ago and a play for me on an amazing and very VID Topic " widget auto compositing subwidgets" widgetwriting widgets that's so neat ^^28-Aug 13:37
7647Pekryeah ... I mean - I run - do %rebgui.r, and then? do I have to construct 'display, or does it contain runnable example?28-Aug 13:37
7646shadwolfrebgui installed28-Aug 13:35
7645Pekris it supposed to work stand-alone? What do I need to run it?28-Aug 13:34
7644PekrThanks, will try in the evening, once I am back from my work ..28-Aug 13:29
7643shadwolfthis code is free to use you can edit copy redistribute etc...28-Aug 13:13
7642shadwolfI didn't tested it with new version of rebgui but it should still work28-Aug 13:13
7641shadwolfthis file includes widget + sample28-Aug 13:12
7640shadwolfPekr I can give you a rebGUI table widget I done long ago that handles it ... -> http://shadwolf.free.fr/rebgui-list52.r28-Aug 13:11
7639PekrWhere can I find more info about API changes of RebGUI, which happened some time ago? I would like to get Cyphre's grid working, as it is many times better than table available, even without column resizing ....28-Aug 12:38
7638PekrI know it has multiple line selection, but it is rather primitive.28-Aug 12:37
7637PekrCan RebGUI table or sheet style contain check boxes? I need small util, which will allow ppl to choose multiple items from the catalog at the same time.28-Aug 12:37
7636Grahamwhat we need is anamonitor for Rebgui! :)16-Aug 20:34
7635AshleyYes, I think. Something like:

a: context [double-click: false] display "" [table options ["c" left 1.] data [a b] do [ t/pane/1/pane/1/line/feel/engage t/pane/1/pane/1/line 'down a ]] do-events

but this is not quite there. The trick is to pass the correct face argument to the engage function of the face-iterator.

16-Aug 14:06
7634GrahamAshley, is there a way to simulate a mouse click on the first element of a table so that arrow navigation can then be activated?16-Aug 11:32
7633GrahamBecause you can't tab to a table, a table blocks the tab sequence across a form.15-Aug 4:13
7632GrahamLooks like you can tab out of a table, but not into one.15-Aug 4:11
7631Grahamdisplay "" [ t: table 20x60 options [ "code" left 1. ] data [ 1 2 3 4 5 6] do [t/select-row 1 ]] do-events

but the cursor keys don't work until I click on a row.

15-Aug 3:46
7630GrahamHow to make the rows of a table accessible to the cursor keys without using the mouse to grab focus?15-Aug 3:46
7629btiffin2.7.6 Demo of RebGUI. If you try the spinner, Ctrl-MouseWheel then later try Functions/Requestors request-ui it fails with ** Script Error: Invalid argument: $10.00 ** Where: init ** Near: all [not empty? text data: to type? first options text] para/margin/x: size/y p: Where the invalid argument is the same data as the last Ctrl-Mousewheel. So it could be 9:00, 18:00, $10.00 etc. I haven't tracked through any of the code yet, being a lazy git.8-Aug 18:37
7628Grahamand of course this is a major impediment to using the keyboard. So, for an edit/drop list you have to click twice - once to choose, and then once to regain the focus.21-Jul 23:31
7627Grahamclick on anything BUT "Mrs." and the focus is gone somewhere .... dunno where!21-Jul 2:03
7626Grahamdisplay "" [ edit-list data [ "Mr." "Mrs." "Dr." "Miss" ] return field ] do-events21-Jul 2:02
7625Grahamwhat has to be done to make keyboard navigation stronger?21-Jul 1:55
7624GrahamI'm going to have to try my own suggestion!21-Jul 1:29
7623BrettHWhile tab ordering is a useful feature, in this case I'm trying to tab order by testing field content, I'm surprised that its considered a bit unusual :-) In my data entry program I want the user to be able to set the work flow somewhat. , ie: on mass data entry they should not have to tab over the row of function buttons I have arranged along the bottom of the form, but when they tab 'out' of the last data entry field, the program saves the data, clears the form, replaces some common data and then return to the first entry field -- all without using the mouse. Not true key board navigation but very pleasent for the user. The user uses teh mouse to get to the buttons. This I am currently doing using VID. Graham's usage is a very typical form interaction senario, one I was soon to try !21-Jul 0:33
7622Grahamwell, I have had a similar problem. I have a drop-list with title in it followed by a radio-group with gender, followed by occupation. I want the user to skip the radio-group which is set based upon the droplist value. Eg. drop-list is "Mr." and so set the radio-group to "M" and then skip to occupation.20-Jul 20:28
7621AshleyCorrect ... the set-focus "eats" the return state.

set-focus was intended more for use either within a display's do func or from outside the display. Tab order cannot be set programmatically, although it should be noted that tab order is the same as the widget specification order so you can at least sequence your widgets in the desired order. There is no easy way to conditionally skip widgets, although build#106 added the set-state func which lets you toggle a widget's info state. As for this being an "obvious" programming need, it depends on the type of GUIs you wish to write ... you are the first person in over two years to have hit this issue (or at least report it) ... although I'll freely admit that keyboard navigation is not RebGUI's strong point ;)

20-Jul 12:37
7620BrettHI think it might be the 'fact' that the on-unfocus never get to see its true/false return because my code wants to "go over there" before that happens, only Ashley can tell.20-Jul 5:00
7619GrahamI'm guessing it's a bug ... set-focus is triggering an on-focus event and so your code keeps triggering causing a stack overflow.19-Jul 20:37
7618BrettHNow thats a interesting idea - bit of a kluge tho.

I'm a bit surprised that this 'obvious' programming need is causing a problem !

I can envisage many situations where a program needs to set the cursor focus upon any of the available fields displayed depending upon a fields content.

19-Jul 10:54
7617Grahamwell, until Ashley tells us how to do it, you could hide a dummy field behind the date field to take the focus from the tab, and then make the decision from that.19-Jul 10:04
7616BrettHMmm ! Your code sort of does the job, but your forcing the field Date to be skipped by it own on-focus trap which would skip Date always, what I'm trying to do is have Description control the next field to 'visit' depending on what ever test I code in the on-unfocus attached to Description field.

for eg: ( pseudo code )

label "Publication : " publication: field 100x8 font [ size: 18 color: black shadow: none ] on-unfocus [ if desc-flag = 1 [ set-focus new-description ] [ set-focus old-description ] ]

==== Your observation of 'reseting' focus back to Description field is an interesting one which I had not considered.

19-Jul 8:22
7615Grahamthis works

do %rebgui.r

display "" [

label "Publication : " publication: field 100x8 font [ size: 18 color: black shadow: none ] on-unfocus [ uppercase publication/text ; I'd like to jump to "page" field here ] label "Date :" date: field 30x8 font [ size: 18 color: black shadow: none ] on-focus [ set-focus page false ] label "Page: " page: field 20x8 font [ size: 18 color: black shadow: none ] return ] do-events

19-Jul 4:27
7614Grahammaybe it's because you're doing stuff which resets the focus back to the publication field?19-Jul 4:19
7613BrettHI've tried that, all i get is a stack error: as soon as I press TAB to enter the on-focus , and the program aborts thus ** Internal Error: Stack overflow ** Where: unfocus ** Near: if all [face/type <> 'face get in face/action 'on-unfocus] [ unless face/action/on-unfocus face [return false] ]19-Jul 4:16
7612Grahamhow about ... set-focus page true18-Jul 19:52
7611BrettHlabel "Publication : " publication: field 100x8 font [ size: 18 color: black shadow: none ] on-unfocus [ uppercase publication/text ; I'd like to jump to "page" field here ] label "Date :" date: field 30x8 font [ size: 18 color: black shadow: none ] label "Page: " page: field 20x8 font [ size: 18 color: black shadow: none ] return18-Jul 13:21
7610BrettHI'm trying to do some 'field navigation' within a rebgui form and cannot figure out how to get teh filed cursor to 'goto field'18-Jul 13:18
7609shadwolfREBOL [Title: "RebGUI Demo"]

do http://www.dobeash.com/RebGUI/get-rebgui.r do view-root/public/www.dobeash.com/RebGUI/tour.r

18-Jul 5:41
7608shadwolfto get rebGUI you simply write those lines into a ".r" file or you go into the rebol/desktop in the REBOL/DEMOS folder18-Jul 5:41
7607shadwolfhttp://www.dobeash.com/rebgui.html -> docs etc...18-Jul 5:38
7606BrettHWell ! There seems to be !! It took a very long time to display any messaged when I visited the group, so I though there wern't any :-) Cheers.18-Jul 2:34
7605BrettHAnybody out there using RebGUI ? I'm just starting to use REBOL and have delivered a small app using VID to a volunteer group who are collecting local history articles. And I'd like feedback on any gotchas with RebGUI vrs VID. Thanks18-Jul 2:31
7604Grahamthe MS demo expands in-situ which would be nice to do ... but I recreate the whole thing7-Jul 7:03
7603Grahamand then I use tab-panel/replace-tab [ new layout ]7-Jul 7:03
7602GrahamIt just regenerates the layout7-Jul 7:02
7601Pekraha ... I like collapsing/expanding capability. ...7-Jul 7:02
7600GrahamAnd all the ideas were taken from the MS silverlight medical demo7-Jul 7:02
7599GrahamBasically it's tab-panels, panels, and buttons assembled as needed.7-Jul 7:01
7598Grahamno widget .. it's all created on the fly7-Jul 6:59
7597PekrGraham - nice interface - what widget is used for the scheduler displaying time slots?7-Jul 6:59
7596GrahamThanks shadwolf :)7-Jul 6:46
7595shadwolfgraham i like your app it's very beautyfull ^^7-Jul 5:56
7594GrahamI've got some custom panels that I have a resizing routine written for them. how do I trigger that to run when the main window resizes?30-Jun 8:59
7593BrockI don't know. I just remember he had the style. Don't know how well it works as I've never used it, let alone with RebGUI30-Jun 1:16
7592GrahamDoes it work with Rebgui?29-Jun 2:14
7591BrockCyphre has a drag-panel style that allows drag and drop of various objects on a window.29-Jun 2:11
7590PaulLooks good Graham.28-Jun 13:31
7589Grahamso I can move an appt from one slot to another28-Jun 6:55
7588Grahamthis is my new appointments display ... is there a way I can drag the buttons around? http://screencast.com/t/ou1MwDdS28-Jun 6:54
7587GrahamI've put a check in the engage event to see if face/data is none?, and if so, make it 0. In case someone like me has set it directly to none ...26-Jun 4:59
7586Grahamie. they are trapped inside the rebgui code and dealt with there.26-Jun 3:26
7585GrahamHmm.. I already trap the errors ... I would much prefer that they didn't happen!26-Jun 3:25
7584btiffin[[ ]] should be [ ] ... umm, mental methane26-Jun 0:51
7583btiffinYep; go: does [display ...] while [[error? err: try [go]] [alert mold err go] Along those lines... I haven't got the code in front of me26-Jun 0:49
7582GrahamIs there a way we can "robustify" rebgui so that we trap all errors??

make object! [ code: 312 type: 'script id: 'cannot-use arg1: 'multiply arg2: 'decimal! arg3: none near: [freedom * face/data] where: 'wake-event ]

25-Jun 23:20
7581PekrSo the correct route is to build custom rebgui.r, including only widgets I am using?25-Jun 12:48
7580AshleyOut of interest, the memory figures on OS/X using rebface are:

rebface 1.8Mb VID 3.2Mb after loading %view.r RebGUI 3.5Mb after loading %rebgui.r

but these are for the respective defaults (VID apps often require additional patches/fixes and styles, RebGUI apps rarely use *all* the default widgets). I should also add that RebGUI (or indeed VID) have ever been fully profiled and optimized.

25-Jun 12:34
7579PekrRobert - there still has to be a leak in REBOL! Even if you try primitive hello world example, you start with 6MB of RAM, you do nothing, and after do-events it grows 3 - 4 MB, slowly, but constantly!25-Jun 6:59
7578Grahamcorrection .. the second button does not display25-Jun 4:54
7577GrahamBecause Rebgui uses a default pixel size that can be eg. 4, you can't easily get pixel precision in layouts.25-Jun 4:53
7576Grahamthink this might be classed as a bug in the layout

display "" compose [ button "testing" 15.1 button "again"] do-events

the first button does not display if there is a decimal size

25-Jun 4:52
7575RobertPetr, you will have a baseline memory consumption but it's not going up a lot. So make your app more complex ;-)24-Jun 18:32
7574GrahamI'm experimenting a little now, but with multiple resizable panels, I think it might be easier to generate layouts on the fly rather than keep a static layout that one updates various fields.24-Jun 11:07
7573PekrIIRC RebGUI was supposed to be more memory savy, which does not seem to be the case. What is also interesting is, that rebol 1.2.47 consumed less memory ...23-Jun 20:37
7572BrianHI'm not aware of any R2 GUI framework that is not a memory hog, but my standards are probably off.23-Jun 20:23
7571BrianH(sorry, missed it)23-Jun 20:22
7570BrianHIs that also the case for rebface builds of RebGUI?23-Jun 20:21
7569Pekrso, after some testing, which I am confused a bit about, it seems that RebGUI is not all that memory savy. For simple hello world example based upon rebface, it consumed even more memory than VID.23-Jun 19:09
7568AshleyGraham, yes.22-Jun 12:02
7567AshleyPekr, try the following (after the do/#include of %rebgui.r):

ctx-rebgui/layout [text "?"]

22-Jun 11:57
7566GrahamWhat's the approved way of setting the focus so that the caret is at home?

set in area 'caret 1 set-focus/caret area

??

21-Jun 22:04
7565Pekrhmm, no luck with linux SDK, there is one workaround, which seems to prevent us from rebface usage :-(18-Jun 13:29
7564PekrLOL - RTFM :-) http://www.dobeash.com/RebGUI/cookbook.html#section-218-Jun 12:14
7563PekrWhat do I need to "include", when doing rebface + rebgui? rebface.exe tour.r does not work ...18-Jun 12:08
7562PekrThanks Ashley, appreciated!16-Jun 14:06
7561AshleyPekr, using rebface instead of rebview will make a big difference as rebface excludes VID and all help text is stripped out. On OS/X I get the following:

REBFACE >> stats == 2085621 >> recycle >> stats == 1911437

REBVIEW >> stats == 6260880 >> recycle >> stats == 4810174

You can also create a custom RebGUI build that excludes widgets you don't intend using (see http://trac.geekisp.com/rebgui/browser/create-distribution.r ) which will save a few more bytes. Lastly, make sure your app does not use any unneeded images (e.g. a background image when a simple draw effect might suffice).

Even with these measures you'll only be left with about 3MB free ... but 3MB is better than 1MB.

16-Jun 13:54
7560AshleyGraham, very clever ... that's almost worth a widget in its own right.16-Jun 13:30
7559Henrikprobably a little bit, since you can select what to include. I suppose VID can be removed if RebGUI is going to be the GUI for the application.15-Jun 12:43
7558PekrHello. One of my friends, not even a probrammer, jut Perl user, was asked to prepare solution for their production line. They will need to cover more than 100 Terminals with touch screens. He is a friend of Bobik and mine, so Perl, Python, and REBOL alternatives were possible. I have the pleasure to aanoucne, that REBOL + RebGUI was choosen.

While app is rather primitive - few fields on the left, numeric + few alphabetic keys on the right, connecting to mySQL, the environment is also very restrictive - Terminals (don't remember the model) are older ones, 24MB of RAM, no hardisk, P300 performance. The solution boots Linux from network and RebGUI app is loaded ... only 1MB or RAM is left, so the solution is so so ...

I would like to ask, if RAM consumption could be improved with encapping app with rebface for e.g.?

15-Jun 11:52
7557Grahamyep, cool :)15-Jun 8:30
7556Henrikcool15-Jun 8:30
7555Grahamanim wait-images rate 1015-Jun 8:22
7554Grahamwait-images: copy [] bg: make image! [20x20] forall bg [change bg 0.0.0.255] colors: copy [] for i 8 1 -1 [ dr: copy [pen none fill-pen black translate 15x8] for j 0 7 1 [append colors 0.0.0.255 - (j * 35)] for j 0 7 1 [ append dr compose/deep [ fill-pen (pick colors (j + i) // 8) rotate 45 translate 3x3 circle 2x2 ] ] append wait-images draw copy bg dr ]15-Jun 8:22
7553GrahamUsing Henrik's images15-Jun 8:22
7552GrahamI see a number of on handlers. Is there a way to have a on-drag handler as well for dragging objects?14-Jun 22:32
7551NormandThanks ; I converted show-text to set-text; show-values to set-values; show-title to set-title; show-focus to set-focus; the demo works back.4-Jun 22:57
7550Grahamshow-text: :set-text4-Jun 19:35
7549NormandHi, folks. I am getting back to an application I developped with RebGui in 2006. I did download the last one from SVN, but the app no longer works under the current version of RebGui. I get a lot of error messages about show-text, even the most simple ones, like --> show-text Fmsg "Warning -- Unable to read Products, Phone&Meet and Notes. No file to read." <--. Looking at docs, I still see the show-text function; there is still some appearances in some docs, but there are not much. Maybe it is deprecated now? I see set-text, but it talks about attributes of text, not its content. So not shure it is the one to use now. I would need to show the app soon, but hesitate to retarget the code, seing the frequency of the error message ** Script Error: show-text has no value. Inexistant function, bad assignement (for unknown reasons), or something else. For me, hard to know now. From the 2006 epoch, is there a lot of change. The app still get drawn a bit, though. Thanks for an answer that would me out of problem.4-Jun 19:26
7548GrahamAn odd error .. if I do this on a table ... face/remove-row I get an error complaining of an invalid path. I have to use the table name30-May 8:00
7547GrahamI see there is a new on-resize handler which is undocumented. Info on how it is used?26-May 20:30
7546GrahamI suspect the slow opening and closing of the text in the MS demo is an animation effect25-May 8:55
7545GrahamI'm trying to create a widget that resembles the one from the MS demo

http://screencast.com/t/unHPOZ0oP

I've got a bunch of panels inside a scroll-panel. When I click on a panel, I recreate the whole layout using replace-tab which is okay if I haven't scrolled down the panel, and add the area below the panel I clicked on.

If I have scrolled down, I capture the scroll-panel/panel/1/offset and then try and set it back again ... but when I show the scroll-panel even though the offset is eg. 0x-188, I stil need to scroll down to see it.

Ideas on how to show the scroll panel at the current pane offset?

25-May 7:56
7544GrahamAshley, the tree widget is not indexed here http://trac.geekisp.com/rebgui/wiki/WidgetList though it appears in the source code list22-May 21:19
7543BrianHSome people do it that way, but many just use a picture fot the button.19-May 18:51
7542GrahamIs it this » character?18-May 22:58
7541GrahamOften you see this >> widget which is oriented 90 to the clock, and it inverts .. used for hiding and showing more information.18-May 22:55
7540GrahamHow would one toggle the arrow widget? I tried in the action block

face/effect/rotate: 180 show face

which didn't do much :(

15-May 23:11
7539GrahamI think if I want panes that slide into view displacing other widgets, and panes that slide out extending the window size, I'm going to need a more generalised way to kill resizing.15-May 9:43
7538Grahamthat is, if I wait until the window has resized and reset the span attribute after this .. then the tabs along the top did not resize, but the panel still does.11-May 11:46
7537GrahamDidn't seem to work.11-May 11:40
7536GrahamThanks.11-May 11:33
7535AshleyJust set the tab-panel's span attribute to none! and reset after the resize ... untested, but it should work.11-May 11:27
7534GrahamI've got a tab-panel next to a panel - where the panel is on the right. I wish to hide the panel ( set the width to zero, and hide it ), and shrink the whole window by the space previously occupied by the panel. But if I do this, the tab panel also resizes. Is there a way I disable resizing temporarily?11-May 10:46
7533JohanARI also suggest "theme" is extended with one or two colors. For example to use on panels. It looks weird with buttons if I use either theme-light or theme-dark on a grouping panel, and I don't want to use custom colors that won't appear in request-ui5-Apr 21:17
7532JohanARMaybe it would be more consistant if rebgui loaded ui.dat and request-ui saved the file in the same dir? request-ui saves in current script dir, while the main script loads from it's own dir?5-Apr 21:15
7531yeksoonthanks. will look into it.26-Mar 3:15
7530GrahamThere is the spreadsheet thingy which is a grid.25-Mar 22:49
7529SunandaSupport request on Mailing List: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-message.r?m=rmlRHXC25-Mar 22:09
7528Pekrthere is a widget, which is quite cool by its functionality, but it was never adapted to one architecture change in RebGUI25-Mar 19:48
7527yeksoonis there 'grid' support in RebGUI?

Could not find it in the docs. I may have miss it.

25-Mar 16:52
7526JohanARindeed :) It's the latter I'm calling, to get the neat rebgui look. just can't figure out the internal workings of #XY though23-Mar 22:34
7525AshleyNote that layout and ctx-rebgui/layout are different funcs ;)23-Mar 21:42
7524JohanARI'm changing the pane of a window by calling layout manually, but all widgets with span seem to be placed regarding to the old layout's size :(23-Mar 20:10
7523JohanARWhere is the initial position calculated for a widget with #XY span set?23-Mar 20:07
7522GrahamMaybe what i need to do is keep a record of all the active windows, unview/all and later on view them all again. So, need a view/all windows [block!]23-Mar 19:11
7521Grahamwhat I am doing is to unview the main window, and then when the user enters the correct password, just view/new main-window23-Mar 18:24
7520JohanARMore specifically it's the main window I'm trying to hide...23-Mar 10:45
7519JohanARI'm also trying to find a way to hide/show a single window. Would work in my app too, but I haven't found out how yet though :)23-Mar 10:25
7518JohanARHmm, but is there an easy way to disable/enable all interactive widgets in a particular window?23-Mar 10:22
7517GrahamYes, a modal requestor halts all timer events that are occuring.23-Mar 9:16
7516GrahamA modal window might interfere with the async events happening in the background.23-Mar 9:12
7515JohanARIs it possible to display a modal window, without using dialog? My program gets screwed up if display calls do-events and disables tooltips, but I don't want users mucking about with the main window while another window is open.

And speaking of which.. Is disabled tooltips in dialogs a new feature? I suspect it's the reason my tooltips stopped working a while ago :\

23-Mar 8:24
7514AshleyYou need a requestor with the no-title option so they can't OS close the dialog .... that or a /close refinement to trap and ignore it. Have a look at the source for both request-progress and request-password.23-Mar 7:26
7513GrahamAny suggestions on how to "lock" an application while it is running? Unview all the windows and bring up a requester? Then restore all the active windows?23-Mar 3:59
7512GrahamJohan, if you have a large amount of text, and the slider is set to the bottom, and then you set-text with a small amount of text, it doesn't show up until you physically scroll the slider up to the top.21-Mar 20:09
7511JohanARI'm not 100% sure what Graham requests about the sliders, but it might be the same as a feature I wanted. I wrote alot of text to an area with a scroller, and I want to be able to remove text at the top and insert at the bottom - while keeping the horizontal scroller at the bottom (unless the user wants to scroll up ofcourse, in case the scroller should stay exactly where it is). In other words similar to a DOS prompt with some scrollback buffer.

Can't remeber exactly what problems I had with it, but it didn't work as intended :) Now I'm using a chat widget instead and it works pretty good. Not a bad feature to have though.

21-Mar 20:07
7510GrahamCurrently the function key handler has to decide whether the shift/control keys are pressed and does appropriate actions. How about instead make it a block, and the handler picks the first function if there are no other keys pressed, the second for shift, and the third for control, and the fourth for whatever?20-Mar 22:06
7509GrahamOTOH, it's often useful to redraw a table and keep the slider at the current position.19-Mar 17:20
7508Grahamthe problem is that if the slider is set to the bottom, and you refresh the text in an area widget, you won't necessarily see it until you drag the slider back to the top. Same applies for table.19-Mar 17:19
7507GrahamAshley, can we have a method that sets the slider and contents back to 0 for area and table ?19-Mar 17:17
7506Grahamwith scroll bar and arrows.18-Mar 23:26
7505GrahamNot sure if 'choose works well with Rebgui. What I am seeing is that if I release the RMB, the menu disappears, and if the field is close to the bottom of the container eg. group-box, then the menu appears inside the field.18-Mar 23:25
7504Grahamthanks.18-Mar 22:22
7503AshleyGraham, FYI the init patch to field for the on-alt-click functionality is:

init: make function! [] [ either find options 'info [ feel: none all [color = colors/page color: colors/outline-light] ][ unless get in action 'on-alt-click [ action/on-alt-click: make function! [face] [ switch choose face sizes/line * 4 face/offset ["Copy text" "Paste text" "Close"] [ "Copy text" [write clipboard:// face/text] "Paste text" [set-text face read clipboard://] ] ] ] ] para: make para [] ; avoid shared para object for scrollable input widget all [negative? size/x size/x: 10000 size/x: 4 + first size-text self] ]

18-Mar 21:54
7502JohanARI'm using a table which seems to be working quite good. Just thought that someone might have done a better one :)18-Mar 20:41
7501Pekrthere is a grid widget, where you can put any style inside. It was not updated to latest RebGUI API though ...18-Mar 20:36
7500JohanARI started writing a simple file browser widget today. It's almost usable, but maybe someone else has already made such thing so I'm wasting my time?18-Mar 20:33
7499GrahamHmm. Did something wrong .. my menu also appears on buttons with a RMB click. So, I can change the text on buttons on the fly! Useful I guess18-Mar 19:41
7498Grahamon-alt-click18-Mar 18:11
7497GrahamAshley I can get the menu to popup by setting the action/on-alt-action in the field widget definition but how would one know where to pop the menu up?18-Mar 18:11
7496Ashleyre: on-alt-click ... good idea, added to next build (using the choose function so the code is tight).18-Mar 7:34
7495GrahamI think you might be able to use the editor within rebgui .. just not at the console like you did.18-Mar 3:16
7494btiffinI tried once. But it was more an exercise in linking RebGUI menu Find/Replace to area ... too many hacks to keep caret in synch, so instead of tarnish Dobeash with my lousy code ... I just didn't. But a quick RebGUI display of an area isn't too hard to pull off, but you need to rely on the built in key handlers. Sadly Find/Replace is not in the list, but you do get a spell checker 'for free'. ;) In Ashley's defence, it is not the design intent of RebGUI to be an editor.

I've not tried, but Anton has been pumping out a new editor ... may conflict less than editor dunno, but I kinda doubt it will work without the same types of problems.

Alternative is to use CALL and launch an external editor.

18-Mar 3:14
7493RobertSis there an option to set editor to a func which is rebgui compatible? i.e. a rebgui text editor ?18-Mar 2:59
7492Grahamsomething like

display "Edit Field" [ margin 0x0 at 0x0 button "Copy text" 20x6 green [unview/only face/parent-face write clipboard:// f/text ] at 0x6 button "Paste text" 20x6 green [unview/only face/parent-face set-text f read clipboard:// f/text ] at 0x12 button "Close" 20x5 gold [unview/only face/parent-face ] do [face/options: [no-title no-border]] ]

but opening the window near where the mouse click occurs

17-Mar 23:05
7491GrahamAshley, what do you feel about adding a default windowless menu for on-alt-click for fields for copy/paste ?17-Mar 22:39
7490RobertAshley, yes exactly. I think users will be much better in remember a screen layout instead of where in a menu hierarchy you find an entry.17-Mar 18:56
7489Grahameditor is VID.16-Mar 21:57
7488GrahamYou can't use VID and Regbui easily together like that16-Mar 21:56
7487RobertSstart rebview and goto console do %rebgui.r16-Mar 21:12
7486RobertSstart rebview ; take typing lessuns furst if nead bea or vist www.wordie.org more often ... varve,or silt laminae in lake beds varying with ...16-Mar 21:12
7485RobertSThere seems to be a problem in 2.7.6 on WIn XP start rebvire them go to console do %rebui.r editor %some_file_not_yet_existing.r ; now hit Save as : concole returns and both console and editor are locked up ; TEST ; REpeat without load of rebgui.r ; warning so such file and then Save As will save as that file no problem16-Mar 21:10
7484AshleyCertainly possible (creating an image of a display is trivial), but how would it be used / specified in practice, and what would we call this new widget? Perhaps a grouping widget?

fan data [ display "A" [...] display "B" [...] display "C" [...] ... ]

which would create a series of clickable display icons ... click the icon and that display comes to the foreground. Is that sort of what we are talking about?

16-Mar 20:33
7483RobertI'm not sure if Rebol could handle this. But with this it would be very nice to navigate an app. Something like the slide sorter in Powerpoint but with more eye-candy.16-Mar 9:59
7482RobertIdea: I'm not a big fan of menus, tabs etc. to switch through an application. Looking at all these new GUIs from Apple styles (when viewing photos where it's like a fan and the middle photo zoomed) or the piclens stuff I had the idea how to use this for an app.

How about having a way where I can see a miniatur screen of every data-form in a 2D grid moving in 3D space, where I can scroll left / right to the right picture, click it and get the data-form?

16-Mar 9:59
7481JohanARIs there an easy way to get two buttons in the bottom right corner without using "reverse"? Reverse messes up the tab-order :(16-Mar 9:30
7480AshleyWill do.15-Mar 21:30
7479GrahamAshley, you can amend your docs now the function keys which now work in Linux15-Mar 21:26
7478JohanARI've managed to screw up my program somehow :( hehe. Problem is I can't remember when the tips worked last time. Adding them dynamically, so it's not quite straight forward to debug15-Mar 18:04
7477PaulWould be a cool RebGUI project: http://www.colorflip.com/15-Mar 17:53
7476Grahamdid you test tour.r ?15-Mar 17:44
7475JohanARDid 2.7.6 break tooltips, or did I manage to screw up my program without noticing?15-Mar 16:14
7474Grahamclick on "test2" and then click on "test3". Now close down the test2 window and the test3 window also closes down. Now click on the "test3" button ... nothing happens ... I guess it thinks that the test3 window is still open.15-Mar 10:30
7473Grahamdisplay "" [ button "Test2" [ display/parent "Test2" [ text "test2" button "close" [ unview/only face/parent-face ]]] button "Test3" [ display/parent "test3" [ text "test3" button "close" [ unview/only face/parent-face ]]] button "Halt" [ unview/all ]] do-events15-Mar 10:29
7472Grahamdisplay "" [ area 100x100 options [ info ] on-click [ print "You clicked me"]] do-events

- the area does not respond to the on-click action whereas

view layout [ info 40x40 [ print "You clicked me" ]] works fine in VID

15-Mar 4:29
7471Ashleyreturning none! is better than returning unset! so changed in next build as above.14-Mar 21:53
7470Grahambug for me ...14-Mar 20:43
7469GrahamActually this has been a source of a long standing bug ... I didn't realize till now that the return behaviour differed.14-Mar 20:43
7468Grahamforeach window view*/screen-face/pane [all [title = window/text exit]]

perhaps change to

foreach window view*/screen-face/pane [if title = window/text [ return none]]

14-Mar 19:01
7467GrahamIn the second instance, display picks up the window already exists, and just exits without returning a value. Perhaps it should return none instead ?14-Mar 18:55
7466GrahamI think display should always return a value.

>> do %rebgui.r Script: "Untitled" (none) >> test: display "Test" [ text "Hello" ] >> test: display "Test" [ text "Hello" ] ** Script Error: test needs a value ** Near: test: display "Test" [text "Hello"] >>

14-Mar 18:54
7465btiffinMy bad. Just noticed this is RebGUI ... although the same principles apply.10-Mar 22:44
7464btiffinDaniel; Check out http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=layout-1.8.r for a what you see is kinda what you get layout editor. The tricks will be buried in the code, but it has to do with ordering the face/pane entries. Also see http://rebol.com/docs/view-system.html#section-3 for a description of face/pane.10-Mar 22:43
7463DanielPby clicking on a button by example10-Mar 22:14
7462DanielPto: display "MyFace" [ box blue box red ]10-Mar 22:14
7461DanielP(sorry, it's a mistake)10-Mar 22:14
7460DanielPto: display "MyFace" [ box blue ]10-Mar 22:13
7459DanielPfor example, transform: display "MyFace" [ box red box blue ]10-Mar 22:12
7458DanielPIs it possible to move a widget within a display block ?10-Mar 22:12
7457DanielPHello. Sorry for the huge number of questions I ask ^^10-Mar 22:12
7456JohanARThink I've found a bug.. If have a button that does some stuff and then hides itself. Works great if I click it, but if I select it with tab, press space and then tab again the button will reappear.9-Mar 15:30
7455JohanARprint "bugz" do %script/rebgui.r

maingui: [ text "Hello" return button "Start!" [ display-next-word ] ]

count: 0

secondgui: does [ compose [ text (join "popup nr " count: count + 1) return button "next" [ display-next-word ] ] ]

display-next-word: make function! [] [ hide-popup display/dialog "Go!" secondgui ]

display "word!" maingui do-events halt

9-Mar 10:25
7454JohanARI have a problem, possibly a bug, with the following code. If I press start, I get a popup window. Both these can be closed as expected. It also works if I press the next button - popup nr 1 is replaced by nr 2. Again, both windows can be closed as normal. However, if I press next twice and close both windows then Rebol seems be be stuck in do-events and the program never terminates.9-Mar 10:24
7453GrahamOr a symbol font we can sub.9-Mar 8:26
7452GrahamUsing Linux, I don't see the characters I expect with the fast forward, rewind etc ... I guess due to the different fonts involved. Is there a work round?9-Mar 8:25
7451GrahamLet us know if you do so I can fix my apps8-Mar 20:05
7450AshleyA null selection in [default] tri-state mode is none! and I didn't want to confuse the issue by changing it to false in bi-state (even though taken in isolation that would be logical, pardon the pun). The bi-state option merely disables the RMB action, it doesn't change how or what data you pre-populate with.

If enough folks want it I can make the widget a pure bi-state affair that returns true and false (I no longer need the tri-state functionality) ... but that may break exisitng apps that either depend on the functionality or expect none!

8-Mar 11:34
7449KaiAshley, I just tried the 'bistate option from 1.12 and am not sure that it works properly. I can toggle between green checkmark and blank box via left MB (and the red cross via the right MB has become unreachable). I would have now expected the blank state to replace the off state but apparently it still does stand for NONE and displaying a CB in False state still shows the red cross......?8-Mar 1:42
7448DanielPremove the" view" command & add a reduce command6-Mar 21:46
7447DanielPpane: reduce [ quick-plot [ 300x300 fill-pen blue pen red bar-width 15 bars [5 3 8 2 10 3 4 9 5 7] label "Meaningless bars" y-axis 9 ] ]6-Mar 21:45
7446DanielPI found the solution by myself :6-Mar 21:45
7445JohanARI can add that the dynamically generated GUI consists of a mixture of texts, fields and another button. When that button is pressed all fields are evaluated and possibly modified.6-Mar 9:31
7444JohanARI'm having some trouble that I was hoping you could help me with.. again :)

I want to have a tab in a tab-panel that contains some kind of group block and a button. Every time the button is pressed the group block's contents should change to a new, dynamically generated, GUI block.

It works up to the part where the button is pressed, but the group block is never changed.

6-Mar 8:51
7443DanielPdo %rebgui.r do %q-plot.r append-widget [ plot-widget: make rebface[ view quick-plot [ 300x300 fill-pen blue pen red bar-width 15 bars [5 3 8 2 10 3 4 9 5 7] label "Meaningless bars" y-axis 9 ] ] ] display "Plot 1" [ group-box "Graphique" data [plot-widget] ] do-events5-Mar 17:59
7442DanielPI try to use RebGui with Q-Plot but the plot is in a separate window instead of to be inserted intto rebgui display.5-Mar 17:59
7441DanielPok3-Mar 22:13
7440AshleyDrag'n'drop support is not 'built-in' as such ... you have to add / code it on a widget by widget basis.3-Mar 22:13
7439DanielPCool & simple !3-Mar 22:12
7438Ashleyappend-widget [ my-widget: make rebface [ effect: [draw [pen yellow line 20x20 80x80]] ] ]3-Mar 22:10
7437DanielPIs it possible to use drag'n'drop in Regui ?3-Mar 19:14
7436DanielP** Script Error: draw expected image argument of type: image pair ** Near: draw [ pen yellow line 20x20 80x80 ]3-Mar 18:38
7435DanielPREBOL []

do %rebgui.r

append-widget make rebface [ draw [ pen yellow line 20x20 80x80 ]

3-Mar 18:38
7434DanielPOk but when i Try a simple example I receive an error :3-Mar 18:37
7433RobertYes, no problem.3-Mar 14:47
7432DanielPHI, I'm new to Rebgui. Is it possible to use Draw or AGG in Rebgui personnal widgets ?3-Mar 10:55
7431JohanAROoh, I thought 101 was the latest release. Been away for a while1-Mar 15:01
7430Ashley"Uploaded build#102 with 'bistate option for check and check-group. Option disables right-click state selection."1-Mar 0:23
7429JohanARAny possibility of getting 2-state checkboxes and groups?29-Feb 16:51
7428Grahamso that function keys work in 2.7.522-Feb 3:30
7427GrahamThis seems to work in lInux. In display.r, change

find [f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12] event/key to find [ console listen tcp udp icmp dns local odbc oracle mysql crypt compress ] event/key

and redefine on-fkey in rebgui-ctx.r

on-fkey: make object! [ console: listen: tcp: udp: icmp: dns: local: odbc: oracle: mysql: crypt: compress: none ]

22-Feb 3:30
7426GrahamYeah, a sdk 2.7.5 issue.21-Feb 22:34
7425Ashley"do you have to be on the tab panel you are replacing to use tab-panel/replace-tab?" ... No, see the following test case:

t: tab-panel data [ "A" [field] "B" [field] ] button [t/replace-tab 2 [button]]

Click the button then tab "B".

"... Was this related to the new look?" ... yes, the new look is an extensive WIP that "breaks" build 112.

"Are the function keys accessible under Linux?" ... http://www.dobeash.com/RebGUI/user-guide.html#section-4.4

21-Feb 22:20
7424GrahamAre the function keys accessible under Linux?21-Feb 10:00
7423GrahamAshley, I got an error on these lines in replace-tab

pane/:num/color: colors/page pane/:num/edge: outline-edge

I presume that there was a change to pane a while ago. Was this related to the new look?

21-Feb 6:52
7422Grahamdo you have to be on the tab panel you are replacing to use tab-panel/replace-tab ? I see the new layout appear on the current tab.21-Feb 5:51
7421GrahamActually it's a wine issue. I store the data in the table/data so am reluctant to form it there as I use the data for various calculations. Oh well, I have now formed it into text.21-Feb 2:26
7420AshleyThe problem's a bit more general than table data then ... what happens when this decimal value appears in other widgets (e.g. text, field, drop-list, etc) ... fix needs to be at the native level ... perhaps we need to patch 'form as an interim measure? Is this a windows only issue?21-Feb 1:34
7419GrahamTrouble is, all sorts of functions use the data and expect it to be numeric, and not a string.19-Feb 22:47
7418Ashley"I've got a value of .004 ..." ... best way is to pre-format the data by poking the string form you wish to present it in.19-Feb 22:36
7417GrahamOk. got it.19-Feb 6:23
7416Grahamecvt ?19-Feb 6:21
7415btiffinYeah, it's too bad about that ecvt issue in Wine. It's been reported for years now. Quite a few attempts by people to get patches approved have gone by the by.19-Feb 4:07
7414GrahamI've got a value of .004 that is being displayed in scientific notation, and so I want to use Gabriele's form-decimal on it at display time.19-Feb 1:28
7413GrahamIs there a way I can hook into the table display so that I can apply a formatting function to a column?19-Feb 1:27
7412GrahamMaybe we can also control the sort order this way as well?9-Feb 10:16
7411GrahamHow about having an object that represents each column, and we can provide a function for each column, or none! .. and if the function returns true, for each column where there is a function, then it displays ?9-Feb 10:15
7410GrahamWell, we need to be able to specify a column, or a list of columns, and a test on that column(s).9-Feb 9:03
7409AshleySuggested specification syntax?9-Feb 8:18
7408GrahamAny chance of having a filter that we can place on a table?8-Feb 8:54
7407GrahamI don't know how easily this can be fixed, but in VID if you highlight a text field by dragging across it and move outside the field, the highlight stays. But in Rebgui .. it is lost.6-Feb 2:53
7406AshleyA set-info func is in the works, but requires some rather extensive widget changes (e.g. drop-list and edit-list are different widgets at present).5-Feb 23:41
7405GrahamSounds great!5-Feb 23:31
7404KaiAny chance we'll be able to use a 'set-state/info with checks, spinners, drop-lists any time soon?5-Feb 23:26
7403AshleyQuite possible ... I'm looking at a 'no-focus option that would allow you to click certain widgets (e.g. text-list) *without* changing focus. This option would be the exception rather than the rule.5-Feb 22:58
7402Grahamthanks .. now to see if Ashley can help improve the focus/highlighting issues :)5-Feb 3:02
7401GreggImpressive as always Graham.4-Feb 23:48
7400JerryGraham, it's really cool.4-Feb 22:55
7399BrockNice work Graham.4-Feb 22:43
7398GrahamI would like to double click on the choices in the edit-list, but that then results in loss of the highlite on the selected word. Also, I would like to see some way for the text to scroll following the highlite, and currently I have to move the slider manually.4-Feb 19:47
7397GrahamThis is my attempt at computer generated medical notes http://synapse-movies.s3.amazonaws.com/Synapse-chained-macros.wmv4-Feb 19:45
7396AntonJust go with Ashley's suggestion, then, as it reflects the actual states.1-Feb 13:33
7395Grahambecause of spacing etc1-Feb 8:42
7394Grahamsounds too hard1-Feb 8:42
7393AntonSo that's calling for a new widget, or widget variant, of course.1-Feb 7:31
7392AntonIt would have the same specification as Ashley's example above, but the first item is placed to the left of the other items to make it visually distinct.1-Feb 7:29

Return to Index Page