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

World: r3wp

[View] discuss view related issues

Rebolek
10-Apr-2007
[6905]
only AGG text. Or you have to render text to bitmap (to image! face 
...) and then use the bitmap.
Henrik
10-Apr-2007
[6906]
OK, that does it. I'm going to try imagemagick anyway and see if 
I can get that working.
Gregg
10-Apr-2007
[6907]
ImageMagick works well. I've only needed and done simple stuff with 
it--it's so feature rich and complex, I don't have time to dig in 
and do fancy stuff.
Henrik
10-Apr-2007
[6908]
well, it won't work here now since I read it requires ghostscript 
to do what I need. I'm not going to balloon a 130 k script to 30 
Megs, just for that :-)
Gregg
10-Apr-2007
[6909]
Yeah, that's a pain. Actually, the only reason I use IM is because 
REBOL can't save JPGs out and they don't want to use PNGs.
Anton
10-Apr-2007
[6910x4]
Henrik, maybe try putting bold before italic.
Actually, I get this on WinXP:
>> view layout [text font [style: [none]] "hello there"]
Bad font style!
Bad font style!
Bad font style!
Bad font style!
When using COMPOSE, a paren shrinks to nothing when it returns UNSET! 
 This is what you need to avoid those 'none words appearing in the 
result block.
bold: true    italic: false 

compose/deep [style: [(either bold ['bold][]) (either italic ['italic][])]]
;== [style: [bold]]
Maxim
20-Apr-2007
[6914x3]
I just discovered that a face with a rate, once shown, will trigger 
time events even if its not within any face, and even calling hide 
on it does not seem to stop its events!  you need to set its rate 
to none and call show on it (even though its not visible in anyway, 
since its not within any window !)
this is a bit strange.
and I am sure it has been the source of many dumbfounded looks for 
many of us in the past!
Pekr
20-Apr-2007
[6917]
Maxim - isn't that a known fact? But for those things, talk to Cyphre, 
he has some experience there iirc.
Maxim
20-Apr-2007
[6918]
it might be known.. but its not obvious or common... I was simply 
stating it here, for those who might not be aware.
Cyphre
20-Apr-2007
[6919x3]
Maxim: this is a known fact. I think it is better to have full control 
on timer than not be able to have backgound timers running.
Here is an example of proper timer handling:
view l: layout [
	b: box red with [
		rate: 1
		feel: make feel [
			engage: func [f a e][
				if e/time [
					print ["tick" now/time]
				]
			]
		]
	]
	button "hide" [
		print "hide"
		hide b
	]
	button "show" [
		print "show"
		show b
	]
	button "remove" [
		print "remove"
		if face: find l/pane b [hide face/1 remove face show l]
	]
	button "add" [
		unless find l/pane b [
			print "add"
			append l/pane b
			b/show?: true
			show l
		]
	]
]
Maxim
20-Apr-2007
[6922x2]
its just that I am working with a multi-pane application which have 
timers and (obviously) we only want to refresh what is actually withing 
windows... what happens is that eventually, all the panes start kicking 
out timers!  (and I need the time event to be local to the actual 
face to relate its animation ... otherwise, I'd cross the animation 
from one pane to another ! :-)
so I just added a little bit of "stop timer" handling on top of the 
"show pane" handling.. it works.. its just not obvious that an invisible 
pane (actually not within a window's pane structure) can still receive 
events. 


 I agree that the feature IS usefull.  maybe it should be more obviously 
 documented (next to the note in the docs that a show is required) 
 that timers trigger even if faces are hidden and event if not actually 
 displayed...
Anton
22-Apr-2007
[6924x3]
I didn't think it would be so much effort to implement a "simple" 
menu.
do http://anton.wildit.net.au/rebol/gui/demo-menu.r
Menues have so many little features in them... With this one I made 
a decision to severely limit the layout possibilities. It's a "standard" 
menu based on the one I can see in Crimson Editor here on XP.
Gregg
22-Apr-2007
[6927]
I get this:

connecting to: www.lexicon.net

Include: Couldn't load-thru http://www.lexicon.net/antonr/rebol/gui/menu.r
** Script Error: menu-style has no value
** Where: do-facets
** Near: menu-style
Graham
22-Apr-2007
[6928x3]
he's not at lexicon.net anymore ... must be old cold
code
a domain costs US$5/year ... sometimes it's worth it!!
Anton
22-Apr-2007
[6931x6]
I'm with you, Graham.
Chris had same trouble. Problem is at rebol.net. I think since the 
server crash, the Sites rebsite index reverted to an old one. I also 
can't update it at the moment because the cgi updater hasn't been 
restored yet either.
This fixes the rebsite index temporarily:
; Needed until rebol.net Sites rebsite index is updateable and updated.
old: as-string read-thru http://www.rebol.net/reb/index.r

replace (new: copy old) "www.lexicon.net/antonr" "anton.wildit.net.au"
write/binary path-thru http://www.rebol.net/reb/index.rnew
Now try again.
do http://anton.wildit.net.au/rebol/gui/demo-menu.r
Gregg
23-Apr-2007
[6937]
Same error here.
Anton
23-Apr-2007
[6938x2]
Gregg, did you try the above fix ?
I've also just updated the menu with today's improvements, by the 
way.
Gregg
23-Apr-2007
[6940]
Not yet. Have to run and watch my daughter open presents right now. 
She's 12 today.
Anton
23-Apr-2007
[6941]
Ah ok.
Chris
23-Apr-2007
[6942]
The fix worked for me...
Anton
23-Apr-2007
[6943]
Very good.
Anton
28-Apr-2007
[6944x2]
I've just updated the menu with a backwards compatibility fix so 
it can also work on View 1.3.2.
load-thru/update http://anton.wildit.net.au/rebol/gui/menu.r
do http://anton.wildit.net.au/rebol/gui/demo-menu.r
Robert
11-May-2007
[6946]
I use do-service to issue a RS request. But it's not blocking my 
GUI. I want to keep the user away from clicking around.  How can 
I block the processing of GUI events?
Anton
11-May-2007
[6947x2]
Interesting, the doc string for do-service in my 19-Nov-2005 copy 
says {Send request to a REBOL service and wait for response. Return 
result.}
I suppose you could remove the event-port from the wait-list temporarily, 
until you get a result or a timeout occurs. (how to specify a timeout... 
?)
[unknown: 10]
11-May-2007
[6949]
yes how to specify a time-out..i have that to here in another issue.. 
not so easy actualy when not having threads..
Anton
11-May-2007
[6950x3]
do-service calls wait-service, which has a default timeout of 60 
seconds.
so all you should need to do to block the gui is remove the event 
port.
eg.
remove system/ports/wait-list system/view/event-port

do-service ...  ; <-- trap errors here so you don't block your gui 
forever
insert system/ports/wait-list system/view/event-port
Robert
11-May-2007
[6953x2]
Thansk, will try this.
I have the feeling that wild mouse-clicks be qued? Can I remove those 
too?