World: r3wp
[View] discuss view related issues
older newer | first last |
Henrik 17-Nov-2008 [8289] | all LAYOUT does is create a big object tree, and of course you can't just append blocks to that |
james_nak 17-Nov-2008 [8290] | Thanks Henrik. That's what I needed to hear (how layout works). |
Nicolas 17-Nov-2008 [8291x3] | insert-event-func [ if event/type = 'key [ print face/text ] event ] view layout [area "hello"] ;Can a/text update before it prints? |
;There's a one keystroke delay | |
that should be view layout [a: area "hello"] | |
Anton 17-Nov-2008 [8294] | Nicolas, you could modify the area's engage function, as in this patch. append blk: select select second get in a/feel 'engage [switch act][key] bind [print face/text] blk/2 |
Nicolas 17-Nov-2008 [8295] | Thanks Anton. That was really helpful. |
Anton 17-Nov-2008 [8296] | You're welcome. |
Nicolas 21-Nov-2008 [8297x4] | REBOL [] index: func [dir list /local files] [ files: sort load dir foreach file files [append list join dir file] foreach file files [attempt [if find file "/" [index dir/:file list]]] ] index %/c/ files: [] l: layout [ f: field 600 [call t/picked] t: text-list 600x400 data copy files] search: func [f-string] [ t/data: copy files foreach s parse f-string none [remove-each f t/data [not find f s]] show t] append blk: select select second get in f/feel 'engage [switch act][key] bind [search f/text] blk/2 focus f view l if I type something into the field, then I click the slider, it calls t/picked. Why? i can't figure it out. |
Sorry. That should be this. | |
index: func [dir list /local files] [ files: sort load dir foreach file files [append list join dir file] foreach file files [attempt [if find file "/" [index dir/:file list]]] ] index %/c/ files: [] l: layout [ f: field 600 [call t/picked] t: text-list 600x400 data copy files] search: func [f-string] [ t/data: copy files foreach s parse f-string none [remove-each f t/data [not find f s]] append clear t/picked t/data/1 show t] append blk: select select second get in f/feel 'engage [switch act][key] bind [search f/text] blk/2 append clear t/picked t/data/1 focus f view l if I type something into the field, then I click the slider, it calls t/picked. | |
Why? | |
Anton 21-Nov-2008 [8301x4] | This is just the same as: view layout [ field [call t/picked] t: text-list ] |
It calls t/picked because [call t/picked] is the action block specified after FIELD. Are you confused about action blocks in VID ? | |
Ah sorry, it's when you click the slider that the field action is done (unexpectedly by you). | |
It's ON-UNFOCUS in face flags. Compare: view layout [f: field [print "action"] text-list] print mold f/flags view layout [f: field [print "action"] with [deflag-face self on-unfocus] text-list] print mold f/flags | |
james_nak 22-Nov-2008 [8305] | As I have mentioned before here I have been working on turning strings into code. I've used this: set in get to-set-word "myobj" 'text "change a value" where myobj: make object! [text: "default"] and this works! I just don't know why get to-set-word "myobj" behaves that way. I'm hoping it's not a fluke because it's my Mr. Helper. Anyone able to explain that? |
Anton 22-Nov-2008 [8306x2] | You can get from a word! as well as the corresponding set-word! and get-word!. They are all the same word, after all. |
So, in your example, you could replace TO-SET-WORD with TO-WORD. | |
james_nak 22-Nov-2008 [8308] | I see. But what am I "getting"? |
Anton 22-Nov-2008 [8309] | GET gets the value of the word, which you previously set to an object. So, GET returns that object. |
james_nak 22-Nov-2008 [8310x3] | Then the to-word just know by context that myobj was an object, eh? The reason I ask that is that if it was just a word and not an object I don't seem to have to use get.: >> a: "test" == "test" >> set to-word "a" "hello" == "hello" >> a == "hello" >> set in to-word "myobj" 'text "hello" ** Script Error: in expected object argument of type: object port ** Where: halt-view ** Near: set in to-word "myobj" 'text >> myobj/text == "eeee" |
>> set in get to-word "myobj" 'text "hello" == "hello" | |
It's all good. I just was curious. Thanks Anton. | |
Nicolas 22-Nov-2008 [8313] | Thanks Anton! |
Anton 22-Nov-2008 [8314x2] | Nicolas, you're welcome. |
James, TO-WORD does not interact with the value of the word it is creating. | |
RobertS 22-Nov-2008 [8316] | glad to see VID3 with ability to some-useful-name: "you will debug listbox3 someday" attach 'some-useful-name |
Graham 26-Nov-2008 [8317x2] | I can't remember now .. but how do you start a rebol process with a systray? |
I mean you start the systray with do-events, but then you can't start your forever [ process ] | |
BrianH 26-Nov-2008 [8319] | I thought you used the system:// port. |
Graham 26-Nov-2008 [8320x3] | I guess if you're using a gui, you can kick off your process with a timer event on a face ... |
Just wondering how's it's done with just the systray icon and no GUI | |
and no console | |
Gabriele 26-Nov-2008 [8323x3] | graham, maybe look at my clips.r script, it is systray only. |
http://www.colellachiara.com/soft/MD3/examples/clips.html | |
http://www.colellachiara.com/soft/MD3/examples/clips.r | |
Graham 26-Nov-2008 [8326] | Thanks |
Graham 28-Nov-2008 [8327] | I've abstracted the systray/forever loop out here http://rebol.wik.is/Code_Samples/Systray.r |
Maarten 28-Nov-2008 [8328] | S3 backup? You have plans..... beware that for large volumes you *have to* parallelize. SQS is there for a reason |
Graham 28-Nov-2008 [8329] | Yes ... but it's for small volumes ... maybe a few gbs only |
Rod 28-Nov-2008 [8330x2] | Is there an option to have no caret but capture keyboard events? I'd like to get navigation keys for example but don't want a visible caret. |
I see notes about using detect for hot keys instead of engage, is that the best way or is there a way to turn the caret part off? | |
Henrik 28-Nov-2008 [8332] | FOCUS/NO-SHOW will hide the caret. |
Rod 28-Nov-2008 [8333] | Thanks Henrik, exactly what I was looking for. |
Anton 29-Nov-2008 [8334x3] | There's a problem with that, in that as soon as you show a parent face, the caret will appear, because the subface will also be rendered by SHOW. |
So if you SHOW the window face that the field is in while the field has the caret, then the field will be SHOWn as well, and the caret will be rendered. | |
If you look in the source of FOCUS, you can see what it's doing. Just do the same, except without setting the caret. | |
Rod 29-Nov-2008 [8337] | Thanks Anton, I will dig deeper then and see what my best option is. I have detect version working but want to know how to manage this with engage if I need to. |
Anton 30-Nov-2008 [8338] | I have a patch to handle this situation in a general way (focus-system-patch). |
older newer | first last |