AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 58001 end: 58100]
world-name: r3wp
Group: !REBOL3 GUI ... [web-public] | ||
shadwolf: 20-Oct-2010 | hum ... yes but more with a meanning behind items on the graph pattern. Featuring relations betwin item one to another | |
shadwolf: 20-Oct-2010 | using such a tool is like describing your application steps through you have the start point of your application then comes the splash screen then comme the main window in it you put those items etc... | |
shadwolf: 20-Oct-2010 | Maxim hum on the graph i can't say you where it starts where it ends or what it does ... but the main idea behind a graph representation is the one look to it you understand it | |
Maxim: 20-Oct-2010 | elixir actually is a generic procedural data engine. follow the arrows... its just sprawled right now... but if you ordered them from left to right, or top to bottom it would be very clear. | |
Maxim: 20-Oct-2010 | but the pic I posted is just a very preliminary prototype... though it still works well for demoing the idea for the other levels of the system which have never been attempted... well only a little bit in my latest glass work. | |
shadwolf: 20-Oct-2010 | Maxim it looks great but it's too open ... in my idea what you show with elixir should be part of it the "free to add thing" part but the other part is we have a set of ready made boxes/items you just need to set an execution path and give them some related information like position size text etc... | |
shadwolf: 20-Oct-2010 | i like the idea of having a really simple way to look at rebol app and then you can edit part of it add new boxes with crazy new stuff etc.... it's somehow what we do in text based coding but on heavy fragmented project it's hard to have an over view to it ... | |
Maxim: 20-Oct-2010 | I just wanted to show you that there is someone already tackling the idea... thoug it will still be a few months before I have any R3 version of elixir (the move to R3 and the wait for extensions is the main reason I stopped working actively on elixir)... it was just tooo demanding for the R2 platform, in just about every way possible. | |
shadwolf: 20-Oct-2010 | problem with this kind of representation as a former small talk extensive programer is deeper you go in the specifications more blurry is you view ... it's like a melt of lot of boxes everywhere with arrows linking them to any direction ... that's pretty hard to handle ... | |
Maxim: 20-Oct-2010 | it can be.. with some compositing I've done I had hundreds of nodes in a single shelf... at some point we would do node art ;-) | |
shadwolf: 20-Oct-2010 | I know I want the basic repitive task to be handle faster... then the other probleme is in a function setting a hierachy of calls .... | |
shadwolf: 20-Oct-2010 | this aspect is not usefull on linear easy applicaitons very straight forwarded but on complexe application what comes first can be determining betwin a working application and a crashing application | |
shadwolf: 20-Oct-2010 | maybe somthing like a popup note when you passe your mouse over the node you have like an insight of the node contents and maybe a closer view to the links to arrows | |
Maxim: 20-Oct-2010 | all I can say is that on a theoretical level it scales better than any other system out there... because using dynamically adapting networks of any kind, the structure has as much value as the rest. the fact that its also visual is just icing. | |
shadwolf: 20-Oct-2010 | one thing that should be cool to should be the capability to export new feature item. Let say i create a splash screen ready to use window you just have to provide an image to it so new in my tool box i have this new "piece" of ready to use code it would be pretty fun to be able to exchange it to others ... | |
shadwolf: 20-Oct-2010 | if those sharable items can be synchronised from a network source this should be really awsome... recently i saw google document was able to share document editions in live that's cool stuff too for an IDE to be able to discuss code and then co-write it ... | |
Maxim: 20-Oct-2010 | with elixir you can build google-wave like concurrent user apps with just a few nodes. then you can wrap them in a pool and just provide the pool as the data to another node. it is even project that we will be able to reverse-script a pool and provide its structure as an output, so that you can actually share the pool's structure in real time along with the data it is linked to. | |
shadwolf: 20-Oct-2010 | sorry i'm trying to imagine using such a tool to write an area_TC ... | |
Maxim: 20-Oct-2010 | people must understand that this effort is not just "for fun" I've been reading almost 4 hours a day on average on various topics so that the performance will be hard-core, at least the design will allow it to be sooner rather than after 15 rewrites. | |
shadwolf: 20-Oct-2010 | maxim in a near futur the APU will lead and rebol should be able to adapt to that hardware change fast ... And benefit from it | |
Maxim: 20-Oct-2010 | its to program a completely new OS design which was tought of 15 years before terms like "the cloud" became buzzwords. In this system, there is no concept of cloud as a difference in your day to day work and play. in elixir, you are not on or in *a* cloud, the idea is that everything we relate to *is* a cloud. from the button which you click on (which is part of the application's cloud) to the current definition of servers that process services. in fact, in elixir, the button state of your application can become input data for ANY other node. be it in the app, or within a single integer variable sitting in a process queue on a server... its the same interface to link them than to create a new thread. there are basically no differences. | |
shadwolf: 20-Oct-2010 | that like the rebol.org in a potential 10 ... some step forward the rebol/desktop concept ... those idea of distributing or lets say shared code repository is just facinating ... so much more can be done in that scope | |
Maxim: 20-Oct-2010 | glass v2 already proves the interface can be a cloud of nodes... I just shipped my first 400kb glass based app to a client two hours ago. it can scale to 200mb of nodes and data editing people softs' incredily lame SQLserver DB setup. | |
Maxim: 20-Oct-2010 | although at some point it gets really slow because of the limits of R2... it just chugs along never *EVER* breaking about even though at some point I've got about 50000 nodes talking to each other. actually, the only thing that does constantly break a part is everything which isn't representable as nodes... like events, and input data files which I must read and convert into nodes, which get connected directly to the interface. | |
shadwolf: 20-Oct-2010 | i will try to think this more i like the idea of having a fast view uppon rebol script as a view boxed/noded in realation one to another. I like the idea of behing able to "enter" those box/nodes to adapt them enhance them or simply redefine them. I like the idea of sharing pre-sets box and having a synchronised / shared tool box .If i design a tool and make it available then in a short time that tool becomes part of the hudge collective tool box and then is shared to every one. | |
shadwolf: 20-Oct-2010 | i like the idea of a splendid scenarised grphical overview .. | |
Maxim: 20-Oct-2010 | wrt teapot progress ... in many ways its regressed ;-) The teapot was a test of how to integrate something into R3's view engine safely and without any side-effects. hopefully some of that research will allow us to better hook into R3 with an eventual tiny expansion of the gob structure. now I'm actually building the engine which interprets user data and sends that data to the integration I did earlier. though its pretty much empty right now. I'm *just* about to add reading of a user built block of data which I convert to low-level C structs and then render in HW. | |
shadwolf: 20-Oct-2010 | then can a recusiv process be the base of the tool creation/collection can then those basic bricks be assembled on more sofisticated tools those sofisticated tools being then short cuts to create your own software | |
Maxim: 20-Oct-2010 | I'm also beginning to feel like a real C programmer... which is a welcome change... | |
Maxim: 20-Oct-2010 | pools become nodes. so anything that can connect to a node can also connect to a pool (which means everything per the philosophy of elixir). | |
shadwolf: 20-Oct-2010 | to each of those tools there is a auto generated form that you will feel to set up your function arguments | |
Maxim: 20-Oct-2010 | this is known as a "process" in elixir... scripts which build up nodes and link them up in a specific way. tools are processes which have a persisten interface (cli or graphical) | |
shadwolf: 20-Oct-2010 | have a good and smooth progression then maxim | |
Maxim: 20-Oct-2010 | yeah... there's still a long ahead of me... though I'm now running instead of crawling towards it. | |
shadwolf: 20-Oct-2010 | yeah but i'm a drunken idiot so most of it is too polished for my grasp ;) | |
Henrik: 25-Oct-2010 | now discussing undo/redo management. There is a small spec available here: http://rebol.net/wiki/R3_GUI_Specs#Undo.2FRedo_Management any input is welcome. | |
Maxim: 25-Oct-2010 | forcing a 1:1 undo thread to window relationship breaks up quickly when you consider that some windows operate on many threads and some threads will require many windows . | |
Henrik: 25-Oct-2010 | ok, then we would need a different method for coupling an undo context rather than in the face. | |
Maxim: 25-Oct-2010 | best is to have a simple block with named threads... and you force people to supply the thread name when using any of the undo/redo functionality. also, undo/redo is best done when its not directly part of the gui. though its nice when the undo engine is able to speak to the gui directly. the gui must not be the "brain" of the undo.. | |
Maxim: 25-Oct-2010 | having written a few, I recommend making it an external api which is fully "gui enabled" this way, undo events can automatically call face accessors, and you can put the undo stuff in the logic rather than the gui. many times, the logic might generate a few undo, or none, based on things which the gui can't properly be aware. | |
Maxim: 25-Oct-2010 | undo/redo is a pretty complex thing and unless you've got a non-destructive dataset, its almost imposible to make it a generic tool that is actually stable. | |
Henrik: 25-Oct-2010 | yes, the idea is also that it can be entirely decoupled from the GUI, so if you don't want it or want to use a different way to undo, that should be possible. the task for undo as I see it is to read actions and allow playing them back by taking control of the GUI. | |
Maxim: 25-Oct-2010 | take the case of a system where the undo crosses the lifespan of a window (or a few) how do you undo that? re-open a new window which isn't connected to anything? it basically has to be built with undo actions at the center. each action has to be able to handle any gui issues gracefully... the gui itself cannot manage that unless its an uber simple gui. | |
Maxim: 25-Oct-2010 | also, there is a tricky thing to redoing in that its often more like a complement than an inverse of an undo... especially when storing diff data. | |
Maxim: 25-Oct-2010 | so the undo data and the redo-data aren't necessarily the same :-( my best system was using dataflow nodes. but it requires a dataflow dataset. | |
Gregg: 25-Oct-2010 | The standard design pattern applied to undo/redo is the Command pattern, which implies that everything you want to undo or redo is a command that knows what it means to perform an action and apply its inverse, and the target of the action. | |
Maxim: 26-Oct-2010 | also most undo/redo tie-in commands with macros and/or actual gui buttons and menus... sort of like the internal API for the lower-level stuff. each of these commands/actions puts itself on the undo stack and usually has a counter command... add-text/remove-text, edit-record/restore-record, etc. | |
shadwolf: 26-Oct-2010 | only edit face needs the undo/redo stuff ... and mostly Area where you can input large text for text field it doesn't matter and could bring a security breach ... If you ca recall the previous password and user entrered in a login window for example. | |
shadwolf: 26-Oct-2010 | efficient undo/redo have to be face based. The need for other face to access it is irrelevant as it's a temporary buffer and that this buffer main fonction is to keep tracks of the changes. Wider you keep the tracks heavier is the syttème. If that systeme could be arguments passed to configure and tune it that would be top. | |
shadwolf: 26-Oct-2010 | another optimisation is that when you create a document you will obviously do alot of insert action so the idea is to regroupe the insert actions betwin insert space For example: insert "a", insert "b"', insert "c"; insert " " -> trigger of the sorting algorithm insert "abc" [line1-:-0] (this optimisation can be seen in OpenOffice 3.2) Would be better if instead of registery the action done by the user you register the mirror action to be apply to reverse it then you have delete "a", delete "b", delete "c"; delete " " -> trigger concatenation algorythm delete "abc"@line1:0, delete "space"@line1:3 (position here is set as line number followed by the caracters to pass in the line before reaching the character can speed up rendering if you are able to use remove index stuff in my opinion) | |
shadwolf: 26-Oct-2010 | anyway good luck in this hudge task you could write a book only on the undo/redo functionnality ;). | |
shadwolf: 26-Oct-2010 | there is so many to say about undo/redo functionnality that it can be the subject of a book of it's own easyly.... (sorry previous sentence wasn't pretty understandable) | |
shadwolf: 26-Oct-2010 | undo/redo works as a LIFO pile. | |
shadwolf: 26-Oct-2010 | you have to keep the deletions active in you record lets say the user does: insert "a", insert "b", insert "e", backspace "e", insert "c" then the concataining algorythm have to merge insert "a" and insert "b" into insert "ab", but need to keep record of the actions insert "e", backspace "e", insert "c" in order to unpile it properly. | |
Gregg: 26-Oct-2010 | You could write a lot about it for sure, but it's worth looking at for the general case beyond simple char-by-char text edits. Consider fwd/back navigation and breadcrumb trails. The trick is to leverage the generality and use it to make things easier, rather than making more complex. | |
Henrik: 26-Oct-2010 | it's potentially a rat's nest to stick our fingers into, but from a simple developer's starting point, it should work without doing anything to the style or the layout. that's where I think the design should start. | |
Henrik: 29-Oct-2010 | New r3-gui.r3 released at above location. New feature: Now allows reactors to be run after a specific actor in the style. If your style runs ON-DRAG, a block of reactors after an ON-DRAG keyword will be run afterwards. This opens up a lot of new possibilities. view [field on-drag [do [probe 'dragging]]] This needs a lot of testing. | |
Henrik: 3-Nov-2010 | http://94.145.78.91/files/r3/gui/247.png Tab boxes now support drag and drop. I'll provide a built version tomorrow as I found a build problem tonight, so you can try it out. | |
Pekr: 3-Nov-2010 | Drag and drop - nice feature, about tab preview, I am not sure about that one. It felt a bit distracting last time I saw it. Can it be turned off as a feature? | |
Rebolek: 4-Nov-2010 | Now it's always on but aking a switch to turn it off is easy. | |
Henrik: 4-Nov-2010 | Rebolek, architecturally, it may be a good idea to provide such thumbnails as part of the help system, when it comes along. The help system is what will allow us to use layouts and gobs as tool-tips for any face, so hopefully it will be possible to call up an image in 1-2 lines of code. | |
BrianH: 4-Nov-2010 | The rounding is only a few pixels, and antialiased. Look with the magnifying glass if you can't see it. | |
Rebolek: 4-Nov-2010 | Hm, thinking about multi-line tabs - if you have so many tabs, it's probably a good idea to redo your UI. | |
BrianH: 4-Nov-2010 | Yeah. The tree view on the left has been a good substitute for multiline tabs in recent preference dialogs. | |
Pekr: 4-Nov-2010 | Rebolek - yes, and that is my point ... now I will create a screenshot for you, showing the mikrotik feature ... | |
Henrik: 4-Nov-2010 | there was a spec document which specified layers, guides, etc. but it's lost now. | |
BrianH: 4-Nov-2010 | The "bad design" part being "too many tabs, use something other than tabs as a structuring model". | |
Henrik: 4-Nov-2010 | last used tab, last focused item. there are a few things to save, but as long as they can be retrieved and set in code, it should be possible to do. | |
Henrik: 4-Nov-2010 | speaking of which: would it not be a good idea to have functions that can extract and impose facets on a face in one line of code? | |
Henrik: 4-Nov-2010 | that would make it simple to save a state | |
GrahamC: 4-Nov-2010 | I disagree. Nested tabs are not the same as multiple row tabs. With the former you can effectively book mark a deeply nested page .. the latter you can not | |
GrahamC: 4-Nov-2010 | bad design vs "good design" is just a matter of opinion ... | |
GrahamC: 4-Nov-2010 | Also the nested tabs allows me to refer to a particular screen by a path notation | |
Henrik: 4-Nov-2010 | I was surprised at how "narrow-scoped" some users are, when working in a program, almost down to a single face, not noticing the larger context or organization of the program, particularly if the program has many modes (tabs). I think that its important to design UIs around clearly marked mode of operation, or even better: Have mode-less operation. | |
GrahamC: 4-Nov-2010 | MS approaches this by using a "control panel" of icons | |
GrahamC: 4-Nov-2010 | Each icon then deals with a particular subsystem | |
Henrik: 4-Nov-2010 | Right. The problem is usually that an item you are looking for, doesn't reside in the subsystem that you think it does, so when there is no other way, at least provide a flat structure search. | |
Henrik: 4-Nov-2010 | there is usually a method for searching for what you want. a typical mac app even allows searching all menus in the menu bar. | |
BrianH: 5-Nov-2010 | The modern version of the system dialog does a list on the left instead of tabs. It might look like a column of links in a left-side navbar, but it is basically the replacement for the tabs. | |
Carl: 7-Nov-2010 | I do not like multiline tabs either, and they violate some of the rules of good GUI design. Sure Graham, good and bad design are matters of opinion; however, they are based on what "most users" can understand and efficiently operate. If a GUI causes a user become "lost" or do the wrong thing, then it's not a good design. | |
Pekr: 9-Nov-2010 | There is now Carl's blog upon how to easily list styles in R2. I posted corresponding R3 code, although it might be preliminary: foreach [name obj] guie/styles [print [name "-" obj/about]] But - I would like the GUI team to think about following aspects: Imo the guie/styles list is highly insufficient. Imagine you want to auto-inspect (load) list of styles into your GUI designer. What you get now is a flat list of styles, where apart from 'table, you have its sub-styles like 'table-cell, 'table-row, 'table-header, etc. I am not sure that in the case of an IDE, you want to see those styles listed. OTOH those are legitimate styles, from which you might want to derive something, or just being able to change their aspects. So, I propose to resolve this situation somehow. The implementation is up to gurus, just few wild ideas: - use tagging - tag style as 'main/root/parent, whatever - but - that introduces another field to the styles? Maybe not, because I expect some tagging system being available anyway? - create guie/widgets, e.g.: guie/widgets: [table [table-cell table-header table-row] - that way we will be able to list just/only widgets as table, not having the list poluted with widget internals - the above aproach might not work well in the case, when you aproach styles more as a CSS, not as widgets. Because - even e.g. 'table-cell might be derived from a totally different style, e.g. a box, or field, so I have no idea of how to keep track of those dependencies, but this is the area I leave for gurus to think about. E.g. someone changes box style and your table is influenced and user might be confused, why it happened. But I expect style/parent or something like that being available? | |
Rebolek: 9-Nov-2010 | Tags can be used, they are implemented.But, IMO, if you need a list of styles for a GUI builder, you better make a list manually. | |
Henrik: 9-Nov-2010 | > Imo the guie/styles list is highly insufficient. Imagine you want to auto-inspect (load) list of styles into your GUI designer. What you get now is a flat list of styles, where apart from 'table, you have its sub-styles like 'table-cell, 'table-row, 'table-header, etc. I am not sure that in the case of an IDE, you want to see those styles listed. We already have and use tagging. The styles you mention should be tagged INTERNAL, if they are not already, as they are part of compound styles. So it's up to an IDE to discern that properly It might be possible to make a helper function that filters in only end-user styles, but we'll see how important that becomes. | |
Pekr: 9-Nov-2010 | I propose to use guie/widgets then, to group related styles. By related I don't mean derived, but more of a compound styles - table is good example ... | |
Henrik: 9-Nov-2010 | 1) because one style can be related to several styles and new user-designed styles and also can be used dynamically by a style, depending on the situation. 2) a few lines of code. | |
Henrik: 9-Nov-2010 | Current list of tags (subject to change): ; set at stylize time style-tags: [ internal ; the style is intended for internal use panel ; the style is panel of other faces compound ; the style is a compound of part styles field ; the style is a field with editable text state ; the style is a user interactive state changing item action ; the style is a user interactive action item info ; the style is an indicator tab ; the style is part of tab navigtion auto-tab ; the style automatically tabs away on a specific event select ; the style contains user selectable text keep ; the style retains highlighting and caret after unfocusing ] ; set at layout and any other time face-tags: [ default ; the face is the window default focus ; the face is in focus disabled ; the face is disabled frozen ; the face is frozen dirty ; the face is dirty ] ; set at window creation time window-tags: [ form ; windows containing a validatable form or other field or state faces inform ; windows containing only text or images and no validatable faces popup ; windows containing a menu or selection, which when interacted with, results in immediate return of a value ] | |
Pekr: 9-Nov-2010 | ad 1) I can understand that, and that was also one of my worries in my initial post. However, as a designer/programmer, wouldn't you find usefull to have: - something like tree-view (or node based visual display) of styles and their dependencies? - wouldn't it help your orientation to have some list like guie/widgets, grouping particular styles, just for your info? So that you know that e.g. table is being built using xyz styles? I am just asking - so no offense please :-) | |
Rebolek: 9-Nov-2010 | 1) One internal style may be related to more styles. 2) Is this really a problem? I see no benefit of having such a simple function as part of R3GUI - because R3GUI doesn't need it. | |
Henrik: 9-Nov-2010 | 1) It's possible to make the style tree, when the styles are being initialized. In fact I already have this as a separate script, but it has not been used lately. | |
Henrik: 9-Nov-2010 | Tags are really trivial. They are just a list of words and we have a few TAG functions to set/unset/inspect them during runtime. It's entirely up to styles or the higher level code to use tags correctly and this is for example done with face navigation. | |
Rebolek: 15-Nov-2010 | I've got one question. There's face/faces for all faces that are part of a face. There also needs to be some container for faces that are part of face but are not visible (hidden) right now. Currently it's called face/cache, but I think the name should be different. Any ideas? | |
Henrik: 16-Nov-2010 | I'm considering a rewrite of the validation prototype as there are some parts missing with regards to initial state. Have there been any considerations on how to use the DIRTY tag? I have some ideas on when DIRTY is set: - The user creates an edit in a field, changes setting in a radio group, etc. It would not be enough to focus the face, but a specific action would have to be taken. - When the user deliberately moves the edit back to the original state, the field is still dirty, so we can observe which fields were manipulated. - Using a function DIRTY?, we can observe whether a field or a panel is dirty. - It's not possible or logical to set the DIRTY tag programmatically (other by forcing it in with TAG-FACE face 'dirty) It would be cleared when: - Using a function CLEAN, we can unset the DIRTY tag in a face or panel of faces. This would be the only way to unset the tag. | |
Robert: 16-Nov-2010 | - When the user deliberately moves the edit back to the original state, the field is still dirty, so we can observe which fields were manipulated. - I don't like this one. Than we should have a manipulated flag. As dirty means: changed. | |
Henrik: 16-Nov-2010 | For DIRTY being changed, that has relevance for when validation is not used, for enabling submit buttons. But this also means the original value should be stored, which may be covered by the undo system. I'm not sure that's useful, if the undo system can show the number of changes in a field. For MANIPULATED doing what is described above, it overlaps most of what DIRTY would do and it would also overlap most of what validation already does, namely detect and approve/deny changes in a field. I'm not sure it's useful either. | |
jocko: 16-Nov-2010 | I have a very basic question, that I have already asked to Carl : how to get a working gui.r version ? when doing load-gui, I get the following error message : ** Script error: size-text has no value. It seems to me that this point should be definitely fixed, as it prevents anybody to do view tests (for instance the ones given in the reference doc http://www.rebol.com/r3/docs/gui/guide.html) I think that this should be done quickly and independently of any improvement and evolution of the gui styles and functions. | |
GrahamC: 17-Nov-2010 | which is a result of the work of the RM team | |
Henrik: 17-Nov-2010 | Now provides a visible frame for keyboard navigation: http://94.145.78.91/files/r3/gui/248.png | |
Kaj: 17-Nov-2010 | Henrik, what happened to your skin of a few years ago? That looked much better | |
Henrik: 17-Nov-2010 | This won't start until sometime later though, so it's going to look like this for a while. I'd hate to do too many rewrites, if I were to start now. | |
Henrik: 18-Nov-2010 | that's not certain yet as he has not made any evaluation yet, but it will be a publicly distributed GUI, so you can at least get to use it. |
58001 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 579 | 580 | [581] | 582 | 583 | ... | 643 | 644 | 645 | 646 | 647 |