World: r3wp
[View] discuss view related issues
older newer | first last |
amacleod 26-Sep-2009 [9184] | not sure how to go about that.. |
Graham 26-Sep-2009 [9185] | doesn't each face have a value for parent-face ? |
Anton 27-Sep-2009 [9186x3] | That's exactly what I'm doing in scroll-wheel-handler. Starting with the face clicked on, I climb up to the parent-face iteratively until I find an ancestor of the face which is a scroll-panel. |
(or until there is no parent-face, which means we are at a top-level window face.) | |
amacleod, I thought all that complication would make you pause. And fair enough. I should say though that I've done the scroll-wheel-handler in the most proper way I can. It seems a pity not to take advantage of its structure. Anyway, it would be nice if you could say what you want to handle alt-click for. I'm still not sure why you want it. If that's clear to me, then I could probably make the new handler for you pretty quickly, as I'm more familiar with my code, obviously. | |
Henrik 27-Sep-2009 [9189x2] | Incidentally, the VID Extension Kit has a lot of functions to help in these situations for finding a specific face. To for example find the window a face sits in: root-face face |
if you look at the source, the file vid-funcs.r contains most of these functions. | |
BenBran 29-Sep-2009 [9191] | Hello All, I'm working with events but I'm stuck. Any help is appreciated. here is the code: rebol [ title: event testing] lo: [ text 100x100 "Hello" edge [size: 25x25 color: 255.0.0 effect: 'bevel] ;; <--edge set here works feel [ engage: func [face action event] [ if event/type = 'down [ face/color: 0.200.0 show face ] if event/type = 'up [ face/color: 0.0.200 show face ] ] over: func [face into pos] [ if equal? into True [ ;; face/edge: [size: 25x25 color: 0.255.0 effect: 'bevel] ;; <-- edge changed here probe face/edge ;; print into ;; show face ;; <-- doesn't render ] ;; if equal? into False [ ;; face/edge: [size: 25x25 color: 0.0.255 effect: 'bevel] ;; <-- edge changed here probe face/edge ;; print into ;; show face ;; <-- doesn't render ] ;; ] detect: func [face event] [] redraw: func [face action offset] [] ] ] view layout lo |
Steeve 29-Sep-2009 [9192x2] | replace the lines where: >>face/edge: [...] by >> face/edge: make face/edge [...] |
face/edge is an object, not a block | |
BenBran 29-Sep-2009 [9194x2] | Thanks Steeve. That did the trick. |
question: Why did I not have to 'make the edge initally? | |
Steeve 29-Sep-2009 [9196x2] | ahah, i was waiting for that question |
because the lo block you constructed contains a dialect, not rebol code. When you call the layout function, the dialect is processed and the values [edge [...]] are translated to code [face/edge: make face/edge [...]] | |
BenBran 29-Sep-2009 [9198] | Thanks. I'll let the brain gears process this for a while. |
Steeve 29-Sep-2009 [9199] | you can see the source of the layout function to have an idea of how the dialect is processed. But layout is an obfuscated function with too much dependencies with other hidden functions. It's rather difficult to have a whole understanding of how it works. It reclaims several years of training. |
BenBran 29-Sep-2009 [9200] | Then is something like this possible? or does the layout function always take input either at that location or the 'edge word as dialect? I guess the question could be... how do we know if we are creating code or dialect and does it matter? view layout [text 100x100 "Hello" edge: make/edge [size: 25x25 color: 0.0.255 effect: 'bevel]] |
Steeve 29-Sep-2009 [9201] | To see if you can, just try it (in your case it fails). |
Henrik 29-Sep-2009 [9202] | it won't work, because the edge is not a dialect keyword outside of 'with. |
BenBran 29-Sep-2009 [9203x2] | Sorry.... should have put the ';; <---- fails' comment next to the line. Hence the rambling questions.... |
Henrik, that makes sense. I'll look for docs on the 'with word. Thanks. | |
Henrik 29-Sep-2009 [9205] | Ben, see private message. |
james_nak 29-Sep-2009 [9206] | Thanks. That opens my eyes to what I refer to as Rebol Voodoo. One can easily forget the relationship between a dialect and Rebol. Good stuff. |
Steeve 29-Sep-2009 [9207] | It's the central point with Rebol, when a function is accepting a block as input, you can't guess if it will be processed as pure rebol code, list of data, or as a dialect (mixed data and commands). Data is code, Code is data. Never forget. |
james_nak 29-Sep-2009 [9208] | Are you kidding? It took me a long time before I stopped turning everything into a string with my own functions! :-) |
Steeve 29-Sep-2009 [9209x2] | i meant you can't guess until you read the documentation of a specific function. 'help and 'source are they magic keys. |
*the magical key | |
james_nak 29-Sep-2009 [9211] | Oh, I like the feeling when I can say "Oh, that's how it works." And then there's anamonitor. I can't tell you how many times I've gone back and forth with that tool. :-) |
BenBran 29-Sep-2009 [9212] | source.... I keep forgetting about that command. thanks for the reminder. |
amacleod 4-Oct-2009 [9213] | Having trouble changing the data in a drop-down list... mylist/list-data: new_stuff show mylist works the first time but not there after |
Maxim 4-Oct-2009 [9214] | you must clear /append in the same original block :-) |
amacleod 4-Oct-2009 [9215] | Sorry, not sure what you mean |
Maxim 4-Oct-2009 [9216] | you should clear the original block you supplied to the drop down list, and then append new items to it. that should work. |
amacleod 4-Oct-2009 [9217] | new_stuff: copy [] foreach book books [append new_stuff book] If this is what you mean, I'm doing it... |
Maxim 4-Oct-2009 [9218] | I'll write you up an example... its easy you'll see. |
Graham 4-Oct-2009 [9219] | insert clear head mylist/list-data new-data |
Maxim 4-Oct-2009 [9220x4] | it uses texts... |
rebol [] items: [] dark-colors: ["Blach" "Navy Blue" "Blood red"] light-colors: ["Gray" "Cyan" "Pink"] append items dark-colors view layout [ drpdn: choice with [texts: items] do [ probe drpdn/init probe drpdn/words probe drpdn/multi probe drpdn/feel ] toggle "hi" "low" [ clear items append items either face/data [light-colors][dark-colors] ] ] | |
you can also replace face/texts directly I think... | |
I left the old "do" trick which allows one to easily scan a face to look up how it works... not sure many realize they can do this. | |
amacleod 4-Oct-2009 [9224] | I was hoping to use the 'drop-down' style (not choice)...is there a difference with the function? |
Maxim 4-Oct-2009 [9225] | same thing... just replace choice by drop down |
amacleod 4-Oct-2009 [9226x3] | bingo! Thanks... why does newstuff: copy [] not work here? |
never mind | |
I got it | |
Janeks 22-Oct-2009 [9229] | Hi! I am trying to get running SoftInnov's captcha on my Linux. Documentation tels that it is : DRAW based : doesn't require View engine, just DRAW (can run with /Command on UNIX without Xlibs installed). But it seem is not right commandline switch - I am getting any way library errors. Is it the right commandline switch? Or do I need any way those linux libraries? P.S. I also tried -v |
Dockimbel 22-Oct-2009 [9230] | /Command is not a command line switch, it's a REBOL product : http://rebol.com/command.html. /Command is also included in REBOL/SDK. |
Janeks 22-Oct-2009 [9231] | So it could not run with rebview? :( |
Henrik 22-Oct-2009 [9232] | you need a range of libraries to run it with View. it works fine with View. |
Dockimbel 22-Oct-2009 [9233] | Sure it can run with rebview but rebview requires Xlibs to be installed. |
older newer | first last |