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

World: r3wp

[View] discuss view related issues

Henrik
3-Feb-2007
[6715]
1. You have direct event handling with on-XYZ [do-program-code]

2. Then you have dynamic flags for, say, qualifier keys inside that 
program code, from the event system

3. Then you have face flags. Some things like size limiting a field 
should be simple. It can _probably_ be mapped to 1.
Pekr
3-Feb-2007
[6716]
do we still need all - redraw, detect, over, engage? (just asking 
:-)
Henrik
3-Feb-2007
[6717]
Pekr, I don't know. What actually calls those four functions?
Pekr
3-Feb-2007
[6718]
View kernel
Henrik
3-Feb-2007
[6719]
Then I guess we need them?
Pekr
3-Feb-2007
[6720x3]
I e.g. don't like 'over. Maybe they are there from arcane View period? 
;-) Once you press mouse button and do 'over, it no more goes into 
'over iirc, but engage. Then I wonder, if having native 'over was 
not meant only as a helper because of speed? But I regard it inconsistent
Then it leads to special sections od docs, as Note: use 'engage for 
drag and drop. For me, the 'over, as is, is unnecessary complication 
- you have to explain it, and it could be done in 'engage too.
btw - 'engage, for me, is not good word selection. Well, I am not 
native english speaking person, but even after all those years, I 
don't know its exact meaning, in relation to events ...
Henrik
3-Feb-2007
[6723]
I'm not sure either. Replacing the current FEEL system would be a 
tremendous amount of work. I was originally thinking more in line 
of extending it to those placeholders. I'm no expert on dialects 
and combining it with FEEL, but if it's possible to do, then OK. 
:-)
Anton
3-Feb-2007
[6724]
Hang on a minute.. The big revelation I had above about using REDRAW 
instead of DETECT was probably premature. Of course I must have experimented 
with both ways a long time ago and I would have settled on using 
DETECT for a reason. You have to be careful in REDRAW to avoid recursive 
SHOWs etc. It's worth more experimentation, anyway.
Henrik
4-Feb-2007
[6725]
I tried some things with REDRAW, but was only more confused than 
before as it now completely refuses to redraw the contents.
Maxim
4-Feb-2007
[6726x9]
pekr, the way the feel is built is very optimised.  there are reasons 
why engage separates the over.  I just would like access to the func 
which splits up the calls to feel. which is what I did in regraph. 
 since all events are virtual I was able to separate them differently, 
and support drag and drop directly in the graphic element's feel.
redraw realy slows down performance and can be a very dangerous memory 
clogger to.  when I replaced (long ago) all redraws in VID with better 
code in the actual engage and other feels, many views started feeling 
snappy when they had been hogs before.
I experimented a stream system for glass and it works very well. 
 it changes the way we approach events and can allow plugins to manipulate 
the way events are handled (and adding handlers for those changes) 
without the faces even knowing.
basically, each event is passed down a stream which applies the event, 
changes it or even creates new events out of it.
again, the speed is no concern as one view refresh is 10000 times 
slower than anything I have ever thrown in the event loop itself.
each node in the stream handles only one condition or type of manipulation. 
  the most obvious way to show how this is cool, is when you handle 
keys.
you can have a special node in the stream which replaces certain 
strokes with others... executing macros, or inserting a whole stream 
of text, even if the app doesn't really support it.
so you could insert the clipboard right in the inputs instead of 
having to support it explicitely in the various face styles... as 
a high-level example.
I even realised that we could add drag and drop OVER a fully working 
apps, sending the events to an external handler.. this allows things 
like interactive face manipulations while the app is running...  
:-)  cool for visual app dev... and its completely non-intrusive 
to the code of the running app.  the app just never receives certain 
events when a series of events occurs... and no need to play in the 
face's individual handlers either  (which is the biggest feature 
IMHO:-)
Pekr
4-Feb-2007
[6735]
is that what liquid does?
Maxim
4-Feb-2007
[6736x2]
I built the stream using a purpose built liquid node.  liquid is 
a generic core reference for dataflow programming.
and it comes with a reference (and fully functional) multi-purpose 
node called a plug which allows you to mix and match many types of 
dataflow nodes using the same node.
Henrik
11-Feb-2007
[6738]
I propose a very simple enhancement to BTN to the official VID to 
allow the inclusion of images directly via layout. It adds 7 lines 
of code to the BTN init: http://hmkdesign.dk/rebol/img-btn/img-btn.r

Please study the source for commenting/enhancements. Thanks.
Geomol
11-Feb-2007
[6739]
I have a problem with field and key in the same layout:

view layout [
	field
	key #"t" [alert "key: t"]
]


If I click in the field and try to enter a "t", the alert pop up. 
I'm doing this under OSX. Is it the same on other versions of View?
Henrik
11-Feb-2007
[6740]
Geomol, it's the same in Windows
Geomol
11-Feb-2007
[6741x3]
I'm wondering, why I haven't noticed this before, or maybe I have 
and forgot about it.
Is there a work-around?
Should it be RAMBOed?
Henrik
11-Feb-2007
[6744]
yes, I think it should
Geomol
11-Feb-2007
[6745]
I've put it in RAMBO.
Henrik
11-Feb-2007
[6746x2]
I wonder if I should put my proposal in RAMBO now as well, but I'd 
like the code to be approved here first...
Tests do show under OSX that the color bug afffects the display of 
images in buttons.
Izkata
11-Feb-2007
[6748x3]
It's the same in Linux, too - just came across it a couple of weeks 
ago
(Ubuntu)
*a couple of days ago
Anton
11-Feb-2007
[6751x4]
Geomol, here is a fix:
system/view/window-feel/detect: func [face event][
    either all [
        event/type = 'key 
        none? system/view/focal-face ; <--- added this line
        face: find-key-face face event/key
    ] [
        if get in face 'action [do-face face event/key] 
        none
    ] [
        event
    ]
]

view center-face layout [
	key #"t" [print "action"]
	field with [focus self]
]
(not well tested, but looks good.)
We should have checked RAMBO database - Romano posted this one three 
years ago
Do not detect hot-keys when a focal-face with caret is active
http://www.rebol.net/cgi-bin/rambo.r?id=3372&
Maxim
12-Feb-2007
[6755x4]
hum... I have the draw docs for AGG but it seems the gradient fills 
are (as usuall with rebol it seems) so documented, such that We have 
no real clue how the values change or what are the basis...
has anyone done some complement docs to describe things like the 
offet and grad-scale ?
ok... the examples after give a few clues...
hum... is it just me or should the minimum colors needed for the 
gradients be 2 ... is there really a reason why we need to put 3 
colors?  its seems like it messes up most of the fills...
Henrik
12-Feb-2007
[6759]
yes, I think gradients are quite hard and non-intuitive to do in 
DRAW
Maxim
12-Feb-2007
[6760x4]
hum... a yellow green blue gradient  give me a ring of BLACK right 
in the middle... not what I call very precise... maybe cyphre could 
explain the maths behind the gradients so we can understand  what 
we are doing?
somehow, it seems like its missing a color blend mode selection, 
multiply, add, screen, etc. right now its a ramp which fades to 0 
on each side, such that when two successive colors do not have any 
bit in common it creates an alpha channel premultiplication grey 
zone...
henrik... any tips you can give me to make it less painless?
since you've played with it a while.
Henrik
12-Feb-2007
[6764]
no, it took a lot of fiddling to get things right. I only played 
a bit with Gradient Lab, but it's not very flexible.