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

World: r3wp

[View] discuss view related issues

Henrik
2-May-2010
[9843]
I don't remember how it works for list-view, but don't you have to 
specify the new size, when using the resize function?
Thorsten
3-May-2010
[9844]
For listview it is like lv/resize 400x300. I used this syntax in 
the global event function as well as for the resize button.  It only 
worked when with the button when i didn/t resize the window before.
Henrik
3-May-2010
[9845]
This works as long the windows hasn't been resized before.

 <- this sounds a little odd. Could it be that the inserted event-func 
 is not called properly?
Thorsten
3-May-2010
[9846]
It is odd. But i just don't know how to test, if it is called properly. 
For all other panels and panes it seems to work ok. I just had some 
difficulties with backdrop, which doesn't seem to resize to the full 
width.
Henrik
3-May-2010
[9847x2]
can you post your event-func?
the thing is that it should work identically from the event func 
and when used from a button
Thorsten
3-May-2010
[9849]
This is my function: insert-event-func [
            if equal? event/type 'resize [
				  header/size: as-pair main/size/1 60
				  header1/size: as-pair main/size/1 60
				  separator/size: as-pair main/size/1 4

				  navigator/size: as-pair 200 (main/size/2 - 120)
				  navigator1/size: as-pair 200 (main/size/2 - 120)
				  
				  panels/size: as-pair main/size/1 (main/size/2 - 120)
				  panel1/size: as-pair main/size/1 (main/size/2 - 120)
				  
				  li/resize: 400x300
				  				  
				  panel2/size: as-pair main/size/1 (main/size/2 - 120)
				  panel3/size: as-pair main/size/1 (main/size/2 - 120)
				  
				  footer/size: as-pair main/size/1 60
				  footer/offset: as-pair 0 (main/size/2 - 60)
				  footer1/size: as-pair main/size/1 60
				  
      			  show main

            ]
            event
]
Henrik
3-May-2010
[9850x2]
li/resize: 400x300

should be:

li/resize 400x300
that's why it only works once. :-)
Thorsten
3-May-2010
[9852]
Yes, now it works in all ways.  So obvious! OK, thanks a lot.
Henrik
3-May-2010
[9853]
If you don't want to handle resizing manually, you could look at 
the VID Extension Kit.
eFishAnt
3-May-2010
[9854x2]
There might be a better group than View, but I am looking for industry 
literature about UI delays.  I remember something about an IBM paper 
that said 1/10 of a second is the maximum keyboard or UI delay that 
is imperceptible.  I wonder if there is a good whitepaper/publication 
on this that someone can recommend that would be solid enough to 
wack a supplier over the head with who has very slow UI latencies. 
 They are in denial about latency affecting the user experience.
ironic enough, the current 1.2.22 AltME which has noticeable behavior 
changes while sending messages, will cause duplicated messages if 
you try a second time to CTRL-S while waiting for it to go out...so 
I am seeing more duplicated messages...just did one in here...  :-\
Sunanda
3-May-2010
[9856]
a good place to start is Jakob Nielsen's research:
http://www.useit.com/papers/responsetime.html
eFishAnt
3-May-2010
[9857]
PERFECT!  you shine, Sunanda!
Maxim
3-May-2010
[9858x3]
one easy suggestion for improving "responsiveness" is to ALWAYS put 
UI code at the top of any processing.


it takes us quite a long time to react to a change in the ui, so 
that delay can be used to do the processing.
that was one reason the Amiga felt so fast... the gui wasn't managed 
by the application's task, but by the os... independently of the 
application's business.    For example, even if the application was 
processing, the menu would pop up in real time... cause intuition 
(the gui manager) was at a higher priority than most applications.
@ Gregg,


MIN and MAX on pairs right now is extremely usefull to intersect 
and or add up regions.
Paul
4-May-2010
[9861x2]
How you guys use request-file to open only for selection of folders 
(exluding files in the listing)?
I have a method that I use that I don't know of being documented 
anywhere so I'm wondering what others are doing.
james_nak
4-May-2010
[9863]
Just found an interesting behavior. I had a layout that mimics the 
request-password. It is launched via view/new and do-events  If I 
did an unview after the user entered in the password ( apass: field 
hide [unview] , it would close it but later on other requestors or 
view elements would disappear. The app was still running though. 
If I closed the request via a button click it works fine. I just 
wanted it to respond to a CR instead of having the user have to reach 
for the mouse. At this point though, let em reach for the mouse. 
:-)
Graham
4-May-2010
[9864x2]
is it modal?
guess not as you are using view/new ...  are you using unview/only 
?
james_nak
4-May-2010
[9866x3]
Yes, I think I tried that. Of course I think I tried a million ways. 
:-)
Let me check.
You know what they say? I could have sworn I used it... Thanks Graham.
Gregg
5-May-2010
[9869]
Paul, post your method. There wasn't any common dialog for folder 
selection in Windows for a long time, and REBOL still doesn't provide 
direct access to it.
BrianH
5-May-2010
[9870]
for a long time
? I remember using the folder selection dialog in Win3.1 apps...
Maxim
5-May-2010
[9871x2]
windows folder selection dialogs really suck for many reasons... 

one of the most annoying is that you cannot create a folder while 
you are hunting for one.
so if Paul has found a trick that allows us to use the normal file 
requestor so it can pick folders... YAY
Gregg
5-May-2010
[9873x2]
It wasn't a common dialog though, and required callbacks (at least 
the Shell API I knew of). I don't remember it in 16-bit Windows, 
but the duff on the floor of my brain is thick.
Max, not sure what dialogs you're talking about, but the common dialogs 
allow that.
BrianH
5-May-2010
[9875x2]
Maxim, I think that the "New folder" button is an option for the 
folder selection dialog; at least I see it often in programs pre-Vista. 
Vista+ the folder selection dialog is a subset of the Open/Save dialog, 
with most of its abilities.
Gregg, it's possible that the Win3.1 programs that I remember were 
using a custom dialog that served as the inspiration of the later 
common dialog, but they worked the same. The common dialogs themselves 
were a later addition, iirc; not sure whether Windows before 3.0 
had them.
Maxim
5-May-2010
[9877]
was there windows before 3.11?  ;-)
BrianH
5-May-2010
[9878]
Yup. Windows had a 1.0.3 release, just like REBOL but with less memory 
usage :)
Maxim
5-May-2010
[9879]
I was joking, there where many releases before 3.11 ...  ;-)
BrianH
5-May-2010
[9880]
I know, just going with it :)  Though practically, I considered REBOL 
1.0.3 to be more useful than Windows 1.0.3 :)
Maxim
5-May-2010
[9881x2]
hehe, but its funny that windows 1.0.3 actually didn't have windows, 
it was a row/column/grid gui engine.
the OS itself I mean.
Steeve
5-May-2010
[9883]
and it was running with what... less than 1 Mb ?
BrianH
5-May-2010
[9884x2]
Less that 512k - room to spare to run apps even if you only had 640k.
Partly due to the wonders of small screen resolutions and bitdepths 
(which made tiled windows a bad idea). Nowadays I have screen images 
that take more memory than Win 1.0.3 altogether :)
Steeve
5-May-2010
[9886]
I remember that with 3.11 the memory allocated for graphic controls 
of an active window was limited to 64Kb
Maxim
5-May-2010
[9887]
yes people forget that just storing a SINGLE bitmap which is 1280x1024 
in RGBA colors, takes up 5.25 MB of ram.

it adds up very quickly.
BrianH
5-May-2010
[9888]
To be fair Steeve, just about everything in Win3.1 was limited to 
64k - stupid segmented memory. I jumped at Win32s when it came out 
:)
amacleod
13-May-2010
[9889]
trying to use set-face in a loop to assign values to multiple text 
fields...what is wrong here?

fields: [a b c]

foreach field fields [
	set-face field now
]
Maxim
13-May-2010
[9890]
although I never used set-face... 

I'd say you have to do:

	set-face field to-string now
amacleod
13-May-2010
[9891x2]
I tried it with a string ...I was not thinking when I wrote the example
getting this error:
** Script Error: in expected object argument of type: object port
** Where: set-face
** Near: if all [
    access: get in face 'access
    in access 'set-face*
] [
    access/set-face* face value
]
if