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

World: r3wp

[View] discuss view related issues

Pekr
15-Aug-2005
[2229x5]
That = thanks ...
I would like to ask for your experience with UI methodology. I am 
about to create small system, featuring "many" screens, as as I am 
not experienced with more complete UI with Rebol, I would like to 
ask for assistance.
If you look at IOS for e.g., there is something I don't like about 
it - UI inconsistency - some reblets do feature cancel button, some 
don't, you can find the same buttons with different screens at different 
positions ...
I would like to ask, what aproach do others take?
E.g., with some older scripts, I used 'panel, for grouping buttons, 
as it allowed me for kind of "sub-layout" (reset coordinates). My 
typical screen will feature "menu buttons" (as I don't want to use 
menu, as none is standard in VID yet and choise is ugly - both in 
look and in behavior), grid, and I want "Add, Edit, Delete" buttons 
(probably on the right side of grid, alligned to top of grid vertically 
etc.
MikeL
15-Aug-2005
[2234]
Petr,  In a recent production application, here is what we recommended 
to the users in a web based environment and they liked enough to 
support us with our standards group:

1. tab boxes to cut down on many screens (or to give appearance of 
that) and saves on some trips to the server
2. flyout menus to allow more intuitive navigation

3. breadcrumbs to show they where they are now and how to get back 
to a higher plane

This was a pretty big step forward from the very plain html screens 
which they had been using before with more roundtrip activity.

We prototyped the system in HTML using REBOL CGI functions and got 
some pretty detailed flow before the project was launched.

Maybe your many screens solution should look at those things. I am 
assuming you are creating a View application.
Benjamin
15-Aug-2005
[2235]
Hi there i recently had to do a job where i need to make use of read-net 
or read-thru because i needed to show a graph representing the amount 
of data beeing downloaded, but when it comes to write or save this 
is not possible because no callback is addmited, so i ask, is there 
a way to know how much data form a file has been uploaded or saved 
?
james_nak
15-Aug-2005
[2236]
Is there a rebol conversion from the 24 hour clock to AM PM?
Sunanda
16-Aug-2005
[2237x2]
AM/PM time: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-message.r?m=rmlTTVK
File download progress:

 The Library downloader tells you how much of a file it has downloaded. 
 http://www.rebol.org/library/public/repack.r

The magic is in the code that uses :hook  -- you'd have to ask Maxim 
for a full explanation.
Anton
16-Aug-2005
[2239]
Volker, I am very pleased with my latest version of find-face-deep 
in window.r:
Pekr
16-Aug-2005
[2240]
what does it do? :-)
Anton
16-Aug-2005
[2241]
site: select load-thru http://www.reboltech.com/index.r[folder "Anton"]
clear find site %index.r
do-thru site/library/include.r
include [site/library/window.r [test-find-face-deep]]
push: func ["push a value onto stack"
	[catch]
	stack [series!]
	value [any-type!]
][
	throw try [return insert/only tail stack value]
]
pop: func ["pop a value from stack"
	[catch]
	stack [series!] /local v
][
	throw try [
		v: last stack ; copy last element

  remove at stack length? stack ; remove last element without modifying 
  index
		return v
	]
]
test-find-face-deep
Pekr
16-Aug-2005
[2242]
test-find-face-deep has no value error ...
Anton
16-Aug-2005
[2243x4]
Sorry, need to update window.r probably. Do this:
	load-thru/update site/library/window.r
and try the above demo again.
What it does is, given an "absolute" mouse offset relative to the 
window face, as may be supplied by a DETECT function, finds the face 
which it is over.
I have fixed it to handle face edges, *and...* iterated pane functions 
:-)
Pekr
16-Aug-2005
[2247]
still does not work, Include: Couldn't load-thru http://www.lexicon.net/anton/rebol/library/window.r
Anton
16-Aug-2005
[2248]
load-thru/update http://www.reboltech.com/index.r; and try above 
demo again
Pekr
16-Aug-2005
[2249]
it works, thanks ... cool!
Volker
16-Aug-2005
[2250]
Cool. Searching for an my old drag-drop-demo now :) And the button-list 
is cool too btw :) Maybe that complete state-saving should be supported 
by rebol, and focus could include a focal-index .
james_nak
17-Aug-2005
[2251]
Thanks Sunanda for the AM/PM tip.
Anton
17-Aug-2005
[2252]
Volker, still working on the state saving idea...
Volker
17-Aug-2005
[2253]
I think thats a big project, patching a lot of styles. and that focal-thing 
must be done internal. For now i prefer only to think about it. But 
then you are good at workarounds :)
Anton
17-Aug-2005
[2254]
Oh no..  I have already a way to avoid patching all the styles :) 
 I have to think about focal-face some more, but I think it can be 
done with a ctx-text patch in the way I have already used in tree-face.
Volker
17-Aug-2005
[2255]
SOunds interesting :)
Anton
17-Aug-2005
[2256]
It is :) I'm just about burning up with this one.
james_nak
18-Aug-2005
[2257]
Is there a way to use request-file to return a path without having 
to select a file within that path? I'm writing a reblet that requests 
a path so it can work on its contents. If I have to select a file 
then so be it .
Volker
18-Aug-2005
[2258]
help shows a request-dir. but i guess not native.
james_nak
18-Aug-2005
[2259]
I'll try that right now
Volker
18-Aug-2005
[2260x2]
maybe its possible to suggest a file, and if the user does not change 
the text that name is returned? need experimenting.
request-file/file %dummy ; works with wine-requester, i hope real 
windows too?
james_nak
18-Aug-2005
[2262x2]
Volker, no, doesn't work. Don't worry about it. This is a personal 
reblet so I can take the extra step.
Thanks.
Benjamin
20-Aug-2005
[2264]
Again is there a way to know how many data is beeing saves to a file 
? write-net ? for example or is it just not possible w / rebol ? 
writing and reading both should share the callback option
Anton
20-Aug-2005
[2265]
Yes, it is possible. Will take a while to implement and bug-test, 
though. Ports must be opened in direct mode, eg. port: open/direct 
url
Robert
20-Aug-2005
[2266]
I have an iterated face function. This funciton stores some information 
that is than used later by an other function.


The problem I have is that the iterated function is executed when 
the VIEW command is exectuted. How can I call my other function AFTER 
the iterated function was exectued (the drawing is finished)? I thought 
that the iterated function is called at the time the LAYOUT command 
is used. Than I could call my other function before issuing a VIEW 
and it all would work. (BTW: The fact that the iterated function 
is called on VIEW and not LAYOUT should be documented).
Volker
20-Aug-2005
[2267]
Think of iterated function as another way of "show". Only that this 
show is called multiple times on a real show. One time for each row. 
so you can feed different data (and offsets!). Looks like multiple 
faces, needs space for one.
james_nak
20-Aug-2005
[2268]
HI again. I was wondering how you would approach this matter: I have 
a block of objects (all the same type - they are records of first 
name, last name, unique id, etc) I want to find the index of a particular 
object by unique id. I usually just go through a loop and check each 
object's id for a match and that works but is there a better way? 
 Thanks.
MikeL
20-Aug-2005
[2269]
James,  I have always (like sometimes) found it is better not to 
use index values but to use the REBOL block structure and expose 
the unique key separately in your data structure. e.g. 

data: [
    a [
        name "A"
        last-name "Alphabet"
    ]    
    b [
        name "B"
        last-name "Alphabet"
    ]
]

foreach [id blk] data [
    print [id blk/name]
]


The only reason that I can see to know the index is if you want to 
use it to index into a related data block / table but it would be 
better (in my opinion) to set the keys to allow that.  You don't 
need to know the index in this example because you can get the data 
block using the REBOL path notation.  Either 
select data 'b 
or data/b
or data/b/name
james_nak
20-Aug-2005
[2270]
MikeL, Very cool idea. Thanks.
Ladislav
20-Aug-2005
[2271]
James: see http://www.compkarori.com/vanilla/display/aa.r
Geomol
22-Aug-2005
[2272]
Is there a way to copy a part of an image from a certain position 
to another image at a certain position? Something like:

change/part at image1 5x5 at image2 10x10 20x20


That should take 20x20 pixels from image2 at position 10x10 and put 
them in image1 at position 5x5, but it takes from the start of image2, 
so it doesn't work as intended.
Anton
22-Aug-2005
[2273x5]
use SKIP not AT, I think. Let me test...
I kept tripping over that one...
Ahh.. Actually, yes, you can't control the start of image2. Yes, 
I asked about this soon after the release and was told it's not that 
important to implement in CHANGE. So you have to make a temporary 
image with the part of image2 that you want first.
That's a frustrating one. It would be so beautiful if that were implemented...
Robert, you can see http://www.rebol.com/docs/view-system.html#section-10
for more insight on how pane functions work.

An iterated face function is there to save memory, so it must be 
executed every time the display is refreshed. It creates the illusion 
of many faces by moving one face around very quickly.
It does not create and position new faces like LAYOUT.

What LAYOUT allows you to do is set up the pane function that will 
be used afterwards when SHOW is used or VIEW is used and events start 
flowing.
Geomol
22-Aug-2005
[2278]
Anton, maybe this is to way to do it? It seems to work:

change at image1 5x5 copy/part at image2 10x10 20x20