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

World: r3wp

[!REBOL3 GUI]

Henrik
25-Jan-2011
[5506]
(you won't get me to agree after 4 years of working with both methods, 
sorry)
Maxim
25-Jan-2011
[5507]
well, we agree to disagree  :-D
Pekr
26-Jan-2011
[5508x7]
Henrik - don't even try the old crap on me again :-( The reason why 
Carl started new GUI was because of Gab's GUI was not all that easy. 
If I want 50x50 button, don't even dare to dictate me, that I can't 
easily have it. If I can't, I almost refuse to use such a system 
period.
I refuse to build new button style, just to have it like I want it.
This is rudiculous - so you have init-size as an option, yet it is 
ignored,or totally twisted, in that regard, that only X axis gets 
adjusted. That simply does NOT work as expected, and if you guys 
refuse to understand, that the freedom of expression is what ppl 
are interested in, then you are building completly different GUI. 
It is supposed to be easily used.
So far - RMA - public | 0 : 3
sorry 1 : 3
Henrik - I believe you will fail explain technical reason, why it 
prevents proper skinning. Carl's GUI used skinning, and was able 
to provide such buttons. That is just stupid limitation imo, and 
should be removed ....
This is not even funny. I know your long time opinion, and I think 
that you pushed in into the design. I believe you have some reason 
based upon your experience, but I am really not surey, it is necessary 
limitation.
BrianH
26-Jan-2011
[5515x2]
You have min-size and max-size still, right? To support resizing, 
you need to support sizing. But that doesn't mean the syntax is the 
same as in R2's VID or Carl's GUI.
Specifying color is a different matter though. You need abstract 
functional colors at most in styles and layouts to support skinning, 
not real colors.
Maxim
26-Jan-2011
[5517x2]
how I see it is that you need to be able to hack the faces, but you 
must not be forced to do so because the framework and API are insufficient.


if the system is strong enough, it will live with very little in 
app hacks.  it will live on its own merits.
but when a client tells me, I want this banner red, this one navy 
and this one black... I've stopped trying to convince them that its 
ugly, it just irritates them, and it inevitably leads to bad relations. 
   I will convey my experience and state that its not something professional, 
but in the end, the client writes the check, and I need to be able 
to push the bytes out the door.


there is no philosophy or ideology when you need to deliver and a 
tool can't turn around and be flexible.


I don't want to post stuff from other engines here since its not 
a comparison game, but I've used many APIs from prbably 20 different 
dev platforms, and everytime I use one which has an "unwielding" 
ideology where you can't modify things to make them do what you want... 
as a user, I get frustrated and I just look for something else to 
do and/or work on.   


good defaults, decent properties and backbone, clean style.  all 
the rest, open and hack.  I woudn't be a Reboler otherwise.

that's just my 2 cents.
BrianH
26-Jan-2011
[5519x2]
The current design is supposed to allow non-GUI-designer programmers 
to specify layouts. Even if you are both the layout programmer and 
the style designer, the work is supposed to be separated. For that 
matter, a proper layout dialect for the types of apps that the R3 
GUI is made for (not games) should be portable to other device form 
factors, accessible, etc. So if you need to be a theme designer, 
do it in the theme section of the app, not the layout. And if you 
need to be picky about the styles, do it in the style section of 
the app, not the layout.
This makes your app more manageable, more portable, the benefits 
go on.
Maxim
26-Jan-2011
[5521x2]
in theory yes... in practice no.    exactly like OOP... on paper 
and in theory its all rose and perfect.  in practice its a nightmare.
anyways... I'll stop participating in this debate.. just cause I've 
got other things to do  ;-)
Pekr
26-Jan-2011
[5523x2]
BrianH: the strange thing is, that different color is actually supported. 
It was not with Gab's GUI IIRC, that was even more strict. I can 
imagine the trouble with mateiral system, when you allow simple color 
override. But - how is button's size influencing  or limiting the 
skin system? It has nothing in common imo with Carl's or other's 
version imo, it is just one developer applying his idea. How does 
new system differ to Car's version in that regard? Carl's version 
was supposed to use skinning too, so?
Or more direct question - how does button, with its border and gradient, 
differ from e.g. even more complicated style as panel for e.g.? And 
panel has border, and gradients too. While panel can be sized in 
a layout as an option, button can't
BrianH
26-Jan-2011
[5525]
Unless they implemented the materials system and abstract functional 
colors already, neither support them But this was planned for both.
Pekr
26-Jan-2011
[5526x4]
And even worse - if button is not supposed to react to the sizing, 
the size option should definitely be removed, and it should DEFINITELY 
error-out in the dialect level. Why am I supposed to loose my time 
trying to adjust button, seeing the option there, if it is not supposed 
to work?
When I expressed my opinion on Gab's GUI to Carl, I told him, that 
I miss some aspects from easy of use of VID. I can understand, that 
when things get more complex, you have to put some limitations here 
or there. But - it stopped to be a fun. I need a system, which I 
LIKE to use, which is NOT BORING to use. If I want to use boring 
business GUI, I can go to Delphi with its boring the same buttons, 
and I even believe, that in the end it is Delhi, which allows me 
to shape the button WHATEVER size I want.
The current design is supposed to allow non-GUI-designer programmers 
to specify layout

 - no, it is apparently not. Layout user wants 50x50 button, and can't 
 have it.
Layout user, is not probably going to do his own styles.
BrianH
26-Jan-2011
[5530]
I am going by the design, as far as I know it, not the current implementation. 
There are limits in the current implementation that aren't part of 
the design.
Pekr
26-Jan-2011
[5531x2]
The worst thing we can do is to let the option there, while not acting 
upon the override. So - if we REALLY want button's size to be fixed, 
the option really has to be removed, and it has to fail on GUI parse 
...
From Max: "I don't want to post stuff from other engines here since 
its not a comparison game, but I've used many APIs from prbably 20 
different dev platforms, and everytime I use one which has an "unwielding" 
ideology where you can't modify things to make them do what you want... 
as a user, I get frustrated and I just look for something else to 
do and/or work on."


And I say - Amen. Set it into stone, and you might wonder in the 
end, why you have no following. It is exactly the same reason most 
ppl are not able to understand, that no matter how logical it is 
to have the skin done as a last, R3 GUI did not get any following, 
because of the first look experience simply get's users not interested 
at all. And it was said here not jus by me. You can protest, but 
that is all you can do about it.
Rebolek
26-Jan-2011
[5533x2]
Pekr, if you want ridiculously obese button, just override max-size.
You shouldn't have to do it, but you can.
Pekr
26-Jan-2011
[5535x5]
will give it a try ...
view [button "ok" options [max-size: 200x200]] - does not work. Simply 
imo max-size is not part of the options block, only the init-size 
is ... And - I want it being part of the options, so that I can set 
it inlined, or in options [] block. If not there, it is more complex 
hack we wanted to avoid imo ...
So no easy apps as calculator, POS system with big colored buttons, 
that really sucks ....
You are depreciating the fact, that even business apps might have 
changed. With touch interfaces, many things are different. One-sized 
buttons are old-school.
I thought about the possibility of VID aproach - having button, and 
btn style, one of them could resize. But my experience is, that those 
two did not mix well together, mainly because the visual difference. 
 And if I adapt the resizable one to look the same as non-resizable 
one, I don't need the latter ...
Rebolek
26-Jan-2011
[5540x2]
Nothing in R3GUI is one sized. There is max-size (and min-size) limit 
and we can debate if the max-size is big enough or not, but you cannot 
say that big red button is not possible in R3GUI, because that's 
simply not true.
Just changing max-size is not enough, that limits maximum size when 
resizing. What you want is this:


view [button "big" options [init-size: 100x100 max-size: 100x100]]
Pekr
26-Jan-2011
[5542x5]
aha, that is another thing to understand. When I looked into button 
source, I found there 'options. I thought that those options describe, 
what parameters I can set inlined. And it may be correct. But - now 
we have layout level word 'options, which is completly different 
thing :-(
From the following code - what is in the 'options block, can be inlined 
in the layout, right? But basically using 'options in a layout means, 
you can set any 'facets?

	facets: [
		init-size: 130x24
		text-body: "Button"
		text-style: 'button
		max-size: 230x24
		min-size: 80x24
	]

	options: [
		text-body: [string! block!]
		area-color: [tuple!]
		init-size: [pair!]
		wide: [percent!]
	]
If so, that is a discrepancy in the naming then, sadly.
To have it aligned, we would have to have:

view [button "big" facets [init-size: 100x100 max-size: 100x100]]

Or just reverse the meaning in the style:

options: [
		init-size: 130x24
		text-body: "Button"
		text-style: 'button
		max-size: 230x24
		min-size: 80x24
]

facets: [
		text-body: [string! block!]
		area-color: [tuple!]
		init-size: [pair!]
		wide: [percent!]
]


Simply calling style attributes 'options, and inlined settable parameters 
calling 'facets ....
Or am I missing something here?
Rebolek
26-Jan-2011
[5547]
discrepancy in the naming

 - you're right, most of the names are from old R3GUI and may not 
 be descriptive enough. I hope we can change it with your help. OPTIONS 
 in layout is used to override FACETS which may seem confusing.
Pekr
26-Jan-2011
[5548x2]
exactly. But the tricky part is as follows - I like having 'options 
in the dialect level, and I am kind of used to have to call style 
attributes a 'facets ..... I would have to think for a while, if 
we can accept following convetions:


- options - used to set style properties, either in the style itself, 
or in the layout dialect

- facets - special purpose properties, which can be used inline in 
the layout level


I think that it would work for me, and that we would have it aligned 
nicely that way. I am just not sure Carl or other guys are ready 
to give-up on facets name being a general attribute/property of the 
style :-)
My opinion is, that 'options as a term is more accessible to the 
ppl, than facets, so I would go for the change ...
Henrik
26-Jan-2011
[5550]
Henrik - don't even try the old crap on me again :-( The reason why 
Carl started new GUI was because of Gab's GUI was not all that easy.


Henrik - I believe you will fail explain technical reason, why it 
prevents proper skinning


An exact failure in understanding why face hacking is not welcome. 
Gab's GUI was not easy due to a number of layers needed to describe 
the look and feel separately, as well as requiring you to handle 
GOBs manually. But it supported applying proper meaning of styles, 
because Gabriele had the same goal as me. Carls does too and RM Asset's 
does this even more. We just have to take advantage of it.


Have you never had to fix someone's MS Word document, so that TOC 
generation, links, indexes, headlines, etc. could be understood by 
Word, because they had resorted to manipulating the words directly 
with colors and style, instead of using Word's style system? This 
is exactly the same problem. You will be teaching beginners that 
their layouts won't scale properly for exactly the same reasons. 
Many people therefore never really learn to create correctly formatted 
Word documents.
Pekr
26-Jan-2011
[5551]
Henrik - what is the difference in not not providing option to set 
a button size, yet like Rebolek showed us, it can be done in the 
options block? I mean - what is the difference for the skinning system? 
And also - button is a rather promitive widget, we don't allow its 
sizing, yet more complex styles as panels can be sized, skinned most 
probably too?
Henrik
26-Jan-2011
[5552]
The difference is applying meaning at the correct level, the layout, 
dimensions, colors, skin information at the style level, where it 
belongs.
Pekr
26-Jan-2011
[5553x2]
I don't want to hack styles in the R2 way, going style/path way. 
I can see, that those layers are wisely designed, but not allowing 
any size button is imo oversight, and it does not imo break the rules 
you describe in your MS Word TOC example. User is simply not hacking 
it. All I wanted was to "export" max-size, not the init-size.
need to check-out from the hotel, later ...
Rebolek
26-Jan-2011
[5555]
The right way to do big button is to use stylize and make your own 
big button. You definitely not want to go thru your code at some 
later date and change all 100x100 to 200x200 for example.