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: 40701 end: 40800]
world-name: r3wp
Group: View ... discuss view related issues [web-public] | ||
Anton: 17-Mar-2009 | Think about the kind of experience you would have with web browsing if the browser only showed you a page after it had completely loaded. In small part, this is what you seem to want to build into your app. Those decisions could accumulate into a very irritating web experience. | |
Graham: 17-Mar-2009 | VID and RebGUI widgets don't have a 'loading now ..." state. Perhaps they should | |
Anton: 17-Mar-2009 | Well, I would want to see three things: 1) A "loading data..." message. 2) A progress bar. 3) A busy indicator. All three could be combined into a single widget, or kept separate. | |
Anton: 17-Mar-2009 | You could ghost the table widget until the data has arrived and is ready. Put a box over the top of it with effect [merge luma -20] or something like that. | |
Graham: 17-Mar-2009 | The other thing is .. if you have no data returned from your database query ... you then present a useless empty widget. Or, you present an alert that there was no data .. which means you then have to close it down .. or you just update your "loading ..." message. | |
Graham: 17-Mar-2009 | Eg if you do a search on your gmail ... it doesn't return an empty table, but a message saying there were no results. | |
Graham: 17-Mar-2009 | Same if I have an ajax type of search ... I don't show an empty table until it fills .. I show a spinning image and then show the table when it is filled. | |
Anton: 17-Mar-2009 | And while we're talking about querying and result displays, I often am confused as to whether a query I submitted actually returned, when it returned empty data. This causes me to query several times just to see if the server actually got my query and returned. The answer to this (in my opinion) is to return the query and time of query in the results as well, in the table title. So you can see *something* change on every query result. | |
Anton: 17-Mar-2009 | Hiding the table has the side benefit of telling the user (visually) that their query was accepted, but relies on the data transfer to be slow. A negative is if the user wanted to keep looking at some of the data from the previous query while waiting for the results of the next query. | |
Anton: 17-Mar-2009 | If the table has a selection facility, and the user wanted to do something like select row 4 (and then maybe copy it or do something else) from several consecutive resultsets, then that might be disrupted by hiding and showing the table. Something to keep in mind. (Do you keep the same table, or do you remake it for each resultset?) | |
TomBon: 23-Mar-2009 | hi, getting this error. ** Script Error: Face object reused (in more than one pane): none is there any solution to 'copy or clone' a layout or reuse a layout for multiple usage ? putting the layout into a object doesn't help either. same error message. I need a layout-template containing buttons, label etc. and want use this template for to 'pane' it into 20 different independent boxes. these boxes will shown 20 different numeric datas, progress bars etc. have had a look also into stylize/master but can't mix vid with facets or am I to tired to see a simple solution. builing a very complex facet from scratch is very time consuming, what is the best design for this? tom | |
Steeve: 23-Mar-2009 | contruct a context with variables each time you clone the layout | |
Steeve: 23-Mar-2009 | layout [a: text b: button] v1: context [a: b: none] set bind copy next first v1 v1 reduce [a b] now you can construct v2, v3, V4 using the same layout | |
TomBon: 23-Mar-2009 | doesn't work as expected but will take a look again after some sleep. thx for the code snippet steeve | |
Henrik: 31-Mar-2009 | is there a simple way to tell whether a window was opened with INFORM or VIEW? | |
Pekr: 10-Apr-2009 | If someone has some spare time to spend, I would like to have some tests being done for following case - In our PC shop, we mounted big LCD TV for some message/advertising purposes. The problem is, that the screen is placed vertically. I wrote small news scroller script, which eats some CPU cycles, but is still OK and very simple. But - when I tried it on that vertically placed TV, it is practically unusable :-( - too jerky. I would like to know, if it is a driver issue, or just another View kernel defficiency? Should there be a reason why it should be a difference in performance? Video works OK for example. Here's the script to test - http://www.xidys.com/rebol/news-scroller-r2.r , so if you are willing to mess with your PC settings, go ahead :-) (not sure your icon placement will persist ...) | |
sqlab: 10-Apr-2009 | An integer! or time! that specifies periodic timer events for a face. This is used for animation or repetitive events (such as holding the mouse down on certain types of user interface styles). An integer! value indicates the number of events per second. A time! provides the period between events. The timer event is sent to the face feel Engage function with an event type of time. from http://www.rebol.com/docs/view-system.html | |
Graham: 15-Apr-2009 | Is there any way to detect where the mouse is after a double click? I want to popup a menu where the mouse is ... | |
TomBon: 19-Apr-2009 | visualisation, does somebody knows how to create a map like this in rebol? a qubic map: http://gdmap.sourceforge.net/img/gdmap-preview.png some more examples and radial maps of this are here: http://wiki.ubuntuusers.de/Festplattenbelegung?highlight=verzeichnisserstell A hint to a source, algo or raw concept etc. would be nice. especial the calculation how to find and place to the proper position within the workspace is what I am looking for. | |
Henrik: 21-Apr-2009 | am I right that an INFORM window can't be used with INSERT-EVENT-FUNC or is there a way around that? | |
Graham: 23-Apr-2009 | I've got this puzzling problem. I have a function that brings up a rebgui window with some elements in it. The elements are defined as local to that function. The function is invoked by clicking on a table element in another window. | |
Graham: 23-Apr-2009 | Hmm. Doesn't happen in VID so must be a rebgui issue. | |
TomBon: 23-Apr-2009 | ; I need 100 rows like these both samples with unshared data access for each row. ; I have also tried with stylize/master (panel with) to construct/compose a master ; row like this but doesn't succeed. any change to make this work? list-func: func [] [ layout/tight [across x: text "x" y: text "y" z: progress 0.5 w: box 40x20 effect [ draw arrow blue rotate 60 ] ] ] view layout [ a: box 300x50 b: box 300x50 do [a/pane: list-func] do [b/pane: list-func] btn "set a" [a/data: [x/text: "1" y/text: "2" z/data: 0.8 w/effect: [ draw arrow red rotate 180 ] ] show a ] btn "set b" [b/data: [x/text: "1" y/text: "2" z/data: 0.8 w/effect: [ draw arrow red rotate 180 ] ] show b ] btn "set" [x/text: "1" y/text: "2" z/data: 0.8 w/effect: [ draw arrow red rotate 180 ] show b ] ] quit | |
TomBon: 23-Apr-2009 | or how to supply data to a standard list containing progress and draw elements like this one above? | |
Gregg: 26-Apr-2009 | LIST doesn't iterate styles that need state (IIRC). I would generate the layout dynamically and put the whole thing into a scrolling pane, unless that ends up being too slow or memory intensive. | |
Anton: 26-Apr-2009 | I agree. It's very difficult to make a lot of styles behave properly when iterated by a LIST. (And I've tried, believe me.) It's better to make a window full of real faces and scroll your data through them yourself. | |
TomBon: 26-Apr-2009 | thx for direction gregg and anton, will create a custom face for this. | |
Maxim: 1-May-2009 | anyone had issues with view popups when inserting a custom event-handler? I'm doing something in view, nothing patched, wake event left as-is... I have an inserted an event-handler, and the moment I click on a choice, all the events stop... even time events. I don't even receive events at my handler, so its not a "returning none from event-handler" type bug... any ideas, fixes, similar unsolvable observations? | |
jocko: 2-May-2009 | I am not looking for thumbnail generation, but for image display with rescaling with fractional zoom factor (let's say between 0.5 and 2.0). When using effect resizing in a layout, the interpolation mode is nearest. Is it possible to set it differently (i.e. bilinear) ? | |
Henrik: 2-May-2009 | I'm not sure the View engine supports filtering at all. The DRAW engine does for upward scaling, but not downward scaling < 1. I only mentioned thumbs, because it's a common scenario. :-) | |
jocko: 2-May-2009 | ok, anyway, to my opinion, it'a a must for the R3 engine. | |
jocko: 2-May-2009 | Nice ! Another reason to expect a close beta release ! | |
Maxim: 3-May-2009 | is there a definite documentation on the systray support in windows? I have some working code (from Izkata) but I am wondering if there is more to the interface than what I am using. an exhaustive code example could also suffice | |
Maxim: 3-May-2009 | I could use the scroll, but since its a field, the moment I enter text, the scroll goes back its default, which is badly aligned with the fields I am trying to get clean \ :-( | |
Maxim: 3-May-2009 | ahhh I forgot that the para's offset is called origin... its been a while since I've tinkered with VID :-) | |
Steeve: 4-May-2009 | We can do a other missing interpolations in R2 wit maths, but it will be slow... | |
Henrik: 4-May-2009 | do http://www.hmkdesign.dk/rebol/thumbtest/thumbtest.r A small test I did to compare methods for generating thumbnails in R2. | |
Gregg: 4-May-2009 | REBOL [] ; r/3 = 'activate = left-click ; r/3 = 'activate = rt-click+menu-item-sel hex: func [ {Returns the base-10 value of a hexadecimal number.} value [integer! string! issue!] "A hexadecimal number" ][ ; Convert to an issue first, so integers can also be translated. to integer! to issue! value ] make-elements: func [name count type /local result][ if not word? type [type: type?/word type] result: copy "^/" repeat i count [ append result join name [i " [" type "]" newline] ] to block! result ] NOTIFYICONDATA: make struct! compose [ cbSize [integer!] hwnd [integer!] uId [integer!] uFlags [integer!] uCallBackMessage [integer!] hIcon [integer!] (make-elements 'szTip 64 #"@") ; CHAR ] none NOTIFYICONDATA/cbSize: length? third NOTIFYICONDATA ;change at third NOTIFYICONDATA 25 "New ToolTip!" ;probe NOTIFYICONDATA ;halt ;constants required by Shell_NotifyIcon API call: NIM_ADD: hex 0 NIM_MODIFY: hex 1 NIM_DELETE: hex 2 NIF_MESSAGE: hex 1 NIF_ICON: hex 2 NIF_TIP: hex 4 WM_MOUSEMOVE: hex 200 WM_LBUTTONDOWN: hex 201 ; 'Button down WM_LBUTTONUP: hex 202 ; 'Button up WM_LBUTTONDBLCLK: hex 203 ; 'Double-click WM_RBUTTONDOWN: hex 204 ; 'Button down WM_RBUTTONUP: hex 205 ; 'Button up WM_RBUTTONDBLCLK: hex 206 ; 'Double-click ;Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long lib: load/library %shell32.dll Shell_NotifyIcon: make routine! compose/deep [ dwMessage [integer!] pnid [struct! [(NOTIFYICONDATA)]] return: [integer!] ] lib "Shell_NotifyIconA" my-hwnd?: does [second get-modes system/ports/system [window]] set-tray-tooltip: func [struct string] [ change at third struct 25 string struct ] system-awake: func [port /local evt][ if all [evt: pick port 1 (evt/1 = 'tray)] [ status/text: mold evt show status ; if any [ ; (evt/3 = 'activate) ; all [(evt/3 = 'menu) (evt/4 = 'desktop)] ; ] [ ; if not desktop-loaded [ ; link-exec-start-desktop/force ; ] ; ] ; if all [(evt/3 = 'menu) (evt/4 = 'quit)] [quit] ] false ] system/ports/system/awake: :system-awake append system/ports/wait-list system/ports/system view layout [ style button button 200 button "Add Tray Menus" [ set-modes system/ports/system compose/deep [ tray: [ add main [ help: (rejoin ["REBOL/Link" any [""]]) ; tooltip menu: [test: "Test" desktop: "Start Desktop" bar quit: "Quit"] ] add other [ ;help: (rejoin ["REBOL/Link" any [""]]) menu: [test-2: "Test-2" bar quit-2: "Quit-2"] ] ] ] ] button "Remove Tray Main Menu" [ set-modes system/ports/system [ tray: [remove main] ] ] button "Remove Tray Other Menu" [ set-modes system/ports/system [ tray: [remove other] ] ] ;button "Change Tray Other Menu" [ ; set-modes system/ports/system [ ; tray: [ ; change other [ ; help: "New Help!" ; menu: [test-3: "Test-3" bar quit-3: "Quit-3"] ; ] ; ] ; ] ;] button "Modify Tooltip" [ nid: make struct! NOTIFYICONDATA none nid/hwnd: my-hwnd? nid/uid: 1 nid/cbSize: length? third nid nid/uFlags: NIF_TIP ; NIF_ICON ;nid/hIcon: ;nid/szTip: "New ToolTip!^@" set-tray-tooltip nid "New ToolTip A!" ;print mold third nid res: Shell_NotifyIcon NIM_MODIFY nid print [res to logic! res] ] button "Modify Other Tooltip" [ nid: make struct! NOTIFYICONDATA none nid/hwnd: my-hwnd? nid/uid: 2 nid/cbSize: length? third nid nid/uFlags: NIF_TIP ; NIF_ICON ;nid/hIcon: ;nid/szTip: "New ToolTip!^@" set-tray-tooltip nid "New ToolTip B!" ;print mold third nid res: Shell_NotifyIcon NIM_MODIFY nid print [res to logic! res] ] button "Unview" [unview] status: text 200 ] free lib | |
Janko: 7-May-2009 | If there wouldn't be a systray I probably wouldn't switch my bigger project to rebol and consequently started with all projects in rebol.. cheyenne was the most cruicial reason, if there wouldn't be cheyenne I would never switch -- but systray was the final nail in the coffin of the previous languge for that particular project. So, thanks Pekr and Cyphre! | |
Henrik: 9-May-2009 | Is there a simple way to replace one style with another in a pane? I would like to interchange a FIELD and an INFO in the same spot, but by directly altering the field face. | |
ICarii: 9-May-2009 | define a separate: field/info and swap the face reference i guess | |
ICarii: 9-May-2009 | should be simple as a variable swap - just have to use globals in R2 | |
ICarii: 9-May-2009 | alternately I would add a single redraw check at the top level and scan children for a 'lock value in a predefined field / flags. | |
Maxim: 9-May-2009 | the easiest way I`ve done this henrik is to have a face which has two extra facets (style, protected) and a function called change, calling 'change to another style gets all the values from the global style block for that stylename, and changes all facets excluding any which are in the protected block. it also sets the stylename within the function, so you can easily do decisions based on that. alternatively, you can make an external function which does the same, but adding the protected inside the 'WITH [ ] spec makes it easier to contextualize the system. | |
Henrik: 12-May-2009 | If I have a window-feel with a 'detect function, could it be performed after an 'engage function for a face in that window? Is there a way to swap that around? | |
Henrik: 12-May-2009 | hmm... it's actually only the sequence of events that needs altering. as far as I can tell that function only fires one event at a time from the event queue. | |
Maxim: 12-May-2009 | basically, the detect goes from window, thru all children up to the face which generated the even, in order for you to trap the event in a parent face. | |
Henrik: 12-May-2009 | I'm a little thick on the event system. So I ask many dumb questions. :-) | |
Henrik: 12-May-2009 | Ok, from the event queue it doesn't make sense, I guess. But from what I'm trying to do, I need to do something to a local face _before_ something else happens globally. | |
Henrik: 12-May-2009 | hmm.. basically what I have for detect is sitting now in the window-feel. So I could move it out into a separate function and use INSERT-EVENT-FUNC on it? | |
Maxim: 12-May-2009 | give me a minute, I'll make you an explicit example in rebol code, from some source I have here :-) | |
Henrik: 12-May-2009 | ok, I'll go make a cup of chocolate :-) | |
Maxim: 12-May-2009 | note: -if returns none when it doesn't match, so that is returned from the handler. -I put the handler within a ctx, just to allow for local vars within handler (which I don't use, but figured I'd demonstrate, for all to see) | |
Maxim: 12-May-2009 | you could instead trigger a function here, (if proper conditions are met) and return event all the time. | |
Henrik: 12-May-2009 | I really think I need this painted on a big card board sign, because I don't get it. Would the original detect first need to be blocked, then the engage would run and then we run the detect again? | |
Maxim: 12-May-2009 | I just realized I had a slightly skewed view of the event ordering, but in essence the above still holds. | |
Henrik: 13-May-2009 | I've looked at the solution for a bit, and I don't think it's flexible enough. I would rather leave the event handling system untouched and then in the window-feel specify that we need to do something after the engage. Then there would be another event handler, which handles events generated by the original 'detect. Is it possible to generate events inside the detect, that can be handled by the window-feel after the engage? The problem would otherwise be that the event needs to be handled in every single engage function (dozens). | |
Maxim: 13-May-2009 | there is no way that I know of to do code after the do events processes it, a part from adding oprations in the wake event. and the detect is the first part of that process, the inset event handlers are part of the detect phase, as I discovered yesterday. | |
Henrik: 13-May-2009 | now I need something else: making a face completely event transparent. | |
Henrik: 13-May-2009 | I'm just trying to create a simple floating rectangle. | |
Henrik: 13-May-2009 | If I hover it above a text field, I can type text in the field, but I can't click on the field to mark up text with the mouse. | |
Maxim: 13-May-2009 | do you a small example you can post ? | |
Maxim: 13-May-2009 | I'm am sensing a few minutes of lost time ahead ;-) | |
Maxim: 13-May-2009 | well, it seems that the do event handling really is not great. I've tried all I know and it really looks like: if a face from a diffrent branch is over another face, it blocks all events to underlying faces. only child faces can pass events to their parents... this is pretty evil. You could use Anton's do event simulator lib, and hack it so it allows this. :-( you'd have to remember that a face has required/handled the event (in its detect) and stop looking amongst further pane branches. | |
Maxim: 13-May-2009 | Its also possible that Anton, Gabriele or Cyphre have found a trick. I'd be interesed to know in any case, cause this could be a problem for me in the future too. | |
Henrik: 13-May-2009 | yes, even this fix is rather expensive. one face for each side instead of one, but maybe it will speed up redrawing big faces a bit. | |
Henrik: 14-May-2009 | Maxim, do you know how the iterated faces function is used in View? I'm stuck in a situation where the index is sometimes returned as none. | |
Anton: 14-May-2009 | You can't do event-transparent faces. I figured out a huge hack (simulating DO EVENT) which was not quite able to go the whole way. :-( | |
Anton: 14-May-2009 | Can I see a demo of your technique, Steeve? I wanted transparent events along with transparent regions of a face (eg. a face with rounded corners, the events should pass through the corner regions, but the rest should land on the face). It just couldn't be done properly - see my file http://anton.wildit.net.au/rebol/gui/transparent-events.r | |
Anton: 15-May-2009 | Yes, what I tried was a definitive solution. But after working on it for a very long time, I found it can't be done completely. (At least, I am 99% certain.) | |
Maxim: 15-May-2009 | well, it allowed you to build skewed windows, which isn't a small feat within windows :-) | |
Anton: 15-May-2009 | Well, yes, but it still wasn't a complete solution. | |
amacleod: 15-May-2009 | Is there a delay with view when working with internal values? For example if I change the offset of a scroll-panel after showing it it reverts to the changed value but if I put a wait of .1 the offset viewed remains as expected and does not show the new value. Am I making sense? | |
Steeve: 15-May-2009 | the function SHOW, pushes a new show event in the events stack,but is not dispatched until your program enter in a wait loop. So it's normal. | |
Steeve: 15-May-2009 | It's the main difference between procedural programming and event-driven programming. When you develop event-driven applications, you must use a different flow in your code | |
Steeve: 15-May-2009 | Eheh, you have no choice, when you are programming a visual interface with Rebol, it's an event-driven flow | |
Henrik: 16-May-2009 | does View set parent-face for a layout internally? | |
Maxim: 16-May-2009 | it is set after a show | |
Maxim: 16-May-2009 | some view functions require the parent-face to be set in order to work.... this is sometimes usefull when you want to create stuff between a call to layout and one to show. | |
Henrik: 16-May-2009 | I'm altering the VID model and so all faces are required to have a parent-face set. | |
Maxim: 16-May-2009 | you can do directly within a call to style :-) | |
Maxim: 16-May-2009 | give me a minute... will load code to be sure I give a proper working example. | |
Henrik: 16-May-2009 | ok, can you decide the size of a column? say you want to share column sizes across multiple panels. | |
Maxim: 16-May-2009 | if you look at the styles above, they inherit their sizes from the content... but you can easily do a simple trick :-) only inherit the size in the direction of the size which is set to -1 so if you do: column 200x-1 [ then it would staticaly size the x but inherit the y | |
amacleod: 16-May-2009 | Sorry Anton, Yes I'm using your scroll-panel in R2. I was not the scroll panel that was the issue but how to get each occurance of a specific word from the face/text | |
Brock: 16-May-2009 | Max, is there a specific version of View that the above code works with? R2 all, R2 specific, or R3? | |
Maxim: 16-May-2009 | for now... I need something that just "works". speed is secondary... the actual file copy is quick, its the login at each command which takes about a second ... | |
Maxim: 16-May-2009 | basically at each operation, like clicking on a folder to view its content, I use call with an ssh related command. I retrieve the output, report any errors or parse the return data and refresh the ui. currently, it starts with root dir list, and you click on folders to go into them, or click on a checkbox to select it for other file manipulations. each time I use call, the command-line must do a log-ing, since a system call is an atomic operation. | |
Maxim: 17-May-2009 | you should ckeck out glayout's inspector... its a MacOS like finder to browe ANY rebol structure... and the end of a tree of data, if you click on something, you can then see what is inside :-) | |
Maxim: 17-May-2009 | the rebol.org demo app has a button which allows you to use it. | |
Maxim: 17-May-2009 | many features could be added to it, but for what I use it for, its already very usefull... its only bug is that is seems to have trouble with unset! values... but I could probably fix that now that I have more understanding of a lot of rebol's more complex issues. | |
Maxim: 21-May-2009 | glayout has its own popup system, so I didn't notice this earlier, but i'm using VID for another project.... I've tried a lot of things, but nothing seems to work... I don't want to have to path VID internals again... | |
Maxim: 21-May-2009 | seems I can use my glayout version of show-popup hide-popup in VID directly , and that works flawlessly in a few tests.... even fixing the inform call indirectly. | |
Graham: 21-May-2009 | Looks like a bug. | |
Maxim: 21-May-2009 | but my dialogs don't have a close button in the main pane of the layout (using faces with nested panes). :-( | |
Gabriele: 21-May-2009 | Max, that's intentional. by default, there needs to be a way to get rid of the modal popup. if you don't provide any, the system will get rid of it on click. do you have an example where you want a modal popup (blocking your app) with no clickable face in it? | |
Maxim: 21-May-2009 | I did a full analysis of the problem (again, since I had done so with glayout a looooonng time ago) and there is no simple ways to handle the issue with the current view setup. | |
Maxim: 21-May-2009 | so I built a new pair of funcs and do the event blocking for non pop ups in my event-handler. | |
Henrik: 21-May-2009 | I don't have a PC keyboard, but does View support overwrite/insert switcing? | |
Henrik: 21-May-2009 | hmm... I thought it was a matter of doing some changes in CTX-TEXT. but if I get this right, it won't matter. |
40701 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 406 | 407 | [408] | 409 | 410 | ... | 643 | 644 | 645 | 646 | 647 |