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

World: r3wp

[!REBOL3 GUI]

Pekr
12-Mar-2011
[6819x2]
What's the resistance? You just need to understand, that there might 
be some users, not understanding GUI internals imo. I put above comment 
on purpose here, explaining WHY exactly it behaves as it does. Just 
stating the something is correct without further explanation does 
not help to understand the case ..
as you can see from the discussion between Henrik and Ladislav - 
 not even RMA has unified point of view on how some features could 
be designed. So what is problem with me not eventually agree with 
what you cook behind the doors? :-)
Ladislav
12-Mar-2011
[6821x3]
Two notes:

- RMA is neither me, nor Henrik

- RMA has a unified point of view, it is the one you can observe 
when examining the published code and docs, all other things are 
just speculations
So what is problem with me not eventually agree with what you cook 
behind the doors?

- since we publish our results, I see this as a clear attempt to 
insult our good will.
And, especially from you, it is unfair, taking into account, how 
many times you did not put to use the oportunity to present your 
preference in various user polls. 'The informations about user preferences 
were much needed then, and it is a pity you, instead of helping us 
to know user preferences in many cases, try to dishonest our efforts 
publicly by misrepresenting it as "cooking behind the closed doors".
Pekr
12-Mar-2011
[6824x7]
Ladislav - sorry, but now you should really take a break. What are 
you talking about here?
WTF is an attempt to insult your good will? Damned - this is SW development 
and desing, not a religion!
What users poll are you talking about? I do remember some, and when 
I can't take any preference, I don't participate. OTOH I put many 
comments in here. In fact - R3 situation is so "devastated" from 
the community point of view, that there is very little ppl participating 
in actually anything R3 related. Even in time of Carl's GUI, I might 
be the only public tester, may 1-3 other guys I remember. Where's 
all 300 ppl registered here with testing and comments? How much of 
input you get from any other person?
as for "cooking behind the doors" - where's the insult? Let's take 
an example with the FRAME. The only thing we knew for last two weeks 
was, that it will be somehow solved. And "somehow" = behind the closed 
door. I do remember Rebolek's preference of #FRAME keyword, some 
discussion about that, and then the release comes out, containing 
particular solution, which even Henrik (I regard him being part of 
RMA) questions ....
What I can see though, is a kind of syndrome of a developers, who 
live behind the closed door, and then wonder if another point of 
view is presented. It very often ends with statements like "you can 
take Carl's code, and do your own GUI". And I am far from alone receiving 
such a reply. And THIS is what I call as an insult, to ppl expressing 
different pov on the direction taken.
I very much respect Robert's explanation - this is not a democrary, 
this is RMA's business, and i have no problem with that. I just really 
don't understand, why when I put explanation to why I mistakenly 
marked panels-26.r3 demo as incorrectly behaving here, Rebolek comments 
that I am resisting something. I just put it here, because the group 
is searchable, and my reply contains explanation, which might be 
helpfull to others ...
This is really difficult to take, even for me. With each release, 
I download, go thru tests, read release notes, and I put my comments 
here on what i think about new additions, etc. I am the only one 
reporting actually anything here, so it logically can look like I 
am criticizing something. But could you please mark for me any insulting 
comment from my early morning report?
Robert
12-Mar-2011
[6831x2]
Guys, let's relax. Everyone can comment of course and people going 
through the code and comment help us. And it's OK if there are different 
POVs. As you can see even within the RMA team we discuss things back 
and forth and have different POVs. Which IMO is absolutly essential 
to come up with a good solution.
So, the only thing that can happen is, if you don't like something 
we still might not change it.... but IMO not that hard to life with.
Cyphre
12-Mar-2011
[6833]
Some comments:

-the TEXT style in the release has incorrect resizing settings so 
it makes layouts that are being resized ugly. We'll fix that.


-regarding the introduced and discussed:  options [box-model: 'some-word] 

The defined word! symbol should specifiy box-model preset. By 'box-model 
preset' we mean group of facets attributes that affect the box-model 
settings of the specific face/style. So this option is IMO correctly 
named.

Currently the box-model option was added as temporary solution to 
the PANEL style only. But in the next release it will be possible 
to set it on any face in the layout or style definiton. Also we'll 
add basic set of such box-model presets that will be part of the 
system by default.


-ALIGN vs. HALIGN: yes, we borrowed the terms ALIGN/VALIGN from HTML(but 
note, it is used also in R2 font object and in R3 para object) . 
As people today are familliar with it and have it 'wired' in their 
heads using the same name could avoid silly bugs in their code.

I presonally don't think this must be consistent with names of styles 
but if majority people insist of such kind of consistency we would 
probably need to unify also the align word in the PARA object as 
well.
Gregg
13-Mar-2011
[6834]
Petr, I appreciate the effort you're putting into supporting the 
RMA team, especially since I haven't made time to do so myself. We 
can probably blame text communication, and different communication 
styles for most misunderstandings.
GiuseppeC
13-Mar-2011
[6835]
Robert, please consider that people is nervous for the lack of development 
and communication from CARL....
Henrik
17-Mar-2011
[6836]
Why not leave panel and hpanel as synonyms, and group/hgroup ?


It's entirely possible, but would that not make layout code harder 
to read/understand?
Pekr
17-Mar-2011
[6837x2]
Cyphre:

box-model:
---------------


Few notes. Certain systems use FLAGs, which could be thought about 
as kind of switches, or representing certains states, etc., used 
in binary masks for e.g. Then we have TAGs. Even R3 GUI uses tagging 
- it is used mostly to mark particular face as behaving some way, 
belonging to some area, etc. And in that regard, I wonder if box-model 
type could be done just by using TAGs? 


What I think about TAGs in GUI in general is, that we don't use the 
concept to the max. I mean - if tags were not be flat block, but 
block of blocks, it could be used even more, e.g.:


tags: [box-model [tag1 tag2 tag3] style [internal] draw-mode [normal] 
resizing-mode [.....] ....]


Of course that might not work for us in all cases, because as you 
could see in above example, it would be difficult to distinguish, 
if something should be a facet, or a tag. E.g. if we would move DRAW-MODE 
into TAGS, then why not moving MATERIAL there too, etc. My question 
is - is there any rule for me to remember - what should be a facet, 
and what could be a TAG? (I expect the difference in how you work 
with them underneath)


My general problem is, that FACETS block is becoming long and messy, 
so what to do about it? There were following suggestions to think 
about:


1) close particular settings in subobjects/maps (whatever). There 
are settings belonging to the areas of resizing, colors, box-moderl, 
others, etc. The question is, if we want to refer to such values 
by face/color/bg-color for e.g.?


2) the simplest solution is to at least use some source code conventions. 
E.g. Carl introduced comments to particular ACTORS, desribing what 
arguments are supported for the function. So my idea is:

facets: [

   ; colors
   bg-color:
   other-color:

   ;resizing
    resizes: 
    init-hint:
...
]

ALIGNment:
----------------


It is probably not wise to change all subsequent areas to halign, 
valign. But anyway, we are a bit chaotic here, unless someone tells 
me, what's the rule here - to stay compatible to html/css, or to 
be consistent REBOL wise? I mean - if various areas use ALIGN/VALIGN, 
then my logical question is - why HPANEL/VPANEL, and not PANEL/VPANEL?


My comment is just food for thought, not a claim to change anything.
Dunno where to chat about Jocko's demo, but as Henrik suggested to 
move here:

- some parts are sluggish


- for Rebolek - you can look at Demo/To-Do section - Jocko outlined 
some changes he made to some styles. His demo does not work with 
current RMA release if I am not wrong.


- we should generally start to think, about how to "unload" certain 
GUI parts from memory. By just clicking here or there I got from 
11MB to 38MB of memory usage. In some old GUI I used, it kept track 
of windows, and those were GC'ed when closed. In REBOL, if I am not 
mistaken, after the layout, faces objects are defined, and there 
is no automatic way of how to "undefine" them and free the memory. 
So my question is - will that be addressed, or is user responsible 
for the resource tracking? And is it even adressable?
GrahamC
17-Mar-2011
[6839x2]
re synonyms .. not really .. one understands that horizontal is default
which is why in html we have align, and valign
Pekr
17-Mar-2011
[6841]
What Graham suggests is also my question above ... and it would be 
consistent with subsequent align vs valign?
GrahamC
17-Mar-2011
[6842]
I'd like to keep to convention as much as possible because you might 
be coding in 3 different languages at the same time
Pekr
17-Mar-2011
[6843x2]
No worry - even if you will be coding in RED, it will not have GUI, 
so :-)
But - jokes aside, I am starting to like the idea of having PANEL/VPANEL, 
and GROUP/VGROUP .....
Henrik
17-Mar-2011
[6845]
Pekr, so your convention would be opposite of Graham's? :-)
Pekr
17-Mar-2011
[6846]
No, the same .... where's the opposition?
GrahamC
17-Mar-2011
[6847]
it's the same
Pekr
17-Mar-2011
[6848]
If I understand Graham correctly, he suggest to have default a horizontal 
alignment = compatible with underlying align/valign. Hence what he 
imo proposes (and I agree with), is to remove "H" letter from PANEL/GROUP
Henrik
17-Mar-2011
[6849]
Graham:

Why not leave panel and hpanel as synonyms, and group/hgroup ?

Pekr:


I am starting to like the idea of having PANEL/VPANEL, and GROUP/VGROUP 
.....

so, you have to agree on the flow direction. :-)
Rebolek
17-Mar-2011
[6850]
Henrik, I think that Graham and Pekr really want the same thing. 
Panel and hpanel as synonyms, in other words - panel/vpanel. :)
GrahamC
17-Mar-2011
[6851]
I was saying that group & hgroup are to be synonyms
Henrik
17-Mar-2011
[6852]
Rebolek, yes, I was just teasing. Perhaps it's not a bad idea. VID 
itself also has a default direction that it lays out in, which can't 
be seen in layout code.
Pekr
17-Mar-2011
[6853x4]
One general question to GUI/gfx gurus. I know it is very preliminary, 
but - what about scaling? I mean - playing with my phone, I wonder, 
if it is facility of mobile OS, or particular app is receiving some 
zooming info, and acts accordingly? Are we ready for something like 
that? Because just recently, what we do is - resize. But we don't 
scale (fonts). It is just question of catching particular OS events, 
and create particular actors?
What I am seeins is, that e.g. in mobile Opera, zooming in/out, steel 
keeps content nicely resized/scaled. And even very small fonts are 
nicely readable ....
I do remember, in R2 initial VID implementation (the times Holger 
was at RT), there was some facility to support scaling at "raster" 
level? But IIRC it was never used, or the result was ugly? I don't 
remember anymore. Because I can imagine two ways of how to do it 
- having some good raster level methods, or to scale particular UI 
elements.
The best way to check probably would be to buy some Windows 7 tablet, 
e.g. Galaxy tab 1, as R3 should work there out of the box - imo no 
chance to see R3 ported to any other mobile system in foreseable 
future, unless there is some background effort we don't know about 
...
Rebolek
17-Mar-2011
[6857]
I saw scalling mentioned in some early VID documentation and probably 
some facets were reserved for it, but that's all that has been done 
I think.
Pekr
17-Mar-2011
[6858]
Is there a plan to use 'switch-panel function in future, along with 
its transition effects (fly-outs)?
Henrik
17-Mar-2011
[6859]
I'm thinking about a style that is basically a fancy text list with 
the specific purpose of using it as a panel switcher. But specifically 
the animation part, it may be better to have some kind of actor (on-switch?) 
where the animation is handled and can be specified separately.
Rebolek
17-Mar-2011
[6860]
SWITCH-PANEL isn't needed anymore, as this functionality is covered 
(much better) by SET-PANEL-CONTENT. Transition effects are possible, 
but I would rather wait for timers, so they can be real non-blocking 
animations unlike old fly-outs.
Henrik
17-Mar-2011
[6861]
Rebolek's response is more valid than mine.
Rebolek
17-Mar-2011
[6862]
Old flyouts changed offset in loop, so if you switch panel's show-mode 
to 'fixed, you can make this effect very easily. You can also animate 
resizing this way, but GUI will be blocked because show is handled 
inside loop and not using timer event. But if you keep the loop short, 
user won't notice that the GUI is blocked.
Pekr
17-Mar-2011
[6863]
ah, timers - those are not part of R3 core yet, are they?
Rebolek
17-Mar-2011
[6864]
nope.
Henrik
17-Mar-2011
[6865]
We had a small discussion about MAX-SIZE this morning. In short, 
I don't like it and think it's not needed. Everyone else loves it, 
so it won't go away. Therefore I'm proposing a RESTRAIN facet (name 
not final). Without explaining what it is, can you guess what this 
does:

Before:

bar: box [
	facets: [
		init-size: 100x2
		min-size: 20x2
		max-size: 10000x2
	]
]

After:

bar: box [
	facets: [
		init-size: 20x2
		restrain: [vertical]
	]
]
Oldes
17-Mar-2011
[6866]
why it's a block?
Henrik
17-Mar-2011
[6867]
Decided that it may not need to be a block: Another suggestion is 
words: HORIZONTAL, H, VERTICAL, V, or BOTH.
Rebolek
17-Mar-2011
[6868]
I propose -1 as unlimited value.