World: r3wp
[!RebGUI] A lightweight alternative to VID
older newer | first last |
Graham 14-Sep-2010 [8800] | Even if we get a stable R3GUI in the next year, people won't stop overnight using R2 |
Ashley 14-Sep-2010 [8801] | It's even worse than that, the true "cut-over" for many won't occur until we have a stable R3 SDK! ;) Having 2 versions of RebGUI (b117 and b218) that are each 95% done, but each with their own bugs and quirks is not an ideal situation ... so I'm [again] looking to complete the 2.x series and finally obsolete b117 ... but R3, as always, is so close ... |
Graham 14-Sep-2010 [8802x2] | I think R3GUi is not really relevant to the development of RebGUi ... |
Although not vapourware, R3 has had a deleterious effect on R2 3rd party support | |
Ashley 14-Sep-2010 [8804x2] | re: button colors. A QAD fix for b117 follows: Edit rebgui.r and make the following changes to the button widget starting on line 1260: - Add a new attribute ... old-color: none - Add the following to the init function ... old-color: color - Change color references ... replace "colors/theme-dark" with "face/old-color" (leave the "color = colors/theme-dark" ref though) |
has had a deleterious effect on R2 3rd party support ... agree, no-one wants to invest time into something that could be obsolete at any time. If I 100% knew that we wouldn't have a stable R3 SDK (for Mac, WIndows and Linux) for n months then I could make a rational investment of time ... | |
MaxV 15-Sep-2010 [8806] | My question is: where is the font problem in RebGUi on Linux? |
Ashley 16-Sep-2010 [8807] | And my answer is it's not a RebGUI problem. Try the following code on 2.7.7.3.1 (Windows): view center-face make face [effect: [draw [text "xxx"]]] You should see 3 black x's in the top left corner of a new window. Now try this on 2.7.7.2.5 (Mac) ... a blank window appears. I suspect the same thing happens on Linux. This is not a dialect problem (VID or RebGUI) but an issue with REBOL/View AGG font support on non-windows platforms. Also note that while the following works on Windows: view center-face make face compose/deep [effect: [draw [font (make face/font [name: "Verdana" size: 18]) text "xxx"]]] path-qualifying the font name on Mac (and I suspect Linux) still does not work: view center-face make face compose/deep [effect: [draw [font (make face/font [name: "/Library/Fonts/Verdana" size: 18]) text "xxx"]]] |
Maxim 16-Sep-2010 [8808x2] | don't you need to give a file! type for path qualification? |
(I can't test it) | |
Ashley 16-Sep-2010 [8810] | string! only ... http://www.rebol.com/docs/view-face-content.html#section-3 |
Maxim 16-Sep-2010 [8811x2] | did you try adding the file extension to the path qualification on osx/linux? |
(maybe it doesn't have one and I'm just being annoying ;-) | |
Ashley 16-Sep-2010 [8813] | Yep, tried that (the 2nd example above should read "/Library/Fonts/Verdana.ttf"). |
Graham 16-Sep-2010 [8814x5] | Hmm... I don't recall having font issues with draw on Linux |
MaxV, does this work for you ? http://www.compkarori.com/vanilla/display/AGG | |
My recollection is that it works on Ubuntu .. but may not work on other linux variants | |
Also works on puppylinux | |
Also, which version of R/view since 2.7.7 is apparently problematic | |
Andreas 16-Sep-2010 [8819x5] | (Graham's example works for me on Ubuntu 10.04.) |
(With REBOL/View 2.7.7.4.3) | |
Also, I see 3 x's with Ashley's example, but they are halfway shifted outside the window at the top. | |
On the other hand, Linux AltME is completely unusable for me. | |
(Well, not completely. But the fonts are ugly ...) | |
Henrik 17-Sep-2010 [8824] | is there a way to find the window face of a particular face in RebGUI? |
Graham 17-Sep-2010 [8825] | find-window? |
Henrik 17-Sep-2010 [8826] | doesn't work as RebGUI doesn't keep PARENT-FACE consistently available. |
Maxim 17-Sep-2010 [8827] | in view (not VID) you need to do a show on a face for its parent-face to be updated. but the face must be actually visible IIRC. |
Graham 17-Sep-2010 [8828] | I've never had an issue with find-window... can you give us an example of it not working? |
Maxim 17-Sep-2010 [8829] | actually, I meant to say that you need to do a show on the *parent* for the child's parent-face to be refreshed |
Henrik 17-Sep-2010 [8830] | I've never experienced PARENT-FACE as reliable, so for the VID Extension Kit, I made separate functions to set it properly. |
Maxim 17-Sep-2010 [8831] | so you need to make an accessor for the pane which automatically assigns the parent-face. |
Ashley 17-Sep-2010 [8832x2] | RebGUI makes extensive use of parent-face (which is managed by View) ... never had an issue with it. |
RebGUI functions such as undisplay depend on it: undisplay: make function! [ "Closes parent display of face." face [object!] ] [ while [face/parent-face] [face: face/parent-face] remove find screen*/pane face show screen* ] | |
Graham 17-Sep-2010 [8834] | undisplay?? |
Ashley 17-Sep-2010 [8835] | 2.x series. |
Graham 17-Sep-2010 [8836x2] | Oh .. |
what does that do vs unview/only ? | |
Ashley 17-Sep-2010 [8838] | Give it the widget's face and no matter how deeply embedded the widget the "window" it is in will be closed. Avoids having to do unview/only face/parent-face/parent-face type operations. |
Graham 17-Sep-2010 [8839] | I use this for that unview-window: func [ face ][ unview/only find-window face ] |
Gabriele 18-Sep-2010 [8840] | Henrik, parent-face is managed by the native code, so there's something definitely wrong if it does not work for you. |
Henrik 18-Sep-2010 [8841] | The question is what that would be. But I have noticed way too many times that parent-face is NONE for faces that should be set up properly, particularly in VID, but apparently also in RebGUI. |
Gabriele 18-Sep-2010 [8842] | parent-face can only be none if the face has never been shown, which may happen if you access it during layout and before the face as been shown. |
Henrik 18-Sep-2010 [8843x2] | ok, that may be it. |
I do recall that parent-face doesn't work during INIT in VID. | |
Anton 18-Sep-2010 [8845] | Gabriele is correct. PARENT-FACE is not set by LAYOUT, it is set by SHOW. I wrote some code which needed to know the parent-face before SHOW was used, so I did something like initialize the PARENT-FACE of every face in the face hierarchy myself. I wanted LAYOUT to do this by default. |
Graham 18-Sep-2010 [8846] | Would it be easy to patch layout to do this? |
Henrik 18-Sep-2010 [8847] | I've tried, but the problem is that LAYOUT is not necessarily used recursively and thus doesn't always have a parent-face to use. |
Graham 27-Sep-2010 [8848x2] | If you have something like this b: button "text" on-click [ print face/text ] you can't call the button action like this b/action/on-click b because the on-click action refers to 'face, and 'face is not passed when called this way. What's the appropriate workround apart from using named faces ? eg. on-click [ print b/text ] |
Hmm.. perhaps face is passed | |
older newer | first last |