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

World: r3wp

[View] discuss view related issues

Anton
20-Dec-2008
[8414x3]
system/view/wake-event: func [port /local event no-btn] bind [
    event: pick port 1
    if none? event [

        if debug [print "Event port awoke, but no event was present."]
        return false
    ]

 if all [pop-face not find pop-list pop-face][pop-face: none] ; <--- 
 Added by Anton. Fix POP-FACE when it's not found in POP-LIST (eg. 
 HIDE-POPUP was done at the escaped console, not by WAKE-EVENT DO 
 EVENT, as usual, here).
    either pop-face [

        if in pop-face/feel 'pop-detect [event: pop-face/feel/pop-detect 
        pop-face event]
        do event
        found? all [
            pop-face <> pick pop-list length? pop-list
            (pop-face: pick pop-list length? pop-list true)
        ]
    ] [
        do event
		empty? screen-face/pane
    ]
] system/view
A little bit of dancing is required here.
Dancing complete. I am now in a state of expectation of the thunderous 
rain of blessings to be cast upon me.
Sunanda
20-Dec-2008
[8417]
That works!

Thanks Anton, and Gabriele and Henrik for the help....Especially 
Anton for the fix!
I think the honor is yours in entering it into RAMBO :-)
Anton
20-Dec-2008
[8418x2]
That's hardly the "thunderous rain" I was expecting, now, is it ? 
;)
Seriously, it needs more testing, especially with nested popups. 
Anyone got a nested popup example handy they want to try it on ?
Sunanda
21-Dec-2008
[8420]
Thunderous rain.....It's impossible to get the kudos you need from 
just debugging :-)

Which one of us has  not worked all night to solve a critical problem; 
and the only real reward is to see that no one even notices when 
they come to work in the morning?
Gregg
21-Dec-2008
[8421]
This is really valuable, so make sure it gets posted somewhere that 
it won't scroll off an be lost.


It's fantastic stuff Anton, but only a few people can appreciate 
it. :-\
Anton
21-Dec-2008
[8422x3]
The problem is, it just looks so simple at the end, as you can see 
in this one-line workaround, used after HIDE-POPUP:

	hide-popup
	system/view/pop-face: none
It just took me ~3 hours to find it, whilst entertaining all sorts 
of other hypotheses.
Gregg, I have it saved in a file, and this group is web-public, at 
least.
Sunanda
22-Dec-2008
[8425]
I spent nearly as long reducing the problem to my 3-line bug report 
:-) It could have been any one of several other issues in the actual 
application.

Anton, it could and should also live on in RAMBO and the code base 
for REBOL3.
Do you want to RAMBO it, or will I?
Gabriele
22-Dec-2008
[8426x2]
the pop-face: none was what I meant for "resetting the internal state", 
but I would have needed to look at the code to find out what was 
necessary to do.
Anton, did you look at the commented SDK source, or probed around? 
The former could have been faster (not that that code is very readable...)
Anton
22-Dec-2008
[8428x3]
Sunanda, Ok, I'll submit it to RAMBO as is. (I don't think it has 
much relevance with R3, though.)

Gabriele, Ah.. I forgot to look at the SDK, actually. I'm not in 
the habit of it.
To track it down, I patched all functions (and relevant, nested helper 
functions) involved in Sunanda's example code: VIEW REQUEST-LIST 
INFORM SHOW-POPUP HIDE-POPUP and finally WAKE-EVENT. I added 30 print 
statements to all those function bodies (making sure to bind them 
correctly etc), tracking the control flow, then compared the output 
before and after escape was pressed. Eventually I found the difference 
in control flow in wake-event (EITHER POP-FACE ...).
Submitted "wake-event pop-face patch" to RAMBO.
Pekr
22-Dec-2008
[8431]
Anton - what about submitting to DevBase?
Anton
22-Dec-2008
[8432]
Done.
Graham
26-Dec-2008
[8433]
Nice timeline widget in dhtml http://simile.mit.edu/timeline/
Reichart
27-Dec-2008
[8434]
It is cool, and it seems to get posted about once a year...
Graham
27-Dec-2008
[8435]
So, has anyone attempted rewriting it in View?
Reichart
27-Dec-2008
[8436]
Don't know.  
We plan to do a version of it for our Gantt.
Graham
27-Dec-2008
[8437]
timeline is part of MIT's SIMILE project.
Graham
28-Dec-2008
[8438x5]
Took me ages but I finally managed to get a version of timeline running.
but because of the async calls, the Rebol micro-webserver can't serve 
the pages correctly.
Works fine with Cheyenne though.
Here's an xample of timeline using embedded json data http://www.compkarori.com/timeline/timeline.html
All the samples i saw used external data sources.
Nicolas
30-Dec-2008
[8443]
can rebol evaluate two user input events at the same time?
Henrik
30-Dec-2008
[8444]
all input events are queued.
Nicolas
30-Dec-2008
[8445x3]
I'm trying to build an interface similar to the one in Plan 9 OS, 
but I've hit this snag. when the left mouse button is down the system 
doesn't register right mouse button clicks. Can this be worked around 
somehow?
is there any way to handle alt keys?
is there a way to do mouse chording?
btiffin
30-Dec-2008
[8448]
Re; keys.   yes?   Play around with something like
rebol []
set-modes system/ports/input [lines: false]
while [
    code: input
    code <> 13
][
    probe code
]
set-modes system/ports/input [lines: true]
print "--"


But I'll admit to being confused.   Ctrl-A returns 1, Ctrl-B returns 
27, 91, 49, 126, Ctrl-C bails, Ctrl-D prints 4

Alt-A 27 27 97, Alt-B 27 27 98    On my Debian GNU/Linux box 2.7.6
Gabriele
31-Dec-2008
[8449x2]
Brian, I think he's asking about View, not the console.
Nicolas: the mouse buttons problem may be OS related, but I never 
tested this.
BrianH
31-Dec-2008
[8451]
Mouse chording would require the mouse event system to be able to 
express multi-button mouse events. I'm not sure if R2 has such support 
(or R3 either but we can fix that). Windows and Linux's event models 
support chording, though most apps don't use it. Though I don't know, 
I would be surprised if Mac OS X's event system supported chording 
- it barely supports more than one mouse button.
btiffin
31-Dec-2008
[8452]
Yep, I was suggesting that as a method to get at the codes that View 
might return, but yeah you are correct and now I'll ask, is it a 
different keyscan engine?  Core vs View?
Gabriele
2-Jan-2009
[8453]
BT, the codes you see at the console are ANSI escape codes, and that 
has nothing to do with what you get from view, eg. the "home" key 
sends the 'home word in View but an escape sequence on the terminal.
btiffin
2-Jan-2009
[8454]
I stand corrected then.  ;)
james_nak
2-Jan-2009
[8455]
Question, I've been writing an app that shuffles through a lot of 
images but one at a time (same single image in layout) . I notice 
that what appears to be happening is that each time an image is loaded, 
more memory is consumed. I am not using load-image but maybe I should 
with the /clear refinement. Any thoughts?
Steeve
2-Jan-2009
[8456]
should not happen...

perhaps are missing some recycles in you script...or maybe you forgot 
to unset some faces in your layout.
amacleod
3-Jan-2009
[8457]
I'm going to be converting a bunch of images to binary for storage 
in a db (sqlite). What is with the base 64 option? Is there an advantage 
or need in my case? I'll be compressing them also...
Sunanda
3-Jan-2009
[8458]
Base 64 in REBOL is, basically, a type of ASCII represention. It 
can stand a certain amount of damage (like whitespace being inserted 
-- imagine it is sent as an email) and can still be reconstructed:
    str: "abcdefabcdef"      ;; a string
    s64: enbase str    ;; enbased to base-64 by default

    replace/case/all s64 "W" "  W  "   ;; whitespace polluted in transit
    str = to-string debase s64    ;; do we get it back intact?
Geomol
3-Jan-2009
[8459]
amacleod, I don't think, there's much of a idea in using base 64 
to store images locally, as they will grow in size. The format is 
good for sending binary data over the internet.
amacleod
3-Jan-2009
[8460]
I'll also be storing on a server using mySQL.
Gregg
3-Jan-2009
[8461]
The size increase can be significant if you're storing a lot of big 
images. Why not just store the binary data raw?
amacleod
3-Jan-2009
[8462]
Makes sense...
when I upload an image to the db how do I go about it?
Do I load it into a variable first?
Gregg
3-Jan-2009
[8463]
Depends on the interface to the DB. I haven't use sqlite. If it's 
just in a file, you'll need to read it first (unless the DB layer 
does that, kind of like VID does). Of course, storing files in the 
files system and just putting the name in the DB is another option. 
If you have a lot of big images, the DB can grow very quickly, and 
many DBs aren't particularly designed for BLOB storage.