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

World: r3wp

[View] discuss view related issues

Duke
2-Nov-2011
[10666]
@izkata -- Much obliged!! BTW, works great with REBOL/Core 2.7.8.4.2 
(2-Jan-2011)

Just so I learn a bit more, can you tell me exactly what your code 
snippets are doing, please. Like:
layout [X: button]  ??

? X/doc => you're asking for help about the word X with the "doc" 
refinement

Where did the /doc come from?
Geomol
2-Nov-2011
[10667]
? layout

tells you, what LAYOUT is. By knowing what layout is, you may see, 
what the layout call does in the example. An effect is, that X is 
being defined.

? x

tells you, what X is. Look near the bottom, and you see DOC as being 
part of X. DOC is an abject within X, which also is an object. So
? x/doc
simple ask info about doc within x.
Endo
2-Nov-2011
[10668x2]
Duke: You can use dump-face function to get list of styles in your 
layout.

>> win: layout [bt: button 30x20 "Hello" lb: label "Test"]
>> dump-face win
Style: none Offset: 50x50 Size: 72x87 Text: none
     Style: button Offset: 20x20 Size: 30x20 Text: Hello
     Style: label Offset: 20x48 Size: 32x19 Text: Test
Or write your own:
>> win: layout [bt: button 30x20 "Hello" label "Test" led red]
>> foreach p win/pane [print bind [var text style offset size] p]
bt Hello button 20x20 30x20
none Test label 20x48 32x19
none none led 20x75 12x12
Duke
2-Nov-2011
[10670x2]
@Geomol: Where do you X in ? layout ???

If I'm learning, how would I ever "guess" to do an ? X or ? X/doc 
???

Sure ! It's being defined by "layout" - but how is a noob suppose 
to know that? 


Originally, I wanted to get help with the "layout" refinements. To 
me, it seems intuitive to simply do:

? layout/styles

But I guess that's too easy :))
@Endo: Thanks ....
Izkata
2-Nov-2011
[10672]
More poking around:

>> foreach [name style] system/view/VID/vid-styles [? name]
NAME is a word of value: face
NAME is a word of value: blank-face
NAME is a word of value: IMAGE
NAME is a word of value: BACKDROP
NAME is a word of value: BACKTILE
NAME is a word of value: BOX
.....more...
Geomol
2-Nov-2011
[10673]
Duke, it's maybe not the easiest task to try to understand the graphical 
parts of REBOL as the first thing. Maybe get a feeling for how objects, 
functions and the other parts of the language works first?
Izkata
2-Nov-2011
[10674]
For my previous snippet:

>> layout [X: button]

X is just a generic variable name I use when I need a throwaway, 
like others use "foo", "bar", and so on.  Layout is just assigning 
the button object to the word X, which I'm exploring in the next 
few lines like Geomol explained.


I explored system in the same way to find view, then VID, then vid-styles. 
 vid-styles is a block containing a series of alternating names and 
definitions, which the foreach loop is simply going over
Duke
3-Nov-2011
[10675]
@Izkata:  I understand your X now!  If /doc is simply a refinement 
to "help", then that fact is not showing up when "help" is entered 
by itself.

bottom line: I simply wanted to use the "help" system to explore 
 what's available in "layout" and how to use each component. I was 
assuming that the "help" system was a comprehensive reference. It 
may not have been designed as such.
Henrik
3-Nov-2011
[10676x3]
You are being thrown off, because LAYOUT processes a dialect, which 
HELP has no chance of understanding.
It helps to understand, what LAYOUT is doing: As you may know, VID 
is a dialect, which is a parsed collection of words, numbers, strings, 
etc. in a specific format, essentially a sub-domain language, within 
REBOL. The job of LAYOUT is to parse the dialect block and convert 
that into a face tree (a face is just an object, try typing FACE 
in the console). The face tree can then be fed to the VIEW function, 
so the layout can be displayed, so:

VID -> layout -> view -> window displays with content


You can also create a face tree manually, but that's far more laborious, 
which is why VID is there.


When LAYOUT creates a face, it does so in accordance with a style 
from Izkata's shown style list, such as IMAGE or FIELD. A style is 
essentially a prototype face.
VID is however quite sparse, as it was written in a week, by Carl, 
a decade ago. There are some extensions and replacements available.
Endo
3-Nov-2011
[10679]
as it was written in a week, by Carl
 is that true? Cool or pity :)
Henrik
3-Nov-2011
[10680]
That's what he told me some years ago. It was only meant to be a 
demo of View.
Gabriele
3-Nov-2011
[10681]
the initial version, yes. but, vid has been worked on after that...
Kaj
3-Nov-2011
[10682]
Wasn't R3 going to add help for dialects?
Duke
3-Nov-2011
[10683]
@Henrik:  I now understand the "hoops" that need to be jumped into 
in order to get graphics to happen in REBOL. 
Is REBGUI an extension/replacement for VID? 

I sure hope that the answer to Kaj's question is "yes" - cuz that 
would make the "help sytem" much more useful, IMO.
Thanks for the input!
GrahamC
4-Nov-2011
[10684]
Rebgui is an alternative to vid ... it has more widgets but is less 
flexibles
Henrik
4-Nov-2011
[10685]
Kaj, I think Carl is still thinking about that. The R3 GUI will provide 
some documentation.
Pekr
4-Nov-2011
[10686]
In the past I proposed help to use a refinement, e.g. /custom, /dialect, 
and the format would then be:

help/custom dialect-name "button"


It is a problem right now, as 'help uses just one argument. But maybe 
it could just accept more types, e.g. a block, and then we could 
have a dialect to help us with dialect help :-)
Henrik
4-Nov-2011
[10687]
I think one solution is to add a uniform domain based dictionary 
(one domain for styles, one for VID, one for other dialects), that 
help understands, but it can unfortunately not make dialects themselves 
self documenting. Possibly there would be automated dictionary builders, 
but these take a lot of time to run during startup, so maybe they 
should be some sort of callbacks from help to get just-in-time help 
on a domain.

Then you could use:

>> help/on styles

to get a dictionary on the styles, based on a dictionary builder.
Duke
4-Nov-2011
[10688x2]
@GrahamC:  Thanks for clearing that up in a nutshell.
@Henrik  & Pekr:  IMHO, enhancing the "help" system as you suggest, 
is the greatest form of advocacy that the REBOL community can undertake. 
let the "help system" be as comprehensive as possible - whatever 
form it takes, so that REBOL novices are not faced with yet another 
source of stress and uncertainty - especially if they come from a 
non-Forthish or LISPish background. If a novice can solve - by himself, 
using the "help system" - what he perceives to be an ambiguity, already 
that is a success  which can only give impetous to continueing his 
exploration of REBOL.
Henrik
10-Nov-2011
[10690]
Question:


If you have a window face and SHOW it, does it perform a different 
kind of SHOW, if the window face /CHANGES is set to TEXT or ACTIVATE? 
I have some problems refreshing a table along with changing the window 
title during the same SHOW.
Ladislav
10-Nov-2011
[10691]
RebGUI SHOW is not the same as SHOW for VID
Henrik
10-Nov-2011
[10692]
I know. The problem is however the same with RebGUI's SHOW-NATIVE.
Gabriele
10-Nov-2011
[10693]
IIRC, /changes meant that show did not do all the work, but only 
what it was asked to do by /changes
Henrik
10-Nov-2011
[10694]
ok, thanks
Henrik
22-Nov-2011
[10695]
I'm studying a possible font alignment bug with Cyphre:


view layout [origin 0x0 space 0x0 t1: text 100 black white "Boo" 
right t2: text 100 black 200.200.200 "Boo" right bold]


Does the last "o" line up to the same pixel for you (correct) or 
is there a slight misalignment (wrong)? State your OS, please. Thanks.
Sunanda
22-Nov-2011
[10696]
I can't see any mis-alignment (we're looking for it to be flush right, 
yes?)
  Win 7  rebview 2.7.6
Geomol
22-Nov-2011
[10697x2]
Correct alignment here, and bold doesn't seem to have an effect, 
as both texts looks the same.

OS X v. 10.6.8, View v. 2.7.7
Correct alignment under WinXP on same Mac using VirtualBox. Here 
the 2nd text is bold, starts 1 pixel before, so it's correct aligned 
on the right side.
Gregg
22-Nov-2011
[10699x2]
Looks OK here, XP x64.
View 2.7.7
Pekr
22-Nov-2011
[10701]
Not sure what we are looking for, but here the bold text i shifted 
cca 1 pixels to the left = both "Boo" texts are not aligned to the 
right to the same pixel ... View 2.7.8, Windows Vista
Izkata
22-Nov-2011
[10702]
Ubuntu 10.04, View 2.7.6


Both the 'o's in the lines start at the same place as the one above/below, 
but the bold ones are 1 pixel wider on the right.

The 'B's end at the same place, but the bold one extends 1 pixel 
further to the left.
Neither is flush with the right side of the pane/window
ChristianE
23-Nov-2011
[10703]
REBOL/View 2.7.8.3.1 1-Jan-2011 on Win 7


Correct alignment for the default font, misplacements when trying 
with some other fonts (all featuring crafted bold styles).
Henrik
23-Nov-2011
[10704x2]
This is very interesting.
We'd like to test this under R3 as well.
Oldes
24-Nov-2011
[10706]
Win7 64bit with 2.7.6 - the bold Boo is moved to the left as Pekr 
described.
amacleod
10-Dec-2011
[10707]
I posted in OSX group but I just noticed its a private group...anyway, 
just got a mac mini and I'm having trouble installing rebol. I run 
through the install process but it does not seem to to install properly 
for example it does not make a ".r" file association.
Kaj
10-Dec-2011
[10708]
It doesn't seem to be able to do that, although I vaguely remember 
Robert may have found a method
Henrik
16-Dec-2011
[10709x2]
Is there a method to find the active window? I actually thought I 
had this in the VID Extension Kit, but apparently not.
BTW, thanks for testing the font issue.
Maxim
16-Dec-2011
[10711]
adding an event handler and trapping window activate and deactivate 
events is one way.
Henrik
16-Dec-2011
[10712]
ok, thanks
Maxim
16-Dec-2011
[10713]
its possible that the window stores its active state in the flags 
block, if this is the case could also tl
Henrik
16-Dec-2011
[10714]
that would happen from mezzanine code?
Maxim
16-Dec-2011
[10715]
... could also loop thru all faces in screen-face/pane.    but I 
don't know if view actually stores the active state anywhere.