• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp5907
r3wp58701
total:64608

results window for this page: [start: 57501 end: 57600]

world-name: r3wp

Group: !REBOL3 GUI ... [web-public]
BrianH:
26-Jul-2010
Keep in mind that is the layout dialect that shouldn't have colors. 
Styles are specified with a different dialect, and they can have 
colors in their draw blocks.
Henrik:
26-Jul-2010
Anton, you are free to do that, but it will break the philosophy 
of how styles work together. I think this point is not properly understood, 
but it will move the GUI to the next level, where you spend zero 
time thinking about colors or theme, can properly divide UI design 
between a graphical designer and one producing programs.
BrianH:
26-Jul-2010
For the other 0.1% you can write your own styles, or your own themes. 
Of course, when you are doing that you are being a style developer 
or a theme designer, not an app developer. The app developer (possibly 
you) will use the style developer's styles.
BrianH:
26-Jul-2010
You jumped on me for making a statement you misinterpreted completely, 
so I take no offence :)
Henrik:
26-Jul-2010
he pragmatic, and I suppose he sees it as pragmatic when he wants 
to use colors to decide button emphasis. if you are doing something 
quick and dirty that works, but when you are building very large 
apps, that's a no-no.
Henrik:
26-Jul-2010
that's not yet implemented. colors in Carl's version are hard coded. 
notice also that a lot of values are hardcoded in his styles, and 
he told me this was for speed.
BrianH:
26-Jul-2010
That way a theme designer can come up with a well-balanced color 
scheme that could be used by many applications, as long as the corresponding 
concepts had assigned colors in the theme.
Henrik:
26-Jul-2010
I expect there will be a lot of abstractions between the hard values 
and the styles. The material system will also help with that.
BrianH:
26-Jul-2010
With a meterials system you could bake a whole theme in at app init 
time, then have the styles bake the applicable colors into the styles 
at style init time.
Henrik:
26-Jul-2010
the materials system borrows many terms from 3D modeling. "baking" 
is another one and a good one for providing an explanation of what 
should occur during style init.
BrianH:
26-Jul-2010
One of the other original motivations for strong theming support 
was to get the theming sites around the internet involved. Challenge 
them to come up with good themes. Their efforts would market REBOL 
as well. But disabilities, other form factors and other situations 
are a factor as well.
Henrik:
26-Jul-2010
it's not just looks. deep semantics that are used to make the GUI 
function properly relies on functional styles rather than appearance 
of styles. if you have a red button, the GUI won't know of its importance. 
but if you have an OK-BUTTON, you can tell how important it is, when 
it should be focused and what you are allowed to do with it. automating 
this can cut off hundreds of hours of development and testing time, 
because you don't have to pay attention to those details. the UI 
system does that for you.
Henrik:
26-Jul-2010
that is why I utterly hate when a UI system does nothing to offer 
these features and the focus is on how pretty your buttons are or 
if the UI uses hardware acceleration.
Henrik:
26-Jul-2010
sure, have you ever written a very large document in Word and then 
wanted to generate a table of contents using its built in TOC generator?
Henrik:
26-Jul-2010
and that's why you never see in a word processor a function like: 
"collect all red text for use in TOC". it says: "use headline level 
1 for TOC".
Gregg:
26-Jul-2010
On naming, I think PANEL is too general and doesn't describe the 
layout behavior. I could live with it though. 


I agree that TABLE should be saved as that is the common term for 
the spreadsheet model. GRID was used for that for a long time, and 
still is sometimes, but GRID could also be good when thought of as 
a canonical grid layout. GRID-LAY, CANON-LAY, or TABLET aren't too 
inspiring either.
BrianH:
26-Jul-2010
Gregg, one thing that became clear in discussions of function doc 
strings recently in Curecode is that it is impossible to fully describe 
the behavior of some programming functions and objects using just 
one name, one sentence, whatever. No matter how long you allow the 
description to be, any sufficiently complex thing won't be describable 
in that limit. And you *want* limits because people have to read 
and write these terms, even more so for fundamental stuff that will 
be used a lot. The use of small, preferably non-compound words will 
speed up the process of humans reading and writing layouts. Java 
failed this pop quiz, btw.


This is why we have names for stuff (and people too: Does "Gregg" 
describe you?). A name serves as a placeholder for the knowlege you 
already have about the object in your head (preferably) or in the 
documentation. As long as we have good documentation, any small, 
easily distinguishable name will do. You will never fully describe 
the term, but by reading the documentation, or source, or through 
experience, the programmer will know what is meant.


In this specific case, "panel" is a general term, but many GUIs have 
traditionally used the word "panel" to describe the corresponding 
concept in their systems. That term never fully describes the behavior 
of that object, but it makes a good, easy to remember name for a 
complex concept that the developer is expected to have to learn. 
By using PANEL, at least experienced developers will know that they 
will have to look things up, and inexperienced developers will have 
to look things up no matter what name we choose. You don't get the 
same benefit from the term BOARD, for instance, because while the 
English terms are similar, "board" doesn't have the historical connotations 
that "panel" does in the computing world, so it doesn't gain the 
benefit of them.
BrianH:
26-Jul-2010
Yes, I realize ithe irony in using such a long post to argue for 
short words, but in some ways it illustrates my point :)
Henrik:
5-Aug-2010
small status update:


Not much happening on the release/testing side. Bolek found a nasty 
bug in MAKE-FACE, causing FACETS to be lost. Cyphre and Ladislav 
continue to work on resizing and Bolek is working on styles. When 
the styles are properly adapted to the new resizng scheme, I can 
test the new dialogs properly.
Henrik:
5-Aug-2010
the R3 GUI does something like that already with a RELAY option, 
but it's cumbersome to use and less flexible.
Robert:
5-Aug-2010
Isn't LINK a better word?
Henrik:
5-Aug-2010
attach: [

 "Set state of a face to our face's value and performs its main function."
	name [word!] field [word! none!] our-field [word! none!]
] [

 set-face/field get name get-face/field face field our-field ; (none 
 is allowed)
	do-face get name
]

how it looks now.
Henrik:
5-Aug-2010
a reference to the face itself
Anton:
5-Aug-2010
Or is it defined at a higher level?
Henrik:
5-Aug-2010
each reactor is converted to a function, where the first argument 
is the face and the remaining arguments are as shown in the argument 
list above
Henrik:
5-Aug-2010
>> source guie/actions/attach
guie/actions/attach: make function! [[face value

    {Set state of a face to our face's value and performs its main function.}
    name [word!] field [word! none!] our-field [word! none!]
    /local
][
    set-face/field get name get-face/field face field our-field
    do-face get name
]]

; also VALUE is in there.
Anton:
5-Aug-2010
I think I would reword the doc string a bit for grammatical consistency.

It looks like it should be either "Set" and "perform", or "Sets" 
and "performs".
Anton:
5-Aug-2010
Does it actually set the "state" of a face, or is it really the "value" 
of a face ?
Henrik:
5-Aug-2010
I changed the text, as that was inaccurate:


Set a field of a face to a field of this face and perform its main 
function.
Anton:
5-Aug-2010
Perhaps, to eliminate some ambiguity, it should be:

Set a field of a named face to a field of this face, then perform 
the named face's main function.
Henrik:
5-Aug-2010
there is no longer a single "action". what you do is state a reactor 
or a set of reactors and it's this set of reactors that would be 
equivalent to R2's action, in that DO-FACE performs that set of reactors 
in sequence.
Henrik:
5-Aug-2010
and by main function, the idea is that faces can be accessed on multiple 
levels, i.e. you can also just run a single reactor in the face.
Maxim:
5-Aug-2010
Although I've implement 5 complete GUI frameworks, so far I've stayed 
relatively silent on the R3 GUI front cause I'm building my own framework 
and I don't want to interfere with the R3 system.


but I will pitch in here and say that what Henrik proposes is a good 
idea (I use the same name for a relatively similar feature), though 
it needs one thing if it is to be usable by newbies.


a way for do-face NOT to call attach.  the reason is that if you 
want several cooperating controls, they must not create feedback.
Maxim:
5-Aug-2010
for an imperatively driven system like the R3 system, you might want 
to look at how Amiga OS's BOOPSI system managed this.  its relatively 
easy to code and allows for a much more robust data interchange between 
controls.
Maxim:
5-Aug-2010
BOOPSI used an intermediate structure which acted as a controler 
to which you connect everything that has dependencies. then you call 
do on IT.
Maxim:
5-Aug-2010
my old VALVE liquid system was similar to this and I could easily 
have 30 interconnected controls in realtime, all refreshing, some 
even generating data which where used in other parts of the gui (like 
backgrounds).  so you'd have a control control and the whole "stylesheet" 
would updated interactively.
Maxim:
5-Aug-2010
an other simpler way, is to have a refinement on do-face,  /REACT 
 which indicates that its being driven from another control.  so 
then, you make sure that this face's do-face doesn't follow up on 
its own.
Robert:
5-Aug-2010
Petr, the app logic shoudl just get a trigger from the GUI (subscriber 
pattern) and than do what ever makes sense.
Robert:
5-Aug-2010
We have a VFSM (virtaul finite state machine) imeplementation for 
this.
Henrik:
5-Aug-2010
Robert, I'm not sure how much theory there is in it. It seems more 
to be a feature that needs to be added to the reactor evaluation 
part.
Maxim:
5-Aug-2010
I also think that this is the kind of thing which should be kept 
simple to a minimum.  this above simple procedure covers the majority 
of cases.
Maxim:
5-Aug-2010
if users need something much more complex, then they are fully able 
to implement their own within the reactors.


IMHO, this is a generalized "helper" for those little things which 
aren't fun to code manually and for which a simple API does the job.
Maxim:
5-Aug-2010
its best to make the actuall API non cyclic directly.   


so if the various event/data handling systems can identify that they 
are being only required to RECEIVE data, then they know that they 
shouldn't cause any reactions of their own.


if your reactors are all basically derived from a single or few functions, 
then its not a big deal to implement.


but if each field has its own implementation then it can be quite 
a tedious effort, since you must revise all of them so they are non 
propagating.
Robert:
5-Aug-2010
graph: As Gregg said, if we can link stuff, dataflow is not far away. 
And this will result in a constraint solver a la Excel. Which would 
be very cool to have anyway.
Henrik:
6-Aug-2010
The dialect is low level, i.e. not a mezzanine, so I guess some conversion 
work needs to be done.
Robert:
7-Aug-2010
I t hink within the next 1-2 weeks a major milestone will be reached. 
host-kit with fully externalized graphics, resizing system mostly 
working and a couple of styles using it available.
Robert:
7-Aug-2010
IMO this can be a next host-kit release.
shadwolf:
7-Aug-2010
is it possible to know who work on what in the GUI topic and have 
a slight idea of the steps done and the steps to be done ....
shadwolf:
7-Aug-2010
ok so then does ritch text is a really something to be set as default 
inside the VID extension or isn't it wiser to let that as a side 
project to make research about the perfect way it could be done... 
and we let in draw a set of basic commands related to draw (a revamped 
set ofcourse) for instance I think that a ritch text engine is too 
much for the syntaxe colored editor we made ... it's like taking 
a nuke bomb to kill a single little fly .... but such an engine by 
default can anyway open new perspectives. but what annoys me in the 
process is to do this  raw script -> conversion to ritch text dialect 
-> conversion to draw by the rich text engine ...  instead of doing 
this raw script text from file.r -> conversion to draw using parse. 
But maybe i'm wrong ... anyway one way or another i will do a port 
of area-tc. and i assume that if the rich text engine seems too much 
for me then i could still do my proper engine relying on the draw 
for text lower level instructions.... (not to mention i like the 
idea of learning parse through  experiements)
shadwolf:
7-Aug-2010
and if the rich text engine doesn't handle clickable link display 
how can we add that to the rendering engine ? for example during 
a moment Steeve planed to add to area-tc the hability to render url 
in the rebol header block in a special way  in order to have them 
click and open the navigator with tthe url you clicked over. in an 
open engine like area-tc adding this isn't difficult  but adding 
this to a black box called rich text rendering engine seems to me 
to be harder... but i'm certainly wrong ...
shadwolf:
7-Aug-2010
with rich text come a lot of  troubles like handling paragraphs resizing 
things etc... how and where images are inserted withing the text 
paragraphs etc ... Can at some point the image inserted within text 
can be a draw set instruction rendering (for graphics or SVG image 
rendering ) etc... how will that engine grow ?
shadwolf:
7-Aug-2010
if it's just a cheap intent to mimic rich text that will make people 
laugh but if it's a  main concern and a constant work then it can 
become something really awsome.
Oldes:
7-Aug-2010
I don't think it will be a black box.. richtext will be part of host 
kit, I think. And tight integration of text rendering with richtext 
engine is good imho.
Graham:
7-Aug-2010
Henrik .. that's a big job everyone has.
Henrik:
8-Aug-2010
shadwolf, I suggest waiting with further comments until a release 
is made, so there is an actual base for commenting on.
shadwolf:
8-Aug-2010
i'm not commenting what will be  done ofcourse i didn't see it.


But i already looked at the richtext engine carl proposed 2 years 
ago and that's far to be good.... 

In fact richtext engine is supposed to be dialect layer on top of 
draw. 

That dialect layer is adapted normally to handle text rendering the 
proper way which implies that the lower level text functionnalities 

in draw for text related effects is better done than previously. 
That's all i say ...


Building a layer richtext what ever it is if the AGG /draw dialect 
exploit poorly the text related effects that will be a pain and a 
very small benefit...
shadwolf:
8-Aug-2010
and more complexity you will add to your engine more unexpected problems 
you will face...


 Like what we experienced in area-tc... suddently our perffectly working 
 engine under wnidows XP shows strong bugs in rendering just by arriving 
 on windows7. After 6 month in searching the why  and not finding 
 any cause to that rendering jam I by chance tryed the ultimate thing 
 no programer does i retro versionned back like 10  version below 
 the rendering engine and there suddently i found that rendering problems 
 disapeared by miracle...


I spend 10 times more time searching why the rendering was defective 
on windows 7 than doing area-tc and viva-rebol.r.  And that's too 
what  completly killed my mood. What else can i do than try to make 
this community know my experience with extensive text processing 
in draw with R2 to not have the same conceptual lacks repeated in 
R3.


And clearly  in R2 the text commands in AGG/draw were not suited 
for docuement rendering... That  doesn't means AGG can't do it ... 
that means at that time the dialect draw wasn't designed to exploit 
 intensivly text rendering. I always said before runnning you have 
to learn to crawl, then to stand up, then to walk. for me the way 
i  saw the realisation of a rendering engine text oriented for draw 
dialect was first step changing the color of  choosen elements in 
the text, then changing the font spécificity anytime anywhere in 
the document then being able to do strong text manipulations like 
moving by drag and drop paragraphs, inserting multimedia content 
in the document, scaling paragraphs etc... 

ROBERT: 

In fact that depends what  the rich text engine aims ... for example 
read only rendering is pretty different of  real time editing wisiwyg 
engine... The complexity betwin both approach is like 1 to 100...
shadwolf:
8-Aug-2010
Robert I know that you aim to get a WisiWyg editor for makedoc Pro 
format (wich in a time i tryed to provide in a totally deferent rendering 
technology)
shadwolf:
8-Aug-2010
therefore as you have the wip in the hand robert i think richtext 
dialect will go the way of a realtime wisiwyg  system able to be 
applyed over all the wigets we want... (like draw basically)
Robert:
8-Aug-2010
Not being an expect but IIRC R2 text rendering is not done using 
AGG. From this alone a lot of known problems might be coming.
Robert:
8-Aug-2010
I just hat a short chat with Cyphre about this. And on Windows & 
Linux the glyph outlines are used to render the fonts.
shadwolf:
8-Aug-2010
nice  :) beacasue R2 font system was a pain ... knowing what works 
where was difficult...
shadwolf:
8-Aug-2010
but once again R2  AGG/draw text  wasn't desinged to handle this 
... we used fixed fonts because we had no other why to obtain the 
x and y size of each displayed glyph so in other word that a lack 
of a basic lower level function.
Robert:
8-Aug-2010
We are aware of most of the text rendering issues and IMO it makes 
sense that we try to get a release out of the door ASAP so you can 
all take a look and give feedback.
shadwolf:
8-Aug-2010
so see assuming fixed fonts is a global concept is a wrong thing 
it better to say ok font will be not fixed lets handle this properly 
and offer a way to manage them the easier way...
shadwolf:
8-Aug-2010
we needed to know the size of the letters displayed on screen because 
first of all in R2 when you call 2 times a text instruction the rendering 
at piled up at same place and not disposed one after another on the 
X axis with natural spacing... so draw [ text 10X10 "a" text "b"] 
renders a "b" over the "A" and not "A" followed by "B". And it's 
logical ... text instruct was then designed to handle a serie a letter 
or several series of letter organised in distinct block we can call 
words... but you see that concept doesn't fit with the need of having 
an interaction anytime with any letter componing the words.
shadwolf:
8-Aug-2010
and in the richtext proposition of Carl made 2 years ago (times flyes..) 
we find again this block concept wich is related to the way MakeDoc 
format handle things ...  like in HTML  for example you have flags 
that defines a rendering style. But the things betwin the flags can't 
evolve... they are not supposed to change font style or font size 
or font color. See that's what i would call a we treat text as block 
and not as single element able to singularly evolve on their own 
without affecting the surrounding elements.
shadwolf:
8-Aug-2010
ofcourse you still can say a <H1> </H1> instead of the basic regular 
seting will take this font this color this size but that will affect 
all it's content and not only a part of it ...
shadwolf:
8-Aug-2010
and then if you want to have an atomical approach then MakeDoc dialect 
becomes too verbous to be efficient... like in HTML more you want 
stylised things more you pile up flags and more you have problems 
debuging and having a direct acces to your raw document content... 
So it's clear that a real design have to be set for this richtext 
even if in the end rendering html or MAkeDoc or makeDocPro  with 
that dialect means a conversion stage.
shadwolf:
8-Aug-2010
that's why the proposition of carl to have an open flag system was 
cool ... he presented it years ago as a variable inside draw dialect 
to hold styles ... And i think people didn't see the good points 
in this approach ...
Robert:
8-Aug-2010
The idea is that we will have the low-level font rendering stuff 
accessible. Further a standard richt-text dialect will exist. If 
htis doesn't fit, you can change it and use any other concept to 
make richt-text available in apps.
Oldes:
9-Aug-2010
Because it's not pixel precise font. I would like to see support 
for pixel precise font which could be in just a simple bitmap format.
shadwolf:
10-Aug-2010
but steeve have a point ...  it's ugly ... i don't know if that the 
antigrain thing but on the lower size fonts damn the rendering of 
the font is messed up ... you have on the same letter bigger and 
smaller parts... This was a problem we experienced on R2 too we noticed 
it. People said don't worry R3 is completly deferent etc... and in 
the result -> blured ugly fonts... like on R2  so wher is the gain 
?
shadwolf:
10-Aug-2010
I appreciate the effort too ... but when i say this part needs a 
real work that's not to be rude etc... that's true !! damn how can 
i provide a simple functionnality like Zoom + / - for text if bellow 
font-size 14 bold the font rendering is ugly ?
Maxim:
10-Aug-2010
MS for example, dosesn't properly typeset its font.  The historical 
reason being that their fonts are very sharp and readle on low dpi 
monitors.


If that is a problem of the outline generation, the rasterizing or 
both is up for grabs but, its possible that we can get better results 
if we "fix" one or both of the problems.
Maxim:
10-Aug-2010
I am  not criticizing the work from the R3 team, far from it, but 
trying to provide a little bit more depth on the issue.
Graham:
11-Aug-2010
This is a screen shot from the Moscow tibetan OCR project http://www.buddism.ru///ocrlib/OCRLib21_07_2010.png

Again the text looks very different to that in Henrik's image
Andreas:
11-Aug-2010
Hmm, now that you say it. The vertical alignment of the Arabic also 
looks a bit off.
Graham:
11-Aug-2010
Jerry's console script looks a lot better too but it's traditional 
Chinese http://rebollovesjerry.blogspot.com/2008/03/rebol-30unicode.html
Graham:
11-Aug-2010
Chinese is a heiroglyph based system so there needs to be spacing 
between each word ...
WuJian:
12-Aug-2010
That is actually Hiragana -  a Japanese syllabary
Graham:
12-Aug-2010
so, it's all a mixture :)
Cyphre:
12-Aug-2010
Graham, sorry, I really don't know the rules how code points in Unicode 
should be positioned. That needs to be studied and corrrections being 
made in the text rendering/layouting loop. Just a note, even now 
the text rendering/layouting code ismore than 50Kb of C++ code so 
either someone needs to study all the Unicode rules and make new 
replacement or publish patches to the current version.
Graham:
12-Aug-2010
So, does this mean these chars render inside a text field and we 
can backspace, del etc?
Cyphre:
12-Aug-2010
(I still need to do a few changes before handing it over to Carl)
Graham:
12-Aug-2010
What's the mechanism of selecting a different charset ?  Just windows 
??
Cyphre:
12-Aug-2010
There is no charset selection. You just provide valid UTF-8 codes 
for the appropriate unicode chars, thats all. Also ofcourse you need 
to have font that contains that chars. I was using 'Arial Unicode 
MS' font in the test screens which is a huge font containing big 
chunk from all the unicode pages.
Graham:
12-Aug-2010
did you ever figure out how to create GUI event from inside a network 
protocol?
Graham:
12-Aug-2010
eg. for the purposes of updating a progress face
Robert:
12-Aug-2010
How about a bounty for the text rendering?


To be honest I don't care to much about better quality at the moment. 
We need a way to display text and some formatting (which works) and 
special chars like Umlauts. That's good-enough for us to use R3 for 
commercial development. Optimal text-rendering is nice to have but 
invest to do it must be covered by some revenue first.
Rebolek:
12-Aug-2010
Who knows how long it takes... anybody complaining about the look 
has a chance to find out.
Henrik:
12-Aug-2010
it's probably a good idea to create a wiki page regarding all the 
discovered issues around unicode in View. that way, it's easier to 
create a community project around it.
AdrianS:
12-Aug-2010
Cyphre, the server link gives a 404
AdrianS:
12-Aug-2010
you're right - it looks like a fairly even split between good response 
and 404
Maxim:
12-Aug-2010
my guess is yes.


it would be nice to have a switch to allow this to be switched somehow 
within a drawing operation.  some gfx operations are hard to
BrianH:
12-Aug-2010
Composing UIs from the lop left makes sense when the UIs are specified 
using a declarative language that starts from the top left too, a 
language like REBOL.
Gregg:
12-Aug-2010
Can't you use a draw transform?
Graham:
12-Aug-2010
I think that's what Cyphre also argues .. to use a transform
BrianH:
12-Aug-2010
Is there a problem with having Draw gobs be bottom-left, but text 
gobs top-left?
Maxim:
12-Aug-2010
it won't make a difference in speed.   its just a questing of the 
order of rasterizing, start at bottom or start at top.
57501 / 6460812345...574575[576] 577578...643644645646647