r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[View] discuss view related issues

Henrik
18-Jan-2006
[4076x3]
/raw and /at wouldn't be used simultaneously anyway
doing it this way, will require a minimum of changes to the code
maybe INSERT-ROW, INSERT-ROW-AT and INSERT-ROW-AT/RAW would fit better...
Volker
18-Jan-2006
[4079]
from the interface i like /at
Henrik
18-Jan-2006
[4080]
I like it too, but I'd hate to code it :-)
Volker
18-Jan-2006
[4081x2]
why?
its one ugly line.
Henrik
18-Jan-2006
[4083]
because of the above indirection
Ryan
18-Jan-2006
[4084x2]
/here maybe just as good for this func...
(coming full circle)
Henrik
18-Jan-2006
[4086]
could be, but DideC would then ask "where?" :-)
Ryan
18-Jan-2006
[4087x2]
Since here is a refienement, it assumes you the specify. selected 
behavior by default.
I you want it to be real slick, I would graph them out, pro and cons, 
etc. If you want it finished, keep up the good work.
Henrik
18-Jan-2006
[4089]
well, thinking about it, /here is a pretty good suggestion. Then 
we'd have INSERT-ROW, INSERT-ROW/HERE, INSERT-ROW/HERE/RAW
Ryan
18-Jan-2006
[4090]
Anybody got a rebol routine for saving gifs? Perhaps the one I wrote 
years ago and happen to lose?
Allen
18-Jan-2006
[4091]
words: [data [new/user-data: second args next args]]
Henrik
20-Jan-2006
[4092]
I sometimes miss a "soft" SHOW, which only shows faces that have 
the SHOW? flag already to be true. Is there an easy way around that?
Ashley
20-Jan-2006
[4093]
soft-show: func [face] [if face/show? [show face]] ;)
Henrik
20-Jan-2006
[4094x2]
and if I have a large set of faces in a pane?
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
[4125]
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
	]
]