AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 64 |
r3wp | 1992 |
total: | 2056 |
results window for this page: [start: 1701 end: 1800]
world-name: r3wp
Group: Ann-Reply ... Reply to Announce group [web-public] | ||
Maxim: 17-Jan-2011 | It will seamleslly integrate to my Custom Gob Renderer so the same GLASS style will be able to render in any renderer for which a compatible style was built. this means the same layout and interface for a button will be useable in a normal AGG render up to a 3D game representation of that button, with no user code change. just a swap in the skin being used. | |
Dockimbel: 24-May-2011 | Robert: here is a proposition for presenting View + VID + REBOL coding: 1) Show this code on a slide, explain briefly what it does and run it: REBOL [] view layout [ code: area 300x200 btn "Run" [view/new layout load code/text] ] 2) Enter some VID code in the textarea, click Run and listen to the "wow" in the audience ;-) You can type, for example: across text "Name:" f: field btn "Say" [alert join "Hello " f/text] | |
Maxim: 24-May-2011 | but one thing you need to highlight, is that for all of your needs (code, style, layout, server, client, templates, controls, localization, etc) you are using a single highly natural language. This is the power of Dialects, (DSL). datatypes are also a great differentiator of REBOL... just run code and leave an HTML tag in the code, as-is... that is cool. most languages require literal data to be assigned, but in rebol data IS an expression so as long as there are no syntax issues, you can just embed data within the code (for whatever reason you need it in source managing tools). | |
Maxim: 24-May-2011 | show that you also use the same language for creating style sheets, new controls, sending a VID layout over tcp, etc. just showing how small the code snippets are is enough I guess. Make a little parallel between the web nonsense, and the simplicity of doing the same thing in rebol. (5-7 different languages, vs one) | |
Group: Hardware ... Computer Hardware Issues [web-public] | ||
Maxim: 8-Feb-2012 | Sunanda... I've had my PC for 10 months, and I'm still not completely acustomed to the new keybord :-( some of the layout decisions are also quite dumb (like using half-size keys for the arrows... now how clueless can you be to think about that kind of nonsense?) | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Maxim: 23-Sep-2009 | that's true of any layout engine. if you look at pdf.. it actually doesnt include any text layout algorythms.. those must be built externally. all pdf does is display vectors where you tell it to. | |
Maxim: 23-Sep-2009 | R2 doesn't have any rich text you can direct. which means you have to do all of the layout work manually. as long as we have sizing examination of rich text atoms, then we can tell it to position things like we want and measure the result in order to properly convert the data to other formats. | |
Maxim: 23-Sep-2009 | you must realize that the format of a document (encoding of the layout) isn't directly tied to its content. | |
Maxim: 23-Sep-2009 | as I said, we need to know the offsets... if you really want to use another layout engine, just wait for extensions to support image! and go crazy :-) | |
Pekr: 21-Dec-2009 | Robert - I think not. Henrik named few fundamental changes Carl is after. You surely remember e.g. frames concept, which was later removed for e.g. IIRC, things like - better resizing, changes to layout engine, layers, etc. are planned. What is interesting is, that it would take imo max 1 week to implement them. So - dunno when Carl is back on GUI. As for me, I would not like him to jump from topic to topic, which happened today, as Carl is moving to website topic for few days. BUT! - I think he just needs break from heavy coding ... | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Graham: 9-Aug-2010 | I've been thinking of how to separate code from display and have come up with the following ideas http://rebol.wik.is/Cheyenne/Page_Title/HTML_dialect Basically the idea is to create all the html, js, css beforehand, and then emit in a template. When the parser runs through the layout block, it builds all the CSS and JS links. Once it reaches the body, it recursively parses the div tags building and closing them. In the same way html, head and body tags are built and closed. | |
Graham: 24-Aug-2010 | the element id or divs are used to control the layout of the template | |
Graham: 25-Aug-2010 | It looks like similar ideas are involved .. complete separation of layout from code | |
onetom: 4-May-2011 | how can i define a common layout for my webpages? should i split the layout into header and footer and use include explicitely on each page? | |
onetom: 5-May-2011 | i wish rebol/view was that good to replace the browser, but im typing this on a mac w ugly, aliased, miniature fonts and i can't even use the maximize button because it fucks up the screen size and layout... | |
Dockimbel: 9-May-2011 | This is both against the structure of Unix and modern Windows systems. UNIX filesystem layout usage are not identical. Here are the Apache error log location in just 3 UNIX flavours (among dozens): * RHEL / Red Hat / CentOS / Fedora Linux Apache error file location - /var/log/httpd/error_log * Debian / Ubuntu Linux Apache error log file location - /var/log/apache2/error.log * FreeBSD Apache error log file location - /var/log/httpd-error.log and here are the possible locations of configuration file: * /usr/local/etc/apache22/httpd.conf * /etc/apache2/apache2.conf * /etc/httpd/conf/httpd.conf Notice how the file name changes too (both for the log and conf files). BTW, I personnally prefer the GoboLinux approach ;-). One the Windows front, it is barely better. The registry database is fine for storing parameters (name/value couples), but not a REBOL dialect file. A common way is to store files created at runtime in %USER%/AppData/Local/<appname>/. Cheyenne stores all his files (including config file) either in the local folder or in %ALL_USERS%/Cheyenne/. Storing them in %USER% hierarchy should be better. Taking into account every OS specificities (or oddities) is not always a good choice for a cross-platform product. I know that Cheyenne needs to be gentle with the OS best practices, so I am willing to improve it whenever it is possible, but without sacrificing the default behaviour (because that is the way I want it to work for me). BTW, I am also willing to test the centralized logging approach, but it has to be a cross-platform solution. So an abstraction layer needs to be built with connectors for UNIX syslog daemon and Windows Event Logger (they are two types to support: pre-Vista system and new Vista/7 one). Has anyone already worked on such wrappers with REBOL? I personnaly need that the log files be exactly in the same format and if possible at the same place across platforms to make my life easier, so this will keep being the default anyway. The current -f internal Cheyenne command line (Windows specific currently) could be extended to work on UNIX too (and no Max, this one cannot go into the config file, because it indicates where the config file is located ;-)). | |
Group: gfx math ... Graphics or geometry related math discussion [web-public] | ||
Maxim: 25-Feb-2010 | cyphre... use this as a basis: view layout [box 200x200 effect [ draw [ push [ translate 119x119 pen none fill-pen black box -50x-30 50x50 fill-pen blue pen red line-width 3 circle 50x50 25 fill-pen red pen blue circle -50x50 25 fill-pen blue pen red circle -50x-30 25 fill-pen red pen blue circle 50x-30 25 ] ] ]] adding new black, red, blue, black, circles in betwen colors may give very poor results. sometimes 1 pixel width lines practically disapear horizontally! playing around with the line width will also have a different visual impact, since the aliasing will spread the error more or less. as I said, i know part of the issue is related to the screen's rgb sub-pixel channel components but I remember trying some of this in other softwares and the effects weren't as image degrading. to me the main defect is that you will notice a WHITE ringing effect between the red and blue on one side and a black ring on the other. I can understand the black ring, but can't explain the white one, which is why I think it coule be related to gamma issues. also, the black ring seems to be wider than it should & the effect seems the most apparent at ODD line widths, which is a bit strange too... I'm wondering if AGG has an algorithm which is trying to compensate for pixel to pixel color defects and gets it wrong. maybe it could be enhanced to support subpixel aliasing (or gets it wrong if it already does so). | |
Group: !CureCode ... web-based bugtracking tool [web-public] | ||
BrianH: 8-Mar-2010 | Yeah, already tried with IE8. I got the same behavior, plus layout bugs in the file upload submit button. | |
Dockimbel: 8-Mar-2010 | Layout bugs with IE: known issue, need to curecode it to not forget it again. | |
Group: !REBOL3 Schemes ... Implementors guide [web-public] | ||
Robert: 11-Jan-2010 | BTW: I'm going to redo the diagram using yworks yEd editor. It's a fantastic graph layout editor and now supports swimlane diagrams. | |
Group: !REBOL3 GUI ... [web-public] | ||
Graham: 15-Jan-2010 | noob question .... how can I define a function that accesses a field before the layout is created? | |
Graham: 15-Jan-2010 | I used to use l: layout [ f: field ] and then write my function access f after the layout was created. Now we have view [ layout block ] ... | |
Maxim: 24-Jan-2010 | glayout already implements 90% of what we want to build for VID 3.4, down to the dynamic layout engine, which is just about the same. | |
Henrik: 3-Feb-2010 | no we can't. the layout engine depends on it for weighting elements at their "correct" sizes. the resize engine must be fixed in order to fix layout. | |
Henrik: 3-Feb-2010 | Weighting happens by "pushing" other elements aside, like soap bubbles pushing against eachother. The bigger the element is, the more it pushes. But space is also divided between the number of elements available in a given group, so a group of 5 buttons takes a little more space than a group of 3 buttons. That gives the problem you see with strange spacing before and after the vertical scroller, because it's size is not big enough to provide push. and the other elements are too small to provide enough push. Combining the size of the face and the push factor is why resizing is broken. But there are more bugs in it than that. If you push too much, the elements overflow and will be clipped by the right and bottom edges. Furthermore, the calculation of space to the right edge and bottom edge is also broken. It's almost impossible to predict in your head how the layout will look. I'd like to replace the resize engine with something more concrete, perhaps with springs instead and fixed pixel sizes (oh, maybe similarly to what the VID Extension Kit does) or depending on whether Carl get's started again with his specs list (which I unfortunately can't locate). I hope we'll get to start this month. | |
Henrik: 5-Feb-2010 | No, not wrong attitude. Styles are built by experts, i.e. people separated from those that build layouts. In VID, you don't have this distinction as you can manipulate styles directly in the layout, but you do, somewhat, in RebGUI. | |
Ashley: 5-Feb-2010 | OK, a meta-gob to recreate R2 functionality (given that a gob! can only do one thing)? I understand why layout was a "face factory" under V2, just thought we'd naturally move to a "gob! factory" approach with R3. I'm not being critical, just trying to understand why we still need the concept of faces under R3. | |
Henrik: 5-Feb-2010 | Ashley, "just trying to understand why we still need the concept of faces under R3." - The role of faces in R3 are just what they were in R2, a collection of features and functions inside an object, but instead of the underlying View system being closed, they are now linked to a fixed set of GOBs, that we eventually can extend with all sorts of features. So: R2: Layout -> Face tree -> View R3: Layout -> Face tree -> GOBs -> View Faces are what are generated by the layout. So the "face factory" is still needed and styles are the "molds" or prototypes. Within the face factory, the GOB factory exists. I would assume this separation makes HW acceleration or replacing GOBs with a different structure, much easier later. GOBs are redrawn using DRAW-FACE and that is handled inside the styles. Styles use resources like fonts, colors, materials and standard draw blocks. This eventually helps skinning and abstracts these things away from the styles themselves. The obscure FEEL object is replaced with a set of on-* actors that are run at specific times in specific sequences during runtime. They are more fine grained, so you can determine what you want to do, for example during various stages of face initialization. The relationship between the layout dialect and faces is a bit different than under R2: you can't access the whole face in R3, only facets. For example the GOB itself, is not a facet and neither are internal states. So in order to change a deeper element of a style, you need to create a new style. This seems cumbersome, but is badly needed for large layouts, where we are semantically separating appearance from purpose. VID allowed this to be an organic mess. We may figure out a way to make creating derivative styles a bit easier. | |
Henrik: 5-Feb-2010 | Yes, it should not be there. There are many subsections: Styles, layout, View, Text, DRAW, etc. We may face hundreds of reports on styles alone. | |
Henrik: 5-Feb-2010 | The currently used words for styles: name: ; WORD! - style's name (identifies the style) facets: ; OBJECT! - the modifyable attributes of the style (properties) draw: ; BLOCK! - draw block with facet words (from face and style) actors: ; MAP! - face actor functions (e.g. on-click, on-resize) options: ; OBJECT! - prototype of face/options object parent: ; WORD! - parent style (if specified) state: ; BLOCK! - prototype of (extensions to) face/state object content: ; BLOCK! - panel layout for composite styles faced: ; OBJECT! - prototype of face/facets (face instance facets) about: "Not documented." | |
Henrik: 5-Feb-2010 | These are the words for a face instance: style: ; WORD! - name of the style for this face facets: ; OBJECT! - properties unique to this face (from style/faced) state: ; OBJECT! - state variables (not properties) gob: ; GOB! - graphical object(s) for this face options: ; OBJECT! - optional facet changes as specified ; NOTE: optionally extended in face creation with: ;name ; WORD! - reference name ;reactors; BLOCK! - block of user actions ; PANEL faces also add: ;grid ; OBJECT! - layout parameters and limits ;faces ; BLOCK! - faces of the panel: ;triggers; BLOCK! - triggers used by panels | |
Henrik: 5-Feb-2010 | you can access them freely from other faces in the layout. | |
BrianH: 5-Feb-2010 | You're too generous. The GUI is pre-alpha, and wouldn't be considered alpha without the layout model changes Carl has said he has planned (but then had to take a break to work on lower-level stuff for a year). | |
Henrik: 6-Feb-2010 | A frozen face does not respond to input, but is otherwise normally visible. A disabled face is visibly disabled. Frozen faces may not be necessary, but they are a first step toward creating a GUI layout editor. | |
Henrik: 6-Feb-2010 | Either blocks in FACE/FACES or FACE/FACES doesn't exist. Some parts of a face is built dynamically as the layout is made, so if the part is not needed, it's not there. Yay for the ability to extend objects, I guess. :-) | |
Henrik: 15-Feb-2010 | Carl, you posted a specs document to me some time ago regarding guides, layers and better layout capabilities. I lost it. :-) Can you post it again? | |
Henrik: 23-Feb-2010 | I guess we need some more public tasks, to keep moving. We're contemplating messaging between faces and I've written something up in the specs document, although I think it's a bit too complex. How does one face communicate with another in a simple way? The trick is to both keep it simple inside the style design and layout specification. Ideas? | |
Henrik: 23-Feb-2010 | What I've noticed about Carl's styles is that he tries to do as much of that intra-face communication inside the styles. That is simple to do at first, but doesn't scale very well, because we will have a lot of different styles. Still, some parts could be inherent to the face or style, in that the face or style holds a list of actions to perform and then some type of evaluator (I've never built these things, so I don't know what to call it). There is DO-STYLE, but a formalization of how to store the actions inside the face is needed, both when specifying face attachments in the layout and when accessing the face attachments using a general access function like DO-STYLE or DO-FACE. The formalization is needed to allow a scalable number of actions or attachments stored in each face. This could simply be a block of blocks or functions that are bound to both source and target face. In order to trigger the action, just DO the block or function and the magic unfolds. | |
Henrik: 6-Mar-2010 | Robert and I are discussing field persistence, i.e. tieing fields directly to database tables in a layout. Going to be a bit about our conclusions in the R3 GUI specs soon. | |
Chris: 6-Mar-2010 | The way that accessors on panels work in R2 is a good start (almost): >> lay: layout [pan: panel [foo: field "Foo" bar: field "Bar"]] >> set-face pan ["Bar" "Foo"] >> get-face foo == "Bar" >> get-face pan == [foo: "Foobar" bar: "Barfoo"] Tie that to validation, eg: import get-face pan [foo: string! [some char] bar: opt string!] Or an active record: record/update get-face pan | |
Chris: 6-Mar-2010 | Not perfect as is, and perhaps simplistic, but I could imagine finding a way to add more semantic hooks to a layout and have a somewhat automated way to set/retrieve data from parts or all of the gui... | |
Chris: 6-Mar-2010 | Especially recognising that the layout structure may not represent the application data structures. I've toyed with the idea of a 'ref keyword - ui: layout [field ref 'user/name] - ui/get 'user/name, ui/set 'user/name, ui/get 'user == [name ...] | |
Chris: 6-Mar-2010 | Henrik: Do you also tie validation and multiple data sources to each binding? I kind of like the independence of a data model co-existing with a layout structure, you can poke and prod data from outside while the view internals just get on with what they do... | |
Henrik: 6-Mar-2010 | Something more to consider... dynamic: group 1 [field field field] record [table1] For when you want to set up fields where you know the order, and really want to minimize the layout code. The outer panel would be set up with an ON-EMIT actor that traverses the inner faces. We already have this in the prototype, so maybe we can map the traverse order to the table columns. | |
Henrik: 7-Mar-2010 | We'll be building another prototype. The current one works against SQLite, but the next one should be built so that we can demonstrate that the layout shouldn't care about which db it's connected to, so we'll also make a flat file database version. | |
Henrik: 7-Mar-2010 | no, the point is that this will be part of the main layout dialect, so it's important to consider now. | |
Henrik: 7-Mar-2010 | this really is about as minimal as it can get with the layout dialect. validation would be another reactor. | |
Chris: 8-Mar-2010 | And if possible, the top-level layout object... | |
Henrik: 9-Mar-2010 | Chris, the top level layout object is the window and it should be possible to get that too, but by using GET-PANEL directly. GET-FACE on the WINDOW style returns a value that would be stored by clicking an ok or cancel button in the window. | |
Henrik: 9-Mar-2010 | Looking at reactors now, this seems to be the way to store these emit functions. Reactors are more powerful than I thought and according to docs, under the place Graham links to above, we can write our own. The MAKE-REACTOR function doesn't exist though, it's called MAKE-FACE-ACTIONS. I hope to make use of triggers as well. Triggers are faces that are not stored in the layout after they have been processed. They are performed either when entering a panel during layour or when exiting it (possibly also other places). I hope that triggers can be used to pass specific options to already laid out faces, making triggers appear as options to a face. | |
Chris: 11-Mar-2010 | P: Validation ('import) and Active Record (RoughCut) are essential components of QM. Validation (along the lines of 'import) could easily be part of a panel/layout's specification... | |
Maxim: 7-Jun-2010 | building a layout dialect for Remark which is compatible to GLASS/VID 3 is pretty easy. its my next main Remark project. | |
Ladislav: 24-Jun-2010 | http://rebol.hmkdesign.dk/files/r3/gui/212.png- this is a layout using a PANEL style, elements are layed vertically, (in columns), center-aligned, having different (randomly adjusted) sizes | |
BrianH: 24-Jun-2010 | We're afraid because we've see some of these before, and they didn't turn out well. Specification dialects that don't require much specification and are easy to understand, make and maintain are preferred. If you were able to show us some layout dialect source with the resize specification markup, it would help a lot. | |
Ladislav: 24-Jun-2010 | 214 - vertical layout, in which all elements happen to have the same transversal size | |
Ladislav: 24-Jun-2010 | 216 is a more special layout in respect to resizing. It is defined so, that it can be resized only horizontally, and only the first and the last element are allowed to change their sizes when being resized. (that is something you cannot define in RebGUI as far as I know, neither it was possible in Carl's resizing algorithm, afaik) | |
Ladislav: 24-Jun-2010 | yes, but I was asking, whether that layout was possible, expressing the opinion it was not, but I may be wrong, of course | |
BrianH: 24-Jun-2010 | Steeve, that would defeat the purpose of buying a large screen so you can see more stuff. Used a spreadsheet lately? Graham, that can change the whole layout. If it autoadjusts, cool, but you'd at least need different layouts for languages that go in different directions. | |
Cyphre: 25-Jun-2010 | Hello guys, just few notes from my side regarding the layout sematics and min/max-size etc: -the layout will be still as simple as in the current R3GUI -most of the time only 'style maker' will need to handle min/max/init size of the specific style -by default layout elements have to be organized either in PANEL or GROUP structures (though it is possible create your super special style for circular layouts or whatever ;)) -at the PANEL/GROUP layout level there will be only three kinds of elements: 1) style with absolute size (in any axis) 2) style with elastic size (in any axis) 3) optional RETURN keyword used for line breaking to create variable number of rows/cols(default ehaviour is to set fixed number of cols/rows for GROUP/PANEL) -to achieve more complex layout user can redefine min/max sizes according his needs | |
Cyphre: 25-Jun-2010 | Pekr: the MAX-SIZE is optional. That means it depends on designer of the UI element/layout if/how use that. | |
AdrianS: 25-Jun-2010 | Cyphre, is the layout framework pluggable in any way? Could it be replaced with a different model? I'm just thinking how layouts are done in Java where there are quite a few different layout managers available and one size doesn't have to fit all. Here are some options: http://leepoint.net/notes-java/GUI/layouts/90independent-managers.html | |
Pekr: 25-Jun-2010 | I am not sure I understand what you mean :-) GUI elements in our case are not something which is easily encapsulated in its source code and hence can be used with different engine, at least I think. But maybe I just don't sufficiently undersand, what "layout manager" means, so I will let the question to be answered by others ... | |
AdrianS: 25-Jun-2010 | Does the declaration of REBOL GUI elements need to be so different from how other toolkits handle them? It just seems that needing to have only one way (one layout engine) of laying things out is a lot to ask of both the layout framework designers and the users of that layout engine. | |
AdrianS: 25-Jun-2010 | It seems from reading: http://www.rebol.com/r3/docs/gui/faces.html that you might be able to define a new "layout" function implementing a different layout description dialect to achieve a new layout. Am I understanding it correctly? Is this layout description dialect specifically what the gang is working on? | |
Pekr: 25-Jun-2010 | Apart from the fact that I can't properly answer your question, my understanding is, that the team is working on all aspects of GUI, in following areas: - low-level (in C) - new GUI is based mostly on AGG, some fixes and enhancements are going to be done. Carl, and Cyphre probably too, is also working on HostKit GUI isolation, so that the GUI can be fully open-sourced, becomes part of Host environment, and can be eventually replaced - various GUI subsystems are being worked on - layout, resizing, keyboard navigation/tabbing/accelerator keys, skinning/themes/materials, GUI transition effects, etc. - GUI styles - new VID is supposed to be released with some advanced styles, as e.g. tabs, grid, hopefully tree too, maybe a menu (dunno about that one) - some other things come to my mind - browser plugins, video codecs etc. - good times ahead once we are there, but first things first :-) | |
AdrianS: 25-Jun-2010 | Sure, I was aware there are other things being worked on, but I was asking if the resizing functionality that was discussed earlier is specifically part of defining a "layout description dialect" (as mentioned in the docs), and, if this is so, do I understand correctly that if you want a new layout engine, than it is "just" this dialect that needs to be redifined. | |
Ladislav: 25-Jun-2010 | 'I was asking if the resizing functionality that was discussed earlier is specifically part of defining a "layout description dialect"' - actually not, the resizing functionality affects the functionality at a lower level, the "layout specification dialect" is a layer above that | |
AdrianS: 25-Jun-2010 | Ok, but does this mean that a new "layout specification dialect" would not be able to redefine sizing? It seems that it should be able to do so as the sizing of GUI elements is intimately part of laying things out. | |
Pekr: 25-Jun-2010 | What do you mean by "redefine sizing"? You want to have the ability to redefine (whatever it means) sizing from within the layout = VID dialect? | |
AdrianS: 25-Jun-2010 | I would think that a GUI element's size is relative to the layout model defined by a particular layout implementation - that is, GUI elements that are being managed by a grid/table-like layout manager would resize differently than those being laid out by a layout implementation that "flows" it's managed elements or fixes their positions to absolute coordinates. | |
AdrianS: 25-Jun-2010 | It's not the idea that resizing is separate from the layout implementation that I'm wondering about, it's that the layout implementation is swappable. My assertion earlier, that resizing is intimately tied to a particular layout implementation, still stands, though. Are you saying that you can vary the "layout specification dialect", but not have to have a resizing implementation that takes this changed layout engine into account? | |
Robert: 25-Jun-2010 | What do you mean by "layout implementation"? The VID layout dialect? | |
AdrianS: 25-Jun-2010 | Yes, the layout implementation is the code that is behind the function "layout" in a face, for example. See: http://www.rebol.com/r3/docs/gui/faces.html The dialect parsed by this code is specifically called "layout description dialect" in the docs. This is different, as I understand, than VID, is it not? | |
AdrianS: 25-Jun-2010 | The way I understand it, VID is a superset of the layout description dialect. So, to reiterate, if there is such a thing as a "layut description dialect" and there could be more than one defined, how come you are saying that resizing of GUI elements managed by any number of layout implementations is independent of these implementations when, as I tried to describe above, the resizing that you should get for a GUI element should take into account the "bounds" set by a particular layout implementation. | |
Ladislav: 25-Jun-2010 | VID is a superset - VID is a layout description dialect, no superset | |
AdrianS: 25-Jun-2010 | Hmm, well words in VID that declare the GUI elements, button, text, for example, are not layout specific. If I were to change the layout dialect, would these not stay the same? Doesn't this mean that the VID is a superset of any layout dialect in that it includes words for defining layout and words for declaring GUI elements? | |
Ladislav: 25-Jun-2010 | My assertion earlier, that resizing is intimately tied to a particular layout implementation, still stands, though. - you can assert whatever you like, but it is beyond my understanding why. Certainly, a layout dialect implementation may be "tied to" a particular resizing method, since for different methods you may need different data structures, so what? You can always use different resizing, and if the respective layout dialect is not able to specify all options the resizing algorithm offers (quite unlikely), you are free to change the dialect. | |
Ladislav: 25-Jun-2010 | Hmm, well words in VID that declare the GUI elements, button, text, for example, are not layout specific. If I were to change the layout dialect, would these not stay the same? Doesn't this mean that the VID is a superset of any layout dialect in that it includes words for defining layout and words for declaring GUI elements? - no, this is REBOL, and you can define a totally different dialect than VID, and such a dialect surely does not have to be a subset of VID in any sense of the word | |
Ladislav: 25-Jun-2010 | As I see it, your goal is actually different: you would like to have a VID-replacement dialect compatible with VID in properties you call "non layout specific". Yes, that is possible too, of course. | |
Ladislav: 25-Jun-2010 | 'Are you saying that you can vary the "layout specification dialect", but not have to have a resizing implementation that takes this changed layout engine into account?' - certainly, we can do whatever we like, especially create two different layout dialects using the same resizing implementation, if that is what we wish | |
AdrianS: 25-Jun-2010 | yes, this is what I'm getting at - if I were to define a new layout dialect could I re-use/take advantage of the code that is already written behind the parsing and behaviour of those elements that are not layout specific | |
BrianH: 25-Jun-2010 | AdrianS, I've worked with Swing and know what you are talking about. The equivalent to a Java swappable layout model in the R3 GUI (when last I worked on it) is a group style. The "group" and "panel" styles are two such grouping styles. More group styles and other composite styles can be added. What you request is built into the model already. | |
AdrianS: 25-Jun-2010 | Brian, what you're saying though is that a containing GUI element is responsible for the layout of it's children as opposed to delegating that functionality to a layout manager. In Java, each GUI component that can be a parent can have a different layout manager added to it,but it doesn't manage the layout itself. | |
BrianH: 25-Jun-2010 | The way that Java does it is unnecessary in R3GUI: For Java, they have to maintain an object hierarchy; REBOL doesn't need to do that, so even the layout managers are styles. The group and panel styles, for instance, are only layout managers and have no inherent appearance of their own. | |
BrianH: 25-Jun-2010 | You can create your own layout manager styles with little difficulty. Or you can create container styles that layout their children in a specific way for a specific purpose, like a scroller pane with scrollbars. You don't need separate layout manager functionality since laying out stuff in a custom way is an inherent feature. | |
Cyphre: 28-Jun-2010 | AdrianS: as I said in my last message here, "-by default layout elements have to be organized either in PANEL or GROUP structures (though it is possible create your super special style for circular layouts or whatever ;))" By this I meant there will be two default 'layout generator' styles GROUP and PANEL but you can create own styles that will generate their content differently. | |
AdrianS: 28-Jun-2010 | I suppose I just had the expectation that REBOL styles would only concern themselves with look and behaviour (group acting as a tab group, for example) and that layout would be handled by other types of constructs in the dialect, the way I'm used to. As for needing hierarchies in Java, these are there in the GUI component declaration to match the visual hierarchical arrangement and to make control of child visibility, event passing and layout match what you would expect to see coming from such a visual arrangement. If similar control can be achieved by REBOL in a different way, so be it. | |
Gregg: 6-Jul-2010 | base-url: http://rebol.hmkdesign.dk/files/r3/gui/ img-url: func [id] [rejoin [base-url id %.png]] ids: [%220 %221 %222 %223 %224 %225] imgs: copy [] foreach id ids [repend imgs [id load read/binary img-url id]] cur-id: first ids show-next-image: does [ cur-id: select join ids first ids cur-id set-face f-img imgs/:cur-id ] view layout [ f-img: image (imgs/:cur-id) btn "Next" [show-next-image] ] | |
Group: !REBOL3 ... [web-public] | ||
Pekr: 1-Feb-2010 | Max - it is just a structure, which was reshapen, and the page was also de-stylled. The layout, styling and gfx of the new site is not done yet, as well as front page segmentation for particular target groups interests ... | |
BrianH: 13-Aug-2010 | The pricniple behind VID - simple dialected GUI layouts - is REBOL's strength. The actual implementation would not be as much of a strength on a memory-constrained system with a native GUI toolkit and strict UI design rules. However, you can make a simple cross-platform layout dialect for phone UIs that tells the native toolkit what to do, and then make platform-specific implementations for the various native toolkits. Dialecting is REBOL's greatest strength. | |
Maxim: 13-Aug-2010 | a lot of VID's dialect can be used to describe the layout even on native GUI toolkits. | |
BrianH: 13-Aug-2010 | Exactly! You would need to redo your layout anyways for the small screen (unless the layout dialect is *really* properly strict about not allowing sizes, offsets and real colors in its layouts, the way the R3 GUI is supposed to be), but the layout dialect itself could be very compatible and you could reuse a lot of code. | |
Maxim: 5-Oct-2010 | They where coding at opposite ends of the spectrum, now they are fighting to merge the two together. that's how I read it. IMO its just a question of getting it to work again. with new contexts layout and new, better module functionality. | |
Maxim: 5-Oct-2010 | The module system has grown to include many advanced features, which are all usefull and viable. Brian has been working to simplify the code by breaking it up into smaller pieces. At some point you can't have features without at least a minimal amount of code. The new contexts layout makes it a more complex task because my guess is that basically, its broken everywhere and that is hard to debug. The original module system wasn't very powerfull in the sense that it didn't add much more than special objects... what Brian is doing is sooooo much more than that. | |
Anton: 4-Jan-2011 | 13-Sep-2006 Anton Rolls WAIT without also waiting for events: view layout [ button "wait 2" [ remove find system/ports/wait-list system/view/event-port wait 2 ; wait two seconds insert system/ports/wait-list system/view/event-port ] ] | |
BrianH: 8-Apr-2011 | The module model is stable for now, and has no current errors in the mezzanine code, though OSX has some errors in RESOLVE. When tasks are supported better there will need to be some minor underlying changes, but not many because the module system was written with the proposed multitasking model in mind. The module list hasn't been locked down from a security standpoint, though its layout was designed with that in mind. There are still bugs and missing features in the (UN)PROTECT functions that are blocking the locking down of R3, so don't run untrusted code yet. | |
Group: Core ... Discuss core issues [web-public] | ||
GrahamC: 9-Dec-2010 | If that were the case, the 'layout would fail ... | |
BrianH: 9-Dec-2010 | When are the paths in the layout evaluated? The only part I don't know is the View part. | |
BrianH: 9-Dec-2010 | In that error there are only 3 path roots that could be none: db, db/:counter and FN. If the db is empty then db/:counter would be invalid even in the layout. That leaves FN. | |
GrahamC: 9-Dec-2010 | If ''layout completes, then FN will be a VID field object |
1701 / 2056 | 1 | 2 | 3 | 4 | 5 | ... | 16 | 17 | [18] | 19 | 20 | 21 |