World: r3wp
[View] discuss view related issues
older newer | first last |
Henrik 20-Jan-2006 [4095] | and more grouped faces inside those faces :-) |
Ashley 20-Jan-2006 [4096] | soft-show: func [face [object! block!]] [ ... either object? face [ if face/show? [show face] ][ foreach obj face [...] ... |
Henrik 20-Jan-2006 [4097] | get's to be too complex, I think |
Anton 20-Jan-2006 [4098x2] | It does get complex, and possibly too slow, but you may be able to patch show usefully for your application. Check out a patched SHOW near the bottom of http://www.lexicon.net/antonr/rebol/gui/mimic-do-event.r |
It uses a TREE-FACE function.to recurse to all subfaces of the face you are SHOWing. | |
Robert 21-Jan-2006 [4100] | The thing is to optimize the show-tree. If you have to show more than 50% of the sub-faces I can imagine that showing the partent face is faster than checking each sub-face. |
Graham 21-Jan-2006 [4101] | Is this the latest anamonitor ? http://www.rebol.it/~romano/#sect1.1. It has header problems when I try and run it. |
Anton 21-Jan-2006 [4102] | Showing a face may have the effect of showing the parent-face. If you show each sub-face, you may be asking the View system to at least check if the parent-face needs showing, so, repeating work unnecessarily. |
Janeks 23-Jan-2006 [4103] | I have a view that works like simple Mapserver client with zoom box, etc. I made new version that supports panning, by dragging with mouse. All worked fine (zooming, panning) until I changed simple loading map image from load to read-thru/to. Zoom box worked, but while mapfile loads it slowly follows cursor instead that by script logic (that I did not change) it should stop. And my map pane no more returning to zero offset after map image loading. How those view faces are connected with read-thru ? loadMapImg: func [ mapUrl /local rezImg ][ if exists? %mapImg.gif [ delete %mapImg.gif ] either attempt [ rezImg: read-thru/to mapUrl %mapImg.gif ; rezImg: load mapUrl ][ return load %mapImg.gif ; return rezImg ][ return none ] ]] |
Robert 23-Jan-2006 [4104x2] | When using a text-list, how do I reset the slider to the top if the data changes? For example: The slider is at a lower position, now I change the content to some smaler list and want to redrag the slider to the top and have the text-list show the first entry at the top. |
And is there a simple way to add mouse-wheel support to a text-list? | |
DideC 23-Jan-2006 [4106x3] | In 1.3 text-list style has an 'update function to do so. |
For mouse-wheel it still tricky as the event is only send to the window feel/detect function, and not at the face level. | |
(bad english today, sorry) | |
Robert 23-Jan-2006 [4109x2] | /update doesn't work for me WRT to slider positioning. |
I'm doing something like this: list/data: make block! [] <do-something-on list/data> sort list/data show list/update | |
DideC 23-Jan-2006 [4111x3] | Update should work if there is no item selected. If there is one it try to position it at the top (what I dislike) |
I have done some work on it for the word-browser. Just look the code (desktop\rebol.com\tools\word-browser) : - There is a patch to the resize function (maybe you can use it to refresh the list to the same size?) line 65 - There is a scroll-text-list func (line 414) that is called by the window/feel (line 381) for the mouse-wheel | |
Have also a look at line 259 : it's what is done to refresh the words text-list when you select a different category. | |
Robert 24-Jan-2006 [4114] | Thanks, I take a look. |
Gabriele 24-Jan-2006 [4115] | Janeks, read-thru is using WAIT, so you get other events while inside read-thru |
Janeks 24-Jan-2006 [4116x3] | Why FEEL actions (down, up, avay events) behaviour changes when I changed LOAD for a face image to READ-THRU or LOAD-THRU? |
Thanks, Gabriele! So what is the trick, to manage all other events? It seems, that I had somewhere read about it but now I can't remeber. Could you, please, point me to the right direction! | |
O'k me gone Googling ... | |
Anton 24-Jan-2006 [4119x2] | Mmm.. WAIT always starts the View event system and handles events. Perhaps this automatic feature of WAIT is not so desirable . Anybody else agree with me ? What's your opinion, Gabriele ? |
Maybe an /ONLY refinement should be added to wait only for the items specified (not automatically including View events). | |
Terry 25-Jan-2006 [4121] | Microsoft's Sparkle: Is It a Flash *cough* view *cough* Killer? http://www.eweek.com/article2/0,1895,1914903,00.asp |
Gabriele 25-Jan-2006 [4122] | Anton: one workaround is to clear the wait-list. Janeks: the behavior is not changing, it's just that LOAD blocks your feels, while READ-THRU does not block them. this is probably creating problems in your script, hard to say exactly what without looking at the source. |
Volker 25-Jan-2006 [4123x2] | to clear the wait-list - This works AFAIK because event-port is a normal port and thus in the wait-list. Everything there is processed on wait. So you could remove only this port temporary. Other tricks with that behavior: with read-thru rebservices/beer would still be active while downloading. maybe a bit less responsive, because a /no-wait introduces little delays? And you can caugh events before everything else, like this: |
do/args http://polly.rebol.it/test/test/scratch/simcon.r[ probe event-port # length? system/ports/wait-list # same? first system/ports/wait-list system/view/event-port # get in system/view/event-port 'awake # probe we: get in system/view 'wake-event # insert second :we [prin "*"] # view layout[area] none ] | |
Janeks 25-Jan-2006 [4125x2] | So I made modified function to: loadMapImg: func [ mapUrl /local rezImg tmpWl ][ if exists? %mapImg.gif [ delete %mapImg.gif ] either attempt [ tmpWl: copy system/ports/wait-list clear system/ports/wait-list rezImg: load-thru/to mapUrl %mapImg.gif ; rezImg: load mapUrl ][ system/ports/wait-list: tmpWl return load %mapImg.gif ; return rezImg ][ return none ] ] |
It works for me! Thanks! Is it correct? I looked into system/ports/wait-list - there is a lot variables and awake function. For what else wait-list is good? | |
Volker 25-Jan-2006 [4127x3] | All ports there are automatically active on 'wait. |
for other ports you have to wait[port1 port2 ..]. Ports in wait-list are automatically "added". | |
looking into - yes, prboing ports is long. i suggest using some visual tool like anamonitor. | |
Janeks 25-Jan-2006 [4130x2] | Are there any docs available about wait-list on the net? |
So I mean a bit detailed docs about wait-list system ... | |
Volker 25-Jan-2006 [4132] | Got my knowledge by source/ML/chatting. I guess google finds some ML. Maybe there are more "real" docs somewhere. |
Janeks 25-Jan-2006 [4133] | Sorry, what is "source/ML/chatting"? |
Volker 25-Jan-2006 [4134x2] | looking inside rebol with 'source etc, mailing-list, altme/ios. |
Hmm, both anamonitor and roam can not dump that port. | |
Janeks 25-Jan-2006 [4136] | So what exacly is wait-list? It is block of what? Where can I see all those active ports? |
Volker 25-Jan-2006 [4137] | yes, a block. with ports in it. echo on probe system/ports/wait-list then look in %rebol-echo.txt with an editor. |
Janeks 25-Jan-2006 [4138] | The same I can see with just probe. O'k I see now - in this case it is just one 'EVENT port! |
Volker 25-Jan-2006 [4139x4] | thats true. but its big. in an editor you have find, matching parens and such. thats why i use echo. |
other ports you have to put in yourself. | |
i guess a search for "awake rebol" would turn something up. | |
maybe something like this: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-message.r?m=rmlGKXQ | |
Janeks 25-Jan-2006 [4143] | Yep. Now I just trying to better understand, how it all works. I have some feelings and now my script works like expected. I hope my method is correct. Now I want to make working progess bar by using read-thru. But now it is quite late - I am gonna to sleep. Thanks Volker for your advice! |
Volker 25-Jan-2006 [4144] | goodnight Janeks :) |
older newer | first last |