World: r3wp
[!REBOL3 GUI]
older newer | first last |
Ladislav 19-Nov-2010 [4267] | Pekr, what is the reason you don't help either by: * wring tests for Parse * writing test for Mold * writing tests for CureCode tickets that don't have tests in the core-tests suite yet * writing some GUI styles * responding to user polls, letting us know what your preferences are * reading the documentation and/or new proposals pointing out at the problems you are having with them * doing other useful work to help R3? That is not complaint nor is it any kind of attack. It is just that I thought you needed R3? And, from my point of view there is no obstacle you could not do any of the above? However, you have still a lot of stuff you can pick and help to make R3 better. Do you still not feel like wanting to do something? Simply put, there is enough oportunities for you to pick from, and the quantity is getting bigger over time. Or, is it still too early, and any effort from you can be expected only when none will be needed? |
Anton 19-Nov-2010 [4268] | My take on focusing: I think ultimately only each individual style can know how best to represent its focus. Obviously consistency among the styles is a desirable quality, and to encourage that, the system should provide some functionality which each style can opt to use, to derive its focus functionality from, or not to use at all. That choice depends on the style, obviously. I don't think it's a good idea to be too rigid and require all styles to use a single focus rendering functionality. That's just being short-sighted, presuming to know how all possible styles will be written, and will cause problems. |
Henrik 19-Nov-2010 [4269] | I would probably agree, if I didn't have other experience with the VID Extension Kit. The trick is to make the focusing mechanism flexible enough to handle all situations. We are not building a GUI that handles specialized situations. We are building a GUI for large business applications with dozens of windows, hundreds of widgets and tons of forms. We absolutely do not want to have something like focusing being a special case per style as other than a special option. |
Rebolek 19-Nov-2010 [4270] | More and more I think that visual representation of focus should be handled by style in on-focus actor with some help by system like providing default system-wide focus-color etc. |
Henrik 19-Nov-2010 [4271x2] | Rebolek, it means the focusing mechanism per style changes with the skin. |
I don't mind an on-focus handling, but there should really be a standard method. | |
Rebolek 19-Nov-2010 [4273] | The problem with standard method is that you're trying to force one visual method on all style and it may look wrong with some (irregural) styles. |
Henrik 19-Nov-2010 [4274] | I don't think we will have that many irregular styles. Besides, each style will have a click mask, which could be used for drawing up an irregular focus ring. The only problem is to draw the focus ring inherently as a part of the face, and not as a layer on top of all faces, otherwise there would be problems with partially or fully covered faces in, say, scroll-panels. Also, having differently appearing focus rings per style will be confusing to end-users, if the style designer can decide his own look for focusing. |
Rebolek 19-Nov-2010 [4275x2] | If the style designer wants to make confusing widgets, there's nothing we can do about it other than providing some style guide lines. |
Anyway, right now I prefer to do this in style's on-focus actor. After few more styles are done we can check for repeating patterns and try to make it more general. | |
Henrik 19-Nov-2010 [4277] | The patterns will be repeating for a good size of already existing styles, such as fields, buttons, so I don't agree with the current approach. It will also take longer to create the skin, when we get to that point. |
Rebolek 19-Nov-2010 [4278] | I don't agree. We don't have some good model for this right now. Before we have some good design of visual representation of focusing in our current box-model, then we can make it system-wide. But right now it's too soon. |
Henrik 19-Nov-2010 [4279] | We don't have some good model for this right now. - We have the VID Extension Kit. It's been doing focusing centrally for two years now and it works quite well, sans some well-defined problems, which we have a good chance of fixing for R3. |
Oldes 19-Nov-2010 [4280x2] | I'm far from the GUI project, but I guess that the best would be centralized default focusing with possible per style extensions (using style's own focusing if required). Style should provide some required info of course. |
My opinion above is for special focusing-- like using tab to cycle thru gui items (like buttons). | |
Rebolek 19-Nov-2010 [4282x2] | Yes, that's the goal. |
I'm not against central processing in draw-face. I'm just right now not sure what's the best way in our current box model. I need to do more tests before implementing this so I don't have to rewrite it later because of bad design. | |
Henrik 19-Nov-2010 [4284] | Ok, that will do. We just don't want to end up in a situation where a central mechanism for rendering the focus ring becomes impossible to do. we will have a similar situation with help bubbles. Perhaps it's best to have a general mechanism for generating a gob near any face. We can use that in the help system as well. |
Rebolek 19-Nov-2010 [4285x2] | We have that mechanism. |
It's used for tooltips. | |
Henrik 19-Nov-2010 [4287] | Then, at least initially, is it very difficult to render a gob with a colored 1-2 pixel edge and simply have it rendered with the same dimensions as the focal-face? Later, a more sophisticated drawing mechanism could be used. |
Rebolek 19-Nov-2010 [4288] | It will need some changes to event handler to ignore the highlight gob, but it's possible solution. |
Henrik 19-Nov-2010 [4289] | if you do that, you're 80% done. that leaves a few problems to solve, but that can be done down the road. |
Oldes 19-Nov-2010 [4290] | To have event transparent gobs is on my wish list for a very long time already. |
Henrik 19-Nov-2010 [4291] | I thought actually they were event transparent and the face concept was the part that dealt with events, but oh, well. |
Rebolek 19-Nov-2010 [4292] | Face makes gob event transparent (can pass event to other face/gob). |
ssolie 19-Nov-2010 [4293] | Are there any GUI tests available that will demonstrate all the various GUI features available in R3? I'd like to know how complete my GUI port is for Amiga so I was hoping there was some benchmark to work towards. I imagine all the platforms will need such a test in the future to guarantee a certain level of basic functionality across all platforms. |
Rebolek 19-Nov-2010 [4294] | There's style browser that's for testing styles, but you probably wait when Henrik builds new version of r3 gui. |
Henrik 19-Nov-2010 [4295] | the style-browser I have is a bit old, but it should work. There's a link earlier in the group. |
Rebolek 19-Nov-2010 [4296] | It may be good idea to build new one. Keyboard navigation improved a lot and can be good for testing key events. |
Henrik 19-Nov-2010 [4297x2] | ok, I'll try to build with A109 to circumvent the build problem. |
http://94.145.78.91/files/r3/gui/style-browser.r3 http://94.145.78.91/files/r3/gui/r3-gui.r3 Both style browser and GUI updated. | |
ssolie 20-Nov-2010 [4299] | Just tried to run the style-browser.r3 on Amiga and hit the following problem >> do %r3-gui.r3 Script: "Untitled" Version: none Date: none >> do %style-browser.r3 Script: "R3 GUI Style Browser" Version: $Id: style-browser.r3 1179 2010-11-19 18:11:46Z Rebolek $ Date: none ** Script error: cannot MAKE/TO image! from: make gob! [offset: 0x0 size: 400x300 alpha: 0 draw: [clip 0x0 400x300 anti-alias false pen false fill-pen 192.192.192 box 1x1 399x299 0 fill-pen false pen 64.64.64 line-cap square line-width 1.0 variable line [0x0.5 399x0.5] line-cap square line-width 1.0 variable line [0.5x0 0.5x299] line-cap square line-width 1.0 variable line [0x299.5 399x299.5] line-cap square line-width 1.0 variable line [399.5x0 399.5x299] clip 6x6 394x294 translate 6x6 line-width 1.0 variable pen 255.255.255 fill-pen false anti-alias true clip 0x0 0x0 pen false line-width 0.0 variable grad-pen linear normal 1x1 0x2... Any ideas? |
Kaj 20-Nov-2010 [4300] | The script properties look corrupt |
Henrik 21-Nov-2010 [4301] | ssolie, if you instead of running the style browser try: view [button] Do you get a window with a button? |
Pekr 21-Nov-2010 [4302x3] | to the focus discussion. I don't know why, but I agree with Rebolek this time :-) I know that I am fan of concepts, and subsystems. IIRC VID2 used something like abstracted feel storage. Maybe it was initially a good idea, but how often were 'feel objects actually reused? This was imo an example of a concept, which did not live to its expectations. I know that R3 GUI is abstracted in better way. But I also feel, that we more clearly kind of encapsulated styles - they have all those on-* actors, which let the style to react to various events in its own way. So - stating above - are we really sure that: 1) having abstracted all-styles-related visual representation of focusing brings us an advantage? One advantage might be, that if it is not central, lazy style coder might not implement visual focus representation, and then half of styles might miss it, or we might face some weird situations, when the style author implements the visual focus representation a different visual way. 2) are we sure that one central system will work for e.g. for some complex styles, where some special tricks might be needed to display focus visual representation correctly? |
Henrik, Ssolie - beware - I just got the samy error with A107 | |
I would try to build A110, but I am not able to get sources from Carl's git. I tried to download his .zip archive, changed to TO_WIN32 in the .h config file, but it does not build - probably a linux distro ... | |
Henrik 21-Nov-2010 [4305] | Whenever you are creating a concept in a GUI, such as keyboard navigation and focusing, you immediately want to centralize it with the option of per-style overrides. This is the illusion of control in that you want to meddle, when in fact, you are moving toward a lack of control a lack of unification and opening up all sorts of opportunities for bugs. It is *much harder* to develop large applications, when concepts are not centralized, in the same way if you don't have a single mechanism for help bubbles, for determining which button is default, have a single, unified resizing system (hello, RebGUI), have a standard method for exiting windows, have a standard method for creating and displaying any number of dialogs (hello, VID), have a standard method for validating forms, have a standard method for reading and writing face properties (hello again, RebGUI). With all these things properly in place, GUI development is reduced from weeks to hours. Of course the other method of thinking may prevail, if you have never coded a large GUI before, and therefore don't consider the testing process, which can take *weeks* and *costs money*, because you have to test every single implementation (N number of implementations) of the concept that would otherwise be done in a central system (1 implementation). It's really the testing that constantly is underestimated. One can only determine that something cannot be centralized if it will create too much code, compared to a per-style solution, but it will in general always cause the GUI developer to create functioning and *bug free* layouts with much less work. In that same thinking, R2 View centralizes the generation of a face image gradient, background, text display and edge appearance. It's not flexible, but it makes it darned simple to skin and generally does not have bugs. And you FEEL object question: Yes, they are reused a lot, otherwise VID would probably be 100 kb bigger. |
Rebolek 21-Nov-2010 [4306x2] | I don't know why, but I agree with Rebolek this time :-) - sounds like it's unusual. I though we're in agreement most of the time :) |
btw, when implementing focus, I found that about 50% of styles are irreguraly shaped and therefore need focus-draw support on style level. | |
Pekr 21-Nov-2010 [4308x2] | Henrik - I can understand - but I also am aware of other possible aspects, and you can see that in Rebolek's comment: "I found that about 50% of styles are irreguraly shaped and therefore need focus-draw support on style level.". Maybe the solution is centralised (abstracted) system with per-style possible override? |
what about new gui not working with A107? Is there A110 exe somewhere? I was able to get it built using Carl's git, but I somehow can't sync it now .... | |
Henrik 21-Nov-2010 [4310] | Pekr, and all I'm saying is that the irreguarly shaped styles drawing can be solved with access to the face click mask, that either is or hopefully will be implemented by Cyphre. Therefore I find it pointless to work on a per-style solution. |
Rebolek 21-Nov-2010 [4311] | I'd like to differnitate two things - focus "subsystem" - that's already implemented at R3GUI level and actual focus draw - that's better to be solved at style level but the system may provide general focus mechanism for retrangular shapes. |
Henrik 21-Nov-2010 [4312] | A110: http://94.145.78.91/files/r3/gui/r3.exe http://94.145.78.91/files/r3/gui/r3lib.dll |
Pekr 21-Nov-2010 [4313] | thanks .. |
Rebolek 21-Nov-2010 [4314] | Henrik, the per-style solution are two or three lines in draw block and one line in on-focus that changes color, that's all (and that on-focus is same for all button based styles). |
Henrik 21-Nov-2010 [4315x2] | that's all - and then you have to change it per new style and every time you change a box rounding, etc. |
and for cases where you use a highly irregular bitmap, you will have to use some kind of mask anyway. | |
older newer | first last |